mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-16 05:44:46 +02:00
Compare commits
576 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 42949736f6 | |||
| 7a0de228fc | |||
| 50beda9644 | |||
| cc4a5273db | |||
| 64931ec2cb | |||
| 30e1580504 | |||
| 45828bdf33 | |||
| 9e88d95c35 | |||
| 6a02c2b900 | |||
| dbddc21399 | |||
| b75e6e6668 | |||
| 1ecdb3714c | |||
| 9c22ba475e | |||
| b4493dae82 | |||
| 428a4c5d94 | |||
| 8335a9efca | |||
| 800401f0cc | |||
| bc8fe3cda1 | |||
| 989d31db7a | |||
| 449c223d5d | |||
| 5a46eab842 | |||
| 1a59f08f8c | |||
| 97cc8fe0b3 | |||
| 02424859a2 | |||
| 77b43b023f | |||
| 697779c545 | |||
| b899d5f1f6 | |||
| 19f40d067c | |||
| 95599d4f69 | |||
| 3d42025e70 | |||
| cf209ac0f8 | |||
| bfe9ce19f8 | |||
| 021dbadcb2 | |||
| 5e1a7560f4 | |||
| 14060a44dd | |||
| 8a526e56ef | |||
| 5e009543c0 | |||
| c521050ad8 | |||
| 61d9748dc0 | |||
| e9bde25600 | |||
| 2a40af2bff | |||
| 263eebc9b3 | |||
| 3411fb0724 | |||
| 481856ecde | |||
| 8ae2344c43 | |||
| 4d7e1dc8be | |||
| dfffd4b238 | |||
| 8837f3540e | |||
| d455d37f59 | |||
| 7464b80219 | |||
| 24318b579f | |||
| a99d4497df | |||
| 6751ce7349 | |||
| 7b44111745 | |||
| f3c5f6f6c8 | |||
| e24f9f0844 | |||
| 2edbe91580 | |||
| 9e68fd3ac0 | |||
| dc7eca4b5d | |||
| 749014625a | |||
| 313ec95dcd | |||
| 4d8e57d51d | |||
| 6bc1965492 | |||
| d17cbcc9b5 | |||
| 5ad018cce7 | |||
| a69ec1a95b | |||
| de447b9495 | |||
| f855bb7dab | |||
| 65aa3e7a6e | |||
| 96bda8f5dc | |||
| 4429a4ba7e | |||
| 3d0bf74200 | |||
| 44d7308718 | |||
| 9dbfd6251d | |||
| d46d93cfa5 | |||
| 8350bc861c | |||
| 4dc498b9fb | |||
| 54ba7c7ed2 | |||
| d173324c0d | |||
| 799daac44d | |||
| 1cd81ae077 | |||
| 749a4340ca | |||
| 20c0e8d733 | |||
| 4bebd2cb31 | |||
| da4333aecf | |||
| c8b1de7cdb | |||
| ba924cb7bc | |||
| 0a58f33c27 | |||
| bbaa0b0416 | |||
| d42ae2b5b8 | |||
| b140153d57 | |||
| cd5548cab8 | |||
| ceb8171657 | |||
| 2d4846bfd6 | |||
| 25291cc457 | |||
| f8a112aa07 | |||
| 38bcec9991 | |||
| 367dfb5d3b | |||
| cd69044366 | |||
| 5747fda912 | |||
| 94927f5a7a | |||
| f634ce269b | |||
| 6fa75f2e9e | |||
| 9b14745e47 | |||
| 606967c718 | |||
| 3985a7ceed | |||
| 62cf839f2e | |||
| f0e2d2cb61 | |||
| 6d64f0b505 | |||
| d2d806697b | |||
| ae0dcf2bbf | |||
| cb0cbda5ed | |||
| 5d04afc6c2 | |||
| 9955724ef9 | |||
| 052bcc180d | |||
| b791a8eae9 | |||
| 143a7b6566 | |||
| fc2bf10e3a | |||
| 290495c0ad | |||
| 07a6922d5c | |||
| 59a23b3ce6 | |||
| df07c7f133 | |||
| 17932efad0 | |||
| 82a657a63e | |||
| 12c9891916 | |||
| 9511d161c6 | |||
| 1e39df2cb8 | |||
| 6cdc422490 | |||
| d6247b9a19 | |||
| a896d4f71d | |||
| ef7c0d6672 | |||
| 7adf05ab64 | |||
| 4eda3e1752 | |||
| d7a342fed1 | |||
| 8894015354 | |||
| 9019f35565 | |||
| 92cdd762c4 | |||
| 8dce2d175c | |||
| 2b78d45287 | |||
| fd6eed4477 | |||
| 7461b22a16 | |||
| 0588f18cbb | |||
| b318e6a66a | |||
| 4e26bd1379 | |||
| dba0d3b7c0 | |||
| 9159c377de | |||
| 4712fe781c | |||
| d0f4a514d4 | |||
| 6c59c5b733 | |||
| 8c96800c80 | |||
| 7df008ead4 | |||
| 7b068178a1 | |||
| e4a1669632 | |||
| bba7e664b6 | |||
| 108639b960 | |||
| 7a3d7c8b7f | |||
| 32f0e3f871 | |||
| 678ac0f7cf | |||
| f6a0415148 | |||
| 0505a1ff50 | |||
| 5b515b86b4 | |||
| af8b08775d | |||
| ae3936aca5 | |||
| 3a5e5ee45a | |||
| e6b2159245 | |||
| 4639a2b229 | |||
| 648677c637 | |||
| 0c9f2aa846 | |||
| ef3397baf6 | |||
| 293125eb84 | |||
| 7e8ecc7dac | |||
| 7debfeb86a | |||
| 02582580dd | |||
| 50d67017fc | |||
| 5b6dbb1e54 | |||
| 98c6c668ae | |||
| 9dfc0828f9 | |||
| 5a93d1a5e9 | |||
| f97882d2bb | |||
| 41e02c72a0 | |||
| e64c18860f | |||
| 6510adeb23 | |||
| f954969f7d | |||
| fea8930bb2 | |||
| d51af6f8b5 | |||
| 6d9e619b26 | |||
| 2fd3104391 | |||
| bea668a89f | |||
| c2de53cf85 | |||
| d0404fd0e8 | |||
| 4fb309fbde | |||
| e50d397e93 | |||
| 8735a0f6bf | |||
| b6e61e1302 | |||
| 2353bd2011 | |||
| 56dc3a3e1d | |||
| 856282da07 | |||
| cdea0263ac | |||
| 4400b32055 | |||
| 714c97b006 | |||
| 2c5abc8c2d | |||
| 00b464154b | |||
| e534e67628 | |||
| 10bc9a408b | |||
| 8a95221fae | |||
| 71bdc5c08d | |||
| 857b3c3a84 | |||
| 7eb9d0e71a | |||
| f4fde73489 | |||
| 14bb1968ba | |||
| ee31dd9fa0 | |||
| 30be1fa550 | |||
| aa0ac19e18 | |||
| 8c481239de | |||
| 8297e30cd4 | |||
| 0983f82c08 | |||
| 554f1a0c15 | |||
| e94bf80328 | |||
| 5b3b13772b | |||
| 32122c7018 | |||
| a1b617b6d0 | |||
| a46f14412d | |||
| 0f2dd2ef18 | |||
| bfb98ee28f | |||
| b0c04f4b43 | |||
| 362ec0b08d | |||
| b3fc0f5d6b | |||
| 40075204f0 | |||
| 9de62da6f3 | |||
| 98047de919 | |||
| 29b4c9c983 | |||
| 5392dd8acf | |||
| 8f561e9337 | |||
| 6a356f7e2d | |||
| 978dd4071e | |||
| 72cd2b5e99 | |||
| 0fdef4f961 | |||
| 73e45d7537 | |||
| 493ba9981f | |||
| cd4349598d | |||
| 537a91666e | |||
| b6dee3fd9d | |||
| 6cbcc627cf | |||
| 2bb36dd76c | |||
| e486efb289 | |||
| 5c0151f976 | |||
| c5b7e0c1e7 | |||
| 88c77ce89e | |||
| e85a37b814 | |||
| a7ee96c3ce | |||
| 377d9554d3 | |||
| ea41e25761 | |||
| f564867259 | |||
| 23438196eb | |||
| 55a0b03f03 | |||
| e68c66b260 | |||
| 7cbbef2e36 | |||
| ecdce7061b | |||
| 87ca77c48e | |||
| cca7cffb93 | |||
| bb4f0e3393 | |||
| d83fb7d37f | |||
| c07a9207ca | |||
| 7cde16eac1 | |||
| e03c9bdf42 | |||
| 582e6b9f30 | |||
| ad8a1bf785 | |||
| 3e6f1fce93 | |||
| 18dde16b11 | |||
| d3cfcdc6b0 | |||
| cccda143b1 | |||
| 649b5d812e | |||
| e3339d4003 | |||
| 1786f8f03b | |||
| c28527ade3 | |||
| 90f0809b44 | |||
| dc5f3390bc | |||
| 25760a38f1 | |||
| 18c669cf47 | |||
| ae21e16beb | |||
| 623f6a44a0 | |||
| 4981573f80 | |||
| cb5de25f7e | |||
| ae1a133435 | |||
| fc1a6c313b | |||
| 601d97dd93 | |||
| b69361e947 | |||
| c064f9d5e9 | |||
| fe866e500b | |||
| 0bb293925d | |||
| fe95cb9a1f | |||
| cd277778a3 | |||
| 7bc10582c5 | |||
| b93a3e9e93 | |||
| 06a6b4c07f | |||
| 34b46855a2 | |||
| 65393c21ca | |||
| 0c9fd1139c | |||
| d5da9ddb9e | |||
| 70873bcf00 | |||
| a3ec5a5fb8 | |||
| c0f596fbb7 | |||
| 4ae6cd2bf4 | |||
| 242d9ab45d | |||
| a4d4b20b2c | |||
| d42135097a | |||
| 9c4d0c511a | |||
| 85790c8442 | |||
| c0c478112f | |||
| 5406e9fa99 | |||
| 030b9c8291 | |||
| 4493453545 | |||
| df0a433709 | |||
| 6c3bbf0009 | |||
| bf7a3d3133 | |||
| fb602a74e4 | |||
| 040d480e99 | |||
| c90d13174d | |||
| 97e41a7e42 | |||
| 7b6582bdcc | |||
| 5fde2907f5 | |||
| 71ce47a71b | |||
| 98b483ee88 | |||
| 4ee74b07e3 | |||
| d33f4a8120 | |||
| b7920658e4 | |||
| 135b4d9d87 | |||
| 8af8d17d52 | |||
| d11a065d37 | |||
| 771dee3a5f | |||
| ea519e2a6d | |||
| 9ddffa08ea | |||
| 1e7c36aac0 | |||
| 3de653cbf2 | |||
| 4a08c9ba70 | |||
| b750382333 | |||
| 98eb86460b | |||
| 3026350806 | |||
| da3100e642 | |||
| 6c1cefed98 | |||
| 6f7b608fac | |||
| 081d14d3e9 | |||
| 1b47753c0f | |||
| 1ebe25c025 | |||
| 13790b01e3 | |||
| 004f9222a1 | |||
| c3e053033c | |||
| 5561c155de | |||
| 33c6e5c93b | |||
| b7ee74ec97 | |||
| 58f7ef9ca8 | |||
| 7f96ccb01e | |||
| 7666ceab87 | |||
| e7c69eca78 | |||
| d69bcc41fa | |||
| 4d616cf680 | |||
| dc1eb8bddf | |||
| c9e4ba4c98 | |||
| c1c1aa2909 | |||
| 6f9606b331 | |||
| 345f51b684 | |||
| d885489c48 | |||
| 4659dab89c | |||
| 760dc8dab8 | |||
| 5133d62d3c | |||
| eded88dd61 | |||
| bfb2ce7bce | |||
| 6854c9a063 | |||
| 25077eadc1 | |||
| 3f41561390 | |||
| e1499ca0ed | |||
| b61f000488 | |||
| 3ae66ae4e0 | |||
| 51a5fa808e | |||
| 236f8ed033 | |||
| a977359d9f | |||
| 6426522201 | |||
| 47ddee28a4 | |||
| 249edda423 | |||
| bde554aaf9 | |||
| 9ec9cba9d9 | |||
| f046832f10 | |||
| a055d59f9c | |||
| a41b0b5bbb | |||
| bf7aad741d | |||
| cb74571261 | |||
| 993180689a | |||
| aecec0e171 | |||
| 52a5b1b038 | |||
| 9b181f575f | |||
| 7a9cade496 | |||
| 009e5353e7 | |||
| 2988283c76 | |||
| 7f3125a0e2 | |||
| 07353dcf4b | |||
| 110e114d90 | |||
| 8abce466d6 | |||
| 6054bfabd2 | |||
| b1416fc0c0 | |||
| 160d1600a6 | |||
| 0ba15e3965 | |||
| 5fe68141ad | |||
| df0815f9bd | |||
| 10ad7e34f5 | |||
| fcfb9aa3d2 | |||
| b47a9f53cc | |||
| 8617d1ba4c | |||
| 9bccd6046d | |||
| 1c8ea8df8c | |||
| 3f4174bb96 | |||
| d1839df783 | |||
| 9390a647ed | |||
| 3856856120 | |||
| 587defb54e | |||
| 047a43253c | |||
| f1c9feb8f7 | |||
| 81ce6d38a2 | |||
| b57669903d | |||
| 0a7b6dfc3a | |||
| 56663f23e1 | |||
| 0af5d85de7 | |||
| 5e9f767c86 | |||
| 515945254c | |||
| 9d966aa4d0 | |||
| bf26a46b15 | |||
| 6124a68fde | |||
| 65118165d6 | |||
| 2e461cba19 | |||
| b89bcd31d9 | |||
| a78d71ee8b | |||
| 9e7138ace5 | |||
| 50a94daec7 | |||
| 401c3918af | |||
| eb842353cc | |||
| 6c67a4a6b1 | |||
| 3a385f679b | |||
| 30b6a30fc5 | |||
| 6dd738d91c | |||
| 61b2e99257 | |||
| 84d8b082c2 | |||
| fc26ef3e44 | |||
| 32eaeaaf36 | |||
| 8de5089b84 | |||
| 3d7b0b6a0b | |||
| 04e9baae17 | |||
| 8a93ea7376 | |||
| fa2a2c2234 | |||
| 36154d7b10 | |||
| 5fcadbef9b | |||
| ce9e5c4c84 | |||
| d6fe0776a2 | |||
| d5fd9a6ce9 | |||
| 32fc008943 | |||
| 78545d38dc | |||
| 620c7e403d | |||
| 8ba0a10294 | |||
| 8b0a1de92f | |||
| b776a4d148 | |||
| a0dcb79a3a | |||
| 63e1fa2418 | |||
| f2d364aa8a | |||
| 9eeb7a2fc4 | |||
| 7144188368 | |||
| 2525edca20 | |||
| 279842d017 | |||
| 62323727a8 | |||
| 645a04aec3 | |||
| b8f0063629 | |||
| 07104d2d7d | |||
| 68aba326e1 | |||
| 9b0f6b2a9c | |||
| 384b7357cd | |||
| 4c039afe84 | |||
| 4e96e013ac | |||
| 62fe14251b | |||
| f7acfa8736 | |||
| 0a5bb85f2c | |||
| 0423078b67 | |||
| 1e250927a2 | |||
| 711ffb5c62 | |||
| 2265903961 | |||
| 65cdea5cfe | |||
| e3234d5671 | |||
| 4dd196bbc6 | |||
| 0b85e10148 | |||
| a35dd03e50 | |||
| 4a1cded0fd | |||
| 5c87943196 | |||
| f09b334e86 | |||
| 985561c522 | |||
| 0b7c79b488 | |||
| b3d8eb3104 | |||
| b6cb4e3661 | |||
| 031a342e60 | |||
| 023d869ffd | |||
| 4dcaaec5a3 | |||
| 614587cb7c | |||
| 1d750653ab | |||
| a278e31c9f | |||
| 39a02452d2 | |||
| 2016740b47 | |||
| 84c8525bc7 | |||
| 4feb893c3f | |||
| a30af17cb8 | |||
| 1d41fae3ca | |||
| a31694c45a | |||
| bb015165bc | |||
| da53d2f0bf | |||
| a80e94f246 | |||
| a34dd526f2 | |||
| 38a9332ce1 | |||
| 956939e79b | |||
| 227a0375e7 | |||
| 8afe521a85 | |||
| a1e3d57d9e | |||
| c3dcf78497 | |||
| 3edeb401a7 | |||
| f267677ce5 | |||
| c3773ecd9f | |||
| 51f84140fc | |||
| b88cec9d5f | |||
| e6b7e409ce | |||
| 422dbf746f | |||
| 7e3d2d8ea7 | |||
| 12d99c8026 | |||
| a75432c9ca | |||
| bc87b99853 | |||
| c2d9acd82e | |||
| afcea0d1ec | |||
| 0a2e7468d0 | |||
| d725dd805d | |||
| c8ac2db9f8 | |||
| f1b988d04b | |||
| e24344bde1 | |||
| 565266a205 | |||
| d76006aea2 | |||
| 36b89e78bc | |||
| 4c499f8417 | |||
| 989a5462d8 | |||
| 4ffba555f3 | |||
| 34d0a3591d | |||
| 01a0cbe628 | |||
| f2a31c5e21 | |||
| 7a78d5afff | |||
| c2d59695ed | |||
| 546af36469 | |||
| b7b6e232ce | |||
| b7d9439bdc | |||
| a1cc97be8d | |||
| 0b3d4164fe | |||
| d7231c1801 | |||
| 017bd482f1 | |||
| c763583d33 | |||
| 48f9384a82 | |||
| 2f8f56c191 | |||
| c53039ed41 | |||
| adced2cf58 | |||
| 4dc224d3ff | |||
| c66be9025d | |||
| 588614da96 | |||
| a59c66fd49 | |||
| 651ec98abc | |||
| 59337acc04 | |||
| 769f767b05 | |||
| 19a1e80ba8 | |||
| 58d92222ae | |||
| 5b22717119 | |||
| 1f747eb73a | |||
| 4f33019ee9 | |||
| 36e9700f16 | |||
| 843b580a40 | |||
| 5d21b18d82 | |||
| 0d30ef8540 | |||
| e33b064e3d | |||
| ef4e2489ce | |||
| df5beefe8d |
+18
-6
@@ -1,6 +1,18 @@
|
||||
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|
|
||||
| UnrealIRCd 3.0 |
|
||||
| Configuration |
|
||||
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|
|
||||
| http://unreal.tspre.org |
|
||||
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|
|
||||
Welcome to the UnrealIRCd configuration program. This program
|
||||
will help you to compile your IRC server, and ask you questions
|
||||
regarding the setup of it, during the process.
|
||||
|
||||
If you need help to set the IRCd up, mail
|
||||
unreal-support@lists.sourceforge.net or ask at IRC:
|
||||
/server irc.ircsystems.net, /join #unrealircd
|
||||
|
||||
For any sake, read Unreal.nfo and read doc/faq before asking questions
|
||||
|
||||
NOTE: If the code is changed in any way, or the version string is changed,
|
||||
we do _NOT_ support the product, except if you got explicit permission
|
||||
from one of the UnrealIRCd coders. If it fails and you messed with it,
|
||||
you can't blame noone but yourself. Also, non-official UnrealIRCd/32
|
||||
builds (if it doesn't say "geniune" in the display) are _NOT_
|
||||
supported.
|
||||
|
||||
-Stskeeps (Head coder of UnrealIRCd)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
Unreal3.1.1-Darkshades Release Notes
|
||||
===================================
|
||||
|
||||
* It is REALLY RECOMMENDED that you run only Unreal3.1.1<->Unreal3.1.1,
|
||||
as Unreal3.1+sf got some funny SJOIN bugs that causes the network to
|
||||
desynch
|
||||
|
||||
* It is ADVISABLE that you allocate numerics to each server on your network.
|
||||
You simply in the M: line, just after the port, add :numeric, like:
|
||||
|
||||
M:irc.fyremoon.net:*:Description:6667:20
|
||||
|
||||
Where 20 is the numeric. Numerics are 1-255, 0 means no numeric (bad),
|
||||
and no server must have same numeric
|
||||
|
||||
* We have introduced encrypted irc connections, using SSL
|
||||
You need to set up a SSL port, P:IP:s:*:port
|
||||
To connect securely to another server, add :S at the end of the C:line
|
||||
and make sure it autoconnect/connects to a SSL port
|
||||
|
||||
* Read Unreal.nfo for any sake AND THE DOCS IN doc/. To update/upgrade your IRCd,
|
||||
please run the ./update script. This requires "wget" and "cvs" on the box to function
|
||||
@@ -0,0 +1,20 @@
|
||||
|-------------------------------------------------------------------------|
|
||||
| Congratulations on your new SSL self-signed certificate for your IRCd. |
|
||||
| However, wouldn't it be better that you get your certifcate signed by |
|
||||
| some kind of Certification Authority (CA), so your users can check that |
|
||||
| they are really connected to the real server, so they feel secure? |
|
||||
| |
|
||||
| A initiative have been started, to help this problem, as more and more |
|
||||
| SSL-enabled IRC servers will be started in the future, and people will |
|
||||
| have trouble authenticating that they are really at the right server. |
|
||||
| This initiative is called SICI (Secure IRC Certification Initiative. We |
|
||||
| sign your certificates for free, using the simple way of authenticating |
|
||||
| you by going to your IRC server and testing if it's really you. |
|
||||
| |
|
||||
| You can send in your "server.req.pem" file to us at our email |
|
||||
| certs@sici.ircsystems.net, with contact info on you (IRC network, nick, |
|
||||
| status). We will then contact you, and check if you have provided true |
|
||||
| information. If you need more information about SICI, visit our website |
|
||||
| http://sici.ircsystems.net, where you can download our root certificate,|
|
||||
| and read even more about this project. | Press enter to continue |
|
||||
---------------------------------------------------------------------------
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
_ _ _ ___________ _____ _
|
||||
| | | | | |_ _| ___ \/ __ \ | |
|
||||
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
|
||||
| | | | '_ \| '__/ _ \/ _` | | | | | / | | / _` |
|
||||
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
|
||||
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
|
||||
|
||||
Update Script v2.0
|
||||
|
||||
What download program do you want to use?
|
||||
-----------------------------------------
|
||||
|
||||
Type "wget" for wget
|
||||
Type "lynx" for lynx
|
||||
|
||||
>
|
||||
@@ -0,0 +1,2 @@
|
||||
ircdcron/ircd.cron
|
||||
ircdcron/ircdchk
|
||||
Vendored
+52
@@ -0,0 +1,52 @@
|
||||
--leave-preprocessor-space
|
||||
--dont-break-procedure-type
|
||||
--no-space-after-function-call-names
|
||||
--brace-indent0
|
||||
--indent-level8
|
||||
-ip8
|
||||
--dont-line-up-parentheses
|
||||
--continuation-indentation4
|
||||
--case-indentation2
|
||||
--no-space-after-casts
|
||||
--blank-lines-after-procedures
|
||||
--no-blank-lines-after-declarations
|
||||
--braces-on-struct-decl-line
|
||||
--paren-indentation0
|
||||
--case-brace-indentation0
|
||||
--line-length80
|
||||
--declaration-indentation5
|
||||
-T size_t
|
||||
-T aClass
|
||||
-T TS
|
||||
-T aClient
|
||||
-T aServer
|
||||
-T anUser
|
||||
-T aChannel
|
||||
-T Mode
|
||||
-T aConfItem
|
||||
-T aMessage
|
||||
-T aMessageTree
|
||||
-T aGline
|
||||
-T aListingArgs
|
||||
-T snomask_t
|
||||
-T n_short
|
||||
-T n_long
|
||||
-T n_time
|
||||
-T u_char
|
||||
-T u_short
|
||||
-T u_long
|
||||
-T u_int
|
||||
-T dbuf
|
||||
-T dbufbuf
|
||||
-T aHashEntry
|
||||
-T Link
|
||||
-T Dlink
|
||||
-T VOIDSIG
|
||||
-T aHostent
|
||||
-T ResRQ
|
||||
-T aCache
|
||||
-T CacheTable
|
||||
-T cainfo
|
||||
-T reinfo
|
||||
-T RETSIGTYPE
|
||||
-T OPT_TYPE
|
||||
@@ -1,315 +1,92 @@
|
||||
/*
|
||||
* UnrealIRCd Changes File - (C) Carsten Munk 1999
|
||||
/*
|
||||
* UnrealIRCd Changes File - (C) Carsten Munk 1999-2000 &
|
||||
* The UnrealIRCd Team
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
*** BUGS ***
|
||||
* When a +q sets +L it sets it but displays an error msg
|
||||
(??:
|
||||
*** Stskeeps (cmunk@rox-56506.fyremoon.net) has joined channel #a
|
||||
*** #a 951758184
|
||||
*** Mode change "+q Stskeeps" on channel #a by Stskeeps
|
||||
*** Mode change "-oaATcfebW" for user Stskeeps by Stskeeps
|
||||
*** Channel mode +l <max> is requried for +L to be set
|
||||
*** Mode change "+l 1" on channel #a by Stskeeps
|
||||
*** Mode change "+L #moo" on channel #a by Stskeeps
|
||||
)
|
||||
|
||||
*** Unreal3.0-Morrigan(fix) ***
|
||||
* NOTE: If your system clock is wrong you will have problems with TOPICs
|
||||
being set on all servers. That is because TOPICs which are _new_ are
|
||||
taken instead of old
|
||||
- Fixed +f not banning when * is specified
|
||||
- Fixed +q (chan owners) not being able to set +L (partially fixed)
|
||||
- Fixed /tsctl segfaulting the server
|
||||
- Fixed the killing bug. The cause was that when m_mode was called in the
|
||||
NICKv2 parsing routine, it sent out a :nick MODE :+x which was an unknown
|
||||
nick, and the NICK was being sent just after, causing it to kill the user
|
||||
(was a _huge_ bastard to find)
|
||||
- If someone changes their nick to irc and WebTV is enabled, problems
|
||||
occur FIX: deny change to that in m_nick (bug fixed)
|
||||
- Added lost unrealircd.bmp.gz file
|
||||
|
||||
*** Unreal3.0-Morrigan ***
|
||||
- Added the new GUI main coded by DrBin, first coding by {X}
|
||||
- Added v64net.network
|
||||
- Added 972-scripterz.network
|
||||
- Made NO_FDLIST compilation work as well
|
||||
- Fixed DCCDENY bug (p->mask, p->mask) (*slaps sts*)
|
||||
- +F not flood off if netsplit happens
|
||||
- Made TODO, made "Unable to write tunefile" show an error if *nix
|
||||
- Added stormdancing.network
|
||||
- send.c sendto_realops problem solved
|
||||
- Fixed a segfaulting bug in /tsctl reported by x-wartech
|
||||
- Fixed segfaulting bug with -oh bounce stuff in channel.c reported by Dana
|
||||
- Fixed +q bug reported by several people, inc DrBin
|
||||
- Added networks/fireirc.network
|
||||
- Fixed +f * option not banning correctly
|
||||
- Fixed fdlist on win32 problem
|
||||
- Added /HTM for high traffic mode status (partially added)
|
||||
- Added networks/digitalirc.network
|
||||
- G:lines expire every 5th second now
|
||||
- /stats T now show incoming and outgoing rate
|
||||
- Some HTM stuff
|
||||
- Some release stuff
|
||||
- Fixed up some NICKv2 stuff, more faster stuff:)
|
||||
- Moved old Changes stuff to Changes.old
|
||||
- Made so /path ~path or ".."'s in T:lines arent possible
|
||||
- Made it so certain files ie ircd.conf,oper.motd, unrealircd.conf, ircd.log
|
||||
can't be used in a T:line
|
||||
- Added dynconf option to specify SOCKS kill message & ban message & bantime
|
||||
- Fixed SOCKS exception bug (!!)
|
||||
- Fixed some indention in dynconf.c and a memory leak problem (what were you
|
||||
smoking code?:P)
|
||||
- iNAH bugfixes( call them fixes and ill smash you;))
|
||||
- Recoded color striping to be ALOT more accurate and faster
|
||||
- Using hybrid IsMember()
|
||||
- Fixed +F bug (again)
|
||||
- Added FDlists, does those work on win32?
|
||||
- De-Potvinized addline, addmotd, and addomotd (should run faster)
|
||||
- Made addline, addmotd, addomotd display to the user what was written
|
||||
- Removed /snote and /snotes (no one used them)
|
||||
- GPL stuff
|
||||
- Some comestic tkl fixes..
|
||||
- Fixed +F bug
|
||||
- Made +F connect notices more bandwidth friendly,
|
||||
only bad things:
|
||||
- Not showing port in connect +F
|
||||
- On servers rejoin you get +F flooded (will be fixed in an later
|
||||
release)
|
||||
- Made ALLOW_CHATOPS a unrealircd.conf option rather than a #define
|
||||
- Fixed a bug where you had to be +AC to see adminchats
|
||||
- chatops, adchat, nachat, techat, wallops no longer require a leading :
|
||||
- More TKL stuff..
|
||||
- m_chatops uses sendto_umode now, and also removed sendto_chatops
|
||||
- Remote rehashes now support the - flags, ex -dcc, -vhost etc
|
||||
- Fixed more G:Line stuff
|
||||
- Fixed G:Line bug with not expiring correctly - thanks Dark-Prince for
|
||||
being guinea pig, and to JojoII for finding it
|
||||
- Fixed +ix remote bug reported by RevPsych
|
||||
- /list can now make opers see +s channels
|
||||
- Did some SJOIN2 work..
|
||||
- Fixed /whois bug with WHOIS_Channels
|
||||
- Fixed a minor, yet annoying bug in the dynconf version system, thanks to GoNiS
|
||||
- Fixed bug: EpicII stripping too much of /oper fail notice
|
||||
- Fixed bug: SJOIN TS Change notice should not show when (ts == oldts)
|
||||
- Fixed WEBTV_NONOTICE bug with CTCPs - thanks rjameson
|
||||
- Fixed +h can +o themselves bug, thanks to Mikey, HERZ and many other
|
||||
people
|
||||
- Added TSP client/server
|
||||
- Fixed m_netinfo stuff..
|
||||
- Fixed a bug with the new m_names and +h (chanmode)
|
||||
- Removed .CHANGES.NEW2 - not in use anyways
|
||||
- Now using new m_names from bahamut by Lucas Madar (DarkRot)
|
||||
- Removed zombie code
|
||||
- Fixed up the MODE_ADMINONLY code
|
||||
- Fixed some bugs in can_send
|
||||
- Added TS Change notice to SJOIN
|
||||
- Fixed a +f bug, and fixed SJOIN resynch bug (serious)
|
||||
- Fixed up the remote rehash code a bit
|
||||
- Updated conf.doc
|
||||
- Added some WebTV stuff, read config.h
|
||||
- Removed the NO_DEFAULT_INVISIBLE define from config.h
|
||||
- Added MODE_I to unrealircd.conf, auto setting of +i when a user connects
|
||||
- Fixed a minor unrealircd.conf bug
|
||||
- Fixed up all SJOIN fuzz, made RESYNCMODES be 12
|
||||
- Fixed this bug:
|
||||
* After sync on other server
|
||||
*** Stskeeps is using modes +oiwghsaHATcCreWIdt
|
||||
should be:
|
||||
Stskeeps is using modes +owghskaATcfrebW
|
||||
|
||||
- Made unrealircd.conf option to hide U:lines from non-opers in /links
|
||||
- Updated the unrealircd.conf and all the .network files to support the
|
||||
version system, and for unrealircd.conf to support HIDE_ULINES
|
||||
- Made a versioning system for unrealircd.conf and *.network (This will
|
||||
allow us to makesure _old_ versions are not being used when new features
|
||||
are added to the files)
|
||||
- TKL/zap bugfix!!
|
||||
- Channel mode +H errors in numeric 459 now, coded by Rev_Null- thanks
|
||||
- Moved RPL_WHOISSPECIAL to 320
|
||||
- Another TKL bug.
|
||||
- TKL bug fixed
|
||||
- Made TKL backwards compatible
|
||||
- TKLs are now syncing
|
||||
- Bug fixes..
|
||||
- Fixed TKL<->GLINE protocol problems
|
||||
- Renamed chmode +I to +V as it screwed up some clients thinking it was
|
||||
IRCnet..
|
||||
- Took out m_fjoin, not in use
|
||||
- Fixed up +e so it works with mIRC channel dialog now
|
||||
- Added channel mode +H, only setable by SkoAdmin, makes +I users unable to
|
||||
join channel - code&thanks to RevPsych & Rev_Null
|
||||
- Removed all MegaIRC references
|
||||
- Fixed VHOST desynch bug..
|
||||
- Removed aGline record
|
||||
- Fixed some idention in msg.h
|
||||
- Fixed warning in s_misc.c
|
||||
- Removes /ns, /cs, /ms, /os, /hs commands (not in use)
|
||||
- Fixed bug where /statserv needed a : for more than one param
|
||||
- Fixed so that /trace only cloaks hostname if it is an oper
|
||||
- Fixed token non case sensitive problem
|
||||
- Fixed warning in mp2parv..
|
||||
- Fixed DEBUGMODE compile bug..
|
||||
- Fixed BOTMOTD bug..
|
||||
- Fixed some bugs (1.16->1.17) and removed aClient->user->host and replaced
|
||||
it by realhost. Saves memory
|
||||
- Fixing up for beta release
|
||||
- Updated networks/networks.ndx
|
||||
- Reason in temp and static K:lines like |kc.gline will show user klined
|
||||
file kc.gline (only legal names are |kc.*)
|
||||
- Added e:lines to the docs
|
||||
- Added solargalaxy.network
|
||||
- Fixed a minor +S (chanmode) bug
|
||||
- Fixed a bug where if a channel was +n it would display a
|
||||
must be +v msg rather than no external msgs (thank Potvin for that one)
|
||||
- Made dccdeny's notice +e users when a file is rejected
|
||||
- Added NOTICE in m_sajoin/m_sapart (You were forced to join/part #)
|
||||
- Added e:lines, SOCKS check exception lines
|
||||
format: e:ip (not hostname):*:*
|
||||
- Added doc/faq entry about debian on sparcs..
|
||||
- added debian sparc support (read doc/faq)
|
||||
- SJOIN sortof working. Straight testing needed
|
||||
- made /botmotd use NOTICE AUTH (so all bots will see it)
|
||||
- fixed NICKv2 umode field when no mode bug..
|
||||
- added T (TechAdmin) to the SMO flags
|
||||
- fixed a little _mistake_ in the /dusers error message
|
||||
- fixed a bug where +c (chanmode) blocked all privmsgs :P
|
||||
- m_sjoin compiled, need to make it unreal3.0 compatible
|
||||
- added include/sjoin.h for SJOIN stuff
|
||||
- Deleted :server prefix from SWHOIS burst.
|
||||
- Added UMODE_SETHOST (+t), and set NICKv2 up to only send when a real
|
||||
virthost. Spares bandwidth:) +t is _not_ user setable
|
||||
- Removed UMODE_COFOUND, UMODE_WMASTER, not in use anymore.
|
||||
- Fixed up MODE_LINK, MODE_FLOODLIMIT syncronization,
|
||||
you can mode do /mode # -lf without parameters
|
||||
- Gave Unreal correct orgin (df4.6.5)
|
||||
- Gave /stats N,S a header
|
||||
- Added network solarxtreme.network
|
||||
- /stats N returns .network file information
|
||||
- /stats S returns unrealircd.conf information
|
||||
- Added a virtualhost field to NICKv2
|
||||
- Updated conf.doc
|
||||
- Removed all traces of CLIENT_COMPILE
|
||||
- Some Linux-ALPHA support.. i need accces to a alpha box :P
|
||||
Fixes done by Ramuh (irc.risanet.com) originally for UltimateIRCd,
|
||||
thanks to ShadowMastr for forwarding me..
|
||||
- Removed all traces of services.h..
|
||||
- NICKv2 working.. :)
|
||||
- Updated doc/faq slightly
|
||||
- Updated doc/example.conf with new lines an Oflags
|
||||
- Implemented NICKv2 (umode field in NICK)
|
||||
- Similar topics are sent along now .. was a bug ? (thanks Headbang,
|
||||
WonderWal, etc)
|
||||
- Fixed up compile warnings
|
||||
- Fixed channel.c warning in can_join
|
||||
- Removed SHOW_PASSWORD define, not in use anymore
|
||||
- Removed USE_CASETABLES define, not in use anymore
|
||||
- Removed TIMED_KLINE define, not in use anymore
|
||||
- Added OPER_NO_HIDING define
|
||||
- Removed RelicNet +z, unreal isnt at use at relicnet anyways and
|
||||
i still dont believe that potvin _thought_ he could make them use it?
|
||||
hah!
|
||||
- Added REMOVE_ADVERTISING define (off by default) , check include/config.h
|
||||
and src/s_user.c (m_message) for more info (by ice)
|
||||
- Fixed channel name similarity bug reported by IXpfah
|
||||
- Comment on Nickflood/joinflood thing (stskeeps): Services can do that?
|
||||
- Fixed up some version.c.SH stuff
|
||||
- Added SJOIN protoctl for preparing for SJOIN
|
||||
- Split up PROTOCTL_SUPPORTED in PROTOCTL_SERVER and PROTOCTL_CLIENT
|
||||
- Added networks/uzaynet.network
|
||||
- NOTICE auth, tells you that it found a bad SOCKS.
|
||||
- Made umode +d work correctly
|
||||
- Made it so users can't see the RPL_WHOISCHANNELS for a
|
||||
+I user
|
||||
- Fixed a bug in +I where a +I user couldn't see themself
|
||||
in /names
|
||||
- Fixed a minor bug in /chgident
|
||||
- Added bot.motd support on +B and /botmotd
|
||||
- /join 0 now shows "Left all channels" in reason why left
|
||||
- Added +H umode, hides oper status
|
||||
in /who /who 0 o /whois (so opers
|
||||
can spy on a channel and no one knows
|
||||
- win32: s_socks.c small problem fixed
|
||||
- Fixed a bug in the new zline code
|
||||
- Fixed a typo in the Win32 socks check (oops)
|
||||
- (development) added TODO.maybe
|
||||
- Added /vhost login password
|
||||
read the s_extra.c on vhost.conf format
|
||||
- vhost.conf, added /rehash -vhost
|
||||
- Removed s_user.c/m_message warning
|
||||
- SOCKS check functioning
|
||||
- Removed src/list2.c - not in use
|
||||
- Removed networks/agitated.network, no longer existing network
|
||||
- Added networks/bunker7.network
|
||||
- Deleted ircdbug
|
||||
- Renamed LICENCE to LICENSE
|
||||
- /version shows alpha while in development..
|
||||
- (development) added include/stamp.h for static development stamping
|
||||
- send.c optimations from ircu :)
|
||||
- Added codemastr as offical developer
|
||||
- Now using GPL v2
|
||||
- NOTICE AUTH problem solved, i hope
|
||||
- Took out UNIXPORT code
|
||||
- Removed traces of R_LINE* in config.h
|
||||
- SOCKS check in progress
|
||||
- Fixed the Blowbug
|
||||
- TSCTL svstime works now :P correctly that is
|
||||
- nick is using modes +rx
|
||||
instead of "nick is using modes [+rx]
|
||||
- Removed some lame brackets
|
||||
- /close sendto_ops() now
|
||||
- Fixed small SVSNICK bug (.)
|
||||
- Fixed +L resync bug..
|
||||
- df4.6.7 SVSNICK - fixes desynchs
|
||||
- Took out all the R_LINES code
|
||||
- Took out all SERVICES_MODE code
|
||||
- Took out all USE_SERVICES code
|
||||
- Added .crjava patch by Fish read include/config.h for more info..
|
||||
- Added IRCu .ack patch you can now use "ONE" in password line in I:Lines
|
||||
to ensure only one connecting from that kind of I:line per IP.
|
||||
- /Lusers <mask> is not working anymore.. took out possible flood thing..
|
||||
- /List - IRCops should be able to see +s now (thanks Headbang and others)
|
||||
- RPL_YOURHOST - Your host is server, running version x
|
||||
Removed [hostname].
|
||||
- RPL_MYINFO now selfupdates when adding new modes (channel and user)
|
||||
- Fixed umodestring
|
||||
- Umode +d avail to everyone now:P
|
||||
- Fixed channel mode +r defunctional bug
|
||||
(thanks to gdb and the coder-com people who learnt me to use gdb:P)
|
||||
- SVSFLINE <+/-/*> [mask] [reason]
|
||||
+ = add (mask + reason)
|
||||
- = delete (mask)
|
||||
* = wipe all services F:Lines
|
||||
(13/12/1999 working.)
|
||||
- Fixed server<->server token problem
|
||||
- Moved /info data to m_info_send
|
||||
- Made SIGSEGV do core too.. MAIL THEM TO ME ALONG WITH THE src/ircd FILE
|
||||
if it tells ya to!
|
||||
- Fixed "GLINE @moo.org 10 :moo\r" G:Line bug (they haunt me)
|
||||
- New F:Line system (dccdeny.conf)
|
||||
- Removed OLD F:lines
|
||||
- Fixed up /stats f/F
|
||||
- Made /rehash -dcc = rehashes dccdeny.conf
|
||||
/rehash -dyn = rehashes dynamic configuration (RISK OF TERMINATE:P)
|
||||
/rehash -rest = rehashes channel restrict config chrestrict.conf
|
||||
- New channel restrict system
|
||||
(chrestrict.conf)
|
||||
# = comment
|
||||
allow #moo = can join #moo
|
||||
msg message = shows message when cannot join cos of allow
|
||||
|
||||
*
|
||||
*/
|
||||
|
||||
[ Unreal3.2-Selene ]
|
||||
- Fixed a _serious_ bug in SERVER command, reported by Valen, Forrester,
|
||||
M0rpheus, JK, and Hiten.
|
||||
- Fixed /botserv problem
|
||||
- Fixed permission problem with SSL .pem files (was o+r)
|
||||
- Removed a redundant time.h include reported by trippin
|
||||
- Modified rehash flags to use strnicmp rather than match (faster)
|
||||
- Fixed some points of confusion of possible cptr->passwd bug in
|
||||
m_server_estab, reported and fixed by Kanzen_Greiver
|
||||
- Fixed some more points of ->passwd bugs
|
||||
- Added in devdev's INSTALL replacement
|
||||
- Made it so you don't get a +W notice if you /who or /whois yourself reported by Ron885
|
||||
- You can no longer specify an *@unrealircd.com/org, or unreal-*@lists.sourceforge.net email
|
||||
as your KLINE_ADDRESS (the "Why am I K:lined?" messages got too annoying)
|
||||
- Removed some irc.flirt.org references.
|
||||
- Made it so if a channel is +O or +A and you are not +O or +A and not in the channel, you can not
|
||||
/topic #channel same for +b if not +o or on the channel. Suggested by Sysop_Mars
|
||||
- Fixed a bug where you would receive a double notice when someone does a /who 0 o
|
||||
- Added first part of the new config parser, s_conf2.c
|
||||
- Added the next part of the new config parser, and some even more
|
||||
- Fixed a missing : on numeric 379 found by script0r
|
||||
- Added some a bit functional _conf_class code
|
||||
- Some more _conf_class code
|
||||
- Typing /stats or /stats invalid-flag will return a list of valid flags
|
||||
- You no longer receive a /stats +e notice when no flag is specified, or an invalid flag is specified
|
||||
- Some more newconf code, and some more
|
||||
- Added drpass (X:line) to the config code
|
||||
- Some more config2 code
|
||||
- Removed parser builtin directive include, and replaced it with our own
|
||||
- The config2 now uses strerror() to display an error, rather than the numeric
|
||||
- Fixed s_user.c so umode N and T cannot coexist
|
||||
- Added tld (T:line) to the config code
|
||||
- Finished _conf_oper
|
||||
- A report_configuration code (showoff)
|
||||
- Finished _conf_listen
|
||||
- Finished _conf_allow
|
||||
- Added TODO in top of s_conf2.c
|
||||
- Fixed a bug reported by S7 that affected chg* and set* as well as sdesc
|
||||
- Started work on the except parser
|
||||
- Wierdoe parse things
|
||||
- Made except parser use a specialized _configflag_except instead of wasting
|
||||
a byte.
|
||||
- Changed version to "Unreal3.2-Selene" (Selene = female character in a
|
||||
comic mag i found at my grandmas :P)
|
||||
- Finished _conf_vhost
|
||||
- Made _conf_listen understand listen <port> {}
|
||||
- Finished _conf_link
|
||||
- Added some _conf_link validity and added ->class option (forgot it)
|
||||
- Made ircd.c use the newconf with me.* setup. Uses the first and the best
|
||||
as listener
|
||||
- Finished _conf_ban (try and attack us now idiots!)
|
||||
- Made "No response from", use GLOBOPS instead of GNOTICE.
|
||||
Fixes TODO Bugfixes Thu Dec 14 2000 Priority 10 added by Stskeeps
|
||||
- Fixed telnet close server thing, fixes Wed 20 Dec 2000 priority 9,
|
||||
added by codemastr
|
||||
- Fixed /whois shows what channels +S are in.
|
||||
Closes stskeeps/Dec30-2000-10-Bugfixes =======
|
||||
- Fixed a STATS_ONLYOPER bug
|
||||
- Fixed a ircd.tune bug (the file may not write if it didn't exist)
|
||||
- Fixed a serious bug reported by Kanzen_Griever
|
||||
- Merged in sts-laptop branch
|
||||
- Made /admin use the new config (had to modify some newconf stuff to make a backwards copy
|
||||
of the list as well)
|
||||
- Made U:lines loaded from the newconf, also made /stats U read the U:lines from the newconf
|
||||
- Added listen {} runtime-configuration code work :))
|
||||
- Removed unrealircd.conf from the stock
|
||||
- X:line was replaced with drpass {} in /restart and /die (will make them faster as well)
|
||||
- Made +u do a auditorium/star chat feature, suggested by |Martin|=======
|
||||
- Fixed a G:line bug that would allow certain masks to be interpreted as *@*
|
||||
- Fixed the same bug in shun that affected G:line
|
||||
|
||||
+1751
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,7 @@
|
||||
# distribution without the author's prior consent.
|
||||
#
|
||||
# $Id$
|
||||
IRCD_VERSION="Unreal3.0"
|
||||
IRCD_VERSION="Unreal3.1.1-Darkshades"
|
||||
CONF_DATE=`date`
|
||||
LAST_VERSION="very very old"
|
||||
#
|
||||
@@ -33,6 +33,7 @@ STRINGH=undef
|
||||
STRINGSH=undef
|
||||
RUSAGEH=undef
|
||||
NOINDEX=undef
|
||||
FORCECORE=define
|
||||
NSTRERROR=undef
|
||||
NSTRTOKEN=undef
|
||||
NSTRTOK=undef
|
||||
@@ -42,8 +43,15 @@ NINETNETOF=undef
|
||||
GETTIMEOFDAY=undef
|
||||
LRAND48=undef
|
||||
STRTOUL=undef
|
||||
OPENSSL=""
|
||||
OPENSSL_OTHERPLACE=""
|
||||
REGEXP=""
|
||||
NEEDSKIPNAME=""
|
||||
CRYPTOLIB=""
|
||||
CRYPTOIRCD=""
|
||||
OPENSSLPATH=""
|
||||
CCPATH=''
|
||||
STRCASECMP=undef
|
||||
SIGNAL=''
|
||||
BLOCKING=''
|
||||
TMP=/tmp/.Configtmp$$.c
|
||||
@@ -59,12 +67,11 @@ DIR=`pwd`
|
||||
DEFOPT="-O -g"
|
||||
DEFCFLAGS="$DEFOPT"
|
||||
DEFLIBS="none"
|
||||
MKPASSWDLIBS="-lcrypt"
|
||||
OSNAME="an unrecgonized operating system"
|
||||
#
|
||||
IRCNET=""
|
||||
NOSPOOF="1"
|
||||
NOSPOOF_SEED01="0x12345678"
|
||||
NOSPOOF_SEED02="0x9abcdef0"
|
||||
KLINE_ADDRESS=""
|
||||
DPATH="$DIR"
|
||||
SPATH="$DIR/src/ircd"
|
||||
@@ -72,6 +79,8 @@ MODE_X=""
|
||||
TRUEHUB=""
|
||||
CRYPT_OPER_PASSWORD=""
|
||||
CRYPT_LINK_PASSWORD=""
|
||||
CRYPT_ILINE_PASSWORD=""
|
||||
CRYPT_XLINE_PASSWORD=""
|
||||
LISTEN_SIZE="5"
|
||||
MAXSENDQLENGTH="3000000"
|
||||
BUFFERPOOL="(9 * MAXSENDQLENGTH)"
|
||||
@@ -96,13 +105,18 @@ fi
|
||||
|
||||
clear
|
||||
|
||||
if [ "$LAST_VERSION" != "$IRCD_VERSION" ] ; then
|
||||
if [ -r .CHANGES.NEW ] ; then
|
||||
more .CHANGES.NEW
|
||||
echo $n "[Enter to begin]"
|
||||
read cc
|
||||
clear
|
||||
fi
|
||||
if [ -r .RELEASE.NOTES ] ; then
|
||||
more .RELEASE.NOTES
|
||||
echo $n "[Enter to begin]"
|
||||
read cc
|
||||
clear
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "-n" ] ; then
|
||||
if [ "$LAST_VERSION" != "$IRCD_VERSION" ] ; then
|
||||
@@ -134,6 +148,8 @@ case "$OS" in
|
||||
OSNAME="FreeBSD 2.2.x"
|
||||
CRYPT_OPER_PASSWORD=""
|
||||
CRYPT_LINK_PASSWORD=""
|
||||
CRYPT_ILINE_PASSWORD=""
|
||||
CRYPT_XLINE_PASSWORD=""
|
||||
echo "You are using FreeBSD 2.2.x; do NOT crypt passwords at this time"
|
||||
;;
|
||||
*FreeBSD*2.2*)
|
||||
@@ -142,7 +158,19 @@ case "$OS" in
|
||||
OSNAME="FreeBSD 2.2"
|
||||
CRYPT_OPER_PASSWORD=""
|
||||
CRYPT_LINK_PASSWORD=""
|
||||
echo "You are using FreeBSD 2.2; do NOT crypt passwords at this time"
|
||||
CRYPT_ILINE_PASSWORD=""
|
||||
CRYPT_XLINE_PASSWORD=""
|
||||
echo "You are using FreeBSD 2.2; do NOT crypt passwords at this time"
|
||||
;;
|
||||
*FreeBSD*4.0*)
|
||||
DEFCFLAGS="$DEFOPT"
|
||||
DEFLIBS="-lcrypt"
|
||||
OSNAME="FreeBSD 4.0"
|
||||
CRYPT_OPER_PASSWORD=""
|
||||
CRYPT_LINK_PASSWORD=""
|
||||
CRYPT_ILINE_PASSWORD=""
|
||||
CRYPT_XLINE_PASSWORD=""
|
||||
echo "You are using FreeBSD 4.0; You can use encrypted passwords now."
|
||||
;;
|
||||
*FreeBSD*3*)
|
||||
DEFCFLAGS="$DEFOPT"
|
||||
@@ -150,6 +178,8 @@ case "$OS" in
|
||||
OSNAME="FreeBSD 3.x"
|
||||
CRYPT_OPER_PASSWORD=""
|
||||
CRYPT_LINK_PASSWORD=""
|
||||
CRYPT_ILINE_PASSWORD=""
|
||||
CRYPT_XLINE_PASSWORD=""
|
||||
echo "You are using FreeBSD 3.x; You can use encrypted passwords now."
|
||||
;;
|
||||
*FreeBSD*)
|
||||
@@ -158,14 +188,26 @@ case "$OS" in
|
||||
OSNAME="FreeBSD"
|
||||
CRYPT_OPER_PASSWORD=""
|
||||
CRYPT_LINK_PASSWORD=""
|
||||
CRYPT_ILINE_PASSWORD=""
|
||||
CRYPT_XLINE_PASSWORD=""
|
||||
echo "You are using FreeBSD ; do NOT crypt passwords at this time"
|
||||
;;
|
||||
*OpenBSD*2*)
|
||||
DEFCFLAGS="$DEFOPT"
|
||||
DEFLIBS="none"
|
||||
MKPASSWDLIBS=""
|
||||
OSNAME="OpenBSD 2.x"
|
||||
CRYPT_OPER_PASSWORD=""
|
||||
CRYPT_LINK_PASSWORD=""
|
||||
CRYPT_ILINE_PASSWORD=""
|
||||
CRYPT_XLINE_PASSWORD=""
|
||||
;;
|
||||
*SCO_SV*)
|
||||
DEFCFLAGS="$DEFOPT -DSCOUNIX"
|
||||
DEFLIBS="-lsocket"
|
||||
OSNAME="SCO Openserver"
|
||||
NEEDSKIPNAME="Yep"
|
||||
echo "You're using SCO Unix. For more support, contact potvin@eliteircd.on.ca"
|
||||
echo "You're using SCO Unix. For more support, stskeeps@tspre.org"
|
||||
;;
|
||||
*Apple*)
|
||||
DEFCFLAGS="$DEFOPT"
|
||||
@@ -208,6 +250,11 @@ case "$OS" in
|
||||
DEFLIBS="-lsocket -lnsl -lresolv"
|
||||
OSNAME="Solaris 2.x (or SunOS 5.x)"
|
||||
;;
|
||||
*IRIX*)
|
||||
DEFCFLAGS="$DEFOPT -D_USE_BSD"
|
||||
DEFLIBS="-lbsd"
|
||||
OSNAME="IRIX"
|
||||
;;
|
||||
*Linux*)
|
||||
cat > $TMP << __EOF__
|
||||
#include <stdio.h>
|
||||
@@ -345,6 +392,14 @@ sed -e "s@^XCFLAGS=\(.*\)@XCFLAGS=$XCFLAGS@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
#
|
||||
|
||||
# Fix mkpasswd Makefile
|
||||
#
|
||||
$RM -f crypt/Makefile.tmp
|
||||
sed -e "s@^LIBS=\(.*\)@LIBS=$MKPASSWDLIBS@" crypt/Makefile > crypt/Makefile.tmp
|
||||
cp crypt/Makefile.tmp crypt/Makefile
|
||||
$RM -f crypt/Makefile.tmp
|
||||
|
||||
cat <<__EOF__
|
||||
|
||||
If you need to use any extra libraries when compiling the server,
|
||||
@@ -389,7 +444,7 @@ if [ -r /usr/include/stdlib.h ] ; then
|
||||
else
|
||||
echo 'not found :('
|
||||
fi
|
||||
echo $n "...Looking for stddef.h...$c"
|
||||
echo $n "...Looking for /usr/include/stddef.h...$c"
|
||||
if [ -r /usr/include/stddef.h ] ; then
|
||||
STDDEFH=define
|
||||
echo 'found!'
|
||||
@@ -450,6 +505,56 @@ if [ -r /usr/include/sys/rusage.h ] ; then
|
||||
else
|
||||
echo 'not found (good!)'
|
||||
fi
|
||||
|
||||
echo $n "...Looking for /usr/include/openssl/ssl.h...$c"
|
||||
if [ -r /usr/include/openssl/ssl.h ] ; then
|
||||
OPENSSL=define
|
||||
echo 'found!'
|
||||
else
|
||||
echo 'not found (you will not be able to do secure connections'
|
||||
echo 'If you do have it, please type in ln -s <openssl include dir> /usr/include/openssl'
|
||||
fi
|
||||
|
||||
echo $n "...Looking for /usr/include/regex.h...$c"
|
||||
if [ -r /usr/include/regex.h ] ; then
|
||||
REGEX=define
|
||||
echo 'found!'
|
||||
else
|
||||
echo 'not found :('
|
||||
echo $n '*** configuring regex package ***' $n
|
||||
cd extras/regex
|
||||
./configure
|
||||
make
|
||||
cd ../..
|
||||
fi
|
||||
|
||||
if [ -r /usr/include/openssl/ssl.h ] ; then
|
||||
echo $n "...Looking where you got the openssl binary...$c"
|
||||
if [ -r /bin/openssl ] ; then
|
||||
OPENSSLPATH=/bin/openssl
|
||||
echo $OPENSSLPATH
|
||||
elif [ -r /usr/bin/openssl ] ; then
|
||||
OPENSSLPATH=/usr/bin/openssl
|
||||
echo $OPENSSLPATH
|
||||
elif [ -r /usr/sbin/openssl ] ; then
|
||||
OPENSSLPATH=/usr/sbin/openssl
|
||||
echo $OPENSSLPATH
|
||||
elif [ -r /usr/local/bin/openssl ] ; then
|
||||
OPENSSLPATH=/usr/local/bin/openssl
|
||||
echo $OPENSSLPATH
|
||||
elif [ -r /usr/local/ssl/bin/openssl ] ; then
|
||||
OPENSSLPATH=/usr/local/ssl/bin/openssl
|
||||
echo $OPENSSLPATH
|
||||
elif [ -r `which openssl` ] ; then
|
||||
OPENSSLPATH=`which openssl`
|
||||
echo $OPENSSLPATH
|
||||
else
|
||||
echo "Couldn't find it! (bad)"
|
||||
OPENSSLPATH=/bin/false
|
||||
OPENSSLPATH=/bin/false
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# to b or not to b
|
||||
#
|
||||
@@ -687,6 +792,38 @@ __EOF__
|
||||
fi
|
||||
fi
|
||||
#
|
||||
# Can we set the core size to unlimited
|
||||
#
|
||||
|
||||
echo $n "Can we set the core size to unlimited...$c"
|
||||
cat > $TMP <<__EOF__
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
#include <unistd.h>
|
||||
main() {
|
||||
struct rlimit corelim;
|
||||
corelim.rlim_cur = corelim.rlim_max = RLIM_INFINITY;
|
||||
if (setrlimit(RLIMIT_CORE, &corelim))
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
__EOF__
|
||||
|
||||
$COMP >/dev/null 2>&1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo " no"
|
||||
FORCECORE=undef
|
||||
else
|
||||
$EXEC
|
||||
if [ $? -ne 1 ] ; then
|
||||
echo " yes"
|
||||
else
|
||||
echo " no"
|
||||
FORCECORE=undef
|
||||
fi
|
||||
fi
|
||||
$RM -f $EXEC $TMP
|
||||
#
|
||||
# what do we need that isn't here already ?
|
||||
#
|
||||
echo "What else do I need that you don't have..."
|
||||
@@ -822,7 +959,7 @@ cat > $TMP <<__EOF__
|
||||
#endif
|
||||
main()
|
||||
{
|
||||
char *t = "1\0", *s;
|
||||
char t[] = "a\0", *s;
|
||||
s = strtok(t, ",");
|
||||
if (!strcmp(t, s))
|
||||
exit(0);
|
||||
@@ -886,8 +1023,25 @@ if [ $? -ne 0 ] ; then
|
||||
echo $n " inet_netof$c"
|
||||
NINETNETOF=define
|
||||
fi
|
||||
$RM -f $EXEC $TMP
|
||||
echo " "
|
||||
$RM -f $EXEC $TMP
|
||||
cat > $TMP << __EOF__
|
||||
#include <string.h>
|
||||
main()
|
||||
{
|
||||
strcasecmp("moo", "moo");
|
||||
}
|
||||
__EOF__
|
||||
$COMP
|
||||
# >/dev/null 2>&1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo $n " strcasecmp $c "
|
||||
STRCASECMP=undef
|
||||
else
|
||||
STRCASECMP=define
|
||||
fi
|
||||
$RM -f $EXEC $TMP
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
@@ -958,6 +1112,7 @@ cat > $SETUP <<__EOF__
|
||||
#$STDDEFH STDDEFH
|
||||
#$SYSSYSLOGH SYSSYSLOGH
|
||||
#$NOINDEX NOINDEX
|
||||
#$FORCECORE FORCE_CORE
|
||||
#$NSTRERROR NEED_STRERROR
|
||||
#$NSTRTOKEN NEED_STRTOKEN
|
||||
#$NSTRTOK NEED_STRTOK
|
||||
@@ -966,6 +1121,7 @@ cat > $SETUP <<__EOF__
|
||||
#$NINETNETOF NEED_INET_NETOF
|
||||
#$GETTIMEOFDAY GETTIMEOFDAY
|
||||
#$LRAND48 LRAND48
|
||||
#$STRCASECMP GOT_STRCASECMP
|
||||
__EOF__
|
||||
if [ "$MALLOCH" = "undef" ] ; then
|
||||
echo "#undef MALLOCH" >> $SETUP
|
||||
@@ -1066,87 +1222,6 @@ while [ -z "$FOO" ] ; do
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "$NOSPOOF" ] ; then
|
||||
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
FOO="$NOSPOOF_SEED01"
|
||||
echo "For security, the nospoof code uses two special values, called"
|
||||
echo "seeds. Here, please enter one of them. The values are in"
|
||||
echo "hexidecimal (base 16) using the digits 0123456789abcdef. Each"
|
||||
echo "value can contain up to 8 digits, and should be specified in the"
|
||||
echo "form 0x12345678. If you use the defaults, that should be ok, but"
|
||||
echo "it is more secure if you choose your own special values and keep"
|
||||
echo "them secret."
|
||||
echo $n "[$FOO] -> $c"
|
||||
if [ -z "$AUTO_CONFIG" -o -n "$runonce" ] ; then
|
||||
read cc
|
||||
else
|
||||
cc=""
|
||||
runonce=Yes
|
||||
fi
|
||||
if [ -z "$cc" ] ; then
|
||||
cc=$FOO
|
||||
fi
|
||||
case "$cc" in
|
||||
0x[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])
|
||||
NOSPOOF_SEED01=$cc
|
||||
;;
|
||||
[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])
|
||||
NOSPOOF_SEED01=0x$cc
|
||||
;;
|
||||
*)
|
||||
echo " "
|
||||
echo "Read the instructions and try again... You did not enter the"
|
||||
echo "value correctly."
|
||||
echo ""
|
||||
FOO=""
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
FOO="$NOSPOOF_SEED02"
|
||||
echo "For security, the nospoof code uses two special values, called"
|
||||
echo "seeds. Here, please enter one of them. The values are in"
|
||||
echo "hexidecimal (base 16) using the digits 0123456789abcdef. Each"
|
||||
echo "value can contain up to 8 digits, and should be specified in the"
|
||||
echo "form 0x12345678. If you use the defaults, that should be ok, but"
|
||||
echo "it is more secure if you choose your own special values and keep"
|
||||
echo "them secret."
|
||||
echo $n "[$FOO] -> $c"
|
||||
if [ -z "$AUTO_CONFIG" -o -n "$runonce" ] ; then
|
||||
read cc
|
||||
else
|
||||
cc=""
|
||||
runonce=Yes
|
||||
fi
|
||||
if [ -z "$cc" ] ; then
|
||||
cc=$FOO
|
||||
fi
|
||||
case "$cc" in
|
||||
0x[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])
|
||||
NOSPOOF_SEED02=$cc
|
||||
;;
|
||||
[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])
|
||||
NOSPOOF_SEED02=0x$cc
|
||||
;;
|
||||
*)
|
||||
echo " "
|
||||
echo "Read the instructions and try again... You did not enter the"
|
||||
echo "value correctly."
|
||||
echo ""
|
||||
FOO=""
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# this matches a NOSPOOF check waaaaaay up there
|
||||
fi
|
||||
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
@@ -1224,7 +1299,7 @@ while [ -z "$FOO" ] ; do
|
||||
esac
|
||||
done
|
||||
|
||||
DOMAINNAME="box.name"
|
||||
DOMAINNAME=`hostname`
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
@@ -1244,6 +1319,45 @@ while [ -z "$FOO" ] ; do
|
||||
done
|
||||
DOMAINNAME=$cc
|
||||
|
||||
if [ -n "$OPENSSL" ] ; then
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
if [ -n "$CRYPTOIRCD" ] ; then
|
||||
FOO="Yes"
|
||||
else
|
||||
FOO="No"
|
||||
fi
|
||||
echo ""
|
||||
echo "Do you want to support SSL (Secure Sockets Layer) connections"
|
||||
echo $n "[$FOO] -> $c"
|
||||
if [ -z "$AUTO_CONFIG" -o -n "$runonce" ] ; then
|
||||
read cc
|
||||
else
|
||||
cc=""
|
||||
runonce=Yes
|
||||
fi
|
||||
if [ -z "$cc" ] ; then
|
||||
cc=$FOO
|
||||
fi
|
||||
case "$cc" in
|
||||
[Yy]*)
|
||||
CRYPTOIRCD="1"
|
||||
CRYPTOLIB="-lssl -lcrypto"
|
||||
;;
|
||||
[Nn]*)
|
||||
CRYPTOIRCD=""
|
||||
;;
|
||||
*)
|
||||
echo ""
|
||||
echo "You need to enter either Yes or No here..."
|
||||
echo ""
|
||||
FOO=""
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
@@ -1317,6 +1431,77 @@ while [ -z "$FOO" ] ; do
|
||||
esac
|
||||
done
|
||||
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
if [ -n "$CRYPT_XLINE_PASSWORD" ] ; then
|
||||
FOO="yes"
|
||||
else
|
||||
FOO="No"
|
||||
fi
|
||||
echo ""
|
||||
echo "Do you want to use encrypted Restart/Die passwords?"
|
||||
echo $n "[$FOO] -> $c"
|
||||
if [ -z "$AUTO_CONFIG" -o -n "$runonce" ] ; then
|
||||
read cc
|
||||
else
|
||||
cc=""
|
||||
runonce=Yes
|
||||
fi
|
||||
if [ -z "$cc" ] ; then
|
||||
cc=$FOO
|
||||
fi
|
||||
case "$cc" in
|
||||
[Yy]*)
|
||||
CRYPT_XLINE_PASSWORD="1"
|
||||
;;
|
||||
[Nn]*)
|
||||
CRYPT_XLINE_PASSWORD=""
|
||||
;;
|
||||
*)
|
||||
echo ""
|
||||
echo "You need to enter either Yes or No here..."
|
||||
echo ""
|
||||
FOO=""
|
||||
;;
|
||||
esac
|
||||
done
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
if [ -n "$CRYPT_ILINE_PASSWORD" ] ; then
|
||||
FOO="Yes"
|
||||
else
|
||||
FOO="No"
|
||||
fi
|
||||
echo ""
|
||||
echo "Do you want to use encrypted I:line passwords?"
|
||||
echo $n "[$FOO] -> $c"
|
||||
if [ -z "$AUTO_CONFIG" -o -n "$runonce" ] ; then
|
||||
read cc
|
||||
else
|
||||
cc=""
|
||||
runonce=Yes
|
||||
fi
|
||||
if [ -z "$cc" ] ; then
|
||||
cc=$FOO
|
||||
fi
|
||||
case "$cc" in
|
||||
[Yy]*)
|
||||
CRYPT_ILINE_PASSWORD="1"
|
||||
;;
|
||||
[Nn]*)
|
||||
CRYPT_ILINE_PASSWORD=""
|
||||
;;
|
||||
*)
|
||||
echo ""
|
||||
echo "You need to enter either Yes or No here..."
|
||||
echo ""
|
||||
FOO=""
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
@@ -1437,7 +1622,10 @@ while [ -z "$FOO" ] ; do
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
$CCPATH -o src/fdmaxcounter src/fdmaxcounter.c
|
||||
src/fdmaxcounter
|
||||
FOO=""
|
||||
runonce=""
|
||||
while [ -z "$FOO" ] ; do
|
||||
@@ -1450,6 +1638,8 @@ else
|
||||
fi
|
||||
echo ""
|
||||
echo "How many file descriptors (or sockets) can the irc server use?"
|
||||
echo "(The result above, if any - shows how many sockets that the ircd can use",
|
||||
echo " and can be used as an answer here)"
|
||||
echo $n "[$FOO] -> $c"
|
||||
if [ -z "$AUTO_CONFIG" -o -n "$runonce" ] ; then
|
||||
read cc
|
||||
@@ -1554,6 +1744,55 @@ else
|
||||
$RM -f Makefile.tmp
|
||||
fi
|
||||
|
||||
if [ -n "$CRYPTOLIB" ] ; then
|
||||
$RM -f Makefile.tmp
|
||||
sed -e "s@^CRYPTOLIB=\(.*\)@CRYPTOLIB=$CRYPTOLIB@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
else
|
||||
$RM -f Makefile.tmp
|
||||
sed -e "s@^CRYPTOLIB=\(.*\)@CRYPTOLIB=@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
|
||||
fi
|
||||
|
||||
if [ -n "$CRYPTOIRCD" ] ; then
|
||||
$RM -f Makefile.tmp
|
||||
sed -e "s@^OPENSSLPATH=\(.*\)@OPENSSLPATH=$OPENSSLPATH@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
else
|
||||
$RM -f Makefile.tmp
|
||||
sed -e "s@^OPENSSLPATH=\(.*\)@OPENSSLPATH=@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
fi
|
||||
|
||||
if [ -n "$OPENSSL_OTHERPLACE" ] ; then
|
||||
$RM -f Makefile.tmp
|
||||
sed -e "s@^OPENSSLINCLUDE=\(.*\)@OPENSSLINCLUDES=-I/usr/local/ssl/include/openssl@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
else
|
||||
$RM -f Makefile.tmp
|
||||
sed -e "s@^OPENSSLINCLUDE=\(.*\)@OPENSSLINCLUDES=@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
fi
|
||||
|
||||
if [ -n "$REGEX" ] ; then
|
||||
$RM -f Makefile.tmp
|
||||
sed -e "s@^REGEX=\(.*\)@REGEX=@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
else
|
||||
$RM -f Makefile.tmp
|
||||
sed -e "s@^REGEX=\(.*\)@REGEX=../extras/regex/regex.o@" Makefile > Makefile.tmp
|
||||
cp Makefile.tmp Makefile
|
||||
$RM -f Makefile.tmp
|
||||
fi
|
||||
|
||||
$RM -f $EXEC $TMP
|
||||
|
||||
$RM -f ./core
|
||||
@@ -1588,28 +1827,43 @@ if [ -n "$CRYPT_OPER_PASSWORD" ] ; then
|
||||
else
|
||||
echo "#undef CRYPT_OPER_PASSWORD" >> $OPTIONS_H
|
||||
fi
|
||||
if [ -n "$CRYPTOIRCD" ] ; then
|
||||
echo "#define USE_SSL 1" >> $OPTIONS_H
|
||||
else
|
||||
echo "#undef USE_SSL" >> $OPTIONS_H
|
||||
fi
|
||||
if [ -n "$CRYPT_LINK_PASSWORD" ] ; then
|
||||
echo "#define CRYPT_LINK_PASSWORD 1" >> $OPTIONS_H
|
||||
else
|
||||
echo "#undef CRYPT_LINK_PASSWORD" >> $OPTIONS_H
|
||||
fi
|
||||
if [ -n "$CRYPT_ILINE_PASSWORD" ] ; then
|
||||
echo "#define CRYPT_ILINE_PASSWORD 1" >> $OPTIONS_H
|
||||
else
|
||||
echo "#undef CRYPT_ILINE_PASSWORD" >> $OPTIONS_H
|
||||
fi
|
||||
if [ -n "$CRYPT_XLINE_PASSWORD" ] ; then
|
||||
echo "#define CRYPT_XLINE_PASSWORD 1" >> $OPTIONS_H
|
||||
else
|
||||
echo "#undef CRYPT_XLINE_PASSWORD" >> $OPTIONS_H
|
||||
fi
|
||||
if [ -n "$HUB" ] ; then
|
||||
echo "#define HUB 1" >> $OPTIONS_H
|
||||
else
|
||||
echo "#undef HUB" >> $OPTIONS_H
|
||||
fi
|
||||
|
||||
if [ -n "$REGEX" ] ; then
|
||||
echo "#define HAVE_REGEX 1" >> $OPTIONS_H
|
||||
else
|
||||
echo "#undef HAVE_REGEX" >> $OPTIONS_H
|
||||
fi
|
||||
|
||||
if [ -n "$NOSPOOF" ] ; then
|
||||
echo "#define NOSPOOF 1" >> $OPTIONS_H
|
||||
else
|
||||
echo "#undef NOSPOOF" >> $OPTIONS_H
|
||||
fi
|
||||
if [ -n "$NOSPOOF_SEED01" ] ; then
|
||||
echo "#define NOSPOOF_SEED01 $NOSPOOF_SEED01" >> $OPTIONS_H
|
||||
fi
|
||||
if [ -n "$NOSPOOF_SEED02" ] ; then
|
||||
echo "#define NOSPOOF_SEED02 $NOSPOOF_SEED02" >> $OPTIONS_H
|
||||
fi
|
||||
|
||||
if [ "$OSNAME" = "Linux (with GLIBC 2.x or greater)" ]; then
|
||||
echo "#define GLIBC2_x" >> $OPTIONS_H
|
||||
@@ -1632,12 +1886,12 @@ cat > $OPTIONS << __EOF__
|
||||
IRCNET="$IRCNET"
|
||||
LAST_VERSION="$IRCD_VERSION"
|
||||
NOSPOOF="$NOSPOOF"
|
||||
NOSPOOF_SEED01="$NOSPOOF_SEED01"
|
||||
NOSPOOF_SEED02="$NOSPOOF_SEED02"
|
||||
DPATH="$DPATH"
|
||||
SPATH="$SPATH"
|
||||
CRYPT_OPER_PASSWORD="$CRYPT_OPER_PASSWORD"
|
||||
CRYPT_LINK_PASSWORD="$CRYPT_LINK_PASSWORD"
|
||||
CRYPT_ILINE_PASSWORD="$CRYPT_ILINE_PASSWORD"
|
||||
CRYPT_XLINE_PASSWORD="$CRYPT_XLINE_PASSWORD"
|
||||
LISTEN_SIZE="$LISTEN_SIZE"
|
||||
MAXSENDQLENGTH="$MAXSENDQLENGTH"
|
||||
BUFFERPOOL="$BUFFERPOOL"
|
||||
@@ -1652,6 +1906,16 @@ if [ "$OSNAME" = "Linux (with GLIBC 2.x or greater)" ]; then
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [ -n "$CRYPTOIRCD" ] ; then
|
||||
if [ ! -f server.req.pem ]; then
|
||||
echo "Using openssl in $OPENSSLPATH .."
|
||||
export OPENSSLPATH
|
||||
make pem
|
||||
cat .SICI
|
||||
read cc
|
||||
fi
|
||||
fi
|
||||
|
||||
cat << __EOF__
|
||||
|
||||
_____________________________________________________________________
|
||||
@@ -1670,7 +1934,8 @@ cat << __EOF__
|
||||
|_____________________________________________________________________|
|
||||
|_____________________________________________________________________|
|
||||
| - The UnrealIRCd Team - |
|
||||
| * Stskeeps stskeeps@tspre.org
|
||||
| * codemastr codemastr@tspre.org
|
||||
| * Stskeeps stskeeps@unrealircd.com |
|
||||
| * codemastr codemastr@unrealircd.com |
|
||||
| * DrBin drbin@unrealircd.com |
|
||||
|_____________________________________________________________________|
|
||||
__EOF__
|
||||
|
||||
@@ -1,20 +1,15 @@
|
||||
Send donations to:
|
||||
|
||||
Send donations to:
|
||||
------------------
|
||||
UnrealIRCd Project
|
||||
C/O Carsten Munk
|
||||
P.O.Box 52
|
||||
7400 Herning
|
||||
Denmark
|
||||
|
||||
(if you want to that is.. I mean .. I do my coding for fun.. -
|
||||
send a teddybear or something to my nephews or something for
|
||||
my nieces.. so they can keep quiet while I'm trying to do anything)
|
||||
|
||||
Disks, HD's, free internet time or alike are welcome ;p ;)
|
||||
|
||||
-- Techie (which HAD got 20 MB free HD space out of 400 MB on his own puter)
|
||||
(just got a 8.4gb and rh6.0 *_*)
|
||||
(and used 200 MB on his shell to code this :>) ..
|
||||
- oh and btw i'm male:P (*looks at BlueFlame^*)
|
||||
(if you want to that is .. it will just make us a little more able to code
|
||||
even more on this project. You will get in /credits if you do so).
|
||||
|
||||
-- Stskeeps
|
||||
|
||||
[ $Id$ ]
|
||||
|
||||
@@ -1,153 +1,99 @@
|
||||
$Id$
|
||||
|
||||
Installation Procedures for the UnrealIRCD:
|
||||
=======================================================================
|
||||
Created by Stskeeps <stskeeps@tspre.org>
|
||||
=======================================================================
|
||||
|
||||
This document describes how to install ircd, the unix daemon that acts as
|
||||
an IRC server.
|
||||
|
||||
For more information on UnrealIRCD contact us at
|
||||
unreal-dev@lists.sourceforge.net
|
||||
|
||||
The UnrealIRCD is available from http://unreal.tspre.org
|
||||
along with the latest copy of this document.
|
||||
###############################################################################
|
||||
#### Unreal IRC Unix Daemon Installation Guide ####
|
||||
#### UnrealIRCD ver 3.1.1 ####
|
||||
#### unreal-dev@lists.sourceforge.com ####
|
||||
#### http://www.unrealircd.com/ ####
|
||||
###############################################################################
|
||||
#### Unpackaging the IRCD ####
|
||||
#### ####
|
||||
#### 1) gzip -d Unreal3.1.1.tar.gz ####
|
||||
#### ####
|
||||
#### 2) tar xvf Unreal3.1.1.tar ####
|
||||
#### ####
|
||||
#### 3) cd Unreal3.1.1/ ####
|
||||
###############################################################################
|
||||
#### Compiling the IRCD ####
|
||||
#### ####
|
||||
#### 1) Supported Operating Systems ####
|
||||
#### ####
|
||||
#### OS and Version Compiler and Version Comments ####
|
||||
#### --------------- ------------------------ ------------------------ ####
|
||||
#### NetBSD 1.2B gcc 2.7.2 ####
|
||||
#### FreeBSD 2.1.0 gcc 2.6.3 Don't use crypt at all ####
|
||||
#### SunOS 4.1.4 gcc 2.7-96q1 (Cygnus) ####
|
||||
#### Solaris 2.4 gcc 2.7-96q1 (Cygnus) (SunOS 5.4) ####
|
||||
#### Solaris 2.5 SunWorks Pro C (SunOS 5.5.1) ####
|
||||
#### cc: SC4.0 18 Oct 1995 C 4.0 ####
|
||||
#### Digital Unix 3.2 gcc 2.7-96q3 (Cygnus) ####
|
||||
#### Linux 2.0.24 gcc 2.7.2.1 ####
|
||||
#### PUX 9.01 gcc 2.6.3 ####
|
||||
#### HPUX 10.01 gcc 2.7-96q3 (Cygnus) ####
|
||||
#### Linux PPC (iMac) ####
|
||||
#### AmigaOS 3.0 GCC egcs-2.91.66 (compile with -D_AMIGA) ####
|
||||
#### Windows NT/95 MSVC++ 4.0 ####
|
||||
#### Linux Mandrake Read FAQ ####
|
||||
#### Linux 2.3.x gcc 2.95.2 glibc 2.1.3 ####
|
||||
#### ####
|
||||
#### 2) DO NOT edit the MakeFile or any of the files to configure your ####
|
||||
#### IRCd. The newest releases of Unreal only require you to run: ####
|
||||
#### ####
|
||||
#### ./Config ####
|
||||
#### ####
|
||||
#### 2a) Windows users: please read WIN32 ####
|
||||
#### ####
|
||||
#### 3) When in ./Config put in the best answers to your knowledge. ####
|
||||
#### This is all pretty self explanatory. We suggest, to advoid ####
|
||||
#### problems later on, put the DPATH and SPATH as the default. ####
|
||||
#### (When it asks where the config files and binarys will be). ####
|
||||
#### Also, when it asks for max file connections, the default is ####
|
||||
#### 1024, but above it you will see what your true limit is. ####
|
||||
#### Please put the maxfd number in or else your IRCD will not ####
|
||||
#### start at all and you will have to re-compile. ####
|
||||
#### ####
|
||||
#### 4) make ####
|
||||
#### This will compile your server based on you settings chosen in ####
|
||||
#### ./Config ####
|
||||
#### ####
|
||||
#### 4a) Hopefully, the server will compile without incident. If it ####
|
||||
#### does not, and you are not able to determine the error, please ####
|
||||
#### email unreal-dev@lists.sourceforge.net and hopefully someone ####
|
||||
#### will be able to help you. Another suggestion is going on IRC ####
|
||||
#### /server irc.ircsystems.net #UnrealIRCD ####
|
||||
#### ####
|
||||
#### 4b) make install - IS NOT NEEDED ####
|
||||
#### ####
|
||||
###############################################################################
|
||||
#### Configuring the Server ####
|
||||
#### ####
|
||||
#### 1) ./makeconf ####
|
||||
#### This executable has been created to help with your ircd.conf ####
|
||||
#### creation process. It walks you through the steps and makes the ####
|
||||
#### file for you. Note: If you want to edit your ircd.conf you ####
|
||||
#### should only need to: edit ircd.conf. If you ./makeconf again ####
|
||||
#### it will delete the old ircd.conf and re-write a new one. ####
|
||||
#### ####
|
||||
###############################################################################
|
||||
#### Starting the Server ####
|
||||
#### ####
|
||||
#### 1) Make sure you're in the top level Unreal3.1.1 directory.. ####
|
||||
#### ####
|
||||
#### 2) ./ircd ####
|
||||
#### ####
|
||||
#### 3) If you get the error screen, please go through and check each ####
|
||||
#### point presented, if you have no luck, go on IRC ####
|
||||
#### /server irc.ircsystems.net #UnrealIRCD ####
|
||||
#### ####
|
||||
#### 4) /server yourserverip or domainname ####
|
||||
#### ####
|
||||
###############################################################################
|
||||
#### Updating the IRCD ####
|
||||
#### ####
|
||||
#### 1) ./update ####
|
||||
#### Newer releases of Unreal allow the use of ./update which logs ####
|
||||
#### into the Unreal server and allows you to pick a new version to ####
|
||||
#### to upgrade to. ####
|
||||
#### ####
|
||||
###############################################################################
|
||||
|
||||
|
||||
=======================================================================
|
||||
This version of the UnrealIRCD is known to compile on the following
|
||||
platforms, and with the following compilers. If you wish to add to this
|
||||
list, send the relevant information to us.
|
||||
|
||||
OS and Version Compiler and Version Comments
|
||||
------------------- ------------------------ -------------------------------
|
||||
NetBSD 1.2B gcc 2.7.2
|
||||
|
||||
FreeBSD 2.1.0 gcc 2.6.3 Do NOT use crypt at all...
|
||||
|
||||
SunOS 4.1.4 gcc 2.7-96q1 (Cygnus)
|
||||
|
||||
Solaris 2.4 gcc 2.7-96q1 (Cygnus) (SunOS 5.4)
|
||||
|
||||
Solaris 2.5 SunWorks Pro C (SunOS 5.5.1)
|
||||
cc: SC4.0 18 Oct 1995 C 4.0
|
||||
|
||||
Digital Unix 3.2 gcc 2.7-96q3 (Cygnus)
|
||||
|
||||
Linux 2.0.24 gcc 2.7.2.1
|
||||
|
||||
HPUX 9.01 gcc 2.6.3
|
||||
|
||||
HPUX 10.01 gcc 2.7-96q3 (Cygnus)
|
||||
|
||||
Linux PPC (iMac)
|
||||
|
||||
AmigaOS 3.0 GCC egcs-2.91.66 (compile with -D_AMIGA)
|
||||
|
||||
Windows NT/95 MSVC++ 4.0
|
||||
|
||||
Linux Mandrake Read FAQ
|
||||
=======================================================================
|
||||
Unpacking the Distribution
|
||||
|
||||
If you are reading this, you have most likely already done this, but to
|
||||
recap:
|
||||
|
||||
The UnrealIRCD server comes tarred and gziped. To uncompress it and expand
|
||||
it, use the following commands at the Unix prompt:
|
||||
|
||||
gzip -d Unreal3.0.tar.gz
|
||||
tar -xvf Unreal3.0.tar
|
||||
|
||||
This will create a new directory called Unreal3.0 and unpack the source
|
||||
into it.
|
||||
|
||||
=======================================================================
|
||||
Editing the Configuration Files
|
||||
|
||||
In previous versions of the source code many files had to be edited to
|
||||
make things right for any given server.
|
||||
|
||||
In this version you DO NOT NEED TO EDIT THE Makefile OR ANY FILES
|
||||
IN include! That is, unless you set some strange options. If you
|
||||
find the need to edit include/config.h, for example,
|
||||
mail us and tell us why ; Config can be made smarter, and that will make
|
||||
it so you won't have to edit anything for the next version.
|
||||
|
||||
=======================================================================
|
||||
Compiling Your Server
|
||||
|
||||
Windows users: You must compile the Config program first. To do this
|
||||
run the following command: $CC src\Config.c
|
||||
where $CC is the name of your compiler. for MSVC users that is 'cl'
|
||||
|
||||
To build the server, simply run
|
||||
% ./Config
|
||||
to start the configuraton program. This program looks at your system
|
||||
and generate the include/setup.h, include/settings.h, and Options files.
|
||||
You will be asked some questions. Usually the default answers are the best
|
||||
ones and most correct. To accept the default, just hit RETURN.
|
||||
|
||||
Next, type 'make'. This will compile your server. Depending on your system,
|
||||
this may be a good time for a caffeine break. (MSVC users run 'nmake')
|
||||
|
||||
Hopefully, the server will compile without incident. If it does not, and
|
||||
you are not able to determine the error, please email
|
||||
unreal-dev@lists.sourceforge.net and hopefully someone will be able to help you with the problem. If you
|
||||
do need to fix something, mail there with a patch.
|
||||
|
||||
BE CERTAIN TO INCLUDE OPERATING SYSTEM INFORMATION (uname -a) AND COMPILER
|
||||
VERSION (gcc -v, for instance) IN ALL BUG REPORTS.
|
||||
|
||||
|
||||
=======================================================================
|
||||
Installing the Files
|
||||
|
||||
'make install' does not work in this release -- it doesn't do anything
|
||||
except a compile if that is needed.
|
||||
|
||||
The only files you need are the binary from src/ircd and and an ircd.conf
|
||||
(see below for copying doc/example.conf as your initial ircd.conf). You
|
||||
probably will want to create a MOTD file too, as well as place the man
|
||||
pages from the doc directory to appropriate place in your system.
|
||||
|
||||
|
||||
=======================================================================
|
||||
Configuring Your Server
|
||||
|
||||
The previous step places a file named 'example.conf' into your irc
|
||||
directory you specified to Config.
|
||||
|
||||
To create an IRC configuration file, edit: ircd.conf
|
||||
|
||||
Now edit this file to reflect your server. The file is mainly
|
||||
self-explanatory. Note that if you plan to use your server on ROXnet,
|
||||
make sure that you have the following line:
|
||||
|
||||
U:services.roxnet.org:*:*
|
||||
|
||||
If you need help configuring your file, please connect to ROXnet,
|
||||
(irc.flirt.org or irc.roxnet.org) - go to channel #UnrealIRCd, and ask.
|
||||
|
||||
|
||||
=======================================================================
|
||||
Starting Your Server
|
||||
|
||||
Simply enter the complete path to the executable into the Unix command
|
||||
line, then hit return. Your server is now operational, assuming that you
|
||||
have completed all the steps described above.
|
||||
|
||||
NOTE: If you get something like the following when running ircd:
|
||||
|
||||
ircd fd table too big
|
||||
Hard Limit: 256 IRC max: 1024
|
||||
Fix MAXCONNECTIONS
|
||||
|
||||
You need to change config.h and recompile. Find the line that says
|
||||
"#define MAXCONNECTIONS 1024", and change it to the number given after
|
||||
"Hard Limit" (most likely 256), then make the server again, following the
|
||||
above instructions.
|
||||
|
||||
Enjoy!
|
||||
- The UnrealIRCd Team - unreal-dev@lists.sourceforge.net
|
||||
|
||||
+39
-7
@@ -33,7 +33,8 @@ FROMDOS=/home/cmunk/bin/4dos
|
||||
#
|
||||
XCFLAGS=
|
||||
IRCDLIBS=
|
||||
|
||||
CRYPTOLIB=
|
||||
OPENSSLINCLUDES=
|
||||
#
|
||||
# use the following on MIPS:
|
||||
#CFLAGS= -systype bsd43 -DSYSTYPE_BSD43 -I$(INCLUDEDIR)
|
||||
@@ -97,6 +98,12 @@ IRCDDIR=/usr/local/lib/ircd
|
||||
# The rest are perfectly content with this.
|
||||
RES=
|
||||
|
||||
#
|
||||
# If your system is lacking regex, uncomment this line
|
||||
#
|
||||
#REGEX=../extras/regex/regex.o
|
||||
REGEX=
|
||||
|
||||
# [CHANGEME]
|
||||
# If you get a compile-time error dealing with u_int32_t, comment out
|
||||
# this line.
|
||||
@@ -115,6 +122,9 @@ STRTOUL=
|
||||
# override it here and see what happens.
|
||||
FD_SETSIZE=
|
||||
|
||||
# Where is your openssl binary
|
||||
OPENSSLPATH=
|
||||
|
||||
CFLAGS=-I$(INCLUDEDIR) $(XCFLAGS) $(NEED_U_INT32_T) $(FD_SETSIZE)
|
||||
|
||||
SHELL=/bin/sh
|
||||
@@ -133,7 +143,9 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
|
||||
'BINDIR=${BINDIR}' 'INSTALL=${INSTALL}' \
|
||||
'INCLUDEDIR=${INCLUDEDIR}' 'IRCDDIR=${IRCDDIR}' \
|
||||
'MANDIR=${MANDIR}' 'RM=${RM}' 'CP=${CP}' 'TOUCH=${TOUCH}' \
|
||||
'RES=${RES}' 'SHELL=${SHELL}' 'STRTOUL=${STRTOUL}'
|
||||
'RES=${RES}' 'SHELL=${SHELL}' 'STRTOUL=${STRTOUL}' \
|
||||
'CRYPTOLIB=${CRYPTOLIB}' 'REGEX=${REGEX}' \
|
||||
'CRYPTOINCLUDES=${CRYPTOINCLUDES}'
|
||||
|
||||
server:
|
||||
build:
|
||||
@@ -152,10 +164,16 @@ build:
|
||||
@echo '| file "dynconf" using your favourite viewer or |'
|
||||
@echo '| editor. The file will contain instructions on how|'
|
||||
@echo '| to do the dynamic configuration :) |'
|
||||
@echo '| You might want to see include/config.h to adjust |'
|
||||
@echo '| some settings |'
|
||||
@echo '| |'
|
||||
@echo '| If you really like UnrealIRCd, and would like to |'
|
||||
@echo '| make a donation, please read the Donation file in|'
|
||||
@echo '| this archive. :) |'
|
||||
@echo '| |'
|
||||
@echo '| Thanks for using Unreal IRCd! If you are in need |'
|
||||
@echo '| for any kind of help regarding the IRCd email us |'
|
||||
@echo '| at unreal-dev@lists.sourceforge.net |'
|
||||
@echo '| for any kind of help regarding the IRCd please |'
|
||||
@echo '| read the Unreal.nfo file. |'
|
||||
@echo '|__________________________________________________|'
|
||||
|
||||
clean:
|
||||
@@ -174,8 +192,8 @@ clean:
|
||||
cleandir: clean
|
||||
rm -rf include/networks.h include/setup.h include/settings.h Makefile Settings
|
||||
|
||||
makex: fromdos
|
||||
chmod +x Config newnet bsdinstall ircd ircdcron/ircdchk killircd
|
||||
makex:
|
||||
chmod +x Config newnet ircd ircdcron/ircdchk killircd
|
||||
chmod +x makeconf rehash ircdreg
|
||||
|
||||
fromdos: cleandir
|
||||
@@ -186,7 +204,7 @@ fromdos: cleandir
|
||||
$(FROMDOS) -dv crypt/*
|
||||
$(FROMDOS) -dv ircdcron/*
|
||||
makedist: makex
|
||||
echo "Making UnrealIRCd compatible IRCd Dist."
|
||||
echo "Stamping.."
|
||||
|
||||
stamp: makedist
|
||||
echo "/* Auto created release stamping */" > include/stamp.h
|
||||
@@ -203,3 +221,17 @@ depend:
|
||||
install: all
|
||||
@echo "Now install by hand; make install is broken."
|
||||
|
||||
pem: src/ssl.cnf
|
||||
@echo "Generating certificate request .. "
|
||||
$(OPENSSLPATH) req -new -config src/ssl.cnf -out server.req.pem \
|
||||
-keyout server.key.pem -nodes
|
||||
@echo "Generating self-signed certificate .. "
|
||||
$(OPENSSLPATH) req -x509 -days 365 -in server.req.pem \
|
||||
-key server.key.pem -out server.cert.pem
|
||||
@echo "Generating fingerprint .."
|
||||
$(OPENSSLPATH) x509 -subject -dates -fingerprint -noout \
|
||||
-in server.cert.pem
|
||||
@echo "Setting o-rwx & g-rwx for 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!."
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
Unreal IRCD Win32 Version
|
||||
-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
|
||||
Ok, in order to save time, and my nerves i am writing this short readme, and eventually an FAQ (after people ask questions) =)
|
||||
|
||||
This is information on how to run the win32 version, it does not say, and WILL not say how to use an ircd, as that is sufficiently docuimented in the docs !!!!
|
||||
|
||||
you will NEED to modify/create an ircd.conf, follow the documentation for that.
|
||||
|
||||
|
||||
Right, thats almost it( that i can think of), but what happens if the server Crashes ???
|
||||
----------------------------------------------------------------------------------------
|
||||
ok i Have now coded the first bit of usefull (for me) code that dumps the stack to a dialog box, WHAT EVER YOU DO you must do the following:
|
||||
1. Copy and paste EVERYTHING in that dialog box, and send it to me in an e-mail
|
||||
2. Include in that e-mail EVERYTHING that happened in the lead up to the crash
|
||||
|
||||
i hope thats SIMPLE to follow, but it will help me soo much !!!!!
|
||||
|
||||
|
||||
DrBin (Dave)
|
||||
drbin@tspre.org
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
clear
|
||||
echo "Starting up UnrealIRCd Setup"
|
||||
echo ""
|
||||
echo "Press enter to proceed to setup..."
|
||||
read cc
|
||||
more -d Unreal.nfo
|
||||
echo "Press enter to proceed to FAQ..."
|
||||
read cc
|
||||
more -d doc/faq
|
||||
echo "Press enter to proceed to configuration..."
|
||||
read cc
|
||||
if [ "$1" != "-noconfig" ] ; then
|
||||
./Config
|
||||
fi
|
||||
|
||||
echo "Press enter to proceed to compiling..."
|
||||
read cc
|
||||
make
|
||||
echo "Press enter to proceed to ircd.conf making..."
|
||||
read cc
|
||||
./makeconf
|
||||
echo "Press enter to proceed to network configuration..."
|
||||
read cc
|
||||
clear
|
||||
echo "Do you want to use one of these network files, or make your own?"
|
||||
cd networks
|
||||
ls *.network
|
||||
echo "[Type "no" if you want to make your own]"
|
||||
read cc
|
||||
if [ "$cc" == "no" ] ; then
|
||||
./makenet
|
||||
fi
|
||||
echo "Press enter to proceed to dynamic ircd configuration..."
|
||||
read cc
|
||||
pico unrealircd.conf
|
||||
echo "You should be able to run UnrealIRCd using ./ircd now".
|
||||
@@ -1,21 +1,170 @@
|
||||
TODO: (Possible 3.1)
|
||||
* Limit calls to these functions using parse()
|
||||
0.00 3.91 0.00 6475 0.00 0.00 check_registered
|
||||
0.00 3.91 0.00 6827 0.00 0.00 check_registered_user
|
||||
* Optimize:
|
||||
0.00 3.91 0.00 1292 0.00 0.01 is_banned
|
||||
12.55 9.61 2.57 41320 0.06 0.10 check_lusers
|
||||
4.64 11.54 0.95 41566 0.02 0.02 count_channels
|
||||
3.08 13.96 0.63 850968 0.00 0.00 flush_connections
|
||||
(fdlists?)
|
||||
0.15 19.62 0.03 29 1.03 1.80 send_list
|
||||
* Add svsvline for global vlines
|
||||
* New /whowas system /who as well
|
||||
* Short MOTDs
|
||||
* B:Lines
|
||||
* Channel mode +d
|
||||
* Raising PING bug
|
||||
* Make alternative I/O engine using poll()
|
||||
* Remove some of the _little_ config.h defines and replace with
|
||||
unrealircd.conf lines, ex ADMINCHAT, REMOTE_REHASH
|
||||
* X-Windows GUI (how bad it can be but hey! :P)
|
||||
TODO for Unreal Next:
|
||||
|
||||
Write in entries in this form:
|
||||
==============================
|
||||
|
||||
* nick - date - priority - [ title ] Flag:
|
||||
description
|
||||
|
||||
Flags:
|
||||
CLOSED
|
||||
= Bug/Idea fixed/implemented. Bug/Idea is up for deletion
|
||||
OPEN
|
||||
= Bug/Idea up for fixing
|
||||
IN-REPAIR <nick>
|
||||
= Bug/Idea In Progress/Repair by <nick>
|
||||
NO-PRODUCE
|
||||
= Bug/Idea is not able to be (re)produced
|
||||
POSTPONED
|
||||
= Bug/Idea is scheduled for another release/time
|
||||
|
||||
If you think that a priority should be higher, make it++
|
||||
|
||||
Priority is 1..10, where 10 is highest, and 1 is lowest.
|
||||
----
|
||||
TODO :
|
||||
----
|
||||
|
||||
* stskeeps - Tue Dec 12 2000 - 1 - [ IPv6 ] OPEN:
|
||||
Add IPv6 compatiblity (requested by many people). Must allow :'s in
|
||||
hostnames, will kill backwards compatiblity when IPv6 is enabled
|
||||
|
||||
* stskeeps - Tue Dec 12 2000 - 1 - [ Code ] OPEN:
|
||||
Split up code, and make the placement of functions more logic
|
||||
|
||||
* codemastr - Tue Dec 12 2000 - 4 - [ Zip_Links ] OPEN:
|
||||
Actually add this since it was planned for 3.0
|
||||
|
||||
* codemastr - Tue Dec 12 2000 - 5 - [ Dynconf Recode ] IN-REPAIR stskeeps:
|
||||
Dynconf has a bunch of bugs that can be resolved with a recode
|
||||
We are doing this with the newconf :) -stskeeps
|
||||
|
||||
* codemastr - Tue Dec 12 2000 - 8 - [ +I Fixes ]:
|
||||
+I still has some bugs that may cause desync and show users
|
||||
that the +I user is actually on the channel.
|
||||
|
||||
* stskeeps - Tue Dec 12 2000 - 1 - [ Bugfixes/Hash ] CLOSED stskeeps:
|
||||
Check for possible hash bug with del_from_client_table or something
|
||||
People still complain about crashes
|
||||
We might have fixed this with recent SERVER passwd fix and other passwd
|
||||
fixes
|
||||
|
||||
|
||||
* stskeeps - Wed Dec 13 2000 - 10 - [ Bugfixes ] NO-PRODUCE:
|
||||
[[r00t3d](~lok70@168.213.226.rox-62220)] The other one, is lets say you are on
|
||||
server (a), and you set +p to your channel. All the users on Server
|
||||
(b,c, etc..) when they do a /list can see the +p channel in the
|
||||
list. Now if I set it wih chanserv ie.. mlock +ntp, it doesn't do
|
||||
that.. ON all servers (a,b,c) no one sees the +p channel in /list
|
||||
unless they are in the channel allready.
|
||||
Solution: Fix send_list to use PubChannel instead of SecretChannel
|
||||
(Unable to reproduce. +p channels are hidden on all servers -- codemastr)
|
||||
|
||||
|
||||
* stskeeps - Wed Dec 13 2000 - 10 - [ Bugfixes ]:
|
||||
[[r00t3d](~lok70@168.213.226.rox-62220)] If you are set +I (Tech
|
||||
Admin/Network Admin) and you are set +q/+a in a channel. When someone /whoises
|
||||
you hey see the channel names: *#channel ^#channel.
|
||||
Fix /whois ShowChannel code
|
||||
|
||||
* stskeeps - Wed Dec 13 2000 - 5 - [ Bugfixes ]:
|
||||
[RexHsu(~webmin@202.109.72.rox-42822)] #TVB ÄÖÄÖ H root@61.151.53.User-42432
|
||||
:0 none
|
||||
[RexHsu(~webmin@202.109.72.rox-42822)] #TVB ÄÖÄÖ H@
|
||||
~webmin@202.109.72.User-42822 :0 none
|
||||
[RexHsu(~webmin@202.109.72.rox-42822)] * End of /WHO list.
|
||||
Chinese nicks "clash", this is not the right nicks i typed in
|
||||
|
||||
* stskeeps - Wed Dec 13 2000 - 5 - [ Bugfixes ]:
|
||||
[eYe-Man(none@of.your.fucking.business)] <eYe-Man> Can you show me how you
|
||||
got
|
||||
OP?
|
||||
[eYe-Man(none@of.your.fucking.business)] <Sexy_20> me i dont know how!!!!!
|
||||
even i dont see where i got OP
|
||||
[eYe-Man(none@of.your.fucking.business)] <Sexy_20> or when some server gave
|
||||
me
|
||||
SJOIN gives people ops? :P
|
||||
|
||||
* stskeeps - Thu Dec 14 2000 - 10 - [ Bugfixes ]
|
||||
InTe[_:#roxnet> -oxygen.phrozen.org- *** Global -- from Irc.LinuxFreakz.Net:
|
||||
No response from dumper.roxnet.org[130.240.202.121], closing
|
||||
link
|
||||
Users can see that using +g ???
|
||||
FIXED: Sat Dec 30 2000 by stskeeps
|
||||
|
||||
* stskeeps - Fri Dec 14 2000 - 1 - [ SSL ]
|
||||
Challenge/Response kind of thing.
|
||||
|
||||
/CHALLENGE nick keyname/commonidentifier type :b64text
|
||||
type = 0, challenge type = 1, response
|
||||
Must be flood controlled in some way
|
||||
Can only work between servers and or U:lines and or
|
||||
+z users
|
||||
|
||||
Example:
|
||||
> :Stskeeps CHALLENGE RaYmAn rayman.pem 0 :0D0FE5F6D46
|
||||
< :RaYmAn CHALLENGE Stskeeps rayman.pem 1 :D0F5F543433
|
||||
|
||||
The way this works is, that the challenger got RaYmAn's public RSA key
|
||||
and he needs to authenticate that he is really talking to RaYmAn (the
|
||||
real one). He then sends a random string to RaYmAn, encrypted with
|
||||
RaYmAn's public key. RaYmAn then decrypts it using his private key, and
|
||||
then re-encrypts the random stuff using his private key, and sends back
|
||||
to Stskeeps, Sts then checks with decrypting the crypted text using the public
|
||||
key, and if its OK, then considers him OK.
|
||||
|
||||
We can use this for NickServ authentication using RSA keys,
|
||||
or server<->server authentication, or /oper authentication
|
||||
(no more stolen passwords, yipieeeeeeee)
|
||||
|
||||
This is also easily possible to add, in IRCii, in BitchX, EPIC,
|
||||
mIRC (DLLs), etc.
|
||||
|
||||
This is also good for raising security/authenticating to another level.
|
||||
Users can check if they are talking to the right person, NickServ databases
|
||||
no longer needs to have passwords, just use RSA keys
|
||||
|
||||
* stskeeps - Sun 17 Dec 2000 - 1 - [ General ]
|
||||
|
||||
P:ip:W:*:port
|
||||
UnrealHTTPD!
|
||||
Sat 30 Dec 2000 - stskeeps - *cough* listen::option http ;)
|
||||
|
||||
* codemastr - Wed 20 Dec 2000 - 3 - [ General ]
|
||||
|
||||
Recode badwords to allow a different replace word for each word
|
||||
|
||||
* codemastr - Wed 20 Dec 2000 - 1 - [ Install ]
|
||||
|
||||
Add make install
|
||||
|
||||
* codemastr - Wed 20 Dec 2000 - 9 - [ Bugfixes ]
|
||||
|
||||
connect to a server, /oper, then run telnet and link a server. Close the telnet but do NOT
|
||||
send a SQUIT, the server displays no notice to opers that the server split.
|
||||
Stskeeps> +j? but yes, there's a bug there
|
||||
|
||||
FIXED Sat 30 Dec 2000 by Stskeeps
|
||||
|
||||
* stskeeps - Sat Dec 23 2000 - 10 - [ Bugfixes ]
|
||||
There's some kind of bug that shows people being on same channel
|
||||
twice. I got a feeling its to do with JOIN/SJOIN as its only remote.
|
||||
[ Stskeeps ] [@ChanServ ] [@Fresh-Prin] [ Fresh-Prin] [@Fresh-Prin]
|
||||
Same person
|
||||
|
||||
* codemastr - Tue Dec 26 2000 - 6 - [ Bugfixes ]
|
||||
(too lazy to type it out)
|
||||
http://sourceforge.net/bugs/?func=detailbug&bug_id=126645&group_id=1968
|
||||
That fix will work except it needs to be modified so it checks remote
|
||||
before denying because of not being oper
|
||||
* stskeeps - Wed Dec 27 2000 - 5 - [Configuration]
|
||||
Add a SWHOIS option to oper {} block, suggested by Robertsog
|
||||
* codemastr - Tue Dec 26 2000 - 6 - [ Bugfixes ]
|
||||
(too lazy to type it out)
|
||||
http://sourceforge.net/bugs/?func=detailbug&bug_id=126645&group_id=1968
|
||||
That fix will work except it needs to be modified so it checks remote
|
||||
before denying because of not being oper
|
||||
* stskeeps - Sun Dec 30 2000 - 10 - [ Bugfixes ]
|
||||
/whois shows what channels +S are in
|
||||
* codemastr - Tue Jan 03 2001 - 1 - [ Idea ]
|
||||
Add /kill logging option suggested by Cerb
|
||||
|
||||
@@ -1,4 +1,32 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
NOTE: tspre.org does not exist at the moment,
|
||||
as I dont have a shell for it anymore.
|
||||
If anyone want to donate a shell with a background process,
|
||||
and 1 IP with port 6667 open, they are welcome.
|
||||
however, when i get my adsl connection, it will run off that - on a
|
||||
50mhz machine *g*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
TSpre.org
|
||||
|
||||
Many here maybe not heard of the Story
|
||||
|
||||
+23
-13
@@ -1,27 +1,37 @@
|
||||
===============================================
|
||||
= UnrealIRCd v3.0 =
|
||||
= UnrealIRCd v3.1.1 =
|
||||
===============================================
|
||||
Was brought to you by:
|
||||
* Stskeeps <stskeeps@tspre.org>
|
||||
* codemastr <codemastr@tspre.org>
|
||||
* codemastr <codemastr@unrealircd.com>
|
||||
* DrBin <drbin@unrealircd.com>
|
||||
|
||||
Precenses on the Internet:
|
||||
* http://unreal.tspre.org or http://unreal.sourceforge.net
|
||||
* ftp://unreal.sourceforge.net/pub/unreal
|
||||
* ftp://ftp.shadow-realm.org/pub/ircd/UnrealIRCd
|
||||
* http://www.unrealircd.com
|
||||
|
||||
CVS Repository:
|
||||
* Alpha versions (or beta)
|
||||
==========================
|
||||
cvs -z9 -d :pserver:anonymous@cvs.unreal.sourceforge.net:/cvsroot/unreal login
|
||||
(just press enter when it asks for password)
|
||||
cvs -z9 -d :pserver:anonymous@cvs.unreal.sourgeforge.net:/cvsroot/unreal co alpha
|
||||
CVS:
|
||||
To get anonymous access: (read only)
|
||||
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot login"
|
||||
|
||||
press enter when asked for password
|
||||
|
||||
and to get latest stable:
|
||||
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot checkout -r stable -d Unreal-stable unreal"
|
||||
|
||||
latest beta:
|
||||
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot checkout -r beta -d Unreal-beta unreal"
|
||||
|
||||
* To get support
|
||||
================
|
||||
* IRC: /server irc.flirt.org 6667 - /join #unrealircd
|
||||
* IRC: /server irc.ircsystems.net 6667 - /join #unrealircd
|
||||
[Note: Please be patient after asking questions, we may do other stuff
|
||||
or we're away. Don't repeat questions, we heard you first time,
|
||||
READ THE TOPIC before you ask anything. We do this on a free
|
||||
base so we are volunteeringly helping you, but we are humans
|
||||
like you, and we got to have peace at times as well.]
|
||||
* Mailing list: unreal-support@lists.sourceforge.net (for support)
|
||||
|
||||
* READ doc/faq BEFORE ASKING QUESTIONS!
|
||||
|
||||
* Got a bug to report?
|
||||
======================
|
||||
* If the server crashes and dumps core do this:
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# Unreal Internet Relay Chat Daemon
|
||||
# Copyright (C) Carsten V. Munk 2000
|
||||
#
|
||||
# NOTE: Those words are not meant to insult you (the user)
|
||||
# but is meant to be a list of words so that the +G channel/user mode
|
||||
# will work properly. You can easily modify this file at your will.
|
||||
# If you got words to add to this file, please mail badwords@tspre.org
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# This is some filling space, scroll down to see the words
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
pussy
|
||||
fuck
|
||||
whore
|
||||
slut
|
||||
shit
|
||||
asshole
|
||||
bitch
|
||||
cunt
|
||||
vagina
|
||||
penis
|
||||
jackass
|
||||
*fucker*
|
||||
faggot
|
||||
fag
|
||||
horny
|
||||
gay
|
||||
dickhead
|
||||
sonuvabitch
|
||||
*fuck*
|
||||
boobs
|
||||
tits
|
||||
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# Unreal Internet Relay Chat Daemon
|
||||
# Copyright (C) Carsten V. Munk 2000
|
||||
#
|
||||
# NOTE: Those words are not meant to insult you (the user)
|
||||
# but is meant to be a list of words so that the +G channel/user mode
|
||||
# will work properly. You can easily modify this file at your will.
|
||||
# If you got words to add to this file, please mail badwords@tspre.org
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# This is some filling space, scroll down to see the words
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
pussy
|
||||
fuck
|
||||
whore
|
||||
slut
|
||||
shit
|
||||
asshole
|
||||
bitch
|
||||
cunt
|
||||
vagina
|
||||
penis
|
||||
jackass
|
||||
*fucker*
|
||||
faggot
|
||||
fag
|
||||
horny
|
||||
gay
|
||||
dickhead
|
||||
sonuvabitch
|
||||
*fuck*
|
||||
boobs
|
||||
tits
|
||||
-84
@@ -1,84 +0,0 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# $Id$
|
||||
# Old: @(#)install.sh 4.5 (Berkeley) 10/12/83
|
||||
#
|
||||
cmd=/bin/mv
|
||||
strip=""
|
||||
chmod="/bin/chmod 755"
|
||||
chown="chown -f root"
|
||||
chgrp="/bin/chgrp -f bin"
|
||||
while true ; do
|
||||
case $1 in
|
||||
-s ) strip="strip"
|
||||
shift
|
||||
;;
|
||||
-c ) cmd="/bin/cp"
|
||||
shift
|
||||
;;
|
||||
-m ) chmod="/bin/chmod $2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-o ) chown="/etc/chown -f $2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-g ) chgrp="/bin/chgrp -f $2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-d ) cmd="/bin/mkdir"
|
||||
shift
|
||||
;;
|
||||
* ) break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ ! ${2-""} ]
|
||||
then echo "install: no destination specified"
|
||||
exit 1
|
||||
fi
|
||||
if [ ${3-""} ]
|
||||
then echo "install: too many files specified -> $*"
|
||||
exit 1
|
||||
fi
|
||||
if [ $1 = $2 -o $2 = . ]
|
||||
then echo "install: can't move $1 onto itself"
|
||||
exit 1
|
||||
fi
|
||||
case $cmd in
|
||||
/bin/mkdir )
|
||||
file=$2/$1
|
||||
;;
|
||||
* )
|
||||
if [ '!' -f $1 ]
|
||||
then echo "install: can't open $1"
|
||||
exit 1
|
||||
fi
|
||||
if [ -d $2 ]
|
||||
then file=$2/$1
|
||||
else file=$2
|
||||
fi
|
||||
/bin/rm -f $file
|
||||
;;
|
||||
esac
|
||||
|
||||
case $cmd in
|
||||
/bin/mkdir )
|
||||
if [ ! -d "$file" ]
|
||||
then $cmd $file
|
||||
fi
|
||||
;;
|
||||
* )
|
||||
$cmd $1 $file
|
||||
if [ $strip ]
|
||||
then $strip $file
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
$chown $file
|
||||
$chgrp $file
|
||||
$chmod $file
|
||||
+4
-2
@@ -23,15 +23,17 @@
|
||||
#
|
||||
|
||||
IRCDCONF = ../ircd.conf
|
||||
LIBS=-lcrypt
|
||||
|
||||
all: mkpasswd
|
||||
crypt: install
|
||||
|
||||
mkpasswd: mkpasswd.c
|
||||
cc -lcrypt -O mkpasswd.c -o mkpasswd
|
||||
cc ${LIBS} -O mkpasswd.c -o mkpasswd
|
||||
|
||||
install:
|
||||
crypter ${IRCDCONF}
|
||||
chmod 700 crypter
|
||||
./crypter ${IRCDCONF}
|
||||
@echo 'done.'
|
||||
|
||||
clean:
|
||||
|
||||
+23
-1
@@ -32,6 +32,8 @@ $tmpfile = "/tmp/ircd.conf.tmp";
|
||||
#
|
||||
$ircdconf = @ARGV[0];
|
||||
|
||||
$ircdout = "IRCDOUT";
|
||||
|
||||
print "crypting ",$ircdconf,"\n";
|
||||
@saltset = ('a' .. 'z', 'A' .. 'Z', '0' .. '9', '.', '/');
|
||||
|
||||
@@ -40,13 +42,33 @@ open ($ircdout, ">/tmp/ircd.conf.tmp") || die "open $!";
|
||||
|
||||
while ($text = <>) {
|
||||
#if its not an "O" line we can ignore it
|
||||
$text =~ /^o/i || print ($ircdout $text) && next;
|
||||
if ($text =~ /^o/i) {
|
||||
chop($text);
|
||||
@oline = split(':', $text);
|
||||
$salt = $saltset[rand(time)%64].$saltset[(rand(time)>>6)%64];
|
||||
$oline[2] = crypt(@oline[2], $salt);
|
||||
print ($ircdout join(':',@oline)."\n");
|
||||
}
|
||||
elsif ($text =~ /^n/i) {
|
||||
chop($text);
|
||||
@nline = split(':', $text);
|
||||
$salt = $saltset[rand(time)%64].$saltset[(rand(time)>>6)%64];
|
||||
$nline[2] = crypt(@nline[2], $salt);
|
||||
print ($ircdout join(':',@nline)."\n");
|
||||
}
|
||||
elsif ($text =~ /^x/i) {
|
||||
chop($text);
|
||||
@xline = split(':', $text);
|
||||
$salt1 = $saltset[rand(time)%64].$saltset[(rand(time)>>6)%64];
|
||||
$salt2 = $saltset[rand(time)%64].$saltset[(rand(time)>>6)%64];
|
||||
$xline[1] = crypt(@xline[1], $salt1);
|
||||
$xline[2] = crypt(@xline[2], $salt2);
|
||||
print ($ircdout join(':',@xline)."\n");
|
||||
}
|
||||
else {
|
||||
print $ircdout "$text";
|
||||
}
|
||||
}
|
||||
close ($ircdout);
|
||||
close ($ircdin);
|
||||
print "/bin/cp ",$tmpfile," ",$ircdconf,"\n";
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
ALN, Alphanumeric System
|
||||
(C) Stskeeps 2000
|
||||
|
||||
ALN is a quick hack to short down usage of bandwidth-using servernames
|
||||
in prefixes, NICK commands, etc etc. It replaces the name with a
|
||||
1 or 2 byte prefix in a system, look at src/aln.c for the prefix
|
||||
types/values. It will be an PROTOCTL, and used in NICK messages and so on,
|
||||
and introduce a new prefix server<->server called |server. The value of the
|
||||
server is calculated by a hash value, the scache system, so that the server
|
||||
can lookup with a new scache function, scache_find_by_hash(int i). The
|
||||
question of it will conflict in similar-hash server names, is a wonder to me
|
||||
:P, we will find out, but scache will fail at same time then.
|
||||
|
||||
|
||||
Examples:
|
||||
& Medb 4 957458466 ~Medb bservice.org D2 0 +iwrx *
|
||||
:BotService Bot - bservice.org - Owner: terri{J}
|
||||
|
||||
where D2 is the hash value of oxygen.phrozen.org (/stats s on a
|
||||
#define DEVELOP server). irc.flirt.org has hash 96 (ALN code AX) for
|
||||
instance.
|
||||
|
||||
@D2 GLOBOPS :message
|
||||
will be a message from server with hash D2, found find-by-hash(256)
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
From cmunk@draconic.fyremoon.net Wed Apr 5 18:09:55 2000
|
||||
Date: Wed, 5 Apr 2000 18:07:55 +0100 (BST)
|
||||
From: "The Nightwalker (Stskeeps)" <cmunk@draconic.fyremoon.net>
|
||||
To: unreal-dev@lists.sourceforge.net
|
||||
Subject: [Unreal-dev] P:Lines
|
||||
|
||||
|
||||
Some stuff i got ideas about.. stripping the IP and port from the M:Line
|
||||
and enforcing the main port to be in a M:line
|
||||
|
||||
M:irc.fyremoon.net:*:Forever is gonna start tonight:*
|
||||
|
||||
P:ip:flags:password1,password2,password3:port
|
||||
| | | \- port to bind to
|
||||
| | |
|
||||
| | \- Commaseperated lists of accepted passwords
|
||||
| | * if none
|
||||
| |
|
||||
| \--- C = Allow clients
|
||||
| S = Allow servers
|
||||
| R = ONLY allow our remote admin connections
|
||||
| (may only be on a P:line of its own)
|
||||
| J = Clients that connect here are counted as Java(Confroomhack)
|
||||
| s = Makes this a SSL port
|
||||
| * = CS
|
||||
|
|
||||
|
|
||||
\--- IP to bind to, * = INADDR_ANY (all interfaces)
|
||||
|
||||
Will make P:Lines more efficent
|
||||
|
||||
---------------------------------------------------------------------
|
||||
Carsten V. Munk - The Nightwalker, known on IRC as Stskeeps or techie
|
||||
* ICQ: 16465977 - E-Mail: stskeeps@tspre.org
|
||||
* Author of UnrealIRCd (http://unreal.tspre.org)
|
||||
* Technical Admin @ irc.roxnet.org, server admin of irc.fyremoon.net
|
||||
"To understand a program you must become both the machine and the program."
|
||||
----------------------------------------------------------------------
|
||||
|
||||
-----BEGIN GEEK CODE BLOCK-----
|
||||
Version: 3.1
|
||||
GCS/CC d- s: a--- C+++ UL P L++ E-- W++ N+ o-- K- w--- O- M V-- PS+ PE- Y+
|
||||
PGP t+ 5 X R- tv- b+ DI++ D++ G e-- h! r z**
|
||||
------END GEEK CODE BLOCK------
|
||||
|
||||
|
||||
_______________________________________________
|
||||
Unreal-dev mailing list
|
||||
Unreal-dev@lists.sourceforge.net
|
||||
http://lists.sourceforge.net/mailman/listinfo/unreal-dev
|
||||
@@ -1,4 +1,7 @@
|
||||
[ $Id$ ]
|
||||
Take this with a grain of salt.. it's heaps old and this isn't Elite anymore
|
||||
|
||||
|
||||
---------------------------
|
||||
Version Elite2.0 ==========
|
||||
===========================
|
||||
@@ -0,0 +1,334 @@
|
||||
Written by ^MrMike^ (mike@sector001.org) for the UnrealIRCd
|
||||
Modified by codemastr to include a few other commands
|
||||
(note, this file will be updated in CVS asap)
|
||||
|
||||
PRIVMSG
|
||||
- Used to send a message to a person or a channel
|
||||
Syntax: MSG <nick>,<nick2>,<nick3>,<nick4> <text>
|
||||
Example: PRIVMSG Stskeeps :Hello. Unreal is a very good ircd.
|
||||
Example: PRIVMSG Stskeeps,codemastr,DrBin :Hello Unreal Coding Team
|
||||
|
||||
NOTICE
|
||||
- Mainly used for one-time communication or for the results of a command.
|
||||
Syntax: NOTICE <nick>,<nick2>,<nick3>,<nick4> <text>
|
||||
Example: NOTICE codemastr :Hi. How are you?
|
||||
Example: NOTICE codemastr,Stskeeps :Hi codemastr and Stskeeps.
|
||||
|
||||
MODE
|
||||
- Used to change the mode of a channel or a user. You can only change modes for channel you are an Operator or Half-Op on. Also, you can only changes user modes for yourself.
|
||||
Syntax: MODE <channel/user> <mode>
|
||||
Example: MODE #UnrealIRCD +tn
|
||||
Example: MODE #UnrealIRCD +ootn codemastr Stskeeps
|
||||
|
||||
NICK
|
||||
- Changes your "online identity" on a server. All those in the channel you are in will be alerted of your nickname change.
|
||||
Syntax: NICK <new nickname>
|
||||
Example: NICK |codemastr|
|
||||
|
||||
JOIN
|
||||
- Used to enter one or more channels on an IRC server. All occupants of the channel will be notified of your arrival.
|
||||
Syntax: JOIN <chan>,<chan2>,<chan3>
|
||||
Example: JOIN #UnrealIRCD
|
||||
Example: JOIN #UnrealIRCD,#OperHelp
|
||||
|
||||
PING
|
||||
- Determines the amount of lag (time it takes for a response to reach a person and come back) between yourself and someone else.
|
||||
Syntax: PING <user>
|
||||
Example: PING Stskeeps
|
||||
|
||||
WHOIS
|
||||
- Shows information about the user in question, such as their "name", channels they are currently in, their hostmask, etc.
|
||||
Syntax: WHOIS <user>
|
||||
Example: WHOIS DrBin
|
||||
|
||||
ISON
|
||||
- Used to determine of a certain user or users are currently on the IRC server based upon their nickname.
|
||||
Syntax: ISON <user> <user2> <user3> <user4>
|
||||
Example: ISON Stskeeps DrBin codemastr NickServ ChanServ OperServ MemoServ
|
||||
|
||||
USER
|
||||
- Used during registration to server (i.e. during inital connection sequence.)
|
||||
|
||||
PART
|
||||
- Used to part (or leave) a channel you currently occupy. All those in the channel will be notified of your departure.
|
||||
Syntax: PART <chan>,<chan2>,<chan3>,<chan4>
|
||||
Example: PART #UnrealIRCD
|
||||
Example: PART #UnrealIRCD,#OperHelp
|
||||
|
||||
QUIT
|
||||
- Disconnects you from the IRC server. Those in the channels you occupy will be notified of your departure. If you do not specify a reason, your nickname becomes the reason.
|
||||
Syntax: QUIT <reason>
|
||||
Example: QUIT Leaving!
|
||||
|
||||
USERHOST
|
||||
- Returns the userhost of the user in question. Usually used by scripts or bots to retrieve userhost information.
|
||||
Syntax: USERHOST <nickname>
|
||||
Example: USERHOST codemastr
|
||||
|
||||
SVSNICK
|
||||
- Can only be used by a U:Lined server (i.e. services). Changes the nickname of the user in question.
|
||||
Syntax: SVSNICK <nickname> <new nickname> :<timestamp>
|
||||
Example: SVSNICK Stskeeps Techie :963086432
|
||||
|
||||
SVSMODE
|
||||
- Can only be used by a U:Lined server (i.e. services). Changes the mode of the channel or user in question.
|
||||
Syntax: SVSMODE <channel/user> :<mode>
|
||||
Example: SVSMODE #UnrealIRCD :+o Stskeeps
|
||||
Example: SVSMODE codemastr :+i
|
||||
|
||||
LUSERS
|
||||
- Provides local and global user information (such as current and maximum user count).
|
||||
Syntax: LUSERS <server>
|
||||
|
||||
CHANSERV
|
||||
- Will send a secure message to ChanServ. Similar to /msg ChanServ, but more secure. May not work if server is configured improperly.
|
||||
|
||||
TOPIC
|
||||
- Sets/Changes the topic of the channel in question, or just display the current topic.
|
||||
Syntax: TOPIC <channel>
|
||||
Syntax: TOPIC <channel> <topic>
|
||||
Example: TOPIC #operhelp
|
||||
Example: TOPIC #UnrealIRCD Welcome to the Unreal IRCD Home Channel.
|
||||
|
||||
INVITE
|
||||
- Sends a user an invitation to join a perticular channel. You must be an operator on the channel in order to invite a user into it.
|
||||
Syntax: INVITE <user> <channel>
|
||||
Example: INVITE codemastr #OperHelp
|
||||
|
||||
KICK
|
||||
- Removes a user from a channel. Can only be used by Operators or Half-Ops. If no reason is specified, your nickname becomes the reason.
|
||||
Syntax: KICK <channel> <user> <reason>
|
||||
|
||||
WALLOPS
|
||||
- Sends a "message" to all those with the umode +w. Only IRCops can send wallops, while anyone can view them.
|
||||
Syntax: WALLOPS <message>
|
||||
|
||||
KILL
|
||||
- Forcefully disconnects a user from an IRC Sever. Can only be used by IRCops.
|
||||
Syntax: KILL <user> <reason>
|
||||
Example: KILL Clone5 Cloning is not allowed
|
||||
|
||||
AWAY
|
||||
- Sets your online status to "away".
|
||||
Syntax: AWAY <reason> (AWAY without a reason will unset you away)
|
||||
Example: AWAY Walking the dog...
|
||||
|
||||
SQUIT
|
||||
- Disconnects an IRC Server from the network
|
||||
Syntax: SQUIT <server>
|
||||
Example: SQUIT leaf.*
|
||||
|
||||
WHO
|
||||
- Searches user information (-i users only) for supplied information. IRCops are a ble to search +i users.
|
||||
Syntax: WHO <search>
|
||||
Example: WHO *.aol.com
|
||||
|
||||
WHOWAS
|
||||
- Retrieves previous 'WHOIS' information for users no longer connected to the server.
|
||||
Syntax: WHOWAS <nickname>
|
||||
Example: WHOWAS Stskeeps
|
||||
|
||||
LIST
|
||||
- Provides a complete listing of all channels on the network. If a search string is specified, it will only show those matching the search string.
|
||||
Syntax: LIST <search string>
|
||||
Example: LIST
|
||||
Example: LIST *ircd*
|
||||
|
||||
NAMES
|
||||
- Provides a list of users on the specified channel.
|
||||
Syntax: NAMES <channel>
|
||||
Example: NAMES #help
|
||||
|
||||
OPER
|
||||
- Attempts to give a user IRCop status.
|
||||
Syntax: OPER <uid> <pass>
|
||||
Example: OPER codemastr codeit
|
||||
|
||||
CONNECT
|
||||
- Links another IRC server to the one you are currently on. Remote connections are also possible.
|
||||
Syntax: CONNECT <server>
|
||||
Syntax: <CONNECT> <hub> <port> <leaf>
|
||||
Example: CONNECT leaf.*
|
||||
Example: CONNECT hub.* 6667 leaf.*
|
||||
|
||||
VERSION
|
||||
- Provides version information of the IRCD software in usage.
|
||||
Syntax: VERSION
|
||||
|
||||
STATS
|
||||
- Provides certain statistical information about the server (for example, u will provide uptime information).
|
||||
Syntax: STATS <letter>
|
||||
Example: STATS u
|
||||
|
||||
LINKS
|
||||
- Lists all of the servers currently linked to the network.
|
||||
Syntax: LINKS
|
||||
|
||||
ADMIN
|
||||
- Provides administrative information regarding the server.
|
||||
Syntax: ADMIN <server>
|
||||
|
||||
SAMODE
|
||||
- Allowed a services administrator to change the mode on a channel, without having operator status.
|
||||
Syntax: SAMODE <channel> <mode>
|
||||
Example: SAMODE #UnrealIRCD +m
|
||||
|
||||
SVSKILL
|
||||
- Can only be used by a U:Lined server. Forcefully disconnects a user from the network.
|
||||
Syntax: SVSKILL <user> <reason>
|
||||
Example: SVSKILL codemastr Goodbye
|
||||
|
||||
SVSNOOP
|
||||
- Can only be used by a U:Lined server. Enabled or disables whether Global IRCop functions exist on the server in question or not.
|
||||
Syntax: SVSNOOP <server> <+/->
|
||||
Example: SVSNOOP leaf.* -
|
||||
|
||||
MOTD
|
||||
- Displays the Message of the Day.
|
||||
Syntax: MOTD
|
||||
Syntax: MOTD <server>
|
||||
|
||||
KLINE
|
||||
- "Bans" a hostmask from connection to the IRC server.
|
||||
Syntax: KLINE <hostmask> <reason>
|
||||
Example: KLINE *@*.aol.com Abuse
|
||||
|
||||
UNKLINE
|
||||
- Removes a k:line from the server.
|
||||
Syntax: UNKLINE <hostmask>
|
||||
Example: UNKLINE *@*.aol.com
|
||||
|
||||
ZLINE
|
||||
- Disables all access to the IRC server from a specified IP.
|
||||
Syntax: ZLINE <ip>
|
||||
Example: ZLINE 127.0.0.1
|
||||
|
||||
UNZLINE
|
||||
- Removes a currently active z:Line.
|
||||
Syntax: UNZLINE <ip>
|
||||
Example: ZLINE 127.0.0.1
|
||||
|
||||
GLOBOPS
|
||||
- Sends a global "message" to all IRCops. Only viewable by IRCops (unlike WallOps, which can be viewed by normal users).
|
||||
Syntax: GLOBOPS <message>
|
||||
Example: GLOBOPS Going to be akilling those clones...
|
||||
|
||||
CHATOPS
|
||||
- GLOBOPS is usually reserved for important network information. Therefore, for Oper Chat, CHATOPS was invented. IRCops with the +c flag enabled will be able to send/receive CHATOPS messages.
|
||||
Syntax: CHATOPS <message>
|
||||
Example: CHATOPS How's everyone doing today?
|
||||
|
||||
LOCOPS
|
||||
- Similar to GLOBOPS, except only received by those IRCops local to your server.
|
||||
Syntax: LOCOPS <message>
|
||||
Example: LOCOPS Going to be adding a temp k:line for that user...
|
||||
|
||||
REHASH
|
||||
- Prompts the server to reread its configuration file (ircd.conf). Will also remove any temporarly lines (i.e. k:line).
|
||||
Syntax: REHASH
|
||||
|
||||
RESTART
|
||||
- Kills and restarts the irc daemon, disconnecting all users currently on that server.
|
||||
Syntax: RESTART
|
||||
Syntax: RESTART <password>
|
||||
|
||||
DIE
|
||||
- Kills the irc daemon, disconnecting all users currently on that server.
|
||||
Syntax: DIE
|
||||
Syntax: DIE <password>
|
||||
|
||||
RULES
|
||||
- Reads the rules.conf file and sends the contents to the user.
|
||||
Syntax: RULES
|
||||
|
||||
MAP
|
||||
- Provides a "network map" of the IRC network. Mainly used for routing purposes.
|
||||
Syntax: MAP
|
||||
|
||||
DALINFO
|
||||
- Original DALnet ircd credits.
|
||||
Syntax: DALINFO
|
||||
|
||||
MKPASSWD
|
||||
- Used for generating an encrypted password. Mainly used for encrypted O:Line passwords.
|
||||
Syntax: MKPASSWD <password>
|
||||
Example: MKPASSWD codeit
|
||||
|
||||
ADDLINE
|
||||
- Adds a line to the server's ircd.conf file. After added, you must REHASH the server for it to take affect.
|
||||
Syntax: ADDLINE <line>
|
||||
Example: ADDLINE C:127.0.0.1:server.dal.net:linking:7325:50
|
||||
|
||||
TECHAT
|
||||
- Similar to CHATOPS, but only Technical Admins are able to send/receive messages on this "channel".
|
||||
Syntax: TECHAT <message>
|
||||
Example: TECHAT What do you think of the new routing map?
|
||||
|
||||
NACHAT
|
||||
- Similar to CHATOPS (and TECHAT), but only Network Admins are able to send/recieve messages.
|
||||
Syntax: NACHAT <message>
|
||||
Example: NACHAT Linking a new server in a couple minutes...
|
||||
|
||||
KNOCK
|
||||
- For channels which are invite only, you can "knock" on the channel to request an invite.
|
||||
Syntax: KNOCK <channel> <message>
|
||||
Example: KNOCK #secret_chan I'm an op, let me in!
|
||||
|
||||
CREDITS
|
||||
- Credits for Unreal IRCD.
|
||||
Syntax: CREDITS
|
||||
|
||||
LICENSE
|
||||
- GPL information.
|
||||
Syntax: LICENSE
|
||||
|
||||
SVSJOIN
|
||||
- Forces a user to join a channel. Can only be used by a U:Lined server.
|
||||
Syntax: SVSJOIN <nick> <channel>
|
||||
Example: SVSJOIN codemastr #jail
|
||||
|
||||
SAJOIN
|
||||
- Forces a user to join a channel. Can only be used by a Services Admin.
|
||||
Syntax: SAJOIN <nick> <channel>
|
||||
Example: SAJOIN Stskeeps #OperHelp
|
||||
|
||||
SVSPART
|
||||
- Forces a user to leave a channel. Can only be used by a U:Lined server.
|
||||
Syntax: SVSPART <nick> <channel>
|
||||
Example: SVSPART codemastr #jail
|
||||
|
||||
SAPART
|
||||
- Forces a user to leave a channel. Can only be used by a Services Admin.
|
||||
Syntax: SAPART <nick> <channel>
|
||||
Example: SAPART Stskeeps #OperHelp
|
||||
|
||||
SETHOST
|
||||
- Changes the hostname of yourself. Only available to IRCops.
|
||||
Syntax: SETHOST <host>
|
||||
Example: SETHOST coder.tspre.org
|
||||
|
||||
SETIDENT
|
||||
- Changes the ident of yourself. Only available to IRCops.
|
||||
Syntax: SETIDENT <ident>
|
||||
Example: SETIDENT coder
|
||||
|
||||
SETNAME
|
||||
- Changes the "IRC Name" (or "Real Name") of yourself. Available to everyone.
|
||||
Syntax: SETNAME <name>
|
||||
Example: SETNAME Unreal Coding Team Member
|
||||
|
||||
CHGHOST
|
||||
- Changes the hostname of a user currently on the IRC network. Only available to IRCops.
|
||||
Syntax: CHGHOST <nick> <host>
|
||||
Example: CHGHOST codemastr coder.tspre.org
|
||||
|
||||
CHGIDENT
|
||||
- Changes the ident of a user currently on the IRC network. Only available to IRCops.
|
||||
Syntax: CHGIDENT <nick> <ident>
|
||||
Example: CHGIDENT codemastr coder
|
||||
|
||||
CHGNAME
|
||||
- Changes the "IRC Name" (or "Real Name") of a user currently on the IRC network. Only available to IRCops.
|
||||
Syntax: CHGNAME <nick> <name>
|
||||
Example: CHGNAME codemastr Unreal Coding Team Member
|
||||
|
||||
+304
-124
@@ -1,5 +1,5 @@
|
||||
esOriginally by Roddy Vagg -- roddy@dal.net
|
||||
modified for UnrealIRCD3.0
|
||||
Originally by Roddy Vagg -- roddy@dal.net
|
||||
modified for UnrealIRCD3.1 by codemastr
|
||||
|
||||
--------------------
|
||||
|
||||
@@ -40,7 +40,15 @@ modified for UnrealIRCD3.0
|
||||
7.7) .......................... Set SHOWOPERS Line
|
||||
7.8) .......................... Set KILLDIFF Line
|
||||
7.9) .......................... Set SHOWOPERMOTD Line
|
||||
7.10) .......................... Set HIDE_ULINES Line
|
||||
7.10).......................... Set HIDE_ULINES Line
|
||||
7.11).......................... Set ALLOW_CHATOPS Line
|
||||
7.12).......................... Set SOCKS_BAN_MESSAGE Line
|
||||
7.13).......................... Set SOCKS_QUIT_MESSAGE Line
|
||||
7.14).......................... Set SOCKSBANTIME Line
|
||||
7.15).......................... Set MAXCHANNELSPERUSER Line
|
||||
7.16).......................... Set WEBTV_SUPPORT Line
|
||||
7.17).......................... Set NO_OPER_HIDING Line
|
||||
7.18) ......................... Set AUTO_JOIN_CHANS Line
|
||||
8) ............................. network files
|
||||
8.1) .......................... Network Line
|
||||
8.2) .......................... Set ircnetwork Line
|
||||
@@ -76,8 +84,8 @@ modified for UnrealIRCD3.0
|
||||
2) ircd.conf Basics:
|
||||
|
||||
When you compile your server, you must specify the correct paths to
|
||||
where you plan on keeping your ircd.conf, for simplicity it is recomended
|
||||
that you keep it in the same diretory as your ircd binary and other ircd
|
||||
where you plan on keeping your ircd.conf, for simplicity it is recommended
|
||||
that you keep it in the same directory as your ircd binary and other ircd
|
||||
files.
|
||||
note: You need only supply full pathnames for DPATH and SPATH, the
|
||||
other defines will only point to files under these directories so you
|
||||
@@ -89,7 +97,7 @@ modified for UnrealIRCD3.0
|
||||
When you have made your ircd.conf you may check it with the program
|
||||
`chkconf', this program is supplied with the source code release and will
|
||||
be installed into your ircd directory when you run `make install',
|
||||
`chkconf' will check your ircd.conf for errors so is a usefull tool for
|
||||
`chkconf' will check your ircd.conf for errors so is a useful tool for
|
||||
beginners to ircd.conf.
|
||||
Your ircd.conf will be made up of a series of lines, each line is used
|
||||
for a different purpose in the running of your server, some lines are
|
||||
@@ -97,12 +105,12 @@ modified for UnrealIRCD3.0
|
||||
start, these lines are listed below.
|
||||
You may enter comments in your ircd.conf with the use of a hash mark (#)
|
||||
at the beginning of a line, it is recommended that you make full use of
|
||||
this to add comments to everything you put in your ircd.conf so you dont
|
||||
this to add comments to everything you put in your ircd.conf so you don't
|
||||
have any problems later.
|
||||
eg: Put a contact email address and the name/nick of the server admin
|
||||
above each C/N line pair.
|
||||
When ircd reads the ircd.conf file, it does it upside down, so lines with
|
||||
higher prefrence should go lower in the file, this will be explained later.
|
||||
higher preference should go lower in the file, this will be explained later.
|
||||
|
||||
--------------------
|
||||
|
||||
@@ -116,7 +124,7 @@ modified for UnrealIRCD3.0
|
||||
to other servers. (note: you can run ircd stand alone)
|
||||
SUGGESTED: it is highly suggested that you use this line
|
||||
OPTIONAL: it's completely up to you whether to define this or not
|
||||
DISCOURAGED: you really really should not use this line if at all
|
||||
DISCOURAGED: you really should not use this line if at all
|
||||
possible.
|
||||
|
||||
Note that "*" in a field indicates an "unused" field.
|
||||
@@ -126,35 +134,18 @@ modified for UnrealIRCD3.0
|
||||
3.1) M Lines: [MANDATORY]
|
||||
|
||||
This line sets your server's name, description, and port number.
|
||||
If you are to be a part of DALnet you will be assigned 2 different
|
||||
DNS entries for your ircd machine, the 1st is for general public use
|
||||
and involves: <servername>.DAL.net
|
||||
The second is for use between servers for identification, these take
|
||||
the form of: <servername>.[<state>].<country>.DAL.net
|
||||
If your server is located in the US or Australia, you will be given
|
||||
a `state' field in your server's real name, otherwise your `state', or
|
||||
`area' will not be included.
|
||||
Most IRC networks default to port 6667 for their client connection's,
|
||||
but DALnet uses port 7000 as its standard, you should compile ircd with
|
||||
port 7000, not 6667, but you may open up port 6667 (it is recomended
|
||||
that you do) with a P line (see later). Your M line's port number
|
||||
should be the same as the number you defined in your config.h at compile
|
||||
time.
|
||||
The standard port number used by most networks and supported by most clients is
|
||||
6667. It is recommended that you specify this as your main port.
|
||||
|
||||
|
||||
Syntax:
|
||||
M:hostname:IP:Description Of Your Server:7000
|
||||
M:hostname:IP:Description Of Your Server:6667
|
||||
The 1st field should be the `real' name of your server, not the short
|
||||
name.
|
||||
The 2nd field is the IP the server should bind to - "*" if all interfaces
|
||||
on the server
|
||||
The 3rd field is your server's description, it is up to you what you
|
||||
put in this field, but a short description of its geographic location
|
||||
is recomended.
|
||||
The 4th field is the port number you compiled ircd with. This should be
|
||||
7000 for DALnet.
|
||||
The 2nd field is the IP the server should bind to. Use an "*" to bind to all interfaces on the server. The 3rd field is your server's description, it is up to you what you put in this field, but a short description of its geographic location is recommended. The 4th field is the port number you compiled ircd with. This generally should be 6667.
|
||||
|
||||
Example:
|
||||
M:disney.irc.net::Walt's IRC Server:7000
|
||||
M:Irc.yournet.com::My first IRC server:6667
|
||||
|
||||
--------------------
|
||||
|
||||
@@ -174,7 +165,7 @@ A:A little info about your server:Admin's nick/real name:contact address
|
||||
responsible for the server.
|
||||
|
||||
Example:
|
||||
A:Disney's IRC Server:Admin - Walt Disney:walt@RIP.org
|
||||
A:FooBar IRC Server:Admin - foobar:email - foo@bar.com
|
||||
|
||||
--------------------
|
||||
|
||||
@@ -183,10 +174,8 @@ A:Disney's IRC Server:Admin - Walt Disney:walt@RIP.org
|
||||
These lines define connection classes. They allow you to fine-tune
|
||||
your incomming and outgoing connections, both server and client types.
|
||||
These classes are for use with C, N, I and O lines, more on this in later
|
||||
sections. DALnet has a set of Y lines that each server must use for their
|
||||
server connections, these are listed below and again at the bottom of this
|
||||
document. Client connection classes are your responsibility, you must
|
||||
make up your own set of Y lines for client connections based on your own
|
||||
sections. Client and server connection classes are your responsibility, you
|
||||
must make up your own set of Y lines for client connections based on your own
|
||||
situation (netwise location, machine, etc).
|
||||
Connection classes define a number of parameters for connections, these
|
||||
include:
|
||||
@@ -210,7 +199,7 @@ A:Disney's IRC Server:Admin - Walt Disney:walt@RIP.org
|
||||
listed in the server's ircd.conf (see C/N lines) is missing and belongs
|
||||
on a conenction class that is holding less connections that defined by
|
||||
the max links field, the server will keep on trying to connect to
|
||||
the missing server. The ammount time between connection attempts is what
|
||||
the missing server. The amount time between connection attempts is what
|
||||
you define in this field.
|
||||
example:
|
||||
server1 and server2 are listed in server0's ircd.conf but the only
|
||||
@@ -226,10 +215,10 @@ A:Disney's IRC Server:Admin - Walt Disney:walt@RIP.org
|
||||
class will be allowed as this number on server connection classes is used for
|
||||
auto-connect purposes. As shown in the above example, when a missing server
|
||||
is listed for a particular connection class, and the class is not `full',
|
||||
your server will try and connect to this server untill it becomes visible
|
||||
your server will try and connect to this server until it becomes visible
|
||||
again. Servers being connected manually on a `full' connection class via the
|
||||
/connect command will be allowed as long as you compiled with MAXIMUM_LINKS
|
||||
high enough to accomidate all of your server connections. (you must compile
|
||||
high enough to accommodate all of your server connections. (you must compile
|
||||
as a HUB if you wish to hold more than one server connection, also see H
|
||||
lines later in this document).
|
||||
- Maximum sendq: SendQ defines the `que' of data waiting to be sent to the
|
||||
@@ -242,7 +231,7 @@ A:Disney's IRC Server:Admin - Walt Disney:walt@RIP.org
|
||||
0, it is `abnormal' for a sendq to be high for a client for a long period
|
||||
of time. When 2 servers connect, they must send their own data to
|
||||
eachother, this data includes: all the users on the server and already
|
||||
connected servers, channels, user modes, channel modes, topics (DALnet only)
|
||||
connected servers, channels, user modes, channel modes, topics
|
||||
etc. When there are many clients on a particular side of the connection, a
|
||||
sendq will build up, especially if the link is slow, or already congested
|
||||
(example: the link from Australia to the US). When the sendq built up reaches
|
||||
@@ -272,7 +261,7 @@ Y:1:90:0:20:10000
|
||||
The number of clients allowed to use this class is 20.
|
||||
Clients may only build up a sendq on the server of 10000 bits.
|
||||
|
||||
These are the standard server Y lines used on DALnet:
|
||||
These are some standard Y:lines that most networks use:
|
||||
|
||||
# Connecting a hub to a hub
|
||||
Y:20:10:300:1:3000000
|
||||
@@ -288,6 +277,10 @@ Y:45:60:20:1:2200000
|
||||
Y:42:240:0:0:2200000
|
||||
# Connecting an AU leaf to a US hub
|
||||
Y:43:240:60:1:2200000
|
||||
# Oper connection class
|
||||
Y:10:300:0:20:1000000
|
||||
#User connection class
|
||||
Y:1:90:0:256:500000
|
||||
|
||||
--------------------
|
||||
|
||||
@@ -298,7 +291,7 @@ Y:43:240:60:1:2200000
|
||||
may connect, and which connection class they will connect through.
|
||||
I lines, like C, N and O lines refer back to Y lines, as they allow
|
||||
connections, and each connection to ircd needs to be assigned to a
|
||||
connection class. If you dont provide a connection class, the connection
|
||||
connection class. If you don't provide a connection class, the connection
|
||||
will be governed by the defaults set at compile time in your config.h.
|
||||
When a client connects to the server, it gives its own information,
|
||||
this information includes username, nick and can include a password, the
|
||||
@@ -346,9 +339,9 @@ I:205.133.*::*.toledolink.com::1
|
||||
address starting with 205.133 OR with a hostname ending in
|
||||
.toledolink.com to connect to the server. remember, ircd uses the
|
||||
right-most match, so if I connect as rmiller@glass.toledolink.com
|
||||
(which is rmiller@205.133.127.8) I will show up on irc as
|
||||
(which is rmiller@205.133.127.8) I will show up on IRC as
|
||||
rmiller@glass.toledolink.com since that is the first match it found.
|
||||
(Even though the second match is valid). Any clients comming through
|
||||
(Even though the second match is valid). Any clients coming through
|
||||
on this line will use connection class 1.
|
||||
|
||||
I:*@205.133.*::*@*.toledolink.com::1
|
||||
@@ -374,11 +367,11 @@ I:NOMATCH::*@*.de::3
|
||||
I:NOMATCH::*@*.se::4
|
||||
I:NOMATCH::*@*.au::5
|
||||
I:129.180.*::*.une.edu.au::6
|
||||
In this example, conencting clients will 1st be matched against the mask
|
||||
In this example, connecting clients will 1st be matched against the mask
|
||||
*.une.edu.au, if they match they will be placed on connection class 6
|
||||
(note: if 6 is full, they will be rejected, they wont be passed on to the
|
||||
next I line), then tried against the IP 129.180.*, if they match, they will
|
||||
be placed on class 6. If the client dosen't match either of these masks, they
|
||||
be placed on class 6. If the client doesn't match either of these masks, they
|
||||
will be tried against the mask *.au, so if they are from Australia, but are
|
||||
not from *.une.edu.au they will be placed on class 5. This goes on through
|
||||
the other lines, being placed on the various connection classes if they match
|
||||
@@ -394,12 +387,12 @@ I:129.180.*::*.une.edu.au::6
|
||||
These lines provide rules as to who may gain Operator status on your server.
|
||||
O lines are much like I lines in their operation and syntax.
|
||||
Servers need not have any Operators as ircd, given well defined connection's
|
||||
can perform all of its functions automatically. Server admins have the
|
||||
can perform all of its functions automatically. Server admin's have the
|
||||
ability to `kill -HUP' the server's PID to rehash the config file, removing
|
||||
the need to use the /rehash command. However, a well running network such as
|
||||
DALnet needs operators to oversee the users of the server, and make sure
|
||||
users actually enjoy their time on IRC without being continually harrased
|
||||
etc by troublematers.
|
||||
the need to use the /rehash command. However, an efficient network needs
|
||||
operators to oversee the users of the server, and make sure
|
||||
users actually enjoy their time on IRC without being continually harassed
|
||||
etc by troublemakers.
|
||||
O lines give users power over the whole network, to use commands
|
||||
such as /kill, local Operators only have power on their local server, that
|
||||
is, the server where they can use the /oper command to make themselves +o.
|
||||
@@ -411,41 +404,77 @@ I:129.180.*::*.une.edu.au::6
|
||||
|
||||
Syntax:
|
||||
|
||||
O:hostname:password:nickname::class
|
||||
O:hostname:password:nickname:flags:class
|
||||
See I lines for rules about the hostname and using ident.
|
||||
If you use ident, a client matching the hostname must have ident running on
|
||||
their host to be able to +o themselves.
|
||||
If you compiled defining oper passwords to be crypted, you must 1st crypt
|
||||
the plaintext using mkpasswd, a program supplied with the ircd distribution.
|
||||
the plain text using mkpasswd, a program supplied with the ircd distribution.
|
||||
See src/crypt/README for more information on this.
|
||||
The nickname is the nickname they must pass with the /oper command
|
||||
ie:
|
||||
/oper <nickname> <password>
|
||||
The flags allow you to specify what access an oper will have with great
|
||||
control. This also allows you to give users Administrator access on your
|
||||
server. A set of standard FULL ACCESS flags is OaARDNz*^. See below for a
|
||||
complete list of flags.
|
||||
|
||||
The class is the connection class to be used when the user /oper's using
|
||||
the O line, they connect using the standard I -- Y lines, but when they
|
||||
/oper succusfully they are passed across to the new Y line.
|
||||
/oper successfully they are passed across to the new Y line.
|
||||
|
||||
Examples:
|
||||
|
||||
O:RIP.org:waltspass:Walt::10
|
||||
O:RIP.org:waltspass:Walt:OaARD:10
|
||||
This line will allow anyone on the host RIP.org (running ident or not) to
|
||||
issue the command `/oper Walt waltspass', at which point they will be moved
|
||||
over to class 10 and be made usermode +o.
|
||||
over to class 10 and be made an Admin with /restart and /die access.
|
||||
|
||||
Valid Flags:
|
||||
r = access to /rehash server
|
||||
R = access to /restart server
|
||||
D = access to /die server
|
||||
h = oper can send /help ops
|
||||
g = oper can send /globops
|
||||
w = oper can send /wallops
|
||||
l = oper can send /locops
|
||||
c = access to do local /squits and /connects
|
||||
L = access to do remote /squits and /connects
|
||||
k = access to do local /kills
|
||||
K = access to do global /kills
|
||||
b = oper can /kline users from server
|
||||
B = oper can /unkline users from server
|
||||
n = oper can send local server notices(/notice $servername message)
|
||||
G = oper can send global server notices(/notce $*.my.net message)
|
||||
S = oper can join unlimited amount of channels
|
||||
A = admin
|
||||
u = oper can set /umode +c
|
||||
f = oper can set /umode +f
|
||||
^ = oper can set /umode +I
|
||||
e = oper can set /umode +e
|
||||
W = oper can set /umode +W
|
||||
H = oper gets auto +x on /oper
|
||||
o = local oper, flags included: rhgwlckbBnuf
|
||||
O = global oper, flags included: oRDCK
|
||||
a = services admin, access to /samode
|
||||
C = co admin
|
||||
T = tech admin
|
||||
A = admin
|
||||
N = network admin access to remote /rehash and remote /restart and a bunch more
|
||||
* = flags included: AaNCTzSHW^
|
||||
--------------------
|
||||
|
||||
3.6) U Lines: [OPTIONAL]
|
||||
|
||||
These lines define which server(s) on the network your server is connected
|
||||
to will be able to `hack' channel modes.
|
||||
On DALnet, services.dal.net is given this power, this allows the server
|
||||
On most networks, services are given this power, this allows the server
|
||||
to change modes on channels without being a channel operator, the
|
||||
commonly used form is ChanServ changing channel modes while not in the
|
||||
channels.
|
||||
If you are connected to a network such as DALnet that requires you to have
|
||||
certain U lines and you don't have them, your server will cause problems
|
||||
to the other servers when the server(s) that require U lines attempt to
|
||||
change channel modes.
|
||||
It is very important that you add the U:lines required by your network, because
|
||||
if you don't it can lead to desync in channel modes as well as "mode setting
|
||||
wars".
|
||||
U lined servers also have the capability to add Akill's to your server,
|
||||
Akill's are much the same as the /kline command except that they show up
|
||||
as A: lines on /stats k.
|
||||
@@ -456,11 +485,9 @@ U:servername:*:*
|
||||
lined server's name.
|
||||
|
||||
Example:
|
||||
U:services.dal.net::
|
||||
U:services2.dal.net::
|
||||
Both these lines are required on all DALnet server's, they allow servers
|
||||
with the name's `services.dal.net' and `services2.dal.net' to hack channel
|
||||
modes.
|
||||
U:services.your.net:*:*
|
||||
This will allow services.your.net to "hack" channel modes and use certain
|
||||
U:line only commands.
|
||||
|
||||
--------------------
|
||||
|
||||
@@ -469,13 +496,13 @@ U:services2.dal.net::
|
||||
These lines are always used in pairs, one will not work without the other.
|
||||
C lines define who your server may connect to, while N lines define what
|
||||
servers may connect to you.
|
||||
When two servers connect, they both send eachother the `SERVER' command,
|
||||
When two servers connect, they both send each other the `SERVER' command,
|
||||
this command contains the server name and server info (set by M lines)
|
||||
along with this command is sent a password with the PASS command, C and N
|
||||
lines provide a set of rules governing the connection between servers
|
||||
given the details of the server and pass command's.
|
||||
When one a server initiates the connection, the other server will check
|
||||
the details of the incomming server against its N lines, if a match is
|
||||
the details of the incoming server against its N lines, if a match is
|
||||
found, the server will return the server and pass command's to the
|
||||
initiating server, which will also check its N lines for a match.
|
||||
For a server to initiate a connection, it must have a C line. C lines
|
||||
@@ -488,7 +515,7 @@ U:services2.dal.net::
|
||||
C:remote server's hostname/IP:password:remote server's name:port:class
|
||||
N:remote server's hostname/IP:password:remote server's name:host mask:class
|
||||
The remote server's hostname/IP should be the location on the internet that
|
||||
the server can be found. IP addresses are prefered as they are more secure,
|
||||
the server can be found. IP addresses are preferred as they are more secure,
|
||||
and can be a little quicker for the server. As with I and O lines, ident
|
||||
can be used with this 1st field to specify the username the ircd on the
|
||||
remote server is running from (if the remote server is running ident), to
|
||||
@@ -496,10 +523,10 @@ N:remote server's hostname/IP:password:remote server's name:host mask:class
|
||||
The password should be crypted if you compile ircd specifying that link
|
||||
passwords should be crypted. Your link passwords should be very secure, as
|
||||
they provide more power, if hacked, than Operator passwords do. However
|
||||
crypted link passwords can be very akward to keep track of.
|
||||
crypted link passwords can be very awkward to keep track of.
|
||||
Your C line password is the password used in the pass command, while your
|
||||
N line password will be used to check against the pass command used by
|
||||
incomming servers. So, your C line password should match the listed
|
||||
incoming servers. So, your C line password should match the listed
|
||||
server's N line password, and your N line password should match their C
|
||||
line password.
|
||||
If you compile your ircd specifying crypted link passwords, you only need
|
||||
@@ -513,10 +540,8 @@ N:remote server's hostname/IP:password:remote server's name:host mask:class
|
||||
with the SERVER command, so it must match the one given. The C and N line
|
||||
pair should have the same name for this field.
|
||||
The 4th field of C lines may contain the remote servers connection port.
|
||||
Even though DALnet runs all its servers with a standard port 7000 open,
|
||||
server -- server connections should be taken place through port 7325. It is
|
||||
not mandatory that you place a port number in this field. If you don't give
|
||||
a port number, the server will not try and autoconnect to the listed
|
||||
It is not mandatory that you place a port number in this field. If you don't
|
||||
give a port number, the server will not try and autoconnect to the listed
|
||||
server. If you do give a port number, the server will only try and
|
||||
autoconnect to the listed server if there is enough room on the connection
|
||||
class listed at the end of the C line (connection classes are covered in
|
||||
@@ -527,7 +552,7 @@ N:remote server's hostname/IP:password:remote server's name:host mask:class
|
||||
port number, any /connect command's will use this port unless another port
|
||||
number is given with the command.
|
||||
The 4th field of N lines is called the `host mask', this defined how many
|
||||
parts of your hostname the incomming server will mask to. So, if your
|
||||
parts of your hostname the incoming server will mask to. So, if your
|
||||
server's name is disney.us.dal.net, and you want the connecting server to
|
||||
see you as *.us.dal.net you will give a host mask of 1 in your N line. This
|
||||
field should normally be left blank.
|
||||
@@ -535,38 +560,38 @@ N:remote server's hostname/IP:password:remote server's name:host mask:class
|
||||
place the connection on. If your C line has a 42 in this field, and your
|
||||
server initiates a connection through this line, the connection will be
|
||||
placed on class 42, however, if You have a 42 in your C line and a 43 in
|
||||
your N line and an incomming server initiates a connection via this N
|
||||
your N line and an incoming server initiates a connection via this N
|
||||
line, the server connection will be placed on class 43.
|
||||
|
||||
Examples:
|
||||
C:143.53.233.32:mypass:somewhere.fr.dal.net:7325:35
|
||||
N:143.53.233.32:yourpass:somewhere.fr.dal.net::35
|
||||
C:143.53.233.32:mypass:somewhere.fr.your.net:7325:35
|
||||
N:143.53.233.32:yourpass:somewhere.fr.your.net::35
|
||||
This set will allow a server named somewhere.fr.dal.net to connect to your
|
||||
server if it has the IP address of 143.53.233.32 and gives a password of
|
||||
`yourpass'. This connection will be governed by connection class 35.
|
||||
If your server recieves the command /connect somewhere.*, it will try and
|
||||
If your server receives the command /connect somewhere.*, it will try and
|
||||
connect to the IP 143.53.233.32 through port 7325 and give the password
|
||||
`mypass'.
|
||||
|
||||
C:143.53.233.32:mypass:somewhere.fr.dal.net:7325:35
|
||||
N:143.53.233.32:yourpass:somewhere.fr.dal.net::35
|
||||
C:ircd@176.43.652.31:apass:elsewhere.jp.dal.net:7235:35
|
||||
N:ircd@176.43.652.31:THEpass:elsewhere.jp.dal.net::33
|
||||
C:143.53.233.32:mypass:somewhere.fr.your.net:7325:35
|
||||
N:143.53.233.32:yourpass:somewhere.fr.your.net::35
|
||||
C:ircd@176.43.652.31:apass:elsewhere.jp.your.net:7235:35
|
||||
N:ircd@176.43.652.31:THEpass:elsewhere.jp.your.net::33
|
||||
Both these set's will work as explained above, but if your Y line defining
|
||||
class 35 has `max links' set to 1, and one of these servers is connected to
|
||||
your server, your server will not try and autoconnect to the other since
|
||||
the Y line is `full', but it will accept any incomming connections from the
|
||||
the Y line is `full', but it will accept any incoming connections from the
|
||||
other server and any /connect commands given for this server. If your Y
|
||||
line allows for more connections but your C lines do not have port numbers,
|
||||
your server will not try and autoconnect.
|
||||
Since the second set in this example has a username, ident will be used to
|
||||
authenticate any connections made to this server. If the listed server does
|
||||
not run ident, or the incomming connection comes from another username, the
|
||||
not run ident, or the incoming connection comes from another username, the
|
||||
connection will be rejected.
|
||||
If a connection is made via the second set by your server, the connection
|
||||
will be ruled by connection class 35, if the other server initiates the
|
||||
connection, the connection will use class 33.
|
||||
Autoconnect C/N line pairs can be given prefrence over other pairs by placing
|
||||
Autoconnect C/N line pairs can be given preference over other pairs by placing
|
||||
them lower in your ircd.conf, the lower the line, the higher the priority
|
||||
when autoconnecting.
|
||||
Connection classes and C/N line set's allow you to refine your autoconnects
|
||||
@@ -577,16 +602,16 @@ N:ircd@176.43.652.31:THEpass:elsewhere.jp.dal.net::33
|
||||
|
||||
3.8) K Lines [OPTIONAL]
|
||||
|
||||
These lines restric access to certain users to your server based on
|
||||
These lines restrict access to certain users to your server based on
|
||||
user@host matches and time of the day.
|
||||
K lines can come in 3 forms, only one of which you can specify in your
|
||||
ircd.conf, this type will show up as K on /stats k, the other other types
|
||||
ircd.conf, this type will show up as K on /stats k, the other types
|
||||
are `AutoKill' which will show up as A on /stats k, and `kline' which will
|
||||
show up as k on /stats k. AutoKill's are set by U lined servers (see
|
||||
above), they act in the same way as K lines except that they are set
|
||||
remotly and are usually set on all servers, they dissapear when you
|
||||
remotely and are usually set on all servers, they disappear when you
|
||||
/rehash or restart your server. klines are set via the /kline command,
|
||||
they operate more like AutoKill's than K lines because they also dissapear
|
||||
they operate more like AutoKill's than K lines because they also disappear
|
||||
when you /rehash, or restart the server. The /kline command can be used on
|
||||
nicknames that appear on IRC, or you can use a user@host mask. If the
|
||||
/kline is done on an existing nickname, a kline will be set with that users
|
||||
@@ -628,9 +653,9 @@ K:*.lamer.org:|kc.spamming:*
|
||||
|
||||
K:*::*rad
|
||||
This K line will reject anyone with the username `rad', or anything ending
|
||||
in `rad'. This ban will dissalow anyone using `rad' running ident or not.
|
||||
in `rad'. This ban will disallow anyone using `rad' running ident or not.
|
||||
You must always take into account the ident character (`~') that is placed
|
||||
infront of usernames when their host is not running ident. If you place a
|
||||
in front of usernames when their host is not running ident. If you place a
|
||||
K line on a username `rad' the user will be banned only if they are running
|
||||
ident, but if this user can turn off ident they can appear as ~rad, this
|
||||
will allow them to bypass any ban of username `rad'. So, wildcards should
|
||||
@@ -642,24 +667,24 @@ K:*::*rad
|
||||
|
||||
3.9) Q Lines (server form) [DISCOURAGED]
|
||||
|
||||
Server form Q lines on DALnet servers are used to dissalow operators on
|
||||
Server form Q lines on servers are used to disallow operators on
|
||||
certain servers to use commands such as remote /kill's, and remote
|
||||
/connect's, this will effectivly restrict the operators on the server to
|
||||
local operator priveleges. These lines are usually only used for `test'
|
||||
server situations. If a server isn't officially part of DALnet, they may
|
||||
/connect's, this will effectively restrict the operators on the server to
|
||||
local operator privileges. These lines are usually only used for `test'
|
||||
server situations. If a server isn't officially part of a network, they may
|
||||
be temporarily linked and Q lined, this means the server can be tested
|
||||
while not posing a threat to the rest of DALnet. Q lines need only be
|
||||
while not posing a threat to the rest of the network. Q lines need only be
|
||||
placed on the hub connecting the `test' server.
|
||||
|
||||
Syntax:
|
||||
Q:*:*:servername
|
||||
The 1st 2 fields are currently unused. A Q line placed on a hub connected
|
||||
to the named server will dissalow operators on the server to affect other
|
||||
to the named server will disallow operators on the server to affect other
|
||||
DALnet users/servers.
|
||||
|
||||
Example:
|
||||
Q:::test-server.my.dal.net
|
||||
Q line a server with the name `test-server.my.dal.net'.
|
||||
Q:::test-server.my.net
|
||||
Q line a server with the name `test-server.my.net'.
|
||||
|
||||
--------------------
|
||||
|
||||
@@ -682,10 +707,10 @@ Q:*:reason why nick is quarantined:nickname
|
||||
|
||||
Examples:
|
||||
Q::No nicknames on MY server!:*
|
||||
This Q line will dissalow any nicknames on the server giving the reason:
|
||||
This Q line will disallow any nicknames on the server giving the reason:
|
||||
No nicknames on MY server!
|
||||
Only Operators will be allowed to use any nicknames, but since you must be
|
||||
a user before you can be +o, you will effectivly ban everyone from your
|
||||
a user before you can be +o, you will effectively ban everyone from your
|
||||
server.
|
||||
|
||||
Q::Do not use the Lords name in vain!:God
|
||||
@@ -693,7 +718,7 @@ Q::Do not use the Lords name in vain!:God
|
||||
that they must find a new nickname and will be given the reason:
|
||||
Do not use the Lords name in vain!
|
||||
|
||||
DALnet has a set of standard Q lines that should be in place on all
|
||||
Below are a set of standard Q lines that should be in place on all
|
||||
server's. They are as follows:
|
||||
|
||||
Q::Reserved for services:*Chan*S*rv*
|
||||
@@ -701,8 +726,9 @@ Q::Reserved for services:*Nick*S*rv*
|
||||
Q::Reserved for services:*Memo*S*rv
|
||||
Q::Reserved for services:*Oper*S*rv*
|
||||
Q::Reserved for services:*Help*S*rv*
|
||||
Q::Reserved for operators:DALnet
|
||||
Q::Reserved for services:*Stat*S*rv*
|
||||
Q::Reserved for operators:IRC*op*
|
||||
Q::Reserved for operators:*oper*
|
||||
Q::Causes problems with mIRC:Status
|
||||
|
||||
--------------------
|
||||
@@ -711,7 +737,7 @@ Q::Causes problems with mIRC:Status
|
||||
|
||||
These lines specify which servers are to behave as leaves, that is,
|
||||
servers that may not have any other servers connected to them.
|
||||
They will only be usefull if your server is a non-leaf (hub) server.
|
||||
They will only be useful if your server is a non-leaf (hub) server.
|
||||
Not only can you limit servers to leaves, but you can also specify
|
||||
what tree depth may appear after certain servers. If a server connects
|
||||
but tells your server that it has a larger tree depth behind it than is
|
||||
@@ -738,18 +764,18 @@ L:hostmask of disallowed servers:*:server name:depth
|
||||
|
||||
Examples:
|
||||
L:::leaf.de.dal.net
|
||||
This line will allow a server named `leaf.de.dal.net' to connect only as
|
||||
This line will allow a server named `leaf.de.your.net' to connect only as
|
||||
a leaf. So this server may not connect any other servers behind it.
|
||||
|
||||
L:::semi-hub.sg.dal.net:1
|
||||
This line will force the server named `semi-hub.sg.dal.net' to allow only
|
||||
This line will force the server named `semi-hub.sg.your.net' to allow only
|
||||
leaf servers to connect behind it. ie: to have a tree depth of 1.
|
||||
|
||||
L:*.us.dal.net::*.au.dal.net
|
||||
L:*.eu.dal.net::*.au.dal.net
|
||||
L:*.us.dal.net::*.au.your.net
|
||||
L:*.eu.dal.net::*.au.your.net
|
||||
These lines will make sure that any server with a name matching
|
||||
*.au.dal.net will not introduce any servers matching *.us.dal.net or
|
||||
*.eu.dal.net. This can be usefull for stopping certain hubs from letting
|
||||
*.au.your.net will not introduce any servers matching *.us.your.net or
|
||||
*.eu.your.net. This can be useful for stopping certain hubs from letting
|
||||
its autoconnects route the network badly.
|
||||
|
||||
--------------------
|
||||
@@ -763,7 +789,7 @@ L:*.eu.dal.net::*.au.dal.net
|
||||
|
||||
Syntax:
|
||||
H:servers which are allowed behind the hub:*:hub servername
|
||||
The 1st field defines what servernames the H lined server is allowed to
|
||||
The 1st field defines what server names the H lined server is allowed to
|
||||
introduce. Wildcards are allowed.
|
||||
The 2nd field is currently unused and should be left blank.
|
||||
The 3rd field should be the exact name of the server allowed to be a hub
|
||||
@@ -771,16 +797,16 @@ H:servers which are allowed behind the hub:*:hub servername
|
||||
the server's name includes a `*' (See N lines for host masking).
|
||||
|
||||
Examples:
|
||||
H:*::dal-hub.us.dal.net
|
||||
This line will allow the server with the name `dal-hub.us.dal.net' to act
|
||||
H:*::dal-hub.us.your.net
|
||||
This line will allow the server with the name `dal-hub.us.your.net' to act
|
||||
as a hub server while you are connected to it, there are no restrictions
|
||||
on the names of the servers it may introduce.
|
||||
|
||||
H:*.us.dal.net::usa-hub.us.dal.net
|
||||
This line will allow the server named `usa-hub.us.dal.net' to act as a hub
|
||||
H:*.us.dal.net::usa-hub.us.your.net
|
||||
This line will allow the server named `usa-hub.us.your.net' to act as a hub
|
||||
while your server is connected to it, but it is limited to introducing
|
||||
servers with names matching `*.us.dal.net', so any servers trying to
|
||||
connect to `usa-hub.us.dal.net' with a name such as `bad-link.nz.dal.net'
|
||||
servers with names matching `*.us.your.net', so any servers trying to
|
||||
connect to `usa-hub.us.your.net' with a name such as `bad-link.nz.your.net'
|
||||
will be rejected by your server.
|
||||
|
||||
--------------------
|
||||
@@ -811,8 +837,7 @@ P:hostmask or UNIX socket file:*:*:port number
|
||||
|
||||
Examples:
|
||||
P:*:::7325
|
||||
This will open up the DALnet server connection port and wait for
|
||||
connections. This line is mandatory if you run a server connected to DALnet
|
||||
This will open up port 7325.
|
||||
|
||||
P:*.net:::6665
|
||||
This line will open up port 6665 and wait for connections, connections from
|
||||
@@ -906,10 +931,10 @@ e:234.45.32.1:*:*
|
||||
|
||||
3.17) Summary:
|
||||
|
||||
Well, thats it for the lines you may use in your ircd.conf. Remember that
|
||||
Well, that's it for the lines you may use in your ircd.conf. Remember that
|
||||
ircd.conf is an art, just like any other type of programming. Some parts
|
||||
are particularly easy, but other's, like Y lines, can take a while to get
|
||||
used to. Given a little time experementing with lines on a network of
|
||||
used to. Given a little time experimenting with lines on a network of
|
||||
servers, you will become well versed in ircd.conf programming.
|
||||
|
||||
Good luck!
|
||||
@@ -1257,6 +1282,161 @@ Set HIDE_ULINES .........: 0
|
||||
|
||||
--------------------
|
||||
|
||||
7.11) Set ALLOW_CHATOPS Line
|
||||
|
||||
This line defines whether or not /chatops will be allowed to be used. When
|
||||
disabled /chatops as well as user mode +b will be disabled.
|
||||
|
||||
Syntax:
|
||||
Set ALLOW_CHATOPS .......: 1/0
|
||||
If this line is set to 1, then /chatops and +b are allowed, if it is set to 0,
|
||||
then /chatops and +b are disabled.
|
||||
|
||||
Examples:
|
||||
Set ALLOW_CHATOPS .......: 1
|
||||
This line will allow use of /chatops and +b.
|
||||
|
||||
Set ALLOW_CHATOPS .......: 0
|
||||
This line will disable /chatops and +b.
|
||||
|
||||
--------------------
|
||||
|
||||
7.12) Set SOCKS_BAN_MESSAGE Line
|
||||
|
||||
This line allows you to specify the reason to be used in the Z:line when a user
|
||||
is killed for an open proxy server. It is very important that this is set, if
|
||||
left NULL it can cause serious problems.
|
||||
|
||||
Syntax:
|
||||
Set SOCKS_BAN_MESSAGE ...: message
|
||||
In this line the word "message" should be replaced with the reason the user is
|
||||
being Z:lined, the default is "Insecure SOCKS Server".
|
||||
|
||||
Examples:
|
||||
Set SOCKS_BAN_MESSAGE ...: You are running an insecure SOCKS Server.
|
||||
This line will Z:line a user using an open SOCKS server with the reason, "You
|
||||
are running an insecure SOCKS Server."
|
||||
|
||||
--------------------
|
||||
|
||||
7.13) Set SOCKS_QUIT_MESSAGE Line
|
||||
|
||||
This line defines the message that will be used in the QUIT message the user
|
||||
will have when they are killed for an insecure SOCKS server.
|
||||
|
||||
Syntax:
|
||||
Set SOCKS_QUIT_MESSAGE ..: message
|
||||
In this line the word "message" will be used as the QUIT message for the user
|
||||
being killed.
|
||||
|
||||
Examples:
|
||||
Set SOCKS_QUIT_MESSAGE ..: User was running an insecure SOCKS Server.
|
||||
This line will use "User was running an insecure SOCKS Server." as the QUIT
|
||||
message for the user when they are found to be running an insecure SOCKS
|
||||
server.
|
||||
|
||||
--------------------
|
||||
|
||||
7.14) Set SOCKSBANTIME Line
|
||||
|
||||
This line lets you specify how long a user using an open SOCKS server will be
|
||||
Z:lined for.
|
||||
|
||||
Syntax:
|
||||
Set SOCKSBANTIME ........: time in seconds
|
||||
This line will ban a user for "time in seconds" seconds, it is important to
|
||||
remember that this is seconds, not minutes.
|
||||
|
||||
Examples:
|
||||
Set SOCKSBANTIME ........: 86400
|
||||
This line will Z:line all users running open SOCKS servers for 86400 seconds.
|
||||
|
||||
--------------------
|
||||
|
||||
7.15) Set MAXCHANNELSPERUSER Line
|
||||
|
||||
This line allows you to define the max amount of channels a user may join.
|
||||
Note, IRCd Agents can still join unlimited channels no matter what this is set
|
||||
to.
|
||||
|
||||
Syntax:
|
||||
Set MAXCHANNELSPERUSER ..: number of channels
|
||||
This line will allow users to join "number of channels", the recommended value
|
||||
is 10 but it is not required.
|
||||
|
||||
Examples:
|
||||
Set MAXCHANNELSPERUSER ..: 11
|
||||
This line will allow users to join 11 channels before they are given an error.
|
||||
|
||||
--------------------
|
||||
|
||||
7.16) Set WEBTV_SUPPORT Line
|
||||
|
||||
This line allows you to specify whether WebTV Support will be enabled or not.
|
||||
When WebTV Support is enabled the /NOTICE command is disabled also, anyone
|
||||
using /NOTICE will send a /PRIVMSG. Also, in addition to using /<command> users
|
||||
can /PRIVMSG irc <command> this is so WebTV users can also use commands.
|
||||
|
||||
Syntax:
|
||||
Set WEBTV_SUPPORT .......: 1/0
|
||||
When this line is set to 1, WebTV support will be enabled, when it is set to 0
|
||||
it will be disabled and the IRCd will support /NOTICE as it normally would.
|
||||
|
||||
Examples:
|
||||
Set WEBTV_SUPPORT .......: 1
|
||||
This line enables WebTV Support disabling /NOTICE and enabling /PRIVMSG irc
|
||||
<command>.
|
||||
|
||||
Set WEBTV_SUPPORT .......: 0
|
||||
This line disables WebTV Support and leaving /NOTICE alone.
|
||||
|
||||
--------------------
|
||||
|
||||
7.17) Set NO_OPER_HIDING Line
|
||||
|
||||
This line allows you to specify whether IRCops will be allowed to set
|
||||
themselves +I (if they have the ^ Oflag).
|
||||
|
||||
Syntax:
|
||||
Set NO_OPER_HIDING ......: 1/0
|
||||
If this line is set to 1 IRCops will not be able to use usermode +I, if this is
|
||||
set to 0 they may use usermode +I.
|
||||
|
||||
Examples:
|
||||
Set NO_OPER_HIDING ......: 1
|
||||
This line has use of usermode +I disabled.
|
||||
|
||||
Set NO_OPER_HIDING ......: 0
|
||||
This line has use of usermode +I enabled for IRCops.
|
||||
|
||||
--------------------
|
||||
|
||||
7.18) Set AUTO_JOIN_CHANS Line
|
||||
|
||||
This line allows you to force a user to join one or more channels when they
|
||||
connect to the server. Using this will not override modes if you set it to make
|
||||
a user join a +k channel they still need the password.
|
||||
|
||||
Syntax:
|
||||
Set AUTO_JOIN_CHANS .....: 0/<channel>[,channel2,...]
|
||||
When this line is set to 0 it will not make the user join any channels on
|
||||
connect. If this is set to a channel name it will name the user join that
|
||||
channel, to enter more than one channel use a comma separated list.
|
||||
|
||||
Examples:
|
||||
Set AUTO_JOIN_CHANS .....: 0
|
||||
This line makes it so the user will not be forced to join a channel when they
|
||||
connect to the server.
|
||||
|
||||
Set AUTO_JOIN_CHANS .....: #main
|
||||
This line will make the user join #main when they connect to the server.
|
||||
|
||||
Set AUTO_JOIN_CHANS .....: #main,#help
|
||||
This line will make the user join #main and help when they connect, you may
|
||||
specify as many channels as are defined in MAXCHANNELSPERUSER (see 7.15).
|
||||
|
||||
--------------------
|
||||
|
||||
8) network files:
|
||||
|
||||
The networks files allow you to specify some information specific about your
|
||||
|
||||
+522
-481
File diff suppressed because it is too large
Load Diff
@@ -61,65 +61,16 @@ A: T:Lines is a new Unreal feature that makes it able to show different
|
||||
7) Where can i download updates to Unreal?
|
||||
|
||||
A: Mostly you can download the newest version at
|
||||
http://unreal.tspre.org
|
||||
http://www.unrealircd.com
|
||||
|
||||
Versions may be spewed out regulary due to new features and bugs..
|
||||
|
||||
8) Why does it say "unlimit core failed" or something when I boot the IRCd?
|
||||
A: It's just a warning, mainly just ignore it.
|
||||
|
||||
9) I use Linux Mandrake and ./Config always hangs! What can I do??
|
||||
A: Go edit the Config script and remove those lines:
|
||||
-SNIP START-
|
||||
cat > $TMP <<__EOF__
|
||||
#$STRINGH STRINGH
|
||||
#$STRINGSH STRINGSH
|
||||
#ifdef STRINGH
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef STRINGSH
|
||||
#include <strings.h>
|
||||
#endif
|
||||
main()
|
||||
{
|
||||
char *t = "a", *s = strtok(t, ",");
|
||||
if (!strcmp(t, s))
|
||||
exit(0);
|
||||
exit(1);
|
||||
}
|
||||
__EOF__
|
||||
$COMP >/dev/null 2>&1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo $n " strtok$c"
|
||||
NSTRTOK=define
|
||||
else
|
||||
$EXEC
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo $n " strtok$c"
|
||||
NSTRTOK=define
|
||||
fi
|
||||
fi
|
||||
$RM -f $EXEC $TMP
|
||||
--- SNIP END---
|
||||
And replace it by
|
||||
NSTRTOK=undef
|
||||
|
||||
This should get it to work=) (thanks to Joe Whipple for reporting this bug)
|
||||
---END----
|
||||
|
||||
10) Hosts show up as (null).network.net !!
|
||||
A: This is because you have forgotten to include the network file.
|
||||
The correct form is (in unrealircd.conf)
|
||||
Include ..........: <network file>
|
||||
|
||||
If this doesn't work .. seek me at irc.global-irc.net #unrealircd
|
||||
|
||||
11) The IRCd uses like 66.7% CPU !!!?
|
||||
A: Try run it with nice :
|
||||
/usr/bin/nice -n 19 src/ircd
|
||||
|
||||
if services go this way too just place ./<name> instead of src/ircd
|
||||
Any more support seek me at the default place:P
|
||||
If this doesn't work .. seek me at irc.ircsystems.net #unrealircd
|
||||
|
||||
12) My IRCd which runs on a FreeBSD says something about FDs and
|
||||
Max: 0 What shall I do??
|
||||
@@ -190,4 +141,4 @@ match.c:247: argument 'n' doesn't match prototype
|
||||
Then go into include/setup.h and add this line:
|
||||
#define GOT_STRCASECMP
|
||||
|
||||
(C) Carsten Munk 1999
|
||||
(C) Carsten Munk 1999-2000
|
||||
@@ -0,0 +1,109 @@
|
||||
|
||||
RPL_PROTOCTL (RPL_ISUPPORT):
|
||||
version: 2.1+ (new version: 3.1+)
|
||||
|
||||
This sends a numeric during client signon that lists various features that
|
||||
Unreal supports. This allows client and script writers to know what features
|
||||
they can use, and various parameters about the irc server. The numeric
|
||||
used is '005' to try and maintain some semblance of compatibility with
|
||||
DALnet which has a similar feature. The 005 numeric may be split across
|
||||
multiple lines if the length exceeds 512 characters.
|
||||
|
||||
The format is:
|
||||
:servername 005 target feature1 feature2... :are supported by this server.
|
||||
:servername 005 target feature200... :are supported by this server.
|
||||
|
||||
features are either a word describing the feature eg: 'SILENCE', or a word
|
||||
describing the feature and an equals and a list of parameters.
|
||||
eg: SILENCE=15 (says that we support silence, and we support up to 15 of
|
||||
them per user), or FOO=12,3 (says we support FOO with parameters 12 and 3)
|
||||
for example ircu2.10.08 lists:
|
||||
|
||||
:test.undernet.org 005 test SILENCE=15 WHOX WALLCHOPS USERIP CPRIVMSG
|
||||
CNOTICE MODES=6 MAXCHANNELS=10 MAXBANS=30 NICKLEN=9 TOPICLEN=160
|
||||
KICKLEN=160
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
UnrealIRCd Supports:
|
||||
|
||||
:unreal.server 005 nick MAP KNOCK SAFELIST HCN WATCH=%i SILENCE=%i MODES=%i
|
||||
MAXCHANNELS=%i MAXBANS=%i NICKLEN=%i TOPICLEN=%i
|
||||
KICKLEN=%i CHANTYPES=# PREFIX=%s :are supported by this server
|
||||
|
||||
Feature "MAP"
|
||||
-------------
|
||||
|
||||
/map shows the servers as the server percieves them, who's connected
|
||||
to who in a pretty display, with number of users attached to each server
|
||||
|
||||
Numerics used:
|
||||
|
||||
RPL_MAP (006)
|
||||
RPL_MAPEND (007)
|
||||
|
||||
Feature "KNOCK"
|
||||
---------------
|
||||
|
||||
Command: /KNOCK #Channel :<Reason>
|
||||
|
||||
This command will only work if you are not a member of the channel and the
|
||||
+K (No knocks) mode is not on, and the channel is not +i (and you are not
|
||||
banned). This will send a notice to ops in the channel, about that the user
|
||||
"knocked".
|
||||
|
||||
Feature "SAFELIST"
|
||||
------------------
|
||||
|
||||
|
||||
This note means that the user will not get disconnected when doing a /list,
|
||||
as some IRC networks do
|
||||
|
||||
Feature "HCN"
|
||||
-------------
|
||||
|
||||
This is a special feature that you activate using /protoctl +HCN,
|
||||
that will cause +c notices when being oper, being in the Hybrid IRCd style
|
||||
|
||||
Feature "WATCH"
|
||||
---------------
|
||||
|
||||
Parameters: How many watch entries are possible
|
||||
|
||||
This will ensure the server is able to do the DALnet WATCH command
|
||||
|
||||
|
||||
Feature "SILENCE"
|
||||
-----------------
|
||||
Parameters: How many silence entries you can have
|
||||
Version: unknown, ircu2.9.32 at least.
|
||||
|
||||
Silence is a server side ignore. You can /silence +hostmask or
|
||||
/silence +nick, to add someone to your silence list, or use /silence
|
||||
-hostmask to remove it. /silence will list your 'silence list'.
|
||||
you can /silence nick, to see someone elses silence list (useful for
|
||||
helping someone). Silence is preferably used as a last resort as it
|
||||
tends to use server CPU time.
|
||||
|
||||
Syntax:
|
||||
SILENCE +hostmask
|
||||
SILENCE +nick
|
||||
SILENCE -hostmask
|
||||
SILENCE -nick
|
||||
SILENCE nick
|
||||
|
||||
reply:
|
||||
RPL_SILELIST 217
|
||||
RPL_ENDOFSILELIST 218
|
||||
|
||||
|
||||
Feature/Modifier "MODES"
|
||||
------------------------
|
||||
Parameters: How many modes with parameters you can use in one /mode buffer
|
||||
|
||||
|
||||
Feature/Modifier "MAXCHANNELS"
|
||||
------------------------------
|
||||
Parameters: How many channels a normal user can join (opers may have
|
||||
unlimited)
|
||||
|
||||
Feature/Modifier "MAXBANS"
|
||||
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
* UnrealIRCd Config File - Example for irc.fyremoon.net
|
||||
*/
|
||||
|
||||
// Information about me
|
||||
me {
|
||||
// My IRC server name
|
||||
name "irc.fyremoon.net";
|
||||
// My infoline
|
||||
info "Forever is gonna start tonight";
|
||||
// My numeric
|
||||
numeric 13;
|
||||
};
|
||||
|
||||
// Who is my admin?
|
||||
|
||||
admin {
|
||||
/* You can put as many lines as you want here */
|
||||
"Carsten Munk";
|
||||
"Stskeeps";
|
||||
"stskeeps@tspre.org";
|
||||
};
|
||||
|
||||
/* We use class names now :)*/
|
||||
class clients
|
||||
{
|
||||
/* How often to ping the user */
|
||||
pingfreq 90;
|
||||
/* How many clients allowed in class*/
|
||||
maxclients 900;
|
||||
/* Maximum SendQueue */
|
||||
sendq 100000;
|
||||
};
|
||||
|
||||
class servers
|
||||
{
|
||||
pingfreq 90;
|
||||
maxclients 1;
|
||||
sendq 1000000;
|
||||
};
|
||||
|
||||
/* The old I:lines */
|
||||
allow {
|
||||
/* username mask*/
|
||||
user *;
|
||||
/* ip mask */
|
||||
ip *;
|
||||
/* hostmask */
|
||||
hostname *;
|
||||
/* what class to put them in */
|
||||
class clients;
|
||||
// Leave out password to make it passwordless
|
||||
/* Password to require */
|
||||
password "moocowsrule";
|
||||
};
|
||||
|
||||
/* /oper <login> (oper <login>)*/
|
||||
oper stskeeps {
|
||||
/* What class to put oper in upon opering */
|
||||
class clients;
|
||||
/* What userhost masks to allow the IRCop to come from */
|
||||
from {
|
||||
userhost *@the.elite-hacker.cx;
|
||||
userhost *@*.image.dk;
|
||||
};
|
||||
/* Password to require */
|
||||
password "moocow";
|
||||
/* We use named flags now :) */
|
||||
flags
|
||||
{
|
||||
netadmin;
|
||||
global;
|
||||
};
|
||||
};
|
||||
|
||||
/* P:lines, we listen here on IP 127.0.0.1 port 6667 */
|
||||
listen *:6601
|
||||
{
|
||||
options
|
||||
{
|
||||
ssl;
|
||||
serversonly;
|
||||
};
|
||||
};
|
||||
|
||||
listen *:8067;
|
||||
listen *:6600;
|
||||
|
||||
link irc.hs-bremen.de /* servername */
|
||||
{
|
||||
username *; /* usermask */
|
||||
hostname 194.94.24.40; /* hostmask */
|
||||
bind-ip *; /* What IP to bind to when connecting */
|
||||
port 7151; /* What port to connect to, if any */
|
||||
hub *; /* Is this a hub and what servermasks may it bring in */
|
||||
|
||||
// leaf *;
|
||||
// leaf-depth 2;
|
||||
password-connect "tdx6667";
|
||||
password-recieve "tdx6667";
|
||||
/* for later: class-connect, class-recieve */
|
||||
class servers;
|
||||
// rsa-auth "path.to.public.key";
|
||||
options {
|
||||
autoconnect;
|
||||
ssl;
|
||||
zip;
|
||||
};
|
||||
};
|
||||
|
||||
/* As many as you like */
|
||||
ulines {
|
||||
services.roxnet.org;
|
||||
stats.roxnet.org;
|
||||
};
|
||||
|
||||
drpass {
|
||||
restart "time-to-restart"; /* Password to use for /restart */
|
||||
die "killme"; /* Password to use for /die */
|
||||
};
|
||||
|
||||
/*
|
||||
* The old T:lines. We however also can use this as auto-join per .domain
|
||||
*/
|
||||
tld {
|
||||
mask *@*.fr;
|
||||
motd "ircd.motd.fr";
|
||||
rules "ircd.rules.fr";
|
||||
};
|
||||
|
||||
/* The old nick Q:lines :) */
|
||||
ban nick {
|
||||
mask "*C*h*a*n*S*e*r*v*";
|
||||
reason "Reserved for Services";
|
||||
};
|
||||
/* The old Z:lines */
|
||||
ban ip { mask 195.86.232.81; reason "Delinked server"; };
|
||||
|
||||
/* The old server Q:lines */
|
||||
ban server {
|
||||
mask eris.berkeley.edu;
|
||||
reason "Get out of here.";
|
||||
};
|
||||
|
||||
/* The wonderful K:lines */
|
||||
ban user { mask *tirc@*.saturn.bbn.com; reason "Idiot"; };
|
||||
|
||||
/* Bans Realnames, the old n:lines */
|
||||
ban realname {
|
||||
mask "Swat Team";
|
||||
reason "mIRKFORCE";
|
||||
};
|
||||
|
||||
ban realname {
|
||||
mask "sub7server";
|
||||
reason "sub7";
|
||||
};
|
||||
|
||||
|
||||
/* Do not ban Stskeeps
|
||||
* The old E:lines
|
||||
*/
|
||||
except ban {
|
||||
mask *stskeeps@212.*;
|
||||
};
|
||||
|
||||
/* savage-r.*
|
||||
* the old e: lines
|
||||
*/
|
||||
except socks {
|
||||
mask 216.73.27.177;
|
||||
};
|
||||
|
||||
/* Old vhost.conf */
|
||||
vhost {
|
||||
vhost i.hate.microsefrs.com;
|
||||
userhost *@*.image.dk;
|
||||
login stskeeps;
|
||||
password techie;
|
||||
};
|
||||
|
||||
/* You can include other configuration files */
|
||||
// include "klines.conf";
|
||||
|
||||
// Network configuration
|
||||
set {
|
||||
network-name "ROXnet";
|
||||
default-server "irc.roxnet.org";
|
||||
services-name "services.roxnet.org";
|
||||
stats-name "stats.roxnet.org";
|
||||
help-channel "#ROXnet";
|
||||
hiddenhost-prefix "rox";
|
||||
prefix_quit "no";
|
||||
/* on-oper host */
|
||||
hosts {
|
||||
local "locop.roxnet.org";
|
||||
global "ircop.roxnet.org";
|
||||
coadmin "coadmin.roxnet.org";
|
||||
admin "admin.roxnet.org";
|
||||
servicesadmin "csops.roxnet.org";
|
||||
techadmin "techadmin.roxnet.org";
|
||||
netadmin "netadmin.roxnet.org";
|
||||
host-on-oper-up "no";
|
||||
};
|
||||
};
|
||||
|
||||
/* Server specific configuration */
|
||||
|
||||
set {
|
||||
kline-address "stskeeps@roxnet.org";
|
||||
modes-on-connect "+xwG";
|
||||
oper-auto-join "#opers";
|
||||
dns {
|
||||
nameserver 127.0.0.1;
|
||||
timeout 2s;
|
||||
retries 2s;
|
||||
};
|
||||
options {
|
||||
enable-opermotd;
|
||||
enable-chatops;
|
||||
hide-ulines;
|
||||
webtv-support;
|
||||
identd-check;
|
||||
};
|
||||
|
||||
socks {
|
||||
ban-message "Insecure SOCKS server";
|
||||
quit-message "Insecure SOCKS server";
|
||||
ban-time "4d";
|
||||
};
|
||||
maxchannelsperuser 10;
|
||||
|
||||
};
|
||||
+1041
-378
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@ copy the file "template.network" to the name you want to use for
|
||||
your network file and edit it.
|
||||
|
||||
If you experince any problems email me at stskeeps@tspre.org
|
||||
or try msg me at /server irc.global-irc.net : #UnrealIRCd
|
||||
or try msg me at /server irc.roxnet.org, #unrealircd
|
||||
My nick is mostly Stskeeps or Techie (or Nightwalker if i had a bad night:P)
|
||||
|
||||
--Stskeeps
|
||||
|
||||
+308
@@ -0,0 +1,308 @@
|
||||
/*
|
||||
** burst.c
|
||||
**
|
||||
** Nicolas Pioch, Dec 93
|
||||
** <Nicolas.Pioch@enst.fr>
|
||||
** Carsten V. Munk Nov 2000
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/signal.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/un.h>
|
||||
#include <netdb.h>
|
||||
#include <errno.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef POSIX
|
||||
#include <sys/select.h>
|
||||
#endif
|
||||
|
||||
#define MYBUFSIZE 2048
|
||||
|
||||
char *jupedservername, *uplinkservername, *jupereason;
|
||||
int options;
|
||||
char *password;
|
||||
typedef struct aClient {
|
||||
int socket;
|
||||
char buffer[MYBUFSIZE+1];
|
||||
int read;
|
||||
int write;
|
||||
} aClient;
|
||||
|
||||
void fatalrestart(aClient *robotptr, const char *s);
|
||||
|
||||
void fatal(const char *s) {
|
||||
perror(s);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
typedef void (*signalhandler)(int);
|
||||
static void signal_catcher(int sig, int code, struct sigcontext *scp) {
|
||||
fprintf(stderr, "Caught signal %d with code %d\n", sig, code);
|
||||
|
||||
switch(sig) {
|
||||
case SIGFPE: /* Floating point exception */
|
||||
case SIGILL: /* Illegal instruction */
|
||||
case SIGSEGV: /* Segmentation violation */
|
||||
case SIGBUS: /* Bus error */
|
||||
case SIGSYS: /* Bad argument to system call */
|
||||
fatal("Fatal signal received, aborting...");
|
||||
break;
|
||||
|
||||
case SIGQUIT:
|
||||
case SIGINT:
|
||||
case SIGTERM: /* On se barre */
|
||||
fatal("AAAAAAAAArrrrrrrrgh!");
|
||||
break;
|
||||
}
|
||||
|
||||
signal(sig, (signalhandler)signal_catcher);
|
||||
}
|
||||
|
||||
|
||||
typedef union socket_address {
|
||||
struct sockaddr_un unixx;
|
||||
struct sockaddr_in inet;
|
||||
} socket_address;
|
||||
|
||||
void name_to_number(int address_family, const char *hostname, int port,
|
||||
socket_address *addr, int *len2) {
|
||||
u_long iaddr;
|
||||
int len;
|
||||
struct hostent *host;
|
||||
char *inaddr;
|
||||
bzero ((char *) addr, sizeof (socket_address) );
|
||||
|
||||
if ( address_family == AF_UNIX ) {
|
||||
strcpy(addr->unixx.sun_path,hostname);
|
||||
*len2=sizeof( struct sockaddr_un );
|
||||
} else {
|
||||
if ((hostname) && (hostname[0])) {
|
||||
if (hostname[0] >= '0' && hostname[0] <= '9') {
|
||||
iaddr = inet_addr(hostname);
|
||||
inaddr = (char *) &iaddr;
|
||||
len=sizeof(iaddr);
|
||||
} else {
|
||||
host=gethostbyname (hostname);
|
||||
if (!host)
|
||||
fatal("Unknown host");
|
||||
inaddr=host->h_addr_list[0];
|
||||
len=host->h_length;
|
||||
}
|
||||
bcopy(inaddr, (char *)&addr->inet.sin_addr, len);
|
||||
}
|
||||
addr->inet.sin_port=htons((u_short) port);
|
||||
*len2=sizeof(struct sockaddr_in);
|
||||
}
|
||||
addr->inet.sin_family = address_family;
|
||||
}
|
||||
|
||||
int read_data(aClient *robotptr) {
|
||||
int nbytes;
|
||||
|
||||
if ((nbytes=read(robotptr->socket, &(robotptr->buffer[robotptr->write]),
|
||||
(sizeof(robotptr->buffer) - robotptr->write - 1))) < 0)
|
||||
fatalrestart(robotptr, "read on socket");
|
||||
|
||||
if (nbytes == 0) {
|
||||
close(robotptr->socket);
|
||||
fatalrestart(robotptr, "Connection Closed");
|
||||
}
|
||||
|
||||
robotptr->write+=nbytes;
|
||||
robotptr->buffer[robotptr->write]=0;
|
||||
|
||||
return(nbytes);
|
||||
}
|
||||
|
||||
void send_data(int socketfd, const char *data, int length) {
|
||||
int length2;
|
||||
length2=write(socketfd, data, length);
|
||||
if (length2 != length)
|
||||
fprintf(stderr, "*** write truncated to %d chars...\n", length2);
|
||||
}
|
||||
|
||||
int create_client(const char *hostname, const int hostport) {
|
||||
int descript;
|
||||
socket_address hostaddr;
|
||||
int adlen;
|
||||
|
||||
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) < 0)
|
||||
fatal("socket");
|
||||
|
||||
name_to_number(AF_INET, hostname, hostport, &hostaddr, &adlen);
|
||||
|
||||
if (connect(descript, &hostaddr.inet, adlen) < 0)
|
||||
fatal("connect");
|
||||
|
||||
return(descript);
|
||||
}
|
||||
|
||||
void parse_line(aClient *robotptr) {
|
||||
char *toparse;
|
||||
|
||||
toparse=(robotptr->buffer + robotptr->read);
|
||||
|
||||
printf("%s\n",toparse);
|
||||
/* Special handling for PING messages */
|
||||
if (!strncasecmp(toparse, "PING ", 5) || !strncasecmp(toparse, "8 ", 2)){
|
||||
toparse=strtok(toparse, "\r\n");
|
||||
toparse[1]='\0';
|
||||
send_data(robotptr->socket, toparse, strlen(toparse));
|
||||
return;
|
||||
}
|
||||
if (!strncasecmp(toparse, "AO", 2) || !strncasecmp(toparse, "NETINFO", 7))
|
||||
{
|
||||
if (!(options & 0x80))
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
void parse_data(aClient *robotptr) {
|
||||
int next;
|
||||
|
||||
while((robotptr->read < robotptr->write)
|
||||
&& ((robotptr->buffer[robotptr->read] == '\r')
|
||||
|| (robotptr->buffer[robotptr->read] == '\n')))
|
||||
robotptr->read++;
|
||||
|
||||
for(next=robotptr->read; next<=robotptr->write; next++) {
|
||||
if ((robotptr->buffer[next] == '\r')
|
||||
|| (robotptr->buffer[next] == '\n'))
|
||||
break;
|
||||
}
|
||||
|
||||
if (next<robotptr->write) {
|
||||
robotptr->buffer[next]=0;
|
||||
next++;
|
||||
parse_line(robotptr);
|
||||
robotptr->read=next;
|
||||
parse_data(robotptr);
|
||||
}
|
||||
|
||||
if (robotptr->read == robotptr->write) {
|
||||
robotptr->read=robotptr->write=0;
|
||||
} else {
|
||||
bcopy((robotptr->buffer + robotptr->read),
|
||||
(robotptr->buffer), (robotptr->write-robotptr->read));
|
||||
robotptr->write-=robotptr->read;
|
||||
robotptr->read=0;
|
||||
}
|
||||
}
|
||||
|
||||
void run_client(aClient *robotptr) {
|
||||
fd_set mask, returnmask[3];
|
||||
int selectval;
|
||||
|
||||
FD_ZERO(&mask);
|
||||
FD_SET(robotptr->socket, &mask);
|
||||
|
||||
while (1) {
|
||||
bcopy((char *)&mask,(char *)returnmask,sizeof(fd_set));
|
||||
FD_ZERO(returnmask+1);
|
||||
bcopy((char *)&mask,(char *)(returnmask+2),sizeof(fd_set));
|
||||
|
||||
selectval=select(FD_SETSIZE,
|
||||
returnmask, returnmask+1, returnmask+2, NULL);
|
||||
|
||||
if (selectval) {
|
||||
read_data(robotptr);
|
||||
parse_data(robotptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void initialize(aClient *robotptr) {
|
||||
char passphrase[MYBUFSIZE];
|
||||
robotptr->socket=create_client(uplinkservername, atol(jupereason));
|
||||
sprintf(passphrase,
|
||||
"PROTOCTL %s %s %s %s %s %s %s %s %s\r\n",
|
||||
(options & 0x1) ? "NOQUIT" : "",
|
||||
(options & 0x2) ? "TOKEN" : "",
|
||||
(options & 0x4) ? "NICKv2" : "",
|
||||
(options & 0x8) ? "SJOIN" : "",
|
||||
(options & 0x10) ? "SJOIN2" : "",
|
||||
(options & 0x20) ? "UMODE2" : "",
|
||||
(options & 0x40) ? "NS" : "",
|
||||
(options & 0x100) ? "SJ3" : "",
|
||||
(options & 0x200) ? "SJB64" : "");
|
||||
write(robotptr->socket, passphrase, strlen(passphrase));
|
||||
sprintf(passphrase, "PASS %s\r\nSERVER %s 1 :[Burst analysis].\r\n",
|
||||
password,jupedservername);
|
||||
write(robotptr->socket, passphrase, strlen(passphrase));
|
||||
}
|
||||
|
||||
void fatalrestart(aClient *robotptr, const char *s) {
|
||||
perror(s);
|
||||
close(robotptr->socket);
|
||||
sleep(10);
|
||||
initialize(robotptr);
|
||||
run_client(robotptr);
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
aClient robot;
|
||||
char *p;
|
||||
|
||||
if (argc != 6) {
|
||||
fprintf(stderr, "IRCd burst generator, by Carsten V. Munk 2000, based off jupe.c by Nicolas Pioch\n");
|
||||
fprintf(stderr,
|
||||
"Usage: %s <burstservername> <uplink> <port> <options> <password>\n", argv[0]);
|
||||
fprintf(stderr, "Options can be a combination of these:\n");
|
||||
fprintf(stderr, "1 = Enable NOQUIT 2 = Enable TOKEN\n");
|
||||
fprintf(stderr, "3 = Enable NICKv2 4 = Enable SJOIN\n");
|
||||
fprintf(stderr, "5 = Enable SJOIN2 6 = Enable UMODE2\n");
|
||||
fprintf(stderr, "7 = Enable NS 8 = Ignore end of burst\n");
|
||||
fprintf(stderr, "9 = Enable SJ3 a = Enable SJB64\n");
|
||||
fatal("incorrect argument count");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
jupedservername=argv[1];
|
||||
uplinkservername=argv[2];
|
||||
jupereason=argv[3];
|
||||
password = argv[5];
|
||||
p = argv[4];
|
||||
for (; *p; p++)
|
||||
{
|
||||
if (*p == '1')
|
||||
options |= 0x1;
|
||||
if (*p == '2')
|
||||
options |= 0x2;
|
||||
if (*p == '3')
|
||||
options |= 0x4;
|
||||
if (*p == '4')
|
||||
options |= 0x8;
|
||||
if (*p == '5')
|
||||
options |= 0x10;
|
||||
if (*p == '6')
|
||||
options |= 0x20;
|
||||
if (*p == '7')
|
||||
options |= 0x40;
|
||||
if (*p == '8')
|
||||
options |= 0x80;
|
||||
if (*p == '9')
|
||||
options |= 0x100;
|
||||
if (*p == 'a')
|
||||
options |= 0x200;
|
||||
}
|
||||
/* installe le signal_catcher */
|
||||
signal(SIGTERM,(signalhandler)signal_catcher);
|
||||
|
||||
robot.read=robot.write=0;
|
||||
|
||||
initialize(&robot);
|
||||
run_client(&robot);
|
||||
|
||||
exit(0);
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
# 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
|
||||
@@ -0,0 +1,60 @@
|
||||
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;
|
||||
+462
@@ -0,0 +1,462 @@
|
||||
#!/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
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
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)
|
||||
@@ -0,0 +1,4 @@
|
||||
clean:
|
||||
default:
|
||||
all:
|
||||
echo "."
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,490 @@
|
||||
/* 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:
|
||||
*/
|
||||
@@ -0,0 +1,25 @@
|
||||
#ifndef __BADWORDS_H
|
||||
#define __BADWORDS_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef HAVE_REGEX
|
||||
#include <regex.h>
|
||||
#else
|
||||
#include "../extras/regex/regex.h"
|
||||
#endif
|
||||
|
||||
#define MAX_MATCH 1
|
||||
#define MAX_WORDLEN 64
|
||||
#define MAX_WORDS 50
|
||||
|
||||
#define PATTERN "\\w*%s\\w*"
|
||||
#define REPLACEWORD "<censored>"
|
||||
|
||||
char *stripbadwords(char *, int);
|
||||
int loadbadwords(char *, int);
|
||||
void freebadwords(void);
|
||||
|
||||
#endif
|
||||
+6
-6
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, ircd/channel.h
|
||||
* Unreal Internet Relay Chat Daemon, ircd/channel.h
|
||||
* Copyright (C) 1990 Jarkko Oikarinen
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -21,8 +21,8 @@
|
||||
|
||||
#ifndef __channel_include__
|
||||
#define __channel_include__
|
||||
#define CREATE 1 /* whether a channel should be
|
||||
created or just tested for existance */
|
||||
#define CREATE 1 /* whether a channel should be
|
||||
created or just tested for existance */
|
||||
|
||||
#define MODEBUFLEN 200
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#define ChannelExists(n) (find_channel(n, NullChn) != NullChn)
|
||||
|
||||
#define IsULine(cptr,sptr) (sptr->flags & FLAGS_ULINE)
|
||||
#define IsULine(sptr) (sptr->flags & FLAGS_ULINE)
|
||||
|
||||
/* NOTE: Timestamps will be added to MODE-commands, so never make
|
||||
* RESYNCMODES and MODEPARAMS higher than MAXPARA-3. DALnet servers
|
||||
@@ -38,7 +38,7 @@
|
||||
*/
|
||||
#include "msg.h"
|
||||
#define MAXMODEPARAMS (MAXPARA-2) /* Maximum modes processed */
|
||||
#define RESYNCMODES 12 /* Max modes per MODE in resync */
|
||||
#define MODEPARAMS 6 /* Max modes from user */
|
||||
#define RESYNCMODES 12 /* Max modes per MODE in resync */
|
||||
#define MODEPARAMS 6 /* Max modes from user */
|
||||
|
||||
#endif
|
||||
|
||||
+9
-12
@@ -7,21 +7,18 @@
|
||||
#ifndef CIO
|
||||
#define CIO
|
||||
|
||||
typedef struct tag_CioLine
|
||||
{
|
||||
BYTE *Data;
|
||||
WORD Len;
|
||||
struct tag_CioLine *Prev, *Next;
|
||||
typedef struct tag_CioLine {
|
||||
BYTE *Data;
|
||||
WORD Len;
|
||||
struct tag_CioLine *Prev, *Next;
|
||||
} CioLine;
|
||||
|
||||
typedef struct tag_CioWndInfo
|
||||
{
|
||||
typedef struct tag_CioWndInfo {
|
||||
CioLine *FirstLine, *CurLine;
|
||||
int Lines, Scroll;
|
||||
int Width, Height, XChar, YChar, YJunk, ScrollMe;
|
||||
HFONT hFont;
|
||||
BYTE FR, FG, FB;
|
||||
int Lines, Scroll;
|
||||
int Width, Height, XChar, YChar, YJunk, ScrollMe;
|
||||
HFONT hFont;
|
||||
BYTE FR, FG, FB;
|
||||
} CioWndInfo;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+3
-2
@@ -10,11 +10,12 @@ BOOL Cio_Init(HINSTANCE hInstance);
|
||||
|
||||
// Cio_Main.c
|
||||
LRESULT CALLBACK Cio_WndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
HWND Cio_Create(HINSTANCE hInstance, HWND hParent, DWORD Style, int X, int Y, int W, int H);
|
||||
HWND Cio_Create(HINSTANCE hInstance, HWND hParent, DWORD Style, int X, int Y,
|
||||
int W, int H);
|
||||
BOOL Cio_WndCreate(HWND hWnd);
|
||||
BOOL Cio_WndPaint(HWND hWnd);
|
||||
BOOL Cio_WndDestroy(HWND hWnd);
|
||||
BOOL Cio_WndAddString(HWND hWnd, int Len, char *Buffer);
|
||||
BOOL Cio_WndSize(HWND hWnd, LPARAM lParam);
|
||||
void Cio_Scroll(HWND hWnd, CioWndInfo *CWI, int Scroll);
|
||||
void Cio_Scroll(HWND hWnd, CioWndInfo * CWI, int Scroll);
|
||||
BOOL Cio_PrintF(HWND hWnd, char *InBuf, ...);
|
||||
|
||||
+16
-16
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/class.h
|
||||
* 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
|
||||
@@ -31,12 +31,12 @@
|
||||
#endif
|
||||
|
||||
typedef struct Class {
|
||||
int class;
|
||||
int conFreq;
|
||||
int pingFreq;
|
||||
int maxLinks;
|
||||
long maxSendq;
|
||||
int links;
|
||||
int class;
|
||||
int conFreq;
|
||||
int pingFreq;
|
||||
int maxLinks;
|
||||
long maxSendq;
|
||||
int links;
|
||||
struct Class *next;
|
||||
} aClass;
|
||||
|
||||
@@ -57,15 +57,15 @@ typedef struct Class {
|
||||
#define FirstClass() classes
|
||||
#define NextClass(x) ((x)->next)
|
||||
|
||||
extern aClass *classes;
|
||||
extern aClass *classes;
|
||||
|
||||
extern aClass *find_class PROTO((int));
|
||||
extern int get_conf_class PROTO((aConfItem *));
|
||||
extern int get_client_class PROTO((aClient *));
|
||||
extern int get_client_ping PROTO((aClient *));
|
||||
extern int get_con_freq PROTO((aClass *));
|
||||
extern void add_class PROTO((int, int, int, int, long));
|
||||
extern void check_class PROTO((void));
|
||||
extern void initclass PROTO((void));
|
||||
extern aClass *find_class PROTO((int));
|
||||
extern int get_conf_class PROTO((aConfItem *));
|
||||
extern int get_client_class PROTO((aClient *));
|
||||
extern int get_client_ping PROTO((aClient *));
|
||||
extern int get_con_freq PROTO((aClass *));
|
||||
extern void add_class PROTO((int, int, int, int, long));
|
||||
extern void check_class PROTO((void));
|
||||
extern void initclass PROTO((void));
|
||||
|
||||
#endif /* __class_include__ */
|
||||
|
||||
+120
-32
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/common.h
|
||||
* Unreal Internet Relay Chat Daemon, include/common.h
|
||||
* Copyright (C) 1990 Armin Gruner
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -29,9 +29,10 @@
|
||||
#include <winsock.h>
|
||||
#include <process.h>
|
||||
#include <io.h>
|
||||
#include "struct.h"
|
||||
//#include "struct.h"
|
||||
#endif
|
||||
#include "dynconf.h"
|
||||
#include "ircsprintf.h"
|
||||
|
||||
#ifdef PARAMH
|
||||
#include <sys/param.h>
|
||||
@@ -45,12 +46,22 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define ID_CVS(x) static char id_cvs[] = x
|
||||
#ifdef DEVELOP_CVS
|
||||
#define ID_Copyright(x) static char id_copyright[] = x
|
||||
#define ID_Notes(x) static char id_notes[] = x
|
||||
#else
|
||||
#define ID_Copyright(x)
|
||||
#define ID_Notes(x)
|
||||
#endif
|
||||
|
||||
#define BMAGIC 0x4675636B596F754661736369737473
|
||||
|
||||
#define BASE_VERSION "Unreal"
|
||||
#ifndef _WIN32
|
||||
#define FDwrite(x,y,z) write(x, y, z)
|
||||
#else
|
||||
#define FDwrite(x,y,z) send(x, y, z, 0)
|
||||
#endif
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
@@ -72,27 +83,29 @@
|
||||
|
||||
#if 0
|
||||
#ifndef MALLOCH
|
||||
char *malloc(), *calloc();
|
||||
void free();
|
||||
char *malloc(), *calloc();
|
||||
void free();
|
||||
#else
|
||||
#include MALLOCH
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
extern int match PROTO((char *, char *));
|
||||
#define TS time_t
|
||||
|
||||
extern int match PROTO((char *, char *));
|
||||
#define mycmp(a,b) \
|
||||
( (toupper((a)[0])!=toupper((b)[0])) || smycmp((a)+1,(b)+1) )
|
||||
extern int smycmp PROTO((char *, char *));
|
||||
extern int smycmp PROTO((char *, char *));
|
||||
#ifndef GLIBC2_x
|
||||
extern int myncmp PROTO((char *, char *, int));
|
||||
#endif
|
||||
extern int myncmp PROTO((char *, char *, int));
|
||||
#endif
|
||||
|
||||
#ifdef NEED_STRTOK
|
||||
extern char *strtok2 PROTO((char *, char *));
|
||||
extern char *strtok2 PROTO((char *, char *));
|
||||
#endif
|
||||
#ifdef NEED_STRTOKEN
|
||||
extern char *strtoken PROTO((char **, char *, char *));
|
||||
extern char *strtoken PROTO((char **, char *, char *));
|
||||
#endif
|
||||
#ifdef NEED_INET_ADDR
|
||||
extern unsigned long inet_addr PROTO((char *));
|
||||
@@ -102,15 +115,15 @@ extern unsigned long inet_addr PROTO((char *));
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef NEED_INET_NTOA
|
||||
extern char *inet_ntoa PROTO((struct in_addr));
|
||||
extern char *inet_ntoa PROTO((struct IN_ADDR));
|
||||
#endif
|
||||
|
||||
#ifdef NEED_INET_NETOF
|
||||
extern int inet_netof PROTO((struct in_addr));
|
||||
extern int inet_netof PROTO((struct IN_ADDR));
|
||||
#endif
|
||||
|
||||
int global_count, max_global_count;
|
||||
extern char *myctime PROTO((time_t));
|
||||
int global_count, max_global_count;
|
||||
extern char *myctime PROTO((TS));
|
||||
extern char *strtoken PROTO((char **, char *, char *));
|
||||
|
||||
#define PRECISE_CHECK
|
||||
@@ -124,14 +137,9 @@ extern char *strtoken PROTO((char **, char *, char *));
|
||||
|
||||
#define DupString(x,y) do{x=MyMalloc(strlen(y)+1);(void)strcpy(x,y);}while(0)
|
||||
|
||||
#ifdef USE_CASETABLES
|
||||
extern int casetable;
|
||||
extern u_char *tolowertab, tolowertab1[], tolowertab2[];
|
||||
extern u_char *touppertab, touppertab1[], touppertab2[];
|
||||
#else
|
||||
extern u_char tolowertab[], touppertab[];
|
||||
#endif
|
||||
|
||||
#ifndef USE_LOCALE
|
||||
#undef tolower
|
||||
#define tolower(c) (tolowertab[(c)])
|
||||
|
||||
@@ -150,7 +158,7 @@ extern u_char tolowertab[], touppertab[];
|
||||
#undef isupper
|
||||
#undef isspace
|
||||
#undef iscntrl
|
||||
|
||||
#endif
|
||||
extern unsigned char char_atribs[];
|
||||
|
||||
#define PRINT 1
|
||||
@@ -168,8 +176,9 @@ extern unsigned char char_atribs[];
|
||||
#define KLINE_EXCEPT 3
|
||||
#endif
|
||||
|
||||
#define iscntrl(c) (char_atribs[(u_char)(c)]&CNTRL)
|
||||
#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)
|
||||
#define islower(c) ((char_atribs[(u_char)(c)]&ALPHA) && ((u_char)(c) > 0x5f))
|
||||
@@ -182,24 +191,79 @@ extern 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
|
||||
|
||||
#ifndef DMALLOC
|
||||
extern char *MyMalloc();
|
||||
#else
|
||||
#define MyMalloc malloc
|
||||
#define MyRealloc realloc
|
||||
#define MyFree free
|
||||
#endif
|
||||
extern void flush_connections();
|
||||
extern struct SLink *find_user_link(/* struct SLink *, struct Client * */);
|
||||
extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
|
||||
|
||||
/*
|
||||
* Protocol support text. DO NO CHANGE THIS unless you know what
|
||||
* you are doing.
|
||||
*/
|
||||
#define PROTOCTL_CLIENT "TOKEN WATCH=128 SAFELIST HCN PREFIX=@+%"
|
||||
#define PROTOCTL_SERVER "NOQUIT TOKEN NICKv2 SJOIN SJOIN2"
|
||||
|
||||
#ifdef ZIP_LINKS
|
||||
#define ZIPSTUFF " ZIP"
|
||||
#else
|
||||
#define ZIPSTUFF ""
|
||||
#endif
|
||||
|
||||
/* IRCu/Hybrid/Unreal way now :) -Stskeeps */
|
||||
|
||||
#define PROTOCTL_CLIENT \
|
||||
":%s 005 %s" \
|
||||
" MAP" \
|
||||
" KNOCK" \
|
||||
" SAFELIST" \
|
||||
" HCN" \
|
||||
" WATCH=%i" \
|
||||
" SILENCE=%i" \
|
||||
" MODES=%i" \
|
||||
" MAXCHANNELS=%i" \
|
||||
" MAXBANS=%i" \
|
||||
" NICKLEN=%i" \
|
||||
" TOPICLEN=%i" \
|
||||
" KICKLEN=%i" \
|
||||
" CHANTYPES=%s" \
|
||||
" PREFIX=%s" \
|
||||
" :are supported by this server"
|
||||
|
||||
#define PROTOCTL_PARAMETERS MAXWATCH, \
|
||||
MAXSILES, \
|
||||
MAXMODEPARAMS, \
|
||||
MAXCHANNELSPERUSER, \
|
||||
MAXBANS, \
|
||||
NICKLEN, \
|
||||
TOPICLEN, \
|
||||
TOPICLEN, \
|
||||
"#", \
|
||||
"(ohv)@%+"
|
||||
|
||||
/* Server-Server PROTOCTL -Stskeeps */
|
||||
#define PROTOCTL_SERVER "NOQUIT" \
|
||||
" TOKEN" \
|
||||
" NICKv2" \
|
||||
" SJOIN" \
|
||||
" SJOIN2" \
|
||||
" UMODE2" \
|
||||
" VL" \
|
||||
" SJ3" \
|
||||
" NS" \
|
||||
" SJB64" \
|
||||
ZIPSTUFF
|
||||
|
||||
#ifdef _WIN32
|
||||
/*
|
||||
* Used to display a string to the GUI interface.
|
||||
* Windows' internal strerror() function doesn't work with socket errors.
|
||||
*/
|
||||
extern int DisplayString(HWND hWnd, char *InBuf, ...);
|
||||
extern int DisplayString(HWND hWnd, char *InBuf, ...);
|
||||
#undef strerror
|
||||
#endif
|
||||
|
||||
@@ -207,10 +271,34 @@ extern int DisplayString(HWND hWnd, char *InBuf, ...);
|
||||
extern char *malloc_options;
|
||||
#endif
|
||||
|
||||
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;
|
||||
|
||||
time_t now;
|
||||
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;
|
||||
|
||||
TS now;
|
||||
|
||||
#if defined(__STDC__)
|
||||
#define __const const
|
||||
#define __signed signed
|
||||
#define __volatile volatile
|
||||
#ifndef __GNUC__
|
||||
#define __inline
|
||||
#endif
|
||||
|
||||
#else
|
||||
#ifndef __GNUC__
|
||||
#define __const
|
||||
#define __inline
|
||||
#define __signed
|
||||
#define __volatile
|
||||
#ifndef NO_ANSI_KEYWORDS
|
||||
#define const /* delete ANSI C keywords */
|
||||
#define inline
|
||||
#define signed
|
||||
#define volatile
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __common_include__ */
|
||||
|
||||
+130
-183
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* IRC - Internet Relay Chat, include/config.h
|
||||
* Unreal Internet Relay Chat Daemon, include/config.h
|
||||
* Copyright (C) 1990 Jarkko Oikarinen
|
||||
*
|
||||
* $Id$
|
||||
@@ -49,56 +49,30 @@
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Define this if you're testing/debugging/programming.
|
||||
*/
|
||||
* Define this if you're testing/debugging/programming.
|
||||
*/
|
||||
#undef DEBUG
|
||||
|
||||
/* Type of host. These should be made redundant somehow. -avalon */
|
||||
|
||||
/* BSD Nothing Needed 4.{2,3} BSD, SunOS 3.x, 4.x */
|
||||
/* HPUX Nothing needed (A.08/A.09) */
|
||||
/* ULTRIX Nothing needed (4.2) */
|
||||
/* OSF Nothing needed (1.2) */
|
||||
/* #undef AIX /* IBM ugly so-called Unix, AIX */
|
||||
/* #undef MIPS /* MIPS Unix */
|
||||
/* #undef AIX IBM ugly so-called Unix, AIX */
|
||||
/* #undef MIPS MIPS Unix */
|
||||
/* SGI Nothing needed (IRIX 4.0.4) */
|
||||
/* #undef SVR3 /* SVR3 stuff - being worked on where poss. */
|
||||
/* #undef DYNIXPTX /* Sequents Brain-dead Posix implement. */
|
||||
/* #undef SOL20 /* Solaris2 */
|
||||
/* #undef ESIX /* ESIX */
|
||||
/* #undef NEXT /* NeXTStep */
|
||||
/* #undef SVR4 /* */
|
||||
/* #undef SVR3 SVR3 stuff - being worked on where poss. */
|
||||
/* #undef DYNIXPTX Sequents Brain-dead Posix implement. */
|
||||
/* #undef SOL20 Solaris2 */
|
||||
/* #undef ESIX ESIX */
|
||||
/* #undef NEXT NeXTStep */
|
||||
/* #undef SVR4 */
|
||||
|
||||
/* Additional flags to give FreeBSD's malloc, only play with this if you
|
||||
* know what you're doing.
|
||||
*/
|
||||
|
||||
|
||||
#define MALLOC_FLAGS_EXTRA ""
|
||||
/*
|
||||
ConferenceRoom Java Client Hack -Fish
|
||||
if you want it to work #define CONFROOM_JAVA_PORT <port>
|
||||
where port MUST be a seperate port java clients connects on ..
|
||||
*/
|
||||
#undef CONFROOM_JAVA_PORT
|
||||
|
||||
/*
|
||||
REMOVE_ADVERTISING -ice
|
||||
If you send a text to a user like "irc.roxnet.org" it will show up as "irc.******.org"
|
||||
Off by default --stskeeps
|
||||
*/
|
||||
#undef REMOVE_ADVERTISING
|
||||
|
||||
/*
|
||||
UnrealIRCd WebTV support
|
||||
*/
|
||||
#undef WEBTV
|
||||
|
||||
#ifdef WEBTV
|
||||
/* enable /msg irc user */
|
||||
#define WEBTV_IRCUSER
|
||||
/* NOTICE's dont exist (except from server) */
|
||||
#define WEBTV_NONOTICE
|
||||
#endif
|
||||
|
||||
/*
|
||||
dog3/comstud ircd fdlists
|
||||
@@ -106,71 +80,73 @@
|
||||
*/
|
||||
|
||||
#undef NO_FDLIST
|
||||
|
||||
/*
|
||||
OPER_NO_HIDING
|
||||
This makes +I an unexisting mode
|
||||
On by default --stskeeps
|
||||
* Defining this will allow all ircops to see people in +s channels
|
||||
* By default, only net/tech admins can see this
|
||||
*/
|
||||
#undef SEE_SECRET
|
||||
|
||||
/*
|
||||
* This allows you to see modes in /list
|
||||
*/
|
||||
#undef OPER_NO_HIDING
|
||||
#define LIST_SHOW_MODES
|
||||
|
||||
/*
|
||||
* Admin's chat...
|
||||
*/
|
||||
#define ADMINCHAT 1
|
||||
|
||||
/*
|
||||
If you want SHUN_NOTICES, define this
|
||||
*/
|
||||
#undef SHUN_NOTICES
|
||||
|
||||
/*
|
||||
If you want to support chinese and/or japanese nicks
|
||||
*/
|
||||
#undef CHINESE_NICK
|
||||
#undef JAPANESE_NICK
|
||||
|
||||
/*
|
||||
Remote rehash
|
||||
*/
|
||||
#define REMOTE_REHASH
|
||||
|
||||
/*
|
||||
Stripbadwords patch
|
||||
*/
|
||||
#define STRIPBADWORDS
|
||||
|
||||
/*
|
||||
* NO_OPEROVERRIDE
|
||||
* This will disable OperMode, OperTopic and Banwalks
|
||||
*/
|
||||
#undef NO_OPEROVERRIDE
|
||||
|
||||
/*
|
||||
* Disable /sethost, /setident, /chgname, /chghost, /chgident
|
||||
*/
|
||||
#undef DISABLE_USERMOD
|
||||
|
||||
/*
|
||||
Ident checking
|
||||
#define this to disable ident checking
|
||||
*/
|
||||
#undef NO_IDENT_CHECKING
|
||||
|
||||
/*
|
||||
* No spoof code
|
||||
*
|
||||
* This enables the spoof protection.
|
||||
*/
|
||||
/* #define NOSPOOF 1 /* */
|
||||
|
||||
/*
|
||||
*
|
||||
* This controls the "nospoof" system. These numbers are "seeds" of the
|
||||
* "random" number generating formula. Choose any number you like in the
|
||||
* range of 0x00000000 to 0xFFFFFFFF. Don't tell anyone these numbers, and
|
||||
* don't use the default ones. Change both #define NOSPOOF... lines below.
|
||||
*
|
||||
* Other data is mixed in as well, but these guarantee a per-server secret.
|
||||
* Also, these values need not remain constant over compilations... Change
|
||||
* them as often as you like.
|
||||
*/
|
||||
#ifdef NOSPOOF
|
||||
|
||||
#ifndef NOSPOOF_SEED01
|
||||
#define NOSPOOF_SEED01 0x12345678
|
||||
#endif
|
||||
|
||||
#ifndef NOSPOOF_SEED02
|
||||
#define NOSPOOF_SEED02 0x87654321
|
||||
#endif
|
||||
|
||||
#endif /* NOSPOOF */
|
||||
/* #define NOSPOOF 1 */
|
||||
|
||||
/*
|
||||
* HOSTILENAME - Define this if you want the hostile username patch included,
|
||||
* it will strip characters that are not 0-9,a-z,A-Z,_,- or .
|
||||
*/
|
||||
#define HOSTILENAME /* */
|
||||
|
||||
/*
|
||||
* Define this to prevent mixed case userids that clonebots use. However
|
||||
* this affects the servers running telclients WLD* FIN* etc.
|
||||
*/
|
||||
#undef DISALLOW_MIXED_CASE
|
||||
|
||||
/*
|
||||
* Define this if you wish to ignore the case of the first character of
|
||||
* the user id when disallowing mixed case. This allows PC users to
|
||||
* enter the more intuitive first name with the first letter capitalised
|
||||
*/
|
||||
#define IGNORE_CASE_FIRST_CHAR
|
||||
#define HOSTILENAME /* */
|
||||
|
||||
/*
|
||||
** Nick flood limit
|
||||
@@ -180,7 +156,19 @@
|
||||
** Define NICK_DELAY if you want this feature.
|
||||
*/
|
||||
|
||||
#define NICK_DELAY 15 /* recommended value 15 */
|
||||
#define NICK_DELAY 15 /* recommended value 15 */
|
||||
|
||||
/*
|
||||
** Freelinks garbage collector -Stskeeps
|
||||
**
|
||||
** GARBAGE_COLLECT_EVERY - how many seconds between every garbage collect
|
||||
** HOW_MANY_FREELINKS_ALLOWED - how many freelinks allowed
|
||||
*/
|
||||
#ifndef GARBAGE_COLLECT_EVERY
|
||||
#define GARBAGE_COLLECT_EVERY 600 /* default: 600 (10 mins) */
|
||||
#endif
|
||||
|
||||
#define HOW_MANY_FREELINKS_ALLOWED 200 /* default: 200 */
|
||||
|
||||
/*
|
||||
* Define this if you wish to output a *file* to a K lined client rather
|
||||
@@ -191,9 +179,9 @@
|
||||
|
||||
/* Do these work? I dunno... */
|
||||
|
||||
/* #undef VMS /* Should work for IRC client, not server */
|
||||
/* #undef MAIL50 /* If you're running VMS 5.0 */
|
||||
/* #undef PCS /* PCS Cadmus MUNIX, use with BSD flag! */
|
||||
/* #undef VMS Should work for IRC client, not server */
|
||||
/* #undef MAIL50 If you're running VMS 5.0 */
|
||||
/* #undef PCS PCS Cadmus MUNIX, use with BSD flag! */
|
||||
|
||||
/*
|
||||
* NOTE: On some systems, valloc() causes many problems.
|
||||
@@ -221,13 +209,14 @@
|
||||
* the maintainer.
|
||||
*/
|
||||
|
||||
/* #undef DEBUGMODE /* define DEBUGMODE to enable debugging mode.*/
|
||||
/* #undef DEBUGMODE define DEBUGMODE to enable debugging mode.*/
|
||||
|
||||
/* We not check whether this is ok at compile time -- codemastr */
|
||||
/*
|
||||
* defining FORCE_CORE will automatically "unlimit core", forcing the
|
||||
* server to dump a core file whenever it has a fatal error. -mlv
|
||||
*/
|
||||
#define FORCE_CORE
|
||||
/* #define FORCE_CORE */
|
||||
|
||||
/*
|
||||
* Full pathnames and defaults of irc system's support files. Please note that
|
||||
@@ -236,15 +225,16 @@
|
||||
*/
|
||||
#define CPATH "ircd.conf" /* server configuration file */
|
||||
#define MPATH "ircd.motd" /* server MOTD file */
|
||||
#define RPATH "ircd.rules" /* server rules file */
|
||||
#define RPATH "ircd.rules" /* server rules file */
|
||||
#define ZPATH "ircd.notes" /* server notes */
|
||||
#define ZCONF "networks/unrealircd.conf" /* ircd configuration .. */
|
||||
#define OPATH "oper.motd" /* Operators MOTD file */
|
||||
#define ZCONF "networks/unrealircd.conf" /* ircd configuration .. */
|
||||
#define OPATH "oper.motd" /* Operators MOTD file */
|
||||
#define LPATH "debug.log" /* Where the debug file lives, if DEBUGMODE */
|
||||
#define PPATH "ircd.pid" /* file for server pid */
|
||||
#define lPATH "ircd.log" /* server log file */
|
||||
#define VPATH "ircd.svsmotd" /* Services MOTD append. */
|
||||
#define IRCDTUNE "ircd.tune" /* tuning .. */
|
||||
#define VPATH "ircd.svsmotd" /* Services MOTD append. */
|
||||
#define BPATH "bot.motd" /* Bot MOTD */
|
||||
#define IRCDTUNE "ircd.tune" /* tuning .. */
|
||||
|
||||
/*
|
||||
* Define this filename to maintain a list of persons who log
|
||||
@@ -273,7 +263,7 @@
|
||||
*
|
||||
* You may want to define IRC_UID and IRC_GID
|
||||
*/
|
||||
/* #define CHROOTDIR /* */
|
||||
/* #define CHROOTDIR */
|
||||
|
||||
/* SHOW_INVISIBLE_LUSERS
|
||||
*
|
||||
@@ -284,13 +274,6 @@
|
||||
*/
|
||||
#define SHOW_INVISIBLE_LUSERS
|
||||
|
||||
|
||||
/* OPER_* defines
|
||||
*
|
||||
* See ./docs/example.conf for examples of how to restrict access for
|
||||
* your IRC Operators
|
||||
*/
|
||||
|
||||
/* MAXIMUM LINKS
|
||||
*
|
||||
* This define is useful for leaf nodes and gateways. It keeps you from
|
||||
@@ -329,14 +312,7 @@
|
||||
* starts up the server with a new conf file that has some extra
|
||||
* O-lines. So don't use this unless you're debugging.
|
||||
*/
|
||||
#define CMDLINE_CONFIG /* allow conf-file to be specified on command line */
|
||||
|
||||
/*
|
||||
* To use m4 as a preprocessor on the ircd.conf file, define M4_PREPROC.
|
||||
* The server will then call m4 each time it reads the ircd.conf file,
|
||||
* reading m4 output as the server's ircd.conf file.
|
||||
*/
|
||||
#undef M4_PREPROC
|
||||
#define CMDLINE_CONFIG /* allow conf-file to be specified on command line */
|
||||
|
||||
/*
|
||||
* If you wish to have the server send 'vital' messages about server
|
||||
@@ -355,11 +331,11 @@
|
||||
* If you use syslog above, you may want to turn some (none) of the
|
||||
* spurious log messages for KILL/SQUIT off.
|
||||
*/
|
||||
#undef SYSLOG_KILL /* log all operator kills to syslog */
|
||||
#undef SYSLOG_SQUIT /* log all remote squits for all servers to syslog */
|
||||
#undef SYSLOG_CONNECT /* log remote connect messages for other all servs */
|
||||
#undef SYSLOG_USERS /* send userlog stuff to syslog */
|
||||
#undef SYSLOG_OPER /* log all users who successfully become an Op */
|
||||
#undef SYSLOG_KILL /* log all operator kills to syslog */
|
||||
#undef SYSLOG_SQUIT /* log all remote squits for all servers to syslog */
|
||||
#undef SYSLOG_CONNECT /* log remote connect messages for other all servs */
|
||||
#undef SYSLOG_USERS /* send userlog stuff to syslog */
|
||||
#undef SYSLOG_OPER /* log all users who successfully become an Op */
|
||||
|
||||
/*
|
||||
* If you want to log to a different facility than DAEMON, change
|
||||
@@ -368,15 +344,6 @@
|
||||
#define LOG_FACILITY LOG_DAEMON
|
||||
#endif /* USE_SYSLOG */
|
||||
|
||||
/*
|
||||
* IDLE_FROM_MSG
|
||||
*
|
||||
* Idle-time nullified only from privmsg, if undefined idle-time
|
||||
* is nullified from everything except ping/pong.
|
||||
* Added 3.8.1992, kny@cs.hut.fi (nam)
|
||||
*/
|
||||
#define IDLE_FROM_MSG
|
||||
|
||||
/*
|
||||
* Size of the LISTEN request. Some machines handle this large
|
||||
* without problem, but not all. It defaults to 5, but can be
|
||||
@@ -407,8 +374,27 @@
|
||||
* define IRC_UID to that UID. This should only be defined if you are running
|
||||
* as root and even then perhaps not.
|
||||
*/
|
||||
/* #undef IRC_UID /* */
|
||||
/* #undef IRC_GID /* */
|
||||
|
||||
/*
|
||||
* Ok this one is being changed. it is advisable never to run anything that
|
||||
* uses sockets etc. and has the potential for the outside world to connect to it
|
||||
* to run as root... Hackers do things like buffer overruns, and get dumped on
|
||||
* a shell with root access effectivley ... so DONT do it.. if a program uses a
|
||||
* port <1024 it will run as root, once the program has binded to the socket it
|
||||
* will set its uid to something OTHER than root ... you set that in unrealircd.conf
|
||||
*
|
||||
* If you _must_ insist on running as root and not wanting the program to change its
|
||||
* UID, then define BIG_SECURITY_HOLE below
|
||||
*/
|
||||
#if !defined(_WIN32)
|
||||
/* Change This Line Below \/ */
|
||||
#define BIG_SECURITY_HOLE
|
||||
/* Its the one above ^^^^^^^ */
|
||||
#ifndef BIG_SECURITY_HOLE
|
||||
#define IRC_UID un_uid
|
||||
#define IRC_GID un_gid
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* CLIENT_FLOOD
|
||||
@@ -419,10 +405,6 @@
|
||||
*/
|
||||
#define CLIENT_FLOOD 8000
|
||||
|
||||
/* Define this if you want the server to accomplish ircII standard */
|
||||
/* Sends an extra NOTICE in the beginning of client connection */
|
||||
#undef IRCII_KLUDGE
|
||||
|
||||
/*
|
||||
* Define your network service names here.
|
||||
*/
|
||||
@@ -432,7 +414,8 @@
|
||||
#define OperServ "OperServ"
|
||||
#define HelpServ "HelpServ"
|
||||
#define StatServ "StatServ"
|
||||
|
||||
#define InfoServ "InfoServ"
|
||||
#define BotServ "BotServ"
|
||||
/*
|
||||
* How many seconds in between simultaneous nick changes?
|
||||
*/
|
||||
@@ -470,9 +453,6 @@
|
||||
*/
|
||||
#define SOCKSPORT 6013
|
||||
|
||||
/* Define default Z:line time for SOCKS -taz */
|
||||
#define ZLINE_TIME 300
|
||||
|
||||
/* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP */
|
||||
|
||||
/* You shouldn't change anything below this line, unless absolutely needed. */
|
||||
@@ -481,7 +461,7 @@
|
||||
* 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 */
|
||||
#define PORTNUM 6667 /* 6667 is default */
|
||||
|
||||
/*
|
||||
* Maximum number of network connections your server will allow. This should
|
||||
@@ -522,7 +502,7 @@
|
||||
* chasing possible for mode and kick.
|
||||
*/
|
||||
#ifndef NICKNAMEHISTORYLENGTH
|
||||
#define NICKNAMEHISTORYLENGTH 2000
|
||||
#define NICKNAMEHISTORYLENGTH 2000
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -568,27 +548,13 @@
|
||||
* CONNECTTIMEOUT - 10 seconds for its host to respond to an ident lookup
|
||||
* query and for a DNS answer to be retrieved.
|
||||
*/
|
||||
#define CONNECTTIMEOUT 90 /* Recommended value: 90 */
|
||||
#define CONNECTTIMEOUT 30 /* Recommended value: 60 */
|
||||
|
||||
/*
|
||||
* 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 */
|
||||
|
||||
/*
|
||||
* Max number of channels a user is allowed to join.
|
||||
*/
|
||||
#define MAXCHANNELSPERUSER 10 /* Recommended value: 10 */
|
||||
|
||||
/*
|
||||
* SendQ-Always causes the server to put all outbound data into the sendq and
|
||||
* flushing the sendq at the end of input processing. This should cause more
|
||||
* efficient write's to be made to the network.
|
||||
* There *shouldn't* be any problems with this method.
|
||||
* -avalon
|
||||
*/
|
||||
#define SENDQ_ALWAYS
|
||||
#define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */
|
||||
|
||||
/* ------------------------- END CONFIGURATION SECTION -------------------- */
|
||||
#define MOTD MPATH
|
||||
@@ -609,11 +575,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _SEQUENT_ /* Dynix 1.4 or 2.0 Generic Define.. */
|
||||
#undef BSD
|
||||
#define SYSV /* Also #define SYSV */
|
||||
#endif
|
||||
|
||||
#ifdef ultrix
|
||||
#define ULTRIX
|
||||
#endif
|
||||
@@ -634,7 +595,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef DEBUGMODE
|
||||
extern void debug();
|
||||
extern void debug();
|
||||
# define Debug(x) debug x
|
||||
# define LOGFILE LPATH
|
||||
#else
|
||||
@@ -646,9 +607,7 @@ extern void debug();
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef ENABLE_SUMMON
|
||||
# undef LEAST_IDLE
|
||||
#endif
|
||||
|
||||
#if defined(mips) || defined(PCS)
|
||||
#undef SYSV
|
||||
@@ -656,71 +615,57 @@ extern void debug();
|
||||
|
||||
#ifdef MIPS
|
||||
#undef BSD
|
||||
#define BSD 1 /* mips only works in bsd43 environment */
|
||||
#endif
|
||||
|
||||
#ifdef sequent /* Dynix (sequent OS) */
|
||||
#define SEQ_NOFILE 128 /* set to your current kernel impl, */
|
||||
#endif /* max number of socket connections */
|
||||
|
||||
#ifdef _SEQUENT_
|
||||
#define DYNIXPTX
|
||||
#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 #defines use only one.
|
||||
error You stuffed up config.h signals
|
||||
#defines use only one.
|
||||
# endif
|
||||
#define HAVE_RELIABLE_SIGNALS
|
||||
#endif
|
||||
|
||||
#ifdef SYSV_UNRELIABLE_SIGNALS
|
||||
# ifdef POSIX_SIGNALS
|
||||
error You stuffed up config.h signals #defines use only one.
|
||||
error You stuffed up config.h signals
|
||||
#defines use only one.
|
||||
# endif
|
||||
#undef HAVE_RELIABLE_SIGNALS
|
||||
#endif
|
||||
|
||||
#ifdef POSIX_SIGNALS
|
||||
#define HAVE_RELIABLE_SIGNALS
|
||||
#endif
|
||||
|
||||
/*
|
||||
* safety margin so we can always have one spare fd, for motd/authd or
|
||||
* whatever else. -4 allows "safety" margin of 1 and space reserved.
|
||||
*/
|
||||
#define MAXCLIENTS (MAXCONNECTIONS-4)
|
||||
|
||||
#ifdef HAVECURSES
|
||||
# define DOCURSES
|
||||
#else
|
||||
# undef DOCURSES
|
||||
#endif
|
||||
|
||||
#ifdef HAVETERMCAP
|
||||
# define DOTERMCAP
|
||||
#else
|
||||
# undef DOTERMCAP
|
||||
#endif
|
||||
|
||||
# define stricmp strcasecmp
|
||||
# define strnicmp strncasecmp
|
||||
|
||||
#if defined(CLIENT_FLOOD)
|
||||
# if (CLIENT_FLOOD > 8000)
|
||||
# define CLIENT_FLOOD 8000
|
||||
# else
|
||||
# if (CLIENT_FLOOD < 512)
|
||||
error CLIENT_FLOOD needs redefining.
|
||||
error CLIENT_FLOOD needs redefining.
|
||||
# endif
|
||||
# endif
|
||||
#else
|
||||
error CLIENT_FLOOD undefined
|
||||
error CLIENT_FLOOD undefined
|
||||
#endif
|
||||
#if (NICKNAMEHISTORYLENGTH < 100)
|
||||
# define NICKNAMEHISTORYLENGTH 100
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Some ugliness for AIX platforms.
|
||||
*/
|
||||
@@ -737,7 +682,12 @@ error CLIENT_FLOOD undefined
|
||||
*/
|
||||
# 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
|
||||
/*
|
||||
* Cleaup for WIN32 platform.
|
||||
*/
|
||||
@@ -756,7 +706,4 @@ error CLIENT_FLOOD undefined
|
||||
#define Reg8 register
|
||||
#define Reg9 register
|
||||
#define Reg10 register
|
||||
|
||||
#endif /* __config_include__ */
|
||||
|
||||
|
||||
#endif /* __config_include__ */
|
||||
|
||||
+21
-33
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/dbuf.h
|
||||
* Unreal Internet Relay Chat Daemon, include/dbuf.h
|
||||
* Copyright (C) 1990 Markku Savela
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -45,25 +45,14 @@
|
||||
** implementation of this package without changing the
|
||||
** interface.
|
||||
*/
|
||||
#if !defined(_SEQUENT_)
|
||||
typedef struct dbuf
|
||||
{
|
||||
u_int length; /* Current number of bytes stored */
|
||||
u_int offset; /* Offset to the first byte */
|
||||
struct dbufbuf *head; /* First data buffer, if length > 0 */
|
||||
typedef struct dbuf {
|
||||
u_int length; /* Current number of bytes stored */
|
||||
u_int offset; /* Offset to the first byte */
|
||||
struct dbufbuf *head; /* First data buffer, if length > 0 */
|
||||
/* added by mnystrom@mit.edu: */
|
||||
struct dbufbuf *tail; /* last data buffer, if length > 0 */
|
||||
} dbuf;
|
||||
#else
|
||||
typedef struct dbuf
|
||||
{
|
||||
uint length; /* Current number of bytes stored */
|
||||
uint offset; /* Offset to the first byte */
|
||||
struct dbufbuf *head; /* First data buffer, if length > 0 */
|
||||
/* added by mnystrom@mit.edu: */
|
||||
struct dbufbuf *tail; /* last data buffer, if length > 0 */
|
||||
} dbuf;
|
||||
#endif
|
||||
struct dbufbuf *tail; /* last data buffer, if length > 0 */
|
||||
} dbuf;
|
||||
|
||||
/*
|
||||
** And this 'dbufbuf' should never be referenced outside the
|
||||
** implementation of 'dbuf'--would be "hidden" if C had such
|
||||
@@ -73,11 +62,10 @@ typedef struct dbuf
|
||||
** as long as a pointer is 4 bytes, we get 2032 bytes for buffer
|
||||
** data after we take away a bit for malloc to play with. -avalon
|
||||
*/
|
||||
typedef struct dbufbuf
|
||||
{
|
||||
struct dbufbuf *next; /* Next data buffer, NULL if this is last */
|
||||
char data[2032]; /* Actual data stored here */
|
||||
} dbufbuf;
|
||||
typedef struct dbufbuf {
|
||||
struct dbufbuf *next; /* Next data buffer, NULL if this is last */
|
||||
char data[2032]; /* Actual data stored here */
|
||||
} dbufbuf;
|
||||
|
||||
/*
|
||||
** dbuf_put
|
||||
@@ -88,10 +76,10 @@ typedef struct dbufbuf
|
||||
** returns > 0, if operation successfull
|
||||
** < 0, if failed (due memory allocation problem)
|
||||
*/
|
||||
int dbuf_put PROTO((dbuf *, char *, int));
|
||||
int dbuf_put PROTO((dbuf *, char *, int));
|
||||
/* Dynamic buffer header */
|
||||
/* Pointer to data to be stored */
|
||||
/* Number of bytes to store */
|
||||
/* Pointer to data to be stored */
|
||||
/* Number of bytes to store */
|
||||
|
||||
/*
|
||||
** dbuf_get
|
||||
@@ -108,10 +96,10 @@ int dbuf_put PROTO((dbuf *, char *, int));
|
||||
** Negative return values indicate some unspecified
|
||||
** error condition, rather fatal...
|
||||
*/
|
||||
int dbuf_get PROTO(( dbuf *, char *, int));
|
||||
int dbuf_get PROTO((dbuf *, char *, int));
|
||||
/* Dynamic buffer header */
|
||||
/* Pointer to buffer to receive the data */
|
||||
/* Max amount of bytes that can be received */
|
||||
/* Pointer to buffer to receive the data */
|
||||
/* Max amount of bytes that can be received */
|
||||
|
||||
/*
|
||||
** dbuf_map, dbuf_delete
|
||||
@@ -138,8 +126,8 @@ int dbuf_get PROTO(( dbuf *, char *, int));
|
||||
** between map and delete functions...
|
||||
*/
|
||||
char *dbuf_map PROTO((dbuf *, int *));
|
||||
/* Dynamic buffer header */
|
||||
/* Return number of bytes accessible */
|
||||
/* Dynamic buffer header */
|
||||
/* Return number of bytes accessible */
|
||||
|
||||
int dbuf_delete PROTO((dbuf *, int));
|
||||
/* Dynamic buffer header */
|
||||
@@ -160,6 +148,6 @@ int dbuf_delete PROTO((dbuf *, int));
|
||||
*/
|
||||
#define DBufClear(dyn) dbuf_delete((dyn),DBufLength(dyn))
|
||||
|
||||
extern int dbuf_getmsg PROTO((dbuf *, char *, int));
|
||||
extern int dbuf_getmsg PROTO((dbuf *, char *, int));
|
||||
|
||||
#endif /* __dbuf_include__ */
|
||||
|
||||
+62
-46
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/dynconf.h
|
||||
* Unreal Internet Relay Chat Daemon, include/dynconf.h
|
||||
* Copyright (C) 1999 Carsten Munk
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -21,68 +21,84 @@
|
||||
|
||||
|
||||
#define DYNCONF_H
|
||||
typedef struct zNetwork aNetwork;
|
||||
struct zNetwork {
|
||||
char *x_ircnetwork;
|
||||
char *x_defserv;
|
||||
char *x_services_name;
|
||||
char *x_oper_host;
|
||||
char *x_admin_host;
|
||||
char *x_locop_host;
|
||||
char *x_sadmin_host;
|
||||
char *x_netadmin_host;
|
||||
char *x_coadmin_host;
|
||||
char *x_techadmin_host;
|
||||
char *x_hidden_host;
|
||||
char *x_netdomain;
|
||||
char *x_helpchan;
|
||||
char *x_stats_server;
|
||||
int x_halfhub;
|
||||
int x_inah;
|
||||
char *x_net_quit;
|
||||
int x_se;
|
||||
|
||||
/* config level */
|
||||
#define DYNCONF_CONF_VERSION "1.5"
|
||||
#define DYNCONF_NETWORK_VERSION "2.2"
|
||||
|
||||
typedef struct zNetwork aNetwork;
|
||||
struct zNetwork {
|
||||
unsigned x_inah:1;
|
||||
char *x_ircnetwork;
|
||||
char *x_defserv;
|
||||
char *x_services_name;
|
||||
char *x_oper_host;
|
||||
char *x_admin_host;
|
||||
char *x_locop_host;
|
||||
char *x_sadmin_host;
|
||||
char *x_netadmin_host;
|
||||
char *x_coadmin_host;
|
||||
char *x_techadmin_host;
|
||||
char *x_hidden_host;
|
||||
char *x_netdomain;
|
||||
char *x_helpchan;
|
||||
char *x_stats_server;
|
||||
};
|
||||
|
||||
typedef struct zConfiguration aConfiguration;
|
||||
struct zConfiguration {
|
||||
long nospoof_seed01;
|
||||
long nospoof_seed02;
|
||||
char *kline_address;
|
||||
char *include;
|
||||
char *domainname;
|
||||
char *domainmask; /* '*' + domainname */
|
||||
int som;
|
||||
int mode_x;
|
||||
int mode_i;
|
||||
int truehub;
|
||||
int stop;
|
||||
int showopers;
|
||||
int killdiff;
|
||||
int hide_ulines;
|
||||
int allow_chatops;
|
||||
int socksbantime;
|
||||
char *socksbanmessage;
|
||||
char *socksquitmessage;
|
||||
aNetwork network;
|
||||
struct zConfiguration {
|
||||
unsigned som:1;
|
||||
unsigned mode_x:1;
|
||||
unsigned mode_i:1;
|
||||
unsigned mode_stripbadwords:1;
|
||||
unsigned truehub:1;
|
||||
unsigned stop:1;
|
||||
unsigned showopers:1;
|
||||
unsigned killdiff:1;
|
||||
unsigned hide_ulines:1;
|
||||
unsigned allow_chatops:1;
|
||||
unsigned webtv_support:1;
|
||||
unsigned no_oper_hiding:1;
|
||||
/* long nospoof_seed01;
|
||||
long nospoof_seed02; */
|
||||
long host_timeout;
|
||||
int host_retries;
|
||||
char *kline_address;
|
||||
char *include;
|
||||
char *domainname;
|
||||
char *domainmask; /* '*' + domainname */
|
||||
char *auto_join_chans;
|
||||
char *oper_auto_join_chans;
|
||||
int socksbantime;
|
||||
int maxchannelsperuser;
|
||||
char *socksbanmessage;
|
||||
char *socksquitmessage;
|
||||
aNetwork network;
|
||||
};
|
||||
|
||||
#ifndef DYNCONF_C
|
||||
extern aConfiguration iConf;
|
||||
extern aConfiguration iConf;
|
||||
#endif
|
||||
|
||||
// #define NOSPOOF_SEED01 iConf.nospoof_seed01
|
||||
// #define NOSPOOF_SEED02 iConf.nospoof_seed02
|
||||
#define KLINE_ADDRESS iConf.kline_address
|
||||
#define INCLUDE iConf.include
|
||||
#define DOMAINNAMEMASK "*" DOMAINNAME
|
||||
#define MODE_X iConf.mode_x
|
||||
#define MODE_I iConf.mode_i
|
||||
#define MODE_STRIPWORDS iConf.mode_stripbadwords
|
||||
#define TRUEHUB iConf.truehub
|
||||
#define SHOWOPERS iConf.showopers
|
||||
#define KILLDIFF iConf.killdiff
|
||||
#define SHOWOPERMOTD iConf.som
|
||||
#define HIDE_ULINES iConf.hide_ulines
|
||||
#define ALLOW_CHATOPS iConf.allow_chatops
|
||||
#define ALLOW_CHATOPS iConf.allow_chatops
|
||||
#define MAXCHANNELSPERUSER iConf.maxchannelsperuser
|
||||
#define WEBTV_SUPPORT iConf.webtv_support
|
||||
#define NO_OPER_HIDING iConf.no_oper_hiding
|
||||
#define AUTO_JOIN_CHANS iConf.auto_join_chans
|
||||
#define OPER_AUTO_JOIN_CHANS iConf.oper_auto_join_chans
|
||||
#define HOST_TIMEOUT iConf.host_timeout
|
||||
#define HOST_RETRIES iConf.host_retries
|
||||
|
||||
#define ircnetwork iConf.network.x_ircnetwork
|
||||
#define defserv iConf.network.x_defserv
|
||||
@@ -100,4 +116,4 @@ extern aConfiguration iConf;
|
||||
#define STATS_SERVER iConf.network.x_stats_server
|
||||
#define iNAH iConf.network.x_inah
|
||||
#define net_quit iConf.network.x_net_quit
|
||||
#define STOPSE iConf.network.x_se
|
||||
#define STOPSE iConf.network.x_se
|
||||
|
||||
+7
-7
@@ -4,21 +4,21 @@
|
||||
/* $Id$ */
|
||||
|
||||
typedef struct fdstruct {
|
||||
int entry[MAXCONNECTIONS + 2];
|
||||
int last_entry;
|
||||
int entry[MAXCONNECTIONS + 2];
|
||||
int last_entry;
|
||||
} fdlist;
|
||||
|
||||
void addto_fdlist(int a, fdlist * b);
|
||||
void delfrom_fdlist(int a, fdlist * b);
|
||||
void init_fdlist(fdlist * b);
|
||||
void addto_fdlist(int a, fdlist * b);
|
||||
void delfrom_fdlist(int a, fdlist * b);
|
||||
void init_fdlist(fdlist * b);
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
|
||||
#define LOADCFREQ 5
|
||||
#define LOADRECV 35
|
||||
#define FDLISTCHKFREQ 2
|
||||
#define FDLISTCHKFREQ 2
|
||||
|
||||
#endif /*
|
||||
* _IRCD_DOG3_FDLIST
|
||||
|
||||
+265
-228
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/h.h
|
||||
* Unreal Internet Relay Chat Daemon, include/h.h
|
||||
* Copyright (C) 1992 Darren Reed
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -29,20 +29,46 @@
|
||||
#include "fdlist.h"
|
||||
#endif
|
||||
|
||||
extern time_t nextconnect, nextdnscheck, nextping;
|
||||
extern aClient *client, me, *local[];
|
||||
extern aChannel *channel;
|
||||
extern struct stats *ircstp;
|
||||
extern int bootopt;
|
||||
extern time_t TSoffset;
|
||||
/* for the new s_err.c */
|
||||
extern char *getreply(int);
|
||||
#define rpl_str(x) getreply(x)
|
||||
#define err_str(x) getreply(x)
|
||||
|
||||
extern TS nextconnect, nextdnscheck, nextping;
|
||||
extern aClient *client, me, *local[];
|
||||
extern aChannel *channel;
|
||||
extern struct stats *ircstp;
|
||||
extern int bootopt;
|
||||
extern TS TSoffset;
|
||||
/* Prototype added to force errors -- Barubary */
|
||||
extern time_t check_pings(time_t now, int check_kills);
|
||||
extern TS check_pings(TS now, int check_kills);
|
||||
extern TS TS2ts(char *s);
|
||||
/* newconf */
|
||||
/*
|
||||
* Configuration linked lists
|
||||
*/
|
||||
extern ConfigItem_me *conf_me;
|
||||
extern ConfigItem_class *conf_class;
|
||||
extern ConfigItem_admin *conf_admin;
|
||||
extern ConfigItem_admin *conf_admin_tail;
|
||||
extern ConfigItem_drpass *conf_drpass;
|
||||
extern ConfigItem_ulines *conf_ulines;
|
||||
extern ConfigItem_tld *conf_tld;
|
||||
extern ConfigItem_oper *conf_oper;
|
||||
extern ConfigItem_listen *conf_listen;
|
||||
extern ConfigItem_allow *conf_allow;
|
||||
extern ConfigItem_except *conf_except;
|
||||
extern ConfigItem_vhost *conf_vhost;
|
||||
extern ConfigItem_link *conf_link;
|
||||
|
||||
ConfigItem_class *Find_class(char *name);
|
||||
ConfigItem_oper *Find_oper(char *name);
|
||||
ConfigItem_listen *Find_listen(char *ipmask, int port);
|
||||
ConfigItem_ulines *Find_uline(char *host);
|
||||
|
||||
/* Remmed out for win32 compatibility.. as stated of 467leaf win32 port.. */
|
||||
|
||||
#ifdef _WIN32
|
||||
// extern void *hCio;
|
||||
#endif
|
||||
extern LoopStruct loop;
|
||||
|
||||
#ifdef SHOWCONNECTINFO
|
||||
|
||||
@@ -61,280 +87,291 @@ extern time_t check_pings(time_t now, int check_kills);
|
||||
#define BREPORT_FAIL_ID "NOTICE AUTH :*** No ident response; username prefixed with ~\r\n"
|
||||
|
||||
extern char REPORT_DO_DNS[128], REPORT_FIN_DNS[128], REPORT_FIN_DNSC[128],
|
||||
REPORT_FAIL_DNS[128], REPORT_DO_ID[128], REPORT_FIN_ID[128],
|
||||
REPORT_FAIL_ID[128];
|
||||
REPORT_FAIL_DNS[128], REPORT_DO_ID[128], REPORT_FIN_ID[128],
|
||||
REPORT_FAIL_ID[128];
|
||||
#ifdef SOCKSPORT
|
||||
extern char REPORT_DO_SOCKS[128], REPORT_GOOD_SOCKS[128],
|
||||
REPORT_NO_SOCKS[128];
|
||||
extern char REPORT_DO_SOCKS[128], REPORT_GOOD_SOCKS[128], REPORT_NO_SOCKS[128];
|
||||
#endif
|
||||
|
||||
extern int R_do_dns, R_fin_dns, R_fin_dnsc, R_fail_dns,
|
||||
R_do_id, R_fin_id, R_fail_id;
|
||||
R_do_id, R_fin_id, R_fail_id;
|
||||
#ifdef SOCKSPORT
|
||||
extern int R_do_socks,
|
||||
R_good_socks, R_no_socks;
|
||||
extern int R_do_socks, R_good_socks, R_no_socks;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
extern aChannel *find_channel PROTO((char *, aChannel *));
|
||||
extern void remove_user_from_channel PROTO((aClient *, aChannel *));
|
||||
extern aChannel *find_channel PROTO((char *, aChannel *));
|
||||
extern void remove_user_from_channel PROTO((aClient *, aChannel *));
|
||||
extern char *base64enc PROTO((long));
|
||||
extern long base64dec PROTO((char *));
|
||||
extern void add_server_to_table PROTO((aClient *));
|
||||
extern void remove_server_from_tabel PROTO((aClient *));
|
||||
|
||||
/* for services */
|
||||
extern void del_invite PROTO((aClient *, aChannel *));
|
||||
extern int del_silence PROTO((aClient *, char *));
|
||||
extern void send_user_joins PROTO((aClient *, aClient *));
|
||||
extern void clean_channelname PROTO((char *));
|
||||
extern int do_nick_name PROTO((char *));
|
||||
extern int can_send PROTO((aClient *, aChannel *, char *));
|
||||
extern int is_chan_op PROTO((aClient *, aChannel *));
|
||||
extern int is_zombie PROTO((aClient *, aChannel *));
|
||||
extern int has_voice PROTO((aClient *, aChannel *));
|
||||
extern int is_chanowner PROTO((aClient *, aChannel *));
|
||||
extern int count_channels PROTO((aClient *));
|
||||
extern Ban *is_banned PROTO((aClient *, aClient *, aChannel *));
|
||||
extern int parse_help PROTO((aClient *, char *, char *));
|
||||
extern void del_invite PROTO((aClient *, aChannel *));
|
||||
extern int del_silence PROTO((aClient *, char *));
|
||||
extern void send_user_joins PROTO((aClient *, aClient *));
|
||||
extern void clean_channelname PROTO((char *));
|
||||
extern int do_nick_name PROTO((char *));
|
||||
extern int can_send PROTO((aClient *, aChannel *, char *));
|
||||
extern int is_chan_op PROTO((aClient *, aChannel *));
|
||||
extern int has_voice PROTO((aClient *, aChannel *));
|
||||
extern int is_chanowner PROTO((aClient *, aChannel *));
|
||||
extern Ban *is_banned PROTO((aClient *, aClient *, aChannel *));
|
||||
extern int parse_help PROTO((aClient *, char *, char *));
|
||||
|
||||
extern void ircd_log PROTO((char *, ...));
|
||||
extern aClient *find_client PROTO((char *, aClient *));
|
||||
extern aClient *find_name PROTO((char *, aClient *));
|
||||
extern aClient *find_nickserv PROTO((char *, aClient *));
|
||||
extern aClient *find_person PROTO((char *, aClient *));
|
||||
extern aClient *find_server PROTO((char *, aClient *));
|
||||
extern aClient *find_service PROTO((char *, aClient *));
|
||||
extern void ircd_log PROTO((char *, ...));
|
||||
extern aClient *find_client PROTO((char *, aClient *));
|
||||
extern aClient *find_name PROTO((char *, aClient *));
|
||||
extern aClient *find_nickserv PROTO((char *, aClient *));
|
||||
extern aClient *find_person PROTO((char *, aClient *));
|
||||
extern aClient *find_server PROTO((char *, aClient *));
|
||||
extern aClient *find_server_quickx PROTO((char *, aClient *));
|
||||
extern aClient *find_service PROTO((char *, aClient *));
|
||||
#define find_server_quick(x) find_server_quickx(x, NULL)
|
||||
extern char *find_or_add PROTO((char *));
|
||||
extern int attach_conf PROTO((aClient *, aConfItem *));
|
||||
extern aConfItem *attach_confs PROTO((aClient *, char *, int));
|
||||
extern aConfItem *attach_confs_host PROTO((aClient *, char *, int));
|
||||
extern int attach_Iline PROTO((aClient *, struct hostent *, char *));
|
||||
extern aConfItem *conf, *find_me PROTO(()), *find_admin PROTO(());
|
||||
extern aConfItem *count_cnlines PROTO((Link *));
|
||||
extern aSqlineItem *sqline;
|
||||
extern void det_confs_butmask PROTO((aClient *, int));
|
||||
extern int detach_conf PROTO((aClient *, aConfItem *));
|
||||
extern aSqlineItem *find_sqline_nick PROTO((char *));
|
||||
extern aSqlineItem *find_sqline_match PROTO((char *));
|
||||
extern aConfItem *det_confs_butone PROTO((aClient *, aConfItem *));
|
||||
extern char *find_diepass();
|
||||
extern char *find_restartpass();
|
||||
extern aConfItem *find_conf PROTO((Link *, char *, int));
|
||||
extern aConfItem *find_conf_exact PROTO((char *, char *, char *, int));
|
||||
extern aConfItem *find_conf_host PROTO((Link *, char *, int));
|
||||
extern aConfItem *find_conf_ip PROTO((Link *, char *, char *, int));
|
||||
extern aConfItem *find_conf_name PROTO((char *, int));
|
||||
extern aConfItem *find_temp_conf_entry PROTO((aConfItem *, u_int));
|
||||
extern aConfItem *find_conf_servern PROTO((char *));
|
||||
extern int find_kill PROTO((aClient *));
|
||||
extern char *find_zap PROTO((aClient *, int));
|
||||
extern int find_restrict PROTO((aClient *));
|
||||
extern int rehash PROTO((aClient *, aClient *, int));
|
||||
extern int initconf PROTO((int));
|
||||
extern void add_temp_conf();
|
||||
extern void inittoken PROTO(());
|
||||
extern void reset_help PROTO(());
|
||||
extern int find_exception(char *); /* hidden host */
|
||||
|
||||
extern int attach_conf PROTO((aClient *, aConfItem *));
|
||||
extern aConfItem *attach_confs PROTO((aClient*, char *, int));
|
||||
extern aConfItem *attach_confs_host PROTO((aClient*, char *, int));
|
||||
extern int attach_Iline PROTO((aClient *, struct hostent *, char *));
|
||||
extern aConfItem *conf, *find_me PROTO(()), *find_admin PROTO(());
|
||||
extern aConfItem *count_cnlines PROTO((Link *));
|
||||
extern aSqlineItem *sqline;
|
||||
extern void det_confs_butmask PROTO((aClient *, int));
|
||||
extern int detach_conf PROTO((aClient *, aConfItem *));
|
||||
extern aSqlineItem *find_sqline_nick PROTO((char *));
|
||||
extern aSqlineItem *find_sqline_match PROTO((char *));
|
||||
extern aConfItem *det_confs_butone PROTO((aClient *, aConfItem *));
|
||||
extern char *find_diepass();
|
||||
extern char *find_restartpass();
|
||||
extern aConfItem *find_conf PROTO((Link *, char*, int));
|
||||
extern aConfItem *find_conf_exact PROTO((char *, char *, char *, int));
|
||||
extern aConfItem *find_conf_host PROTO((Link *, char *, int));
|
||||
extern aConfItem *find_conf_ip PROTO((Link *, char *, char *, int));
|
||||
extern aConfItem *find_conf_name PROTO((char *, int));
|
||||
extern aConfItem *find_temp_conf_entry PROTO((aConfItem *, u_int));
|
||||
extern aConfItem *find_conf_servern PROTO((char *));
|
||||
extern int find_kill PROTO((aClient *));
|
||||
extern char *find_zap PROTO((aClient *, int));
|
||||
extern int find_restrict PROTO((aClient *));
|
||||
extern int rehash PROTO((aClient *, aClient *, int));
|
||||
extern int initconf PROTO((int));
|
||||
extern void add_temp_conf();
|
||||
extern void inittoken PROTO(());
|
||||
extern void reset_help PROTO(());
|
||||
extern int find_exception(char *); /* hidden host */
|
||||
|
||||
extern char *MyMalloc PROTO((int)), *MyRealloc PROTO((char *, int));
|
||||
extern char *debugmode, *configfile, *sbrk0;
|
||||
extern char *getfield PROTO((char *));
|
||||
extern void get_sockhost PROTO((aClient *, char *));
|
||||
extern char *rpl_str PROTO((int)), *err_str PROTO((int));
|
||||
extern char *strerror PROTO((int));
|
||||
extern int dgets PROTO((int, char *, int));
|
||||
extern char *inetntoa PROTO((char *));
|
||||
#ifndef DMALLOC
|
||||
extern char *MyMalloc PROTO((int)), *MyRealloc PROTO((char *, int));
|
||||
#endif
|
||||
extern char *debugmode, *configfile, *sbrk0;
|
||||
extern char *getfield PROTO((char *));
|
||||
extern void get_sockhost PROTO((aClient *, char *));
|
||||
extern char *strerror PROTO((int));
|
||||
extern int dgets PROTO((int, char *, int));
|
||||
extern char *inetntoa PROTO((char *));
|
||||
|
||||
#ifdef _WIN32
|
||||
extern int dbufalloc, dbufblocks, debuglevel;
|
||||
extern int dbufalloc, dbufblocks, debuglevel;
|
||||
#else
|
||||
extern int dbufalloc, dbufblocks, debuglevel, errno, h_errno;
|
||||
extern int dbufalloc, dbufblocks, debuglevel, errno, h_errno;
|
||||
#endif
|
||||
extern int highest_fd, debuglevel, portnum, debugtty, maxusersperchannel;
|
||||
extern int readcalls, udpfd, resfd;
|
||||
extern aClient *add_connection PROTO((aClient *, int));
|
||||
extern int add_listener PROTO((aConfItem *));
|
||||
extern void add_local_domain PROTO((char *, int));
|
||||
extern int check_client PROTO((aClient *));
|
||||
extern int check_server PROTO((aClient *, struct hostent *, \
|
||||
aConfItem *, aConfItem *, int));
|
||||
extern int check_server_init PROTO((aClient *));
|
||||
extern void close_connection PROTO((aClient *));
|
||||
extern void close_listeners PROTO(());
|
||||
extern int connect_server PROTO((aConfItem *, aClient *, struct hostent *));
|
||||
extern void get_my_name PROTO((aClient *, char *, int));
|
||||
extern int get_sockerr PROTO((aClient *));
|
||||
extern int inetport PROTO((aClient *, char *, int));
|
||||
extern void init_sys PROTO(());
|
||||
extern int highest_fd, debuglevel, portnum, debugtty, maxusersperchannel;
|
||||
extern int readcalls, udpfd, resfd;
|
||||
extern aClient *add_connection PROTO((aClient *, int));
|
||||
extern int add_listener PROTO((aConfItem *));
|
||||
extern void add_local_domain PROTO((char *, int));
|
||||
extern int check_client PROTO((aClient *));
|
||||
extern int check_server PROTO((aClient *, struct hostent *, aConfItem *,
|
||||
aConfItem *, int));
|
||||
extern int check_server_init PROTO((aClient *));
|
||||
extern void close_connection PROTO((aClient *));
|
||||
extern void close_listeners PROTO(());
|
||||
extern int connect_server PROTO((aConfItem *, aClient *, struct hostent *));
|
||||
extern void get_my_name PROTO((aClient *, char *, int));
|
||||
extern int get_sockerr PROTO((aClient *));
|
||||
extern int inetport PROTO((aClient *, char *, int));
|
||||
extern void init_sys PROTO(());
|
||||
|
||||
#ifdef NO_FDLIST
|
||||
extern int read_message PROTO((time_t));
|
||||
extern int read_message PROTO((TS));
|
||||
#else
|
||||
extern int read_message PROTO((time_t, fdlist *));
|
||||
extern int read_message PROTO((TS, fdlist *));
|
||||
#endif
|
||||
|
||||
extern void report_error PROTO((char *, aClient *));
|
||||
extern void set_non_blocking PROTO((int, aClient *));
|
||||
extern int setup_ping PROTO(());
|
||||
extern void summon PROTO((aClient *, char *, char *, char *));
|
||||
extern int unixport PROTO((aClient *, char *, int));
|
||||
extern int utmp_open PROTO(());
|
||||
extern int utmp_read PROTO((int, char *, char *, char *, int));
|
||||
extern int utmp_close PROTO((int));
|
||||
extern void report_error PROTO((char *, aClient *));
|
||||
extern void set_non_blocking PROTO((int, aClient *));
|
||||
extern int setup_ping PROTO(());
|
||||
|
||||
extern void start_auth PROTO((aClient *));
|
||||
extern void read_authports PROTO((aClient *));
|
||||
extern void send_authports PROTO((aClient *));
|
||||
extern void start_auth PROTO((aClient *));
|
||||
extern void read_authports PROTO((aClient *));
|
||||
extern void send_authports PROTO((aClient *));
|
||||
|
||||
#ifdef SOCKSPORT
|
||||
extern void init_socks PROTO((aClient *));
|
||||
extern void start_socks PROTO((aClient *));
|
||||
extern void send_socksquery PROTO((aClient *));
|
||||
extern void read_socks PROTO((aClient *));
|
||||
extern void init_socks PROTO((aClient *));
|
||||
extern void start_socks PROTO((aClient *));
|
||||
extern void send_socksquery PROTO((aClient *));
|
||||
extern void read_socks PROTO((aClient *));
|
||||
#endif
|
||||
|
||||
extern void restart PROTO((char *));
|
||||
extern void send_channel_modes PROTO((aClient *, aChannel *));
|
||||
extern void server_reboot PROTO((char *));
|
||||
extern void terminate PROTO(()), write_pidfile PROTO(());
|
||||
extern void restart PROTO((char *));
|
||||
extern void send_channel_modes PROTO((aClient *, aChannel *));
|
||||
extern void server_reboot PROTO((char *));
|
||||
extern void terminate PROTO(()), write_pidfile PROTO(());
|
||||
|
||||
extern int send_queued PROTO((aClient *));
|
||||
extern int send_queued PROTO((aClient *));
|
||||
/*VARARGS2*/
|
||||
// extern void sendto_one(char *, ...);
|
||||
// extern void sendto_one(char *, ...);
|
||||
/*VARARGS4*/
|
||||
/* i know this is naughty but :P --stskeeps */
|
||||
extern void sendto_channel_butone(aClient *, aClient *, aChannel *, char *, ...);
|
||||
extern void sendto_channelops_butone(aClient *, aClient *, aChannel *, char *, ...);
|
||||
extern void sendto_channelvoice_butone(aClient *, aClient *, aChannel *, char *, ...);
|
||||
extern void sendto_channel_butone(aClient *, aClient *, aChannel *, char *,
|
||||
...);
|
||||
extern void sendto_channelops_butone(aClient *, aClient *, aChannel *,
|
||||
char *, ...);
|
||||
extern void sendto_channelvoice_butone(aClient *, aClient *, aChannel *,
|
||||
char *, ...);
|
||||
/*VARARGS2*/
|
||||
extern void sendto_serv_butone(aClient *, char *, ...);
|
||||
extern void sendto_serv_butone(aClient *, char *, ...);
|
||||
/*VARARGS2*/
|
||||
extern void sendto_serv_butone_quit(aClient *, char *, ...);
|
||||
extern void sendto_serv_butone_sjoin(aClient *, char *, ...);
|
||||
extern void sendto_serv_sjoin(aClient *, char *, ...);
|
||||
extern void sendto_serv_butone_quit(aClient *, char *, ...);
|
||||
extern void sendto_serv_butone_sjoin(aClient *, char *, ...);
|
||||
extern void sendto_serv_sjoin(aClient *, char *, ...);
|
||||
/*VARARGS2*/
|
||||
|
||||
extern void sendto_common_channels(aClient *, char *, ...);
|
||||
extern void sendto_common_channels(aClient *, char *, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_channel_butserv(aChannel *, aClient *, char *, ...);
|
||||
extern void sendto_channel_butserv(aChannel *, aClient *, char *, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_match_servs(aChannel *, aClient *, char *, ...);
|
||||
extern void sendto_match_servs(aChannel *, aClient *, char *, ...);
|
||||
/*VARARGS5*/
|
||||
extern void sendto_match_butone(aClient *, aClient *, char *, int, char *pattern, ...);
|
||||
extern void sendto_match_butone(aClient *, aClient *, char *, int,
|
||||
char *pattern, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_all_butone(aClient *, aClient *, char *, ...);
|
||||
extern void sendto_all_butone(aClient *, aClient *, char *, ...);
|
||||
/*VARARGS1*/
|
||||
extern void sendto_ops(char *, ...);
|
||||
extern void sendto_ops(char *, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_ops_butone(aClient *, aClient *, char *, ...);
|
||||
extern void sendto_ops_butone(aClient *, aClient *, char *, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_ops_butme(aClient *, char *, ...);
|
||||
extern void sendto_ops_butme(aClient *, char *, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_prefix_one(aClient *, aClient *, const char *, ...);
|
||||
extern void sendto_prefix_one(aClient *, aClient *, const char *, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_failops_whoare_opers(char *, ...);
|
||||
extern void sendto_failops_whoare_opers(char *, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_failops(char *, ...);
|
||||
extern void sendto_failops(char *, ...);
|
||||
/*VARARGS3*/
|
||||
extern void sendto_opers(char *, ...);
|
||||
extern void sendto_opers(char *, ...);
|
||||
/*VARARGS?*/
|
||||
extern void sendto_umode(int, char *, ...);
|
||||
extern void sendto_conn_hcn(char *, ...);
|
||||
extern int writecalls, writeb[];
|
||||
extern int deliver_it PROTO((aClient *, char *, int));
|
||||
extern void sendto_umode(int, char *, ...);
|
||||
extern void sendto_conn_hcn(char *, ...);
|
||||
extern int writecalls, writeb[];
|
||||
extern int deliver_it PROTO((aClient *, char *, int));
|
||||
|
||||
extern int check_registered PROTO((aClient *));
|
||||
extern int check_registered_user PROTO((aClient *));
|
||||
extern char *get_client_name PROTO((aClient *, int));
|
||||
extern char *get_client_host PROTO((aClient *));
|
||||
extern char *my_name_for_link PROTO((char *, aConfItem *));
|
||||
extern char *myctime PROTO((time_t)), *date PROTO((time_t));
|
||||
extern int exit_client PROTO((aClient *, aClient *, aClient *, char *));
|
||||
extern void initstats PROTO(()), tstats PROTO((aClient *, char *));
|
||||
extern char *check_string PROTO((char *));
|
||||
extern char *make_nick_user_host PROTO((char *, char *, char *));
|
||||
extern int check_registered PROTO((aClient *));
|
||||
extern int check_registered_user PROTO((aClient *));
|
||||
extern char *get_client_name PROTO((aClient *, int));
|
||||
extern char *get_client_host PROTO((aClient *));
|
||||
extern char *my_name_for_link PROTO((char *, aConfItem *));
|
||||
extern char *myctime PROTO((TS)), *date PROTO((TS));
|
||||
extern int exit_client PROTO((aClient *, aClient *, aClient *, char *));
|
||||
extern void initstats PROTO(()), tstats PROTO((aClient *, char *));
|
||||
extern char *check_string PROTO((char *));
|
||||
extern char *make_nick_user_host PROTO((char *, char *, char *));
|
||||
|
||||
extern int parse PROTO((aClient *, char *, char *, struct Message *));
|
||||
extern int do_numeric PROTO((int, aClient *, aClient *, int, char **));
|
||||
extern int hunt_server PROTO((aClient *,aClient *,char *,int,int,char **));
|
||||
extern aClient *next_client PROTO((aClient *, char *));
|
||||
extern int m_umode PROTO((aClient *, aClient *, int, char **));
|
||||
extern int m_names PROTO((aClient *, aClient *, int, char **));
|
||||
extern int m_server_estab PROTO((aClient *));
|
||||
extern void send_umode PROTO((aClient *, aClient *, int, int, char *));
|
||||
extern void send_umode_out PROTO((aClient*, aClient *, int));
|
||||
extern int parse PROTO((aClient *, char *, char *, struct Message *));
|
||||
extern int do_numeric PROTO((int, aClient *, aClient *, int, char **));
|
||||
extern int hunt_server PROTO((aClient *, aClient *, char *, int, int, char **));
|
||||
extern aClient *next_client PROTO((aClient *, char *));
|
||||
extern int m_umode PROTO((aClient *, aClient *, int, char **));
|
||||
extern int m_names PROTO((aClient *, aClient *, int, char **));
|
||||
extern int m_server_estab PROTO((aClient *));
|
||||
extern void send_umode PROTO((aClient *, aClient *, long, long, char *));
|
||||
extern void send_umode_out PROTO((aClient *, aClient *, long));
|
||||
|
||||
extern void free_client PROTO((aClient *));
|
||||
extern void free_link PROTO((Link *));
|
||||
extern void free_ban PROTO((Ban *));
|
||||
extern void free_conf PROTO((aConfItem *));
|
||||
extern void free_class PROTO((aClass *));
|
||||
extern void free_user PROTO((anUser *, aClient *));
|
||||
extern int find_str_match_link PROTO((Link **, char *));
|
||||
extern void free_str_list PROTO ((Link *));
|
||||
extern Link *make_link PROTO(());
|
||||
extern Ban *make_ban PROTO(());
|
||||
extern anUser *make_user PROTO((aClient *));
|
||||
extern aSqlineItem *make_sqline PROTO(());
|
||||
extern aConfItem *make_conf PROTO(());
|
||||
extern aClass *make_class PROTO(());
|
||||
extern aServer *make_server PROTO(());
|
||||
extern aClient *make_client PROTO((aClient *, aClient *));
|
||||
extern Link *find_user_link PROTO((Link *, aClient *));
|
||||
extern Link *find_channel_link PROTO((Link *, aChannel *));
|
||||
extern char *pretty_mask PROTO((char *));
|
||||
extern void add_client_to_list PROTO((aClient *));
|
||||
extern void checklist PROTO(());
|
||||
extern void remove_client_from_list PROTO((aClient *));
|
||||
extern void initlists PROTO(());
|
||||
extern void free_client PROTO((aClient *));
|
||||
extern void free_link PROTO((Link *));
|
||||
extern void free_ban PROTO((Ban *));
|
||||
extern void free_conf PROTO((aConfItem *));
|
||||
extern void free_class PROTO((aClass *));
|
||||
extern void free_user PROTO((anUser *, aClient *));
|
||||
extern int find_str_match_link PROTO((Link *, char *));
|
||||
extern void free_str_list PROTO((Link *));
|
||||
extern Link *make_link PROTO(());
|
||||
extern Ban *make_ban PROTO(());
|
||||
extern anUser *make_user PROTO((aClient *));
|
||||
extern aSqlineItem *make_sqline PROTO(());
|
||||
extern aConfItem *make_conf PROTO(());
|
||||
extern aClass *make_class PROTO(());
|
||||
extern aServer *make_server PROTO(());
|
||||
extern aClient *make_client PROTO((aClient *, aClient *));
|
||||
extern Link *find_user_link PROTO((Link *, aClient *));
|
||||
extern Link *find_channel_link PROTO((Link *, aChannel *));
|
||||
extern char *pretty_mask PROTO((char *));
|
||||
extern void add_client_to_list PROTO((aClient *));
|
||||
extern void checklist PROTO(());
|
||||
extern void remove_client_from_list PROTO((aClient *));
|
||||
extern void initlists PROTO(());
|
||||
|
||||
extern void add_class PROTO((int, int, int, int, long));
|
||||
extern void fix_class PROTO((aConfItem *, aConfItem *));
|
||||
extern long get_sendq PROTO((aClient *));
|
||||
extern int get_con_freq PROTO((aClass *));
|
||||
extern int get_client_ping PROTO((aClient *));
|
||||
extern int get_client_class PROTO((aClient *));
|
||||
extern int get_conf_class PROTO((aConfItem *));
|
||||
extern void report_classes PROTO((aClient *));
|
||||
extern void add_class PROTO((int, int, int, int, long));
|
||||
extern void fix_class PROTO((aConfItem *, aConfItem *));
|
||||
extern long get_sendq PROTO((aClient *));
|
||||
extern int get_con_freq PROTO((aClass *));
|
||||
extern int get_client_ping PROTO((aClient *));
|
||||
extern int get_client_class PROTO((aClient *));
|
||||
extern int get_conf_class PROTO((aConfItem *));
|
||||
extern void report_classes PROTO((aClient *));
|
||||
|
||||
extern struct hostent *get_res PROTO((char *));
|
||||
extern struct hostent *gethost_byaddr PROTO((char *, Link *));
|
||||
extern struct hostent *gethost_byname PROTO((char *, Link *));
|
||||
extern void flush_cache PROTO(());
|
||||
extern int init_resolver PROTO((int));
|
||||
extern time_t timeout_query_list PROTO((time_t));
|
||||
extern time_t expire_cache PROTO((time_t));
|
||||
extern void del_queries PROTO((char *));
|
||||
extern struct hostent *get_res PROTO((char *));
|
||||
extern struct hostent *gethost_byaddr PROTO((char *, Link *));
|
||||
extern struct hostent *gethost_byname PROTO((char *, Link *));
|
||||
extern void flush_cache PROTO(());
|
||||
extern int init_resolver PROTO((int));
|
||||
extern TS timeout_query_list PROTO((TS));
|
||||
extern TS expire_cache PROTO((TS));
|
||||
extern void del_queries PROTO((char *));
|
||||
|
||||
extern void clear_channel_hash_table PROTO(());
|
||||
extern void clear_client_hash_table PROTO(());
|
||||
extern void clear_notify_hash_table PROTO(());
|
||||
extern int add_to_client_hash_table PROTO((char *, aClient *));
|
||||
extern int del_from_client_hash_table PROTO((char *, aClient *));
|
||||
extern int add_to_channel_hash_table PROTO((char *, aChannel *));
|
||||
extern int del_from_channel_hash_table PROTO((char *, aChannel *));
|
||||
extern int add_to_notify_hash_table PROTO((char *, aClient *));
|
||||
extern int del_from_notify_hash_table PROTO((char *, aClient *));
|
||||
extern int hash_check_notify PROTO((aClient *, int));
|
||||
extern int hash_del_notify_list PROTO((aClient *));
|
||||
extern void count_watch_memory PROTO((int *, u_long *));
|
||||
extern aNotify *hash_get_notify PROTO((char *));
|
||||
extern aChannel *hash_get_chan_bucket PROTO((int));
|
||||
extern aChannel *hash_find_channel PROTO((char *, aChannel *));
|
||||
extern aClient *hash_find_client PROTO((char *, aClient *));
|
||||
extern aClient *hash_find_nickserver PROTO((char *, aClient *));
|
||||
extern aClient *hash_find_server PROTO((char *, aClient *));
|
||||
extern void clear_channel_hash_table PROTO(());
|
||||
extern void clear_client_hash_table PROTO(());
|
||||
extern void clear_notify_hash_table PROTO(());
|
||||
extern int add_to_client_hash_table PROTO((char *, aClient *));
|
||||
extern int del_from_client_hash_table PROTO((char *, aClient *));
|
||||
extern int add_to_channel_hash_table PROTO((char *, aChannel *));
|
||||
extern int del_from_channel_hash_table PROTO((char *, aChannel *));
|
||||
extern int add_to_notify_hash_table PROTO((char *, aClient *));
|
||||
extern int del_from_notify_hash_table PROTO((char *, aClient *));
|
||||
extern int hash_check_notify PROTO((aClient *, int));
|
||||
extern int hash_del_notify_list PROTO((aClient *));
|
||||
extern void count_watch_memory PROTO((int *, u_long *));
|
||||
extern aNotify *hash_get_notify PROTO((char *));
|
||||
extern aChannel *hash_get_chan_bucket PROTO((int));
|
||||
extern aClient *hash_find_client PROTO((char *, aClient *));
|
||||
extern aClient *hash_find_nickserver PROTO((char *, aClient *));
|
||||
extern aClient *hash_find_server PROTO((char *, aClient *));
|
||||
extern char *find_by_aln PROTO((char *));
|
||||
extern char *convert2aln PROTO((int));
|
||||
extern int convertfromaln PROTO((char *));
|
||||
extern char *find_server_aln PROTO((char *));
|
||||
extern atime(char *xtime);
|
||||
|
||||
extern void add_history PROTO((aClient *));
|
||||
extern aClient *get_history PROTO((char *, time_t));
|
||||
extern void initwhowas PROTO(());
|
||||
extern void off_history PROTO((aClient *));
|
||||
|
||||
extern int dopacket PROTO((aClient *, char *, int));
|
||||
extern int dopacket PROTO((aClient *, char *, int));
|
||||
|
||||
/*VARARGS2*/
|
||||
extern void debug();
|
||||
extern void debug();
|
||||
#if defined(DEBUGMODE)
|
||||
extern void send_usage PROTO((aClient *, char *));
|
||||
extern void send_listinfo PROTO((aClient *, char *));
|
||||
extern void count_memory PROTO((aClient *, char *));
|
||||
extern void send_usage PROTO((aClient *, char *));
|
||||
extern void send_listinfo PROTO((aClient *, char *));
|
||||
extern void count_memory PROTO((aClient *, char *));
|
||||
#endif
|
||||
|
||||
#ifdef INET6
|
||||
extern char *inetntop(int af, const void *in, char *local_dummy,
|
||||
size_t the_size);
|
||||
#endif
|
||||
|
||||
char *crule_parse PROTO((char *));
|
||||
int crule_eval PROTO((char *));
|
||||
void crule_free PROTO((char **));
|
||||
|
||||
#define HASH_CHECK BASE_VERSION
|
||||
|
||||
+39
-21
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/hash.h
|
||||
* 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
|
||||
@@ -22,27 +22,45 @@
|
||||
#ifndef __hash_include__
|
||||
#define __hash_include__
|
||||
|
||||
/* Ditch the stats if not running in debugmode */
|
||||
#ifdef DEBUGMODE
|
||||
typedef struct hashentry {
|
||||
int hits;
|
||||
int links;
|
||||
void *list;
|
||||
} aHashEntry;
|
||||
#else /* DEBUGMODE */
|
||||
typedef void *aHashEntry;
|
||||
#endif /* DEBUGMODE */
|
||||
typedef struct hashentry {
|
||||
int hits;
|
||||
int links;
|
||||
void *list;
|
||||
} aHashEntry;
|
||||
|
||||
#ifndef DEBUGMODE
|
||||
#define HASHSIZE 32003 /* prime number */
|
||||
#define CHANNELHASHSIZE 10007 /* prime number */
|
||||
#else
|
||||
extern int HASHSIZE;
|
||||
extern int CHANNELHASHSIZE;
|
||||
#endif
|
||||
/* Taner had BITS_PER_COL 4 BITS_PER_COL_MASK 0xF - Dianora */
|
||||
|
||||
#define NOTIFYHASHSIZE 10007 /* prime number */
|
||||
#define BITS_PER_COL 3
|
||||
#define BITS_PER_COL_MASK 0x7
|
||||
#define MAX_SUB (1<<BITS_PER_COL)
|
||||
|
||||
#define NullChn ((aChannel *)0)
|
||||
/* Client hash table
|
||||
* used in hash.c
|
||||
*/
|
||||
|
||||
#endif /* __hash_include__ */
|
||||
#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 NOTIFYHASHSIZE 10007 /* prime number */
|
||||
|
||||
#define NullChn ((aChannel *)0)
|
||||
|
||||
#define find_channel hash_find_channel
|
||||
#endif /* __hash_include__ */
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@
|
||||
*/
|
||||
|
||||
/* External definitions for functions in inet(3) */
|
||||
#include "config.h" /* for system definitions */
|
||||
#include "config.h" /* for system definitions */
|
||||
|
||||
#ifdef __alpha
|
||||
#define __u_l unsigned int
|
||||
@@ -35,7 +35,7 @@
|
||||
extern __u_l inet_addr(char *);
|
||||
extern char *inet_ntoa(char *);
|
||||
# endif
|
||||
extern __u_l inet_makeaddr(int , int);
|
||||
extern __u_l inet_makeaddr(int, int);
|
||||
extern __u_l inet_network(char *);
|
||||
extern __u_l inet_lnaof(struct in_addr);
|
||||
#else
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* sprintf_irc.h
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef IRCSPRINTF_H
|
||||
#define IRCSPRINTF_H
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
/*
|
||||
* Proto types
|
||||
*/
|
||||
|
||||
/* You do want it to work in debug mode yes ? --DrBin */
|
||||
|
||||
extern char *ircvsprintf(char *str, const char *format, va_list);
|
||||
extern char *ircsprintf(char *str, const char *format, ...);
|
||||
|
||||
extern const char atoi_tab[4000];
|
||||
|
||||
#endif
|
||||
+29
-30
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* IRC - Internet Relay Chat, include/license.h
|
||||
* Unreal Internet Relay Chat Daemon, include/license.h
|
||||
* Copyright (C) 1999 Carsten Munk
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -17,8 +17,7 @@
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* This file may not be removed from the IRCd package.
|
||||
* It will be a violation of copyright. This program must always
|
||||
* stay free and not be sold, or charged.
|
||||
* It will be a violation of copyright.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
@@ -29,32 +28,32 @@
|
||||
*/
|
||||
|
||||
static char *Statement[] = {
|
||||
" * This file may not be removed from the IRCd package.",
|
||||
" * It will be a violation of copyright. This program must always",
|
||||
" * stay free and not be charged for, being sold commercially or privately",
|
||||
" * Only charge may be for the transport medium like one CD-ROM, floppy",
|
||||
" * or other kinds.",
|
||||
0};
|
||||
|
||||
char *gnulicense[] = {
|
||||
" \2UnrealIRCd License\2",
|
||||
"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.",
|
||||
"",
|
||||
"To see the UnrealIRCd License, please point your browser",
|
||||
"at http://www.gnu.org/copyleft/gpl.html or look in the",
|
||||
"file LICENSE in the UnrealIRCd dist",
|
||||
0
|
||||
" * This file may not be removed from the IRCd package.",
|
||||
" * It will be a violation of copyright. This program must always",
|
||||
" * stay free and not be charged for, being sold commercially or privately",
|
||||
" * Only charge may be for the transport medium like one CD-ROM, floppy",
|
||||
" * or other kinds.",
|
||||
0
|
||||
};
|
||||
|
||||
char *gnulicense[] = {
|
||||
" \2UnrealIRCd License\2",
|
||||
"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.",
|
||||
"",
|
||||
"To see the UnrealIRCd License, please point your browser",
|
||||
"at http://www.gnu.org/copyleft/gpl.html or look in the",
|
||||
"file LICENSE in the UnrealIRCd dist",
|
||||
0
|
||||
};
|
||||
|
||||
+322
-286
@@ -1,5 +1,6 @@
|
||||
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/msg.h
|
||||
* Unreal Internet Relay Chat Daemon, include/msg.h
|
||||
* Copyright (C) 1990 Jarkko Oikarinen and
|
||||
* University of Oulu, Computing Center
|
||||
*
|
||||
@@ -45,205 +46,204 @@
|
||||
* knowing it, I'm considering that reserved, and TRACE/A is now 'b'.
|
||||
* The normal msgtab should probably process this as special. -Donwulff
|
||||
*/
|
||||
|
||||
|
||||
/* 12/05/1999 - I was wrong - I didnt see the token[2] in struct Message
|
||||
okie 60*60 commands more :P - Sowwy!!! -sts
|
||||
|
||||
*/
|
||||
|
||||
#define MSG_PRIVATE "PRIVMSG" /* PRIV */
|
||||
#define TOK_PRIVATE "!" /* 33 */
|
||||
#define MSG_WHO "WHO" /* WHO -> WHOC */
|
||||
#define TOK_WHO "\"" /* 34 */
|
||||
#define MSG_WHOIS "WHOIS" /* WHOI */
|
||||
#define TOK_WHOIS "#" /* 35 */
|
||||
#define TOK_PRIVATE "!" /* 33 */
|
||||
#define MSG_WHO "WHO" /* WHO -> WHOC */
|
||||
#define TOK_WHO "\"" /* 34 */
|
||||
#define MSG_WHOIS "WHOIS" /* WHOI */
|
||||
#define TOK_WHOIS "#" /* 35 */
|
||||
#define MSG_WHOWAS "WHOWAS" /* WHOW */
|
||||
#define TOK_WHOWAS "$" /* 36 */
|
||||
#define MSG_USER "USER" /* USER */
|
||||
#define TOK_USER "%" /* 37 */
|
||||
#define MSG_NICK "NICK" /* NICK */
|
||||
#define TOK_NICK "&" /* 38 */
|
||||
#define TOK_WHOWAS "$" /* 36 */
|
||||
#define MSG_USER "USER" /* USER */
|
||||
#define TOK_USER "%" /* 37 */
|
||||
#define MSG_NICK "NICK" /* NICK */
|
||||
#define TOK_NICK "&" /* 38 */
|
||||
#define MSG_SERVER "SERVER" /* SERV */
|
||||
#define TOK_SERVER "'" /* 39 */
|
||||
#define MSG_LIST "LIST" /* LIST */
|
||||
#define TOK_LIST "(" /* 40 */
|
||||
#define MSG_TOPIC "TOPIC" /* TOPI */
|
||||
#define TOK_TOPIC ")" /* 41 */
|
||||
#define TOK_SERVER "'" /* 39 */
|
||||
#define MSG_LIST "LIST" /* LIST */
|
||||
#define TOK_LIST "(" /* 40 */
|
||||
#define MSG_TOPIC "TOPIC" /* TOPI */
|
||||
#define TOK_TOPIC ")" /* 41 */
|
||||
#define MSG_INVITE "INVITE" /* INVI */
|
||||
#define TOK_INVITE "*" /* 42 */
|
||||
#define TOK_INVITE "*" /* 42 */
|
||||
#define MSG_VERSION "VERSION" /* VERS */
|
||||
#define TOK_VERSION "+" /* 43 */
|
||||
#define MSG_QUIT "QUIT" /* QUIT */
|
||||
#define TOK_QUIT "," /* 44 */
|
||||
#define MSG_SQUIT "SQUIT" /* SQUI */
|
||||
#define TOK_SQUIT "-" /* 45 */
|
||||
#define MSG_KILL "KILL" /* KILL */
|
||||
#define TOK_KILL "." /* 46 */
|
||||
#define MSG_INFO "INFO" /* INFO */
|
||||
#define TOK_INFO "/" /* 47 */
|
||||
#define MSG_LINKS "LINKS" /* LINK */
|
||||
#define TOK_LINKS "0" /* 48 */
|
||||
#define TOK_VERSION "+" /* 43 */
|
||||
#define MSG_QUIT "QUIT" /* QUIT */
|
||||
#define TOK_QUIT "," /* 44 */
|
||||
#define MSG_SQUIT "SQUIT" /* SQUI */
|
||||
#define TOK_SQUIT "-" /* 45 */
|
||||
#define MSG_KILL "KILL" /* KILL */
|
||||
#define TOK_KILL "." /* 46 */
|
||||
#define MSG_INFO "INFO" /* INFO */
|
||||
#define TOK_INFO "/" /* 47 */
|
||||
#define MSG_LINKS "LINKS" /* LINK */
|
||||
#define TOK_LINKS "0" /* 48 */
|
||||
#define MSG_SUMMON "SUMMON" /* SUMM */
|
||||
#define TOK_SUMMON "1" /* 49 */
|
||||
#define MSG_STATS "STATS" /* STAT */
|
||||
#define TOK_STATS "2" /* 50 */
|
||||
#define MSG_USERS "USERS" /* USER -> USRS */
|
||||
#define TOK_USERS "3" /* 51 */
|
||||
#define MSG_HELP "HELP" /* HELP */
|
||||
#define TOK_SUMMON "1" /* 49 */
|
||||
#define MSG_STATS "STATS" /* STAT */
|
||||
#define TOK_STATS "2" /* 50 */
|
||||
#define MSG_USERS "USERS" /* USER -> USRS */
|
||||
#define TOK_USERS "3" /* 51 */
|
||||
#define MSG_HELP "HELP" /* HELP */
|
||||
#define MSG_HELPOP "HELPOP" /* HELP */
|
||||
#define MSG_IRCDHELP "IRCDHELP" /* HELP */
|
||||
#define TOK_HELP "4" /* 52 */
|
||||
#define MSG_ERROR "ERROR" /* ERRO */
|
||||
#define TOK_ERROR "5" /* 53 */
|
||||
#define MSG_AWAY "AWAY" /* AWAY */
|
||||
#define TOK_AWAY "6" /* 54 */
|
||||
#define TOK_HELP "4" /* 52 */
|
||||
#define MSG_ERROR "ERROR" /* ERRO */
|
||||
#define TOK_ERROR "5" /* 53 */
|
||||
#define MSG_AWAY "AWAY" /* AWAY */
|
||||
#define TOK_AWAY "6" /* 54 */
|
||||
#define MSG_CONNECT "CONNECT" /* CONN */
|
||||
#define TOK_CONNECT "7" /* 55 */
|
||||
#define MSG_PING "PING" /* PING */
|
||||
#define TOK_PING "8" /* 56 */
|
||||
#define MSG_PONG "PONG" /* PONG */
|
||||
#define TOK_PONG "9" /* 57 */
|
||||
#define MSG_OPER "OPER" /* OPER */
|
||||
#define TOK_OPER ";" /* 59 */
|
||||
#define MSG_PASS "PASS" /* PASS */
|
||||
#define TOK_PASS "<" /* 60 */
|
||||
#define TOK_CONNECT "7" /* 55 */
|
||||
#define MSG_PING "PING" /* PING */
|
||||
#define TOK_PING "8" /* 56 */
|
||||
#define MSG_PONG "PONG" /* PONG */
|
||||
#define TOK_PONG "9" /* 57 */
|
||||
#define MSG_OPER "OPER" /* OPER */
|
||||
#define TOK_OPER ";" /* 59 */
|
||||
#define MSG_PASS "PASS" /* PASS */
|
||||
#define TOK_PASS "<" /* 60 */
|
||||
#define MSG_WALLOPS "WALLOPS" /* WALL */
|
||||
#define TOK_WALLOPS "=" /* 61 */
|
||||
#define MSG_TIME "TIME" /* TIME */
|
||||
#define TOK_TIME ">" /* 62 */
|
||||
#define MSG_NAMES "NAMES" /* NAME */
|
||||
#define TOK_NAMES "?" /* 63 */
|
||||
#define MSG_ADMIN "ADMIN" /* ADMI */
|
||||
#define TOK_ADMIN "@" /* 64 */
|
||||
#define TOK_WALLOPS "=" /* 61 */
|
||||
#define MSG_TIME "TIME" /* TIME */
|
||||
#define TOK_TIME ">" /* 62 */
|
||||
#define MSG_NAMES "NAMES" /* NAME */
|
||||
#define TOK_NAMES "?" /* 63 */
|
||||
#define MSG_ADMIN "ADMIN" /* ADMI */
|
||||
#define TOK_ADMIN "@" /* 64 */
|
||||
#define MSG_NOTICE "NOTICE" /* NOTI */
|
||||
#define TOK_NOTICE "B" /* 66 */
|
||||
#define MSG_JOIN "JOIN" /* JOIN */
|
||||
#define TOK_JOIN "C" /* 67 */
|
||||
#define MSG_PART "PART" /* PART */
|
||||
#define TOK_PART "D" /* 68 */
|
||||
#define TOK_NOTICE "B" /* 66 */
|
||||
#define MSG_JOIN "JOIN" /* JOIN */
|
||||
#define TOK_JOIN "C" /* 67 */
|
||||
#define MSG_PART "PART" /* PART */
|
||||
#define TOK_PART "D" /* 68 */
|
||||
#define MSG_LUSERS "LUSERS" /* LUSE */
|
||||
#define TOK_LUSERS "E" /* 69 */
|
||||
#define MSG_MOTD "MOTD" /* MOTD */
|
||||
#define TOK_MOTD "F" /* 70 */
|
||||
#define MSG_MODE "MODE" /* MODE */
|
||||
#define TOK_MODE "G" /* 71 */
|
||||
#define MSG_KICK "KICK" /* KICK */
|
||||
#define TOK_KICK "H" /* 72 */
|
||||
#define TOK_LUSERS "E" /* 69 */
|
||||
#define MSG_MOTD "MOTD" /* MOTD */
|
||||
#define TOK_MOTD "F" /* 70 */
|
||||
#define MSG_MODE "MODE" /* MODE */
|
||||
#define TOK_MODE "G" /* 71 */
|
||||
#define MSG_KICK "KICK" /* KICK */
|
||||
#define TOK_KICK "H" /* 72 */
|
||||
#define MSG_SERVICE "SERVICE" /* SERV -> SRVI */
|
||||
#define TOK_SERVICE "I" /* 73 */
|
||||
#define TOK_SERVICE "I" /* 73 */
|
||||
#define MSG_USERHOST "USERHOST" /* USER -> USRH */
|
||||
#define TOK_USERHOST "J" /* 74 */
|
||||
#define MSG_ISON "ISON" /* ISON */
|
||||
#define TOK_ISON "K" /* 75 */
|
||||
#define TOK_USERHOST "J" /* 74 */
|
||||
#define MSG_ISON "ISON" /* ISON */
|
||||
#define TOK_ISON "K" /* 75 */
|
||||
#define MSG_REHASH "REHASH" /* REHA */
|
||||
#define TOK_REHASH "O" /* 79 */
|
||||
#define TOK_REHASH "O" /* 79 */
|
||||
#define MSG_RESTART "RESTART" /* REST */
|
||||
#define TOK_RESTART "P" /* 80 */
|
||||
#define MSG_CLOSE "CLOSE" /* CLOS */
|
||||
#define TOK_CLOSE "Q" /* 81 */
|
||||
#define MSG_DIE "DIE" /* DIE */
|
||||
#define TOK_DIE "R" /* 82 */
|
||||
#define MSG_HASH "HASH" /* HASH */
|
||||
#define TOK_HASH "S" /* 83 */
|
||||
#define MSG_DNS "DNS" /* DNS -> DNSS */
|
||||
#define TOK_DNS "T" /* 84 */
|
||||
#define TOK_RESTART "P" /* 80 */
|
||||
#define MSG_CLOSE "CLOSE" /* CLOS */
|
||||
#define TOK_CLOSE "Q" /* 81 */
|
||||
#define MSG_DIE "DIE" /* DIE */
|
||||
#define TOK_DIE "R" /* 82 */
|
||||
#define MSG_HASH "HASH" /* HASH */
|
||||
#define TOK_HASH "S" /* 83 */
|
||||
#define MSG_DNS "DNS" /* DNS -> DNSS */
|
||||
#define TOK_DNS "T" /* 84 */
|
||||
#define MSG_SILENCE "SILENCE" /* SILE */
|
||||
#define TOK_SILENCE "U" /* 85 */
|
||||
#define MSG_AKILL "AKILL" /* AKILL */
|
||||
#define TOK_AKILL "V" /* 86 */
|
||||
#define MSG_KLINE "KLINE" /* KLINE */
|
||||
#define TOK_KLINE "W" /* 87 */
|
||||
#define MSG_UNKLINE "UNKLINE" /* UNKLINE */
|
||||
#define TOK_UNKLINE "X" /* 88 */
|
||||
#define TOK_SILENCE "U" /* 85 */
|
||||
#define MSG_AKILL "AKILL" /* AKILL */
|
||||
#define TOK_AKILL "V" /* 86 */
|
||||
#define MSG_KLINE "KLINE" /* KLINE */
|
||||
#define TOK_KLINE "W" /* 87 */
|
||||
#define MSG_UNKLINE "UNKLINE" /* UNKLINE */
|
||||
#define TOK_UNKLINE "X" /* 88 */
|
||||
#define MSG_RAKILL "RAKILL" /* RAKILL */
|
||||
#define TOK_RAKILL "Y" /* 89 */
|
||||
#define TOK_RAKILL "Y" /* 89 */
|
||||
#define MSG_GNOTICE "GNOTICE" /* GNOTICE */
|
||||
#define TOK_GNOTICE "Z" /* 90 */
|
||||
#define MSG_GOPER "GOPER" /* GOPER */
|
||||
#define TOK_GOPER "[" /* 91 */
|
||||
#define TOK_GNOTICE "Z" /* 90 */
|
||||
#define MSG_GOPER "GOPER" /* GOPER */
|
||||
#define TOK_GOPER "[" /* 91 */
|
||||
#define MSG_GLOBOPS "GLOBOPS" /* GLOBOPS */
|
||||
#define TOK_GLOBOPS "]" /* 93 */
|
||||
#define TOK_GLOBOPS "]" /* 93 */
|
||||
#define MSG_LOCOPS "LOCOPS" /* LOCOPS */
|
||||
#define TOK_LOCOPS "^" /* 94 */
|
||||
#define TOK_LOCOPS "^" /* 94 */
|
||||
#define MSG_PROTOCTL "PROTOCTL" /* PROTOCTL */
|
||||
#define TOK_PROTOCTL "_" /* 95 */
|
||||
#define MSG_WATCH "WATCH" /* WATCH */
|
||||
#define TOK_WATCH "`" /* 96 */
|
||||
#define MSG_TRACE "TRACE" /* TRAC */
|
||||
#define TOK_TRACE "b" /* 97 */
|
||||
#define TOK_PROTOCTL "_" /* 95 */
|
||||
#define MSG_WATCH "WATCH" /* WATCH */
|
||||
#define TOK_WATCH "`" /* 96 */
|
||||
#define MSG_TRACE "TRACE" /* TRAC */
|
||||
#define TOK_TRACE "b" /* 97 */
|
||||
#define MSG_SQLINE "SQLINE" /* SQLINE */
|
||||
#define TOK_SQLINE "c" /* 98 */
|
||||
#define TOK_SQLINE "c" /* 98 */
|
||||
#define MSG_UNSQLINE "UNSQLINE" /* UNSQLINE */
|
||||
#define TOK_UNSQLINE "d" /* 99 */
|
||||
#define TOK_UNSQLINE "d" /* 99 */
|
||||
#define MSG_SVSNICK "SVSNICK" /* SVSNICK */
|
||||
#define TOK_SVSNICK "e" /* 100 */
|
||||
#define TOK_SVSNICK "e" /* 100 */
|
||||
#define MSG_SVSNOOP "SVSNOOP" /* SVSNOOP */
|
||||
#define TOK_SVSNOOP "f" /* 101 */
|
||||
#define TOK_SVSNOOP "f" /* 101 */
|
||||
#define MSG_IDENTIFY "IDENTIFY" /* IDENTIFY */
|
||||
#define TOK_IDENTIFY "g" /* 102 */
|
||||
#define TOK_IDENTIFY "g" /* 102 */
|
||||
#define MSG_SVSKILL "SVSKILL" /* SVSKILL */
|
||||
#define TOK_SVSKILL "h" /* 103 */
|
||||
#define TOK_SVSKILL "h" /* 103 */
|
||||
#define MSG_NICKSERV "NICKSERV" /* NICKSERV */
|
||||
#define MSG_NS "NS"
|
||||
#define TOK_NICKSERV "i" /* 104 */
|
||||
#define TOK_NICKSERV "i" /* 104 */
|
||||
#define MSG_CHANSERV "CHANSERV" /* CHANSERV */
|
||||
#define MSG_CS "CS"
|
||||
#define TOK_CHANSERV "j" /* 105 */
|
||||
#define TOK_CHANSERV "j" /* 105 */
|
||||
#define MSG_OPERSERV "OPERSERV" /* OPERSERV */
|
||||
#define MSG_OS "OS"
|
||||
#define TOK_OPERSERV "k" /* 106 */
|
||||
#define TOK_OPERSERV "k" /* 106 */
|
||||
#define MSG_MEMOSERV "MEMOSERV" /* MEMOSERV */
|
||||
#define MSG_MS "MS"
|
||||
#define TOK_MEMOSERV "l" /* 107 */
|
||||
#define TOK_MEMOSERV "l" /* 107 */
|
||||
#define MSG_SERVICES "SERVICES" /* SERVICES */
|
||||
#define TOK_SERVICES "m" /* 108 */
|
||||
#define TOK_SERVICES "m" /* 108 */
|
||||
#define MSG_SVSMODE "SVSMODE" /* SVSMODE */
|
||||
#define TOK_SVSMODE "n" /* 109 */
|
||||
#define TOK_SVSMODE "n" /* 109 */
|
||||
#define MSG_SAMODE "SAMODE" /* SAMODE */
|
||||
#define TOK_SAMODE "o" /* 110 */
|
||||
#define TOK_SAMODE "o" /* 110 */
|
||||
#define MSG_CHATOPS "CHATOPS" /* CHATOPS */
|
||||
#define TOK_CHATOPS "p" /* 111 */
|
||||
#define MSG_ZLINE "ZLINE" /* ZLINE */
|
||||
#define TOK_ZLINE "q" /* 112 */
|
||||
#define MSG_UNZLINE "UNZLINE" /* UNZLINE */
|
||||
#define TOK_UNZLINE "r" /* 113 */
|
||||
#define MSG_HELPSERV "HELPSERV" /* HELPSERV */
|
||||
#define TOK_CHATOPS "p" /* 111 */
|
||||
#define MSG_ZLINE "ZLINE" /* ZLINE */
|
||||
#define TOK_ZLINE "q" /* 112 */
|
||||
#define MSG_UNZLINE "UNZLINE" /* UNZLINE */
|
||||
#define TOK_UNZLINE "r" /* 113 */
|
||||
#define MSG_HELPSERV "HELPSERV" /* HELPSERV */
|
||||
#define MSG_HS "HS"
|
||||
#define TOK_HELPSERV "s" /* 114 */
|
||||
#define MSG_RULES "RULES" /* RULES */
|
||||
#define TOK_RULES "t" /* 115 */
|
||||
#define MSG_MAP "MAP" /* MAP */
|
||||
#define TOK_MAP "u" /* 117 */
|
||||
#define MSG_SVS2MODE "SVS2MODE" /* SVS2MODE */
|
||||
#define TOK_SVS2MODE "v" /* 118 */
|
||||
#define MSG_DALINFO "DALINFO" /* dalinfo */
|
||||
#define TOK_DALINFO "w" /* 119 */
|
||||
#define MSG_ADMINCHAT "ADCHAT" /* Admin chat */
|
||||
#define TOK_ADMINCHAT "x" /* 120 */
|
||||
#define TOK_HELPSERV "s" /* 114 */
|
||||
#define MSG_RULES "RULES" /* RULES */
|
||||
#define TOK_RULES "t" /* 115 */
|
||||
#define MSG_MAP "MAP" /* MAP */
|
||||
#define TOK_MAP "u" /* 117 */
|
||||
#define MSG_SVS2MODE "SVS2MODE" /* SVS2MODE */
|
||||
#define TOK_SVS2MODE "v" /* 118 */
|
||||
#define MSG_DALINFO "DALINFO" /* dalinfo */
|
||||
#define TOK_DALINFO "w" /* 119 */
|
||||
#define MSG_ADMINCHAT "ADCHAT" /* Admin chat */
|
||||
#define TOK_ADMINCHAT "x" /* 120 */
|
||||
#define MSG_MKPASSWD "MKPASSWD" /* MKPASSWD */
|
||||
#define TOK_MKPASSWD "y" /* 121 */
|
||||
#define MSG_ADDLINE "ADDLINE" /* ADDLINE */
|
||||
#define TOK_ADDLINE "z" /* 122 */
|
||||
#define MSG_GLINE "GLINE" /* The awesome g-line */
|
||||
#define TOK_GLINE "}" /* 125 */
|
||||
#define TOK_MKPASSWD "y" /* 121 */
|
||||
#define MSG_ADDLINE "ADDLINE" /* ADDLINE */
|
||||
#define TOK_ADDLINE "z" /* 122 */
|
||||
#define MSG_GLINE "GLINE" /* The awesome g-line */
|
||||
#define TOK_GLINE "}" /* 125 */
|
||||
#define MSG_SJOIN "SJOIN"
|
||||
#define TOK_SJOIN "~"
|
||||
#define MSG_SETHOST "SETHOST" /* sethost */
|
||||
#define TOK_SETHOST "AA" /* 127 4ever !;) */
|
||||
#define MSG_TECHAT "TECHAT" /* techadmin chat */
|
||||
#define TOK_TECHAT "AB" /* questionmark? */
|
||||
#define MSG_NACHAT "NACHAT" /* netadmin chat */
|
||||
#define TOK_NACHAT "AC" /* *beep* */
|
||||
#define MSG_SETIDENT "SETIDENT" /* set ident */
|
||||
#define TOK_SETIDENT "AD" /* good old BASIC ;P */
|
||||
#define MSG_SETNAME "SETNAME" /* set GECOS */
|
||||
#define TOK_SETNAME "AE" /* its almost unreeaaall... */
|
||||
#define MSG_LAG "LAG" /* Lag detect */
|
||||
#define TOK_LAG "AF" /* a or ? */
|
||||
#define MSG_SDESC "SDESC" /* set description */
|
||||
#define MSG_SETHOST "SETHOST" /* sethost */
|
||||
#define TOK_SETHOST "AA" /* 127 4ever !;) */
|
||||
#define MSG_TECHAT "TECHAT" /* techadmin chat */
|
||||
#define TOK_TECHAT "AB" /* questionmark? */
|
||||
#define MSG_NACHAT "NACHAT" /* netadmin chat */
|
||||
#define TOK_NACHAT "AC" /* *beep* */
|
||||
#define MSG_SETIDENT "SETIDENT" /* set ident */
|
||||
#define TOK_SETIDENT "AD" /* good old BASIC ;P */
|
||||
#define MSG_SETNAME "SETNAME" /* set GECOS */
|
||||
#define TOK_SETNAME "AE" /* its almost unreeaaall... */
|
||||
#define MSG_LAG "LAG" /* Lag detect */
|
||||
#define TOK_LAG "AF" /* a or ? */
|
||||
#define MSG_SDESC "SDESC" /* set description */
|
||||
#define TOK_SDESC "AG"
|
||||
#define MSG_STATSERV "STATSERV" /* alias */
|
||||
#define TOK_STATSERV "AH"
|
||||
#define MSG_STATSERV "STATSERV" /* alias */
|
||||
#define TOK_STATSERV "AH"
|
||||
#define MSG_KNOCK "KNOCK"
|
||||
#define TOK_KNOCK "AI"
|
||||
#define MSG_CREDITS "CREDITS"
|
||||
@@ -266,8 +266,6 @@
|
||||
#define TOK_ADDOMOTD "AR"
|
||||
#define MSG_SVSMOTD "SVSMOTD"
|
||||
#define TOK_SVSMOTD "AS"
|
||||
#define MSG_DUSERS "DUSERS"
|
||||
#define TOK_DUSERS "AT"
|
||||
#define MSG_SMO "SMO"
|
||||
#define TOK_SMO "AU"
|
||||
#define MSG_OPERMOTD "OPERMOTD"
|
||||
@@ -297,11 +295,31 @@
|
||||
#define MSG_BOTMOTD "BOTMOTD"
|
||||
#define TOK_BOTMOTD "BF"
|
||||
#define MSG_REMGLINE "REMGLINE" /* remove g-line */
|
||||
#define TOK_REMGLINE "BG"
|
||||
#define TOK_REMGLINE "BG"
|
||||
#define MSG_HTM "HTM"
|
||||
#define TOK_HTM "BH"
|
||||
#define MAXPARA 15
|
||||
#define MSG_UMODE2 "UMODE2"
|
||||
#define TOK_UMODE2 "|"
|
||||
#define MSG_DCCDENY "DCCDENY"
|
||||
#define TOK_DCCDENY "BI"
|
||||
#define MSG_UNDCCDENY "UNDCCDENY"
|
||||
#define TOK_UNDCCDENY "BJ"
|
||||
#define MSG_CHGNAME "CHGNAME"
|
||||
#define MSG_SVSNAME "SVSNAME"
|
||||
#define TOK_CHGNAME "BK"
|
||||
#define MSG_SHUN "SHUN"
|
||||
#define TOK_SHUN "BL"
|
||||
#define MSG_NEWJOIN "NEWJOIN" /* For CR Java Chat */
|
||||
#define MSG_POST "POST"
|
||||
#define TOK_POST "BN"
|
||||
#define MSG_INFOSERV "INFOSERV"
|
||||
#define MSG_IS "IS"
|
||||
#define TOK_INFOSERV "BO"
|
||||
|
||||
#define MSG_BOTSERV "BOTSERV"
|
||||
#define TOK_BOTSERV "BS"
|
||||
|
||||
#define MAXPARA 15
|
||||
|
||||
extern int m_private(), m_topic(), m_join(), m_part(), m_mode(), m_svsmode();
|
||||
extern int m_ping(), m_pong(), m_wallops(), m_kick(), m_svsnick();
|
||||
@@ -309,12 +327,14 @@ extern int m_nick(), m_error(), m_notice(), m_samode(), m_svsnoop();
|
||||
extern int m_invite(), m_quit(), m_kill(), m_svskill(), m_identify();
|
||||
extern int m_akill(), m_kline(), m_unkline(), m_rakill(), m_sqline();
|
||||
extern int m_zline(), m_unzline();
|
||||
extern int m_gnotice(), m_goper(), m_globops(), m_locops(), m_unsqline(), m_chatops();
|
||||
extern int m_gnotice(), m_goper(), m_globops(), m_locops(), m_unsqline(),
|
||||
m_chatops();
|
||||
extern int m_protoctl();
|
||||
extern int m_motd(), m_who(), m_whois(), m_user(), m_list();
|
||||
extern int m_server(), m_info(), m_links(), m_summon(), m_stats();
|
||||
extern int m_users(), m_version(), m_help();
|
||||
extern int m_nickserv(), m_operserv(), m_chanserv(), m_memoserv(), m_helpserv(), m_services(), m_identify();
|
||||
extern int m_nickserv(), m_operserv(), m_chanserv(), m_memoserv();
|
||||
extern int m_infoserv(), m_helpserv(), m_botserv(), m_services(), m_identify();
|
||||
extern int m_statserv();
|
||||
extern int m_squit(), m_away(), m_connect();
|
||||
extern int m_oper(), m_pass(), m_trace();
|
||||
@@ -326,147 +346,163 @@ extern int m_service(), m_servset(), m_servlist(), m_squery();
|
||||
extern int m_rehash(), m_restart(), m_die(), m_dns(), m_hash();
|
||||
/*extern int m_noshortn(),m_noshortc(),m_noshortm(),m_noshorto(),m_noshorth();*/
|
||||
|
||||
extern int m_gline(), m_remgline(), m_map(), m_svs2mode(), m_admins(), m_dalinfo();
|
||||
extern int m_gline(), m_remgline(), m_map(), m_svs2mode(), m_admins(),
|
||||
m_dalinfo();
|
||||
extern int m_addline(), m_rules(), m_mkpasswd();
|
||||
extern int m_sethost(), m_nachat(), m_techat(), m_setident(), m_setname();
|
||||
extern int m_lag(), m_sdesc(), m_knock(), m_credits();
|
||||
extern int m_license(), m_chghost(), m_rping(), m_rpong();
|
||||
extern int m_netinfo(), m_sendumode(), m_addmotd(), m_addomotd();
|
||||
extern int m_svsmotd(), m_dusers(), m_opermotd(), m_tsctl();
|
||||
extern int m_svsmotd(), m_opermotd(), m_tsctl();
|
||||
extern int m_svsjoin(), m_sajoin(), m_svspart(), m_sapart();
|
||||
extern int m_chgident(), m_swhois(), m_svso(), m_svsfline();
|
||||
extern int m_tkl(), m_vhost(), m_botmotd(), m_sjoin(), m_htm();
|
||||
extern int m_umode2(), m_dccdeny(), m_undccdeny();
|
||||
extern int m_chgname(), m_shun(), m_post();
|
||||
#ifdef GUEST
|
||||
extern int m_guest();
|
||||
#endif
|
||||
|
||||
#ifdef MSGTAB
|
||||
struct Message *msgmap[256];
|
||||
struct Message msgtab[] = {
|
||||
{ MSG_PRIVATE, m_private, 0, MAXPARA, 1, TOK_PRIVATE, 0L },
|
||||
{ MSG_NICK, m_nick, 0, MAXPARA, 1, TOK_NICK, 0L },
|
||||
{ MSG_NOTICE, m_notice, 0, MAXPARA, 1, TOK_NOTICE, 0L },
|
||||
{ MSG_JOIN, m_join, 0, MAXPARA, 1, TOK_JOIN, 0L },
|
||||
{ MSG_MODE, m_mode, 0, MAXPARA, 1, TOK_MODE, 0L },
|
||||
{ MSG_QUIT, m_quit, 0, MAXPARA, 1, TOK_QUIT, 0L },
|
||||
{ MSG_PART, m_part, 0, MAXPARA, 1, TOK_PART, 0L },
|
||||
{ MSG_TOPIC, m_topic, 0, MAXPARA, 1, TOK_TOPIC, 0L },
|
||||
{ MSG_INVITE, m_invite, 0, MAXPARA, 1, TOK_INVITE, 0L },
|
||||
{ MSG_KICK, m_kick, 0, MAXPARA, 1, TOK_KICK, 0L },
|
||||
{ MSG_WALLOPS, m_wallops, 0, 1, 1, TOK_WALLOPS, 0L },
|
||||
{ MSG_PING, m_ping, 0, MAXPARA, 1, TOK_PING, 0L },
|
||||
{ MSG_PONG, m_pong, 0, MAXPARA, 1, TOK_PONG, 0L },
|
||||
{ MSG_ERROR, m_error, 0, MAXPARA, 1, TOK_ERROR, 0L },
|
||||
{ MSG_KILL, m_kill, 0, MAXPARA, 1, TOK_KILL, 0L },
|
||||
{ MSG_PROTOCTL,m_protoctl, 0, MAXPARA, 1, TOK_PROTOCTL,0L },
|
||||
{ MSG_USER, m_user, 0, MAXPARA, 1, TOK_USER, 0L },
|
||||
{ MSG_AWAY, m_away, 0, MAXPARA, 1, TOK_AWAY, 0L },
|
||||
{ MSG_ISON, m_ison, 0, 1, 1, TOK_ISON, 0L },
|
||||
{ MSG_WATCH, m_watch, 0, 1, 1, TOK_WATCH, 0L },
|
||||
{ MSG_SERVER, m_server, 0, MAXPARA, 1, TOK_SERVER, 0L },
|
||||
{ MSG_SQUIT, m_squit, 0, MAXPARA, 1, TOK_SQUIT, 0L },
|
||||
{ MSG_WHOIS, m_whois, 0, MAXPARA, 1, TOK_WHOIS, 0L },
|
||||
{ MSG_WHO, m_who, 0, MAXPARA, 1, TOK_WHO, 0L },
|
||||
{ MSG_WHOWAS, m_whowas, 0, MAXPARA, 1, TOK_WHOWAS, 0L },
|
||||
{ MSG_LIST, m_list, 0, MAXPARA, 1, TOK_LIST, 0L },
|
||||
{ MSG_NAMES, m_names, 0, MAXPARA, 1, TOK_NAMES, 0L },
|
||||
{ MSG_USERHOST,m_userhost, 0, 1, 1, TOK_USERHOST,0L },
|
||||
{ MSG_TRACE, m_trace, 0, MAXPARA, 1, TOK_TRACE, 0L },
|
||||
{ MSG_PASS, m_pass, 0, MAXPARA, 1, TOK_PASS, 0L },
|
||||
{ MSG_LUSERS, m_lusers, 0, MAXPARA, 1, TOK_LUSERS, 0L },
|
||||
{ MSG_TIME, m_time, 0, MAXPARA, 1, TOK_TIME, 0L },
|
||||
{ MSG_OPER, m_oper, 0, MAXPARA, 1, TOK_OPER, 0L },
|
||||
{ MSG_CONNECT, m_connect, 0, MAXPARA, 1, TOK_CONNECT, 0L },
|
||||
{ MSG_VERSION, m_version, 0, MAXPARA, 1, TOK_VERSION, 0L },
|
||||
{ MSG_STATS, m_stats, 0, MAXPARA, 1, TOK_STATS, 0L },
|
||||
{ MSG_LINKS, m_links, 0, MAXPARA, 1, TOK_LINKS, 0L },
|
||||
{ MSG_ADMIN, m_admin, 0, MAXPARA, 1, TOK_ADMIN, 0L },
|
||||
{ MSG_USERS, m_users, 0, MAXPARA, 1, TOK_USERS, 0L },
|
||||
{ MSG_SVSMODE, m_svsmode, 0, MAXPARA, 1, TOK_SVSMODE, 0L },
|
||||
{ MSG_SAMODE, m_samode, 0, MAXPARA, 1, TOK_SAMODE, 0L },
|
||||
{ MSG_SVSKILL, m_svskill, 0, MAXPARA, 1, TOK_SVSKILL, 0L },
|
||||
{ MSG_SVSNICK, m_svsnick, 0, MAXPARA, 1, TOK_SVSNICK, 0L },
|
||||
{ MSG_SVSNOOP, m_svsnoop, 0, MAXPARA, 1, TOK_SVSNOOP, 0L },
|
||||
{ MSG_CHANSERV,m_chanserv, 0, 1, 1, TOK_CHANSERV,0L },
|
||||
/* { MSG_CS, m_noshortc, 0, 1, 1, TOK_CHANSERV,0L }, */
|
||||
{ MSG_NICKSERV,m_nickserv, 0, 1, 1, TOK_NICKSERV,0L },
|
||||
/* { MSG_NS, m_noshortn, 0, 1, 1, TOK_NICKSERV,0L }, */
|
||||
{ MSG_OPERSERV,m_operserv, 0, 1, 1, TOK_OPERSERV,0L },
|
||||
/* { MSG_OS, m_noshorto, 0, 1, 1, TOK_OPERSERV,0L }, */
|
||||
{ MSG_MEMOSERV,m_memoserv, 0, 1, 1, TOK_MEMOSERV,0L },
|
||||
/*{ MSG_MS, m_noshortm, 0, 1, 1, TOK_MEMOSERV,0L }, */
|
||||
{ MSG_HELPSERV,m_helpserv, 0, 1, 1, TOK_HELPSERV,0L },
|
||||
/* { MSG_HS, m_noshorth, 0, 1, 1, TOK_HELPSERV,0L }, */
|
||||
{ MSG_SERVICES,m_services, 0, 1, 1, TOK_SERVICES,0L },
|
||||
{ MSG_IDENTIFY,m_identify, 0, 1, 1, TOK_IDENTIFY,0L },
|
||||
{ MSG_SUMMON, m_summon, 0, MAXPARA, 1, TOK_SUMMON, 0L },
|
||||
{ MSG_HELP, m_help, 0, 1, 1, TOK_HELP, 0L },
|
||||
{ MSG_HELPOP, m_help, 0, 1, 1, TOK_HELP, 0L },
|
||||
{ MSG_INFO, m_info, 0, MAXPARA, 1, TOK_INFO, 0L },
|
||||
{ MSG_MOTD, m_motd, 0, MAXPARA, 1, TOK_MOTD, 0L },
|
||||
{ MSG_CLOSE, m_close, 0, MAXPARA, 1, TOK_CLOSE, 0L },
|
||||
{ MSG_SILENCE, m_silence, 0, MAXPARA, 1, TOK_SILENCE, 0L },
|
||||
{ MSG_AKILL, m_akill, 0, MAXPARA, 1, TOK_AKILL, 0L },
|
||||
{ MSG_SQLINE, m_sqline, 0, MAXPARA, 1, TOK_SQLINE, 0L },
|
||||
{ MSG_UNSQLINE,m_unsqline, 0, MAXPARA, 1, TOK_UNSQLINE,0L },
|
||||
{ MSG_KLINE, m_kline, 0, MAXPARA, 1, TOK_KLINE, 0L },
|
||||
{ MSG_UNKLINE, m_unkline, 0, MAXPARA, 1, TOK_UNKLINE, 0L },
|
||||
{ MSG_ZLINE, m_zline, 0, MAXPARA, 1, TOK_ZLINE, 0L },
|
||||
{ MSG_UNZLINE, m_unzline, 0, MAXPARA, 1, TOK_UNZLINE, 0L },
|
||||
{ MSG_RAKILL, m_rakill, 0, MAXPARA, 1, TOK_RAKILL, 0L },
|
||||
{ MSG_GNOTICE, m_gnotice, 0, MAXPARA, 1, TOK_GNOTICE, 0L },
|
||||
{ MSG_GOPER, m_goper, 0, MAXPARA, 1, TOK_GOPER, 0L },
|
||||
{ MSG_GLOBOPS, m_globops, 0, MAXPARA, 1, TOK_GLOBOPS, 0L },
|
||||
{ MSG_CHATOPS, m_chatops, 0, 1, 1, TOK_CHATOPS, 0L },
|
||||
{ MSG_LOCOPS, m_locops, 0, 1, 1, TOK_LOCOPS, 0L },
|
||||
{ MSG_HASH, m_hash, 0, MAXPARA, 1, TOK_HASH, 0L },
|
||||
{ MSG_DNS, m_dns, 0, MAXPARA, 1, TOK_DNS, 0L },
|
||||
{ MSG_REHASH, m_rehash, 0, MAXPARA, 1, TOK_REHASH, 0L },
|
||||
{ MSG_RESTART, m_restart, 0, MAXPARA, 1, TOK_RESTART, 0L },
|
||||
{ MSG_DIE, m_die, 0, MAXPARA, 1, TOK_DIE, 0L },
|
||||
{ MSG_RULES, m_rules, 0, MAXPARA, 1, TOK_RULES, 0L },
|
||||
{ MSG_MAP, m_map, 0, MAXPARA, 1, TOK_MAP, 0L },
|
||||
{ MSG_GLINE, m_gline, 0, MAXPARA, 1, TOK_GLINE, 0L },
|
||||
{ MSG_REMGLINE,m_remgline, 0, MAXPARA, 1, TOK_REMGLINE,0L },
|
||||
{ MSG_DALINFO, m_dalinfo, 0, MAXPARA, 1, TOK_DALINFO, 0L },
|
||||
{ MSG_SVS2MODE,m_svs2mode, 0, MAXPARA, 1, TOK_SVS2MODE,0L },
|
||||
{ MSG_MKPASSWD, m_mkpasswd, 0, MAXPARA, 1, TOK_MKPASSWD, 0L },
|
||||
{ MSG_ADDLINE, m_addline, 0, 1, 1, TOK_ADDLINE, 0L },
|
||||
{ MSG_ADMINCHAT, m_admins, 0, 1, 1, TOK_ADMINCHAT, 0L },
|
||||
{ MSG_SETHOST, m_sethost, 0, MAXPARA, 1, TOK_SETHOST, 0L },
|
||||
{ MSG_TECHAT, m_techat, 0, 1, 1, TOK_TECHAT, 0L },
|
||||
{ MSG_NACHAT, m_nachat, 0, 1, 1, TOK_NACHAT, 0L },
|
||||
{ MSG_SETIDENT, m_setident,0, MAXPARA, 1, TOK_SETIDENT, 0L },
|
||||
{ MSG_SETNAME, m_setname, 0, 1, 1, TOK_SETNAME, 0L },
|
||||
{ MSG_LAG, m_lag, 0, MAXPARA, 1, TOK_LAG, 0L },
|
||||
{ MSG_SDESC, m_sdesc, 0, 1, 1, TOK_SDESC, 0L },
|
||||
{ MSG_STATSERV,m_statserv, 0, 1, 1, TOK_STATSERV,0L },
|
||||
{ MSG_KNOCK, m_knock, 0, 2, 1, TOK_KNOCK, 0L },
|
||||
{ MSG_CREDITS, m_credits, 0, MAXPARA, 1, TOK_CREDITS, 0L },
|
||||
{ MSG_LICENSE, m_license, 0, MAXPARA, 1, TOK_LICENSE, 0L },
|
||||
{ MSG_CHGHOST, m_chghost, 0, MAXPARA, 1, TOK_CHGHOST, 0L },
|
||||
{ MSG_RPING, m_rping, 0, MAXPARA, 1, TOK_RPING, 0L },
|
||||
{ MSG_RPONG, m_rpong, 0, MAXPARA, 1, TOK_RPONG, 0L },
|
||||
{ MSG_NETINFO, m_netinfo, 0, MAXPARA, 1, TOK_NETINFO, 0L},
|
||||
{ MSG_SENDUMODE, m_sendumode, 0, MAXPARA, 1, TOK_SENDUMODE, 0L},
|
||||
{ MSG_SMO, m_sendumode, 0, MAXPARA, 1, TOK_SMO, 0L},
|
||||
{ MSG_ADDMOTD, m_addmotd, 0, 1, 1, TOK_ADDMOTD, 0L},
|
||||
{ MSG_ADDOMOTD, m_addomotd, 0, 1, 1, TOK_ADDOMOTD, 0L},
|
||||
{ MSG_SVSMOTD, m_svsmotd, 0, MAXPARA, 1, TOK_SVSMOTD, 0L},
|
||||
{ MSG_DUSERS, m_dusers, 0, MAXPARA, 1, TOK_DUSERS, 0L},
|
||||
{ MSG_OPERMOTD, m_opermotd, 0, MAXPARA, 1, TOK_OPERMOTD, 0L},
|
||||
{ MSG_TSCTL, m_tsctl, 0, MAXPARA, 1, TOK_TSCTL, 0L},
|
||||
{ MSG_SVSJOIN, m_svsjoin, 0, MAXPARA, 1, TOK_SVSJOIN, 0L},
|
||||
{ MSG_SAJOIN, m_sajoin, 0, MAXPARA, 1, TOK_SAJOIN,0L},
|
||||
{ MSG_SVSPART, m_svspart, 0, MAXPARA, 1, TOK_SVSPART, 0L},
|
||||
{ MSG_SAPART, m_sapart, 0, MAXPARA, 1, TOK_SAPART,0L},
|
||||
{ MSG_CHGIDENT, m_chgident,0, MAXPARA, 1, TOK_CHGIDENT,0L},
|
||||
{ MSG_SWHOIS, m_swhois, 0, MAXPARA, 1, TOK_SWHOIS, 0L},
|
||||
{ MSG_SVSO, m_svso, 0, MAXPARA, 1, TOK_SVSO, 0L},
|
||||
{ MSG_SVSFLINE, m_svsfline, 0, MAXPARA,1,TOK_SVSFLINE,0L},
|
||||
{ MSG_TKL, m_tkl, 0, MAXPARA,1,TOK_TKL,0L},
|
||||
{ MSG_VHOST, m_vhost, 0, MAXPARA,1,TOK_VHOST,0L},
|
||||
{ MSG_BOTMOTD, m_botmotd, 0, MAXPARA,1,TOK_BOTMOTD,0L},
|
||||
{ MSG_SJOIN, m_sjoin, 0, MAXPARA, 1, TOK_SJOIN,0L},
|
||||
{ MSG_HTM, m_htm, 0, MAXPARA, 1, TOK_HTM, 0L},
|
||||
{ (char *) 0, (int (*)()) 0 , 0, 0, 0, 0, 0L}
|
||||
{MSG_PRIVATE, m_private, 0, MAXPARA, TOK_PRIVATE, 0L},
|
||||
{MSG_NOTICE, m_notice, 0, MAXPARA, TOK_NOTICE, 0L},
|
||||
{MSG_MODE, m_mode, 0, MAXPARA, TOK_MODE, 0L},
|
||||
{MSG_NICK, m_nick, 0, MAXPARA, TOK_NICK, 0L},
|
||||
{MSG_JOIN, m_join, 0, MAXPARA, TOK_JOIN, 0L},
|
||||
{MSG_PING, m_ping, 0, MAXPARA, TOK_PING, 0L},
|
||||
{MSG_WHOIS, m_whois, 0, MAXPARA, TOK_WHOIS, 0L},
|
||||
{MSG_ISON, m_ison, 0, 1, TOK_ISON, 0L},
|
||||
{MSG_USER, m_user, 0, MAXPARA, TOK_USER, 0L},
|
||||
{MSG_PONG, m_pong, 0, MAXPARA, TOK_PONG, 0L},
|
||||
{MSG_PART, m_part, 0, MAXPARA, TOK_PART, 0L},
|
||||
{MSG_QUIT, m_quit, 0, MAXPARA, TOK_QUIT, 0L},
|
||||
{MSG_WATCH, m_watch, 0, 1, TOK_WATCH, 0L},
|
||||
{MSG_USERHOST, m_userhost, 0, 1, TOK_USERHOST, 0L},
|
||||
{MSG_SVSNICK, m_svsnick, 0, MAXPARA, TOK_SVSNICK, 0L},
|
||||
{MSG_SVSMODE, m_svsmode, 0, MAXPARA, TOK_SVSMODE, 0L},
|
||||
{MSG_LUSERS, m_lusers, 0, MAXPARA, TOK_LUSERS, 0L},
|
||||
{MSG_IDENTIFY, m_identify, 0, 1, TOK_IDENTIFY, 0L},
|
||||
{MSG_CHANSERV, m_chanserv, 0, 1, TOK_CHANSERV, 0L},
|
||||
{MSG_TOPIC, m_topic, 0, MAXPARA, TOK_TOPIC, 0L},
|
||||
{MSG_INVITE, m_invite, 0, MAXPARA, TOK_INVITE, 0L},
|
||||
{MSG_KICK, m_kick, 0, MAXPARA, TOK_KICK, 0L},
|
||||
{MSG_WALLOPS, m_wallops, 0, 1, TOK_WALLOPS, 0L},
|
||||
{MSG_ERROR, m_error, 0, MAXPARA, TOK_ERROR, 0L},
|
||||
{MSG_KILL, m_kill, 0, MAXPARA, TOK_KILL, 0L},
|
||||
{MSG_PROTOCTL, m_protoctl, 0, MAXPARA, TOK_PROTOCTL, 0L},
|
||||
{MSG_AWAY, m_away, 0, MAXPARA, TOK_AWAY, 0L},
|
||||
{MSG_SERVER, m_server, 0, MAXPARA, TOK_SERVER, 0L},
|
||||
{MSG_SQUIT, m_squit, 0, MAXPARA, TOK_SQUIT, 0L},
|
||||
{MSG_WHO, m_who, 0, MAXPARA, TOK_WHO, 0L},
|
||||
{MSG_WHOWAS, m_whowas, 0, MAXPARA, TOK_WHOWAS, 0L},
|
||||
{MSG_LIST, m_list, 0, MAXPARA, TOK_LIST, 0L},
|
||||
{MSG_NAMES, m_names, 0, MAXPARA, TOK_NAMES, 0L},
|
||||
{MSG_TRACE, m_trace, 0, MAXPARA, TOK_TRACE, 0L},
|
||||
{MSG_PASS, m_pass, 0, MAXPARA, TOK_PASS, 0L},
|
||||
{MSG_TIME, m_time, 0, MAXPARA, TOK_TIME, 0L},
|
||||
{MSG_OPER, m_oper, 0, MAXPARA, TOK_OPER, 0L},
|
||||
{MSG_CONNECT, m_connect, 0, MAXPARA, TOK_CONNECT, 0L},
|
||||
{MSG_VERSION, m_version, 0, MAXPARA, TOK_VERSION, 0L},
|
||||
{MSG_STATS, m_stats, 0, MAXPARA, TOK_STATS, 0L},
|
||||
{MSG_LINKS, m_links, 0, MAXPARA, TOK_LINKS, 0L},
|
||||
{MSG_ADMIN, m_admin, 0, MAXPARA, TOK_ADMIN, 0L},
|
||||
{MSG_SUMMON, m_summon, 0, 1, TOK_SUMMON, 0L},
|
||||
{MSG_USERS, m_users, 0, MAXPARA, TOK_USERS, 0L},
|
||||
{MSG_SAMODE, m_samode, 0, MAXPARA, TOK_SAMODE, 0L},
|
||||
{MSG_SVSKILL, m_svskill, 0, MAXPARA, TOK_SVSKILL, 0L},
|
||||
{MSG_SVSNOOP, m_svsnoop, 0, MAXPARA, TOK_SVSNOOP, 0L},
|
||||
{MSG_CS, m_chanserv, 0, 1, TOK_CHANSERV, 0L},
|
||||
{MSG_NICKSERV, m_nickserv, 0, 1, TOK_NICKSERV, 0L},
|
||||
{MSG_NS, m_nickserv, 0, 1, TOK_NICKSERV, 0L},
|
||||
{MSG_INFOSERV, m_infoserv, 0, 1, TOK_INFOSERV, 0L},
|
||||
{MSG_IS, m_infoserv, 0, 1, TOK_INFOSERV, 0L},
|
||||
{MSG_OPERSERV, m_operserv, 0, 1, TOK_OPERSERV, 0L},
|
||||
{MSG_OS, m_operserv, 0, 1, TOK_OPERSERV, 0L},
|
||||
{MSG_MEMOSERV, m_memoserv, 0, 1, TOK_MEMOSERV, 0L},
|
||||
{MSG_MS, m_memoserv, 0, 1, TOK_MEMOSERV, 0L},
|
||||
{MSG_HELPSERV, m_helpserv, 0, 1, TOK_HELPSERV, 0L},
|
||||
{MSG_HS, m_helpserv, 0, 1, TOK_HELPSERV, 0L},
|
||||
{MSG_SERVICES, m_services, 0, 1, TOK_SERVICES, 0L},
|
||||
{MSG_HELP, m_help, 0, 1, TOK_HELP, 0L},
|
||||
{MSG_HELPOP, m_help, 0, 1, TOK_HELP, 0L},
|
||||
{MSG_INFO, m_info, 0, MAXPARA, TOK_INFO, 0L},
|
||||
{MSG_MOTD, m_motd, 0, MAXPARA, TOK_MOTD, 0L},
|
||||
{MSG_CLOSE, m_close, 0, MAXPARA, TOK_CLOSE, 0L},
|
||||
{MSG_SILENCE, m_silence, 0, MAXPARA, TOK_SILENCE, 0L},
|
||||
{MSG_AKILL, m_akill, 0, MAXPARA, TOK_AKILL, 0L},
|
||||
{MSG_SQLINE, m_sqline, 0, MAXPARA, TOK_SQLINE, 0L},
|
||||
{MSG_UNSQLINE, m_unsqline, 0, MAXPARA, TOK_UNSQLINE, 0L},
|
||||
{MSG_KLINE, m_kline, 0, MAXPARA, TOK_KLINE, 0L},
|
||||
{MSG_UNKLINE, m_unkline, 0, MAXPARA, TOK_UNKLINE, 0L},
|
||||
{MSG_ZLINE, m_zline, 0, MAXPARA, TOK_ZLINE, 0L},
|
||||
{MSG_UNZLINE, m_unzline, 0, MAXPARA, TOK_UNZLINE, 0L},
|
||||
{MSG_RAKILL, m_rakill, 0, MAXPARA, TOK_RAKILL, 0L},
|
||||
{MSG_GNOTICE, m_gnotice, 0, MAXPARA, TOK_GNOTICE, 0L},
|
||||
{MSG_GOPER, m_goper, 0, MAXPARA, TOK_GOPER, 0L},
|
||||
{MSG_GLOBOPS, m_globops, 0, MAXPARA, TOK_GLOBOPS, 0L},
|
||||
{MSG_CHATOPS, m_chatops, 0, 1, TOK_CHATOPS, 0L},
|
||||
{MSG_LOCOPS, m_locops, 0, 1, TOK_LOCOPS, 0L},
|
||||
{MSG_HASH, m_hash, 0, MAXPARA, TOK_HASH, 0L},
|
||||
{MSG_DNS, m_dns, 0, MAXPARA, TOK_DNS, 0L},
|
||||
{MSG_REHASH, m_rehash, 0, MAXPARA, TOK_REHASH, 0L},
|
||||
{MSG_RESTART, m_restart, 0, MAXPARA, TOK_RESTART, 0L},
|
||||
{MSG_DIE, m_die, 0, MAXPARA, TOK_DIE, 0L},
|
||||
{MSG_RULES, m_rules, 0, MAXPARA, TOK_RULES, 0L},
|
||||
{MSG_MAP, m_map, 0, MAXPARA, TOK_MAP, 0L},
|
||||
{MSG_GLINE, m_gline, 0, MAXPARA, TOK_GLINE, 0L},
|
||||
{MSG_REMGLINE, m_remgline, 0, MAXPARA, TOK_REMGLINE, 0L},
|
||||
{MSG_DALINFO, m_dalinfo, 0, MAXPARA, TOK_DALINFO, 0L},
|
||||
{MSG_SVS2MODE, m_svs2mode, 0, MAXPARA, TOK_SVS2MODE, 0L},
|
||||
{MSG_MKPASSWD, m_mkpasswd, 0, MAXPARA, TOK_MKPASSWD, 0L},
|
||||
{MSG_ADDLINE, m_addline, 0, 1, TOK_ADDLINE, 0L},
|
||||
{MSG_ADMINCHAT, m_admins, 0, 1, TOK_ADMINCHAT, 0L},
|
||||
{MSG_SETHOST, m_sethost, 0, MAXPARA, TOK_SETHOST, 0L},
|
||||
{MSG_TECHAT, m_techat, 0, 1, TOK_TECHAT, 0L},
|
||||
{MSG_NACHAT, m_nachat, 0, 1, TOK_NACHAT, 0L},
|
||||
{MSG_SETIDENT, m_setident, 0, MAXPARA, TOK_SETIDENT, 0L},
|
||||
{MSG_SETNAME, m_setname, 0, 1, TOK_SETNAME, 0L},
|
||||
{MSG_LAG, m_lag, 0, MAXPARA, TOK_LAG, 0L},
|
||||
{MSG_SDESC, m_sdesc, 0, 1, TOK_SDESC, 0L},
|
||||
{MSG_STATSERV, m_statserv, 0, 1, TOK_STATSERV, 0L},
|
||||
{MSG_KNOCK, m_knock, 0, 2, TOK_KNOCK, 0L},
|
||||
{MSG_CREDITS, m_credits, 0, MAXPARA, TOK_CREDITS, 0L},
|
||||
{MSG_LICENSE, m_license, 0, MAXPARA, TOK_LICENSE, 0L},
|
||||
{MSG_CHGHOST, m_chghost, 0, MAXPARA, TOK_CHGHOST, 0L},
|
||||
{MSG_RPING, m_rping, 0, MAXPARA, TOK_RPING, 0L},
|
||||
{MSG_RPONG, m_rpong, 0, MAXPARA, TOK_RPONG, 0L},
|
||||
{MSG_NETINFO, m_netinfo, 0, MAXPARA, TOK_NETINFO, 0L},
|
||||
{MSG_SENDUMODE, m_sendumode, 0, MAXPARA, TOK_SENDUMODE, 0L},
|
||||
{MSG_SMO, m_sendumode, 0, MAXPARA, TOK_SMO, 0L},
|
||||
{MSG_ADDMOTD, m_addmotd, 0, 1, TOK_ADDMOTD, 0L},
|
||||
{MSG_ADDOMOTD, m_addomotd, 0, 1, TOK_ADDOMOTD, 0L},
|
||||
{MSG_SVSMOTD, m_svsmotd, 0, MAXPARA, TOK_SVSMOTD, 0L},
|
||||
{MSG_OPERMOTD, m_opermotd, 0, MAXPARA, TOK_OPERMOTD, 0L},
|
||||
{MSG_TSCTL, m_tsctl, 0, MAXPARA, TOK_TSCTL, 0L},
|
||||
{MSG_SVSJOIN, m_svsjoin, 0, MAXPARA, TOK_SVSJOIN, 0L},
|
||||
{MSG_SAJOIN, m_sajoin, 0, MAXPARA, TOK_SAJOIN, 0L},
|
||||
{MSG_SVSPART, m_svspart, 0, MAXPARA, TOK_SVSPART, 0L},
|
||||
{MSG_SAPART, m_sapart, 0, MAXPARA, TOK_SAPART, 0L},
|
||||
{MSG_CHGIDENT, m_chgident, 0, MAXPARA, TOK_CHGIDENT, 0L},
|
||||
{MSG_SWHOIS, m_swhois, 0, MAXPARA, TOK_SWHOIS, 0L},
|
||||
{MSG_SVSO, m_svso, 0, MAXPARA, TOK_SVSO, 0L},
|
||||
{MSG_SVSFLINE, m_svsfline, 0, MAXPARA, TOK_SVSFLINE, 0L},
|
||||
{MSG_TKL, m_tkl, 0, MAXPARA, TOK_TKL, 0L},
|
||||
{MSG_VHOST, m_vhost, 0, MAXPARA, TOK_VHOST, 0L},
|
||||
{MSG_BOTMOTD, m_botmotd, 0, MAXPARA, TOK_BOTMOTD, 0L},
|
||||
{MSG_SJOIN, m_sjoin, 0, MAXPARA, TOK_SJOIN, 0L},
|
||||
{MSG_HTM, m_htm, 0, MAXPARA, TOK_HTM, 0L},
|
||||
{MSG_UMODE2, m_umode2, 0, MAXPARA, TOK_UMODE2, 0L},
|
||||
{MSG_DCCDENY, m_dccdeny, 0, 2, TOK_DCCDENY, 0L},
|
||||
{MSG_UNDCCDENY, m_undccdeny, 0, MAXPARA, TOK_UNDCCDENY, 0L},
|
||||
{MSG_CHGNAME, m_chgname, 0, MAXPARA, TOK_CHGNAME, 0L},
|
||||
{MSG_SVSNAME, m_chgname, 0, MAXPARA, TOK_CHGNAME, 0L},
|
||||
{MSG_SHUN, m_shun, 0, MAXPARA, TOK_SHUN, 0L},
|
||||
{MSG_NEWJOIN, m_join, 0, MAXPARA, TOK_JOIN, 0L},
|
||||
{MSG_BOTSERV, m_botserv, 0, 1, TOK_BOTSERV,0L},
|
||||
{TOK_BOTSERV, m_botserv, 0, 1, TOK_BOTSERV,0L},
|
||||
{(char *)0, (int (*)())0, 0, 0, 0, 0L}
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
+112
-92
@@ -23,10 +23,10 @@
|
||||
/*
|
||||
* Define constants based on rfc883
|
||||
*/
|
||||
#define PACKETSZ 512 /* maximum packet size */
|
||||
#define MAXDNAME 256 /* maximum domain name */
|
||||
#define MAXCDNAME 255 /* maximum compressed domain name */
|
||||
#define MAXLABEL 63 /* maximum length of domain label */
|
||||
#define PACKETSZ 512 /* maximum packet size */
|
||||
#define MAXDNAME 256 /* maximum domain name */
|
||||
#define MAXCDNAME 255 /* maximum compressed domain name */
|
||||
#define MAXLABEL 63 /* maximum length of domain label */
|
||||
/* Number of bytes of fixed size data in query structure */
|
||||
#define QFIXEDSZ 4
|
||||
/* number of bytes of fixed size data in resource record */
|
||||
@@ -40,74 +40,94 @@
|
||||
/*
|
||||
* Currently defined opcodes
|
||||
*/
|
||||
#define QUERY 0x0 /* standard query */
|
||||
#define IQUERY 0x1 /* inverse query */
|
||||
#define STATUS 0x2 /* nameserver status query */
|
||||
#define QUERY 0x0 /* standard query */
|
||||
#define IQUERY 0x1 /* inverse query */
|
||||
#define STATUS 0x2 /* nameserver status query */
|
||||
/*#define xxx 0x3 /* 0x3 reserved */
|
||||
/* non standard */
|
||||
#define UPDATEA 0x9 /* add resource record */
|
||||
#define UPDATED 0xa /* delete a specific resource record */
|
||||
#define UPDATEDA 0xb /* delete all nemed resource record */
|
||||
#define UPDATEM 0xc /* modify a specific resource record */
|
||||
#define UPDATEMA 0xd /* modify all named resource record */
|
||||
#define UPDATEA 0x9 /* add resource record */
|
||||
#define UPDATED 0xa /* delete a specific resource record */
|
||||
#define UPDATEDA 0xb /* delete all nemed resource record */
|
||||
#define UPDATEM 0xc /* modify a specific resource record */
|
||||
#define UPDATEMA 0xd /* modify all named resource record */
|
||||
|
||||
#define ZONEINIT 0xe /* initial zone transfer */
|
||||
#define ZONEREF 0xf /* incremental zone referesh */
|
||||
#define ZONEINIT 0xe /* initial zone transfer */
|
||||
#define ZONEREF 0xf /* incremental zone referesh */
|
||||
|
||||
/*
|
||||
* Currently defined response codes
|
||||
*/
|
||||
#ifdef NOERROR /* defined by solaris2 in */
|
||||
#undef NOERROR /* <sys/stream.h> to be -1 */
|
||||
#ifdef NOERROR /* defined by solaris2 in */
|
||||
#undef NOERROR /* <sys/stream.h> to be -1 */
|
||||
#endif
|
||||
#define NOERROR 0 /* no error */
|
||||
#define FORMERR 1 /* format error */
|
||||
#define SERVFAIL 2 /* server failure */
|
||||
#define NXDOMAIN 3 /* non existent domain */
|
||||
#define NOTIMP 4 /* not implemented */
|
||||
#define REFUSED 5 /* query refused */
|
||||
#define NOERROR 0 /* no error */
|
||||
#define FORMERR 1 /* format error */
|
||||
#define SERVFAIL 2 /* server failure */
|
||||
#define NXDOMAIN 3 /* non existent domain */
|
||||
#define NOTIMP 4 /* not implemented */
|
||||
#define REFUSED 5 /* query refused */
|
||||
/* non standard */
|
||||
#define NOCHANGE 0xf /* update failed to change db */
|
||||
#define NOCHANGE 0xf /* update failed to change db */
|
||||
|
||||
/*
|
||||
* Type values for resources and queries
|
||||
*/
|
||||
#define T_A 1 /* host address */
|
||||
#define T_NS 2 /* authoritative server */
|
||||
#define T_MD 3 /* mail destination */
|
||||
#define T_MF 4 /* mail forwarder */
|
||||
#define T_CNAME 5 /* connonical name */
|
||||
#define T_SOA 6 /* start of authority zone */
|
||||
#define T_MB 7 /* mailbox domain name */
|
||||
#define T_MG 8 /* mail group member */
|
||||
#define T_MR 9 /* mail rename name */
|
||||
#define T_NULL 10 /* null resource record */
|
||||
#define T_WKS 11 /* well known service */
|
||||
#define T_PTR 12 /* domain name pointer */
|
||||
#define T_HINFO 13 /* host information */
|
||||
#define T_MINFO 14 /* mailbox information */
|
||||
#define T_MX 15 /* mail routing information */
|
||||
#define T_TXT 16 /* text strings */
|
||||
#define T_A 1 /* host address */
|
||||
#define T_NS 2 /* authoritative server */
|
||||
#define T_MD 3 /* mail destination */
|
||||
#define T_MF 4 /* mail forwarder */
|
||||
#define T_CNAME 5 /* connonical name */
|
||||
#define T_SOA 6 /* start of authority zone */
|
||||
#define T_MB 7 /* mailbox domain name */
|
||||
#define T_MG 8 /* mail group member */
|
||||
#define T_MR 9 /* mail rename name */
|
||||
#define T_NULL 10 /* null resource record */
|
||||
#define T_WKS 11 /* well known service */
|
||||
#define T_PTR 12 /* domain name pointer */
|
||||
#define T_HINFO 13 /* host information */
|
||||
#define T_MINFO 14 /* mailbox information */
|
||||
#define T_MX 15 /* mail routing information */
|
||||
#define T_TXT 16 /* text strings */
|
||||
#define T_RP 17 /* responsible person */
|
||||
#define T_AFSDB 18 /* AFS cell database */
|
||||
#define T_X25 19 /* X_25 calling address */
|
||||
#define T_ISDN 20 /* ISDN calling address */
|
||||
#define T_RT 21 /* router */
|
||||
#define T_NSAP 22 /* NSAP address */
|
||||
#define T_NSAP_PTR 23 /* reverse NSAP lookup (deprecated) */
|
||||
#define T_SIG 24 /* security signature */
|
||||
#define T_KEY 25 /* security key */
|
||||
#define T_PX 26 /* X.400 mail mapping */
|
||||
#define T_GPOS 27 /* geographical position (withdrawn) */
|
||||
#define T_AAAA 28 /* IP6 Address */
|
||||
#define T_LOC 29 /* Location Information */
|
||||
#define T_NXT 30 /* Next Valid Name in Zone */
|
||||
#define T_EID 31 /* Endpoint identifier */
|
||||
#define T_NIMLOC 32 /* Nimrod locator */
|
||||
#define T_SRV 33 /* Server selection */
|
||||
#define T_ATMA 34 /* ATM Address */
|
||||
#define T_NAPTR 35 /* Naming Authority PoinTeR */
|
||||
|
||||
/* non standard */
|
||||
#define T_UINFO 100 /* user (finger) information */
|
||||
#define T_UID 101 /* user ID */
|
||||
#define T_GID 102 /* group ID */
|
||||
#define T_UNSPEC 103 /* Unspecified format (binary data) */
|
||||
#define T_UINFO 100 /* user (finger) information */
|
||||
#define T_UID 101 /* user ID */
|
||||
#define T_GID 102 /* group ID */
|
||||
#define T_UNSPEC 103 /* Unspecified format (binary data) */
|
||||
/* Query type values which do not appear in resource records */
|
||||
#define T_AXFR 252 /* transfer zone of authority */
|
||||
#define T_MAILB 253 /* transfer mailbox records */
|
||||
#define T_MAILA 254 /* transfer mail agent records */
|
||||
#define T_ANY 255 /* wildcard match */
|
||||
#define T_AXFR 252 /* transfer zone of authority */
|
||||
#define T_MAILB 253 /* transfer mailbox records */
|
||||
#define T_MAILA 254 /* transfer mail agent records */
|
||||
#define T_ANY 255 /* wildcard match */
|
||||
|
||||
/*
|
||||
* Values for class field
|
||||
*/
|
||||
|
||||
#define C_IN 1 /* the arpa internet */
|
||||
#define C_CHAOS 3 /* for chaos net at MIT */
|
||||
#define C_HS 4 /* for Hesiod name server at MIT */
|
||||
#define C_IN 1 /* the arpa internet */
|
||||
#define C_CHAOS 3 /* for chaos net at MIT */
|
||||
#define C_HS 4 /* for Hesiod name server at MIT */
|
||||
/* Query class values which do not appear in resource records */
|
||||
#define C_ANY 255 /* wildcard match */
|
||||
#define C_ANY 255 /* wildcard match */
|
||||
|
||||
/*
|
||||
* Status return codes for T_UNSPEC conversion routines
|
||||
@@ -130,10 +150,10 @@
|
||||
#define BYTE_ORDER LITTLE_ENDIAN
|
||||
|
||||
#endif
|
||||
#if defined(sel) || defined(pyr) || defined(mc68000) || defined(sparc) || \
|
||||
#if defined(sel) || defined(mc68000) || defined(sparc) || \
|
||||
defined(is68k) || defined(tahoe) || defined(ibm032) || defined(ibm370) || \
|
||||
defined(MIPSEB) || defined(__hpux) || defined(__convex__) || \
|
||||
defined(__pyr__) || defined(__mc68000__) || defined(__sparc__) ||\
|
||||
defined(__mc68000__) || defined(__sparc__) ||\
|
||||
defined(_IBMR2) || defined (BIT_ZERO_ON_LEFT)
|
||||
#define BYTE_ORDER BIG_ENDIAN
|
||||
#endif
|
||||
@@ -141,7 +161,7 @@
|
||||
|
||||
#ifndef BYTE_ORDER
|
||||
/* you must determine what the correct bit order is for your compiler */
|
||||
UNDEFINED_BIT_ORDER;
|
||||
UNDEFINED_BIT_ORDER;
|
||||
#endif
|
||||
/*
|
||||
* Structure for query header, the order of the fields is machine and
|
||||
@@ -151,38 +171,38 @@
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
u_short id; /* query identification number */
|
||||
u_short id; /* query identification number */
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
/* fields in third byte */
|
||||
u_char qr:1; /* response flag */
|
||||
u_char opcode:4; /* purpose of message */
|
||||
u_char aa:1; /* authoritive answer */
|
||||
u_char tc:1; /* truncated message */
|
||||
u_char rd:1; /* recursion desired */
|
||||
/* fields in fourth byte */
|
||||
u_char ra:1; /* recursion available */
|
||||
u_char pr:1; /* primary server required (non standard) */
|
||||
u_char unused:2; /* unused bits */
|
||||
u_char rcode:4; /* response code */
|
||||
/* fields in third byte */
|
||||
u_char qr:1; /* response flag */
|
||||
u_char opcode:4; /* purpose of message */
|
||||
u_char aa:1; /* authoritive answer */
|
||||
u_char tc:1; /* truncated message */
|
||||
u_char rd:1; /* recursion desired */
|
||||
/* fields in fourth byte */
|
||||
u_char ra:1; /* recursion available */
|
||||
u_char pr:1; /* primary server required (non standard) */
|
||||
u_char unused:2; /* unused bits */
|
||||
u_char rcode:4; /* response code */
|
||||
#endif
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
|
||||
/* fields in third byte */
|
||||
u_char rd:1; /* recursion desired */
|
||||
u_char tc:1; /* truncated message */
|
||||
u_char aa:1; /* authoritive answer */
|
||||
u_char opcode:4; /* purpose of message */
|
||||
u_char qr:1; /* response flag */
|
||||
/* fields in fourth byte */
|
||||
u_char rcode:4; /* response code */
|
||||
u_char unused:2; /* unused bits */
|
||||
u_char pr:1; /* primary server required (non standard) */
|
||||
u_char ra:1; /* recursion available */
|
||||
/* fields in third byte */
|
||||
u_char rd:1; /* recursion desired */
|
||||
u_char tc:1; /* truncated message */
|
||||
u_char aa:1; /* authoritive answer */
|
||||
u_char opcode:4; /* purpose of message */
|
||||
u_char qr:1; /* response flag */
|
||||
/* fields in fourth byte */
|
||||
u_char rcode:4; /* response code */
|
||||
u_char unused:2; /* unused bits */
|
||||
u_char pr:1; /* primary server required (non standard) */
|
||||
u_char ra:1; /* recursion available */
|
||||
#endif
|
||||
/* remaining bytes */
|
||||
u_short qdcount; /* number of question entries */
|
||||
u_short ancount; /* number of answer entries */
|
||||
u_short nscount; /* number of authority entries */
|
||||
u_short arcount; /* number of resource entries */
|
||||
/* remaining bytes */
|
||||
u_short qdcount; /* number of question entries */
|
||||
u_short ancount; /* number of answer entries */
|
||||
u_short nscount; /* number of authority entries */
|
||||
u_short arcount; /* number of resource entries */
|
||||
} HEADER;
|
||||
|
||||
/*
|
||||
@@ -194,23 +214,23 @@ typedef struct {
|
||||
* Structure for passing resource records around.
|
||||
*/
|
||||
struct rrec {
|
||||
short r_zone; /* zone number */
|
||||
short r_class; /* class number */
|
||||
short r_type; /* type number */
|
||||
short r_zone; /* zone number */
|
||||
short r_class; /* class number */
|
||||
short r_type; /* type number */
|
||||
#ifdef __alpha
|
||||
u_int r_ttl; /* time to live */
|
||||
u_int r_ttl; /* time to live */
|
||||
#else
|
||||
u_long r_ttl; /* time to live */
|
||||
u_long r_ttl; /* time to live */
|
||||
#endif
|
||||
int r_size; /* size of data area */
|
||||
char *r_data; /* pointer to data */
|
||||
int r_size; /* size of data area */
|
||||
char *r_data; /* pointer to data */
|
||||
};
|
||||
|
||||
extern u_short _getshort();
|
||||
extern u_short _getshort();
|
||||
#ifdef __alpha
|
||||
extern u_int _getlong();
|
||||
extern u_int _getlong();
|
||||
#else
|
||||
extern u_long _getlong();
|
||||
extern u_long _getlong();
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
+21
-9
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/numeric.h
|
||||
* Unreal Internet Relay Chat Daemon, include/numeric.h
|
||||
* Copyright (C) 1990 Jarkko Oikarinen
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -20,8 +20,6 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* -- Potvin -- Feb 20/98
|
||||
*
|
||||
* Added numerics 600-799 as numeric_replies2[], we ran out
|
||||
*/
|
||||
|
||||
@@ -78,6 +76,7 @@
|
||||
#define ERR_NOLOGIN 444
|
||||
#define ERR_SUMMONDISABLED 445
|
||||
#define ERR_USERSDISABLED 446
|
||||
#define ERR_NONICKCHANGE 447
|
||||
|
||||
#define ERR_NOTREGISTERED 451
|
||||
|
||||
@@ -112,6 +111,8 @@
|
||||
#define ERR_ATTACKDENY 484
|
||||
#define ERR_KILLDENY 485
|
||||
|
||||
#define ERR_HTMDISABLED 486
|
||||
|
||||
#define ERR_NOOPERHOST 491
|
||||
#define ERR_NOSERVICEHOST 492
|
||||
|
||||
@@ -141,7 +142,7 @@
|
||||
#define RPL_WHOISREGNICK 307
|
||||
#define RPL_RULESSTART 308
|
||||
#define RPL_ENDOFRULES 309
|
||||
#define RPL_WHOISHELPOP 310 /* -Donwulff */
|
||||
#define RPL_WHOISHELPOP 310 /* -Donwulff */
|
||||
|
||||
#define RPL_WHOISUSER 311
|
||||
#define RPL_WHOISSERVER 312
|
||||
@@ -151,7 +152,7 @@
|
||||
/* rpl_endofwho below (315) */
|
||||
#define RPL_ENDOFWHOWAS 369
|
||||
|
||||
#define RPL_WHOISCHANOP 316 /* redundant and not needed but reserved */
|
||||
#define RPL_WHOISCHANOP 316 /* redundant and not needed but reserved */
|
||||
#define RPL_WHOISIDLE 317
|
||||
|
||||
#define RPL_ENDOFWHOIS 318
|
||||
@@ -206,6 +207,10 @@
|
||||
#define RPL_YOURESERVICE 383
|
||||
#define RPL_MYPORTIS 384
|
||||
#define RPL_NOTOPERANYMORE 385
|
||||
#define RPL_QLIST 386
|
||||
#define RPL_ENDOFQLIST 387
|
||||
#define RPL_ALIST 388
|
||||
#define RPL_ENDOFALIST 389
|
||||
|
||||
#define RPL_TIME 391
|
||||
#define RPL_USERSSTART 392
|
||||
@@ -217,6 +222,7 @@
|
||||
#define RPL_TRACECONNECTING 201
|
||||
#define RPL_TRACEHANDSHAKE 202
|
||||
#define RPL_TRACEUNKNOWN 203
|
||||
|
||||
#define RPL_TRACEOPERATOR 204
|
||||
#define RPL_TRACEUSER 205
|
||||
#define RPL_TRACESERVER 206
|
||||
@@ -224,10 +230,12 @@
|
||||
#define RPL_TRACENEWTYPE 208
|
||||
#define RPL_TRACECLASS 209
|
||||
|
||||
#define RPL_STATSHELP 210
|
||||
#define RPL_STATSLINKINFO 211
|
||||
#define RPL_STATSCOMMANDS 212
|
||||
#define RPL_STATSCLINE 213
|
||||
#define RPL_STATSNLINE 214
|
||||
#define RPL_STATSOLDNLINE 214
|
||||
|
||||
#define RPL_STATSILINE 215
|
||||
#define RPL_STATSKLINE 216
|
||||
#define RPL_STATSQLINE 217
|
||||
@@ -235,10 +243,14 @@
|
||||
#define RPL_ENDOFSTATS 219
|
||||
#define RPL_STATSBLINE 220
|
||||
|
||||
|
||||
#define RPL_UMODEIS 221
|
||||
#define RPL_SQLINE_NICK 222
|
||||
#define RPL_STATSGLINE 223
|
||||
#define RPL_STATSTLINE 224
|
||||
#define RPL_STATSELINE 225
|
||||
#define RPL_STATSNLINE 226
|
||||
#define RPL_STATSVLINE 227
|
||||
#define RPL_SERVICEINFO 231
|
||||
#define RPL_RULES 232
|
||||
#define RPL_SERVICE 233
|
||||
@@ -251,7 +263,7 @@
|
||||
#define RPL_STATSHLINE 244
|
||||
#define RPL_STATSSLINE 245
|
||||
#define RPL_STATSXLINE 247
|
||||
#define RPL_STATSULINE 248
|
||||
#define RPL_STATSULINE 248
|
||||
#define RPL_STATSDEBUG 249
|
||||
#define RPL_STATSCONN 250
|
||||
|
||||
@@ -266,13 +278,11 @@
|
||||
#define RPL_ADMINEMAIL 259
|
||||
|
||||
#define RPL_TRACELOG 261
|
||||
|
||||
#define RPL_LOCALUSERS 265
|
||||
#define RPL_GLOBALUSERS 266
|
||||
|
||||
#define RPL_SILELIST 271
|
||||
#define RPL_ENDOFSILELIST 272
|
||||
|
||||
#define RPL_STATSDLINE 275
|
||||
|
||||
#define RPL_HELPHDR 290
|
||||
@@ -305,3 +315,5 @@
|
||||
#define RPL_DUMPING 640
|
||||
#define RPL_DUMPRPL 641
|
||||
#define RPL_EODUMP 642
|
||||
|
||||
#define ERR_NUMERICERR 999
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
/************************************************************************
|
||||
* Unreal Internet Relay Chat Daemon, include/proto.h
|
||||
* (C) Dominick Meglio <codemastr@unrealircd.com> 2000
|
||||
*
|
||||
* See file AUTHORS in IRC package for additional names of
|
||||
* the programmers.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef proto_h
|
||||
#define proto_h
|
||||
/* badwords.c */
|
||||
int loadbadwords_message PROTO((char *wordfile));
|
||||
int loadbadwords_channel PROTO((char *wordfile));
|
||||
|
||||
/* channel.c */
|
||||
int sendmodeto_one PROTO((aClient *cptr, char *from, char *name, char *mode, char *param, TS creationtime));
|
||||
void make_cmodestr PROTO((void));
|
||||
|
||||
/* dynconf.c */
|
||||
int load_conf PROTO((char *filename, int type));
|
||||
int load_conf2 PROTO((FILE * conf, char *filename, int type));
|
||||
int load_conf3 PROTO((FILE * conf, char *filename, int type));
|
||||
void init_dynconf PROTO((void));
|
||||
void doneconf PROTO((int type));
|
||||
|
||||
/* lusers.c */
|
||||
void init_ircstats PROTO((void));
|
||||
|
||||
/* match.c */
|
||||
char *collapse PROTO((char *pattern));
|
||||
|
||||
/* scache.c */
|
||||
void clear_scache_hash_table PROTO((void));
|
||||
|
||||
/* send.c */
|
||||
void sendto_one PROTO((aClient *, char *, ...));
|
||||
void sendto_chanops_butone PROTO((aClient *one, aChannel *chptr, char *pattern, ...));
|
||||
void sendto_realops PROTO((char *pattern, ...));
|
||||
void sendto_serv_butone_token PROTO((aClient *one, char *prefix, char *command, char *token, char *pattern, ...));
|
||||
void sendto_serv_butone_token_opt PROTO((aClient *one, int opt, char *prefix, char *command, char *token, char *pattern, ...));
|
||||
void sendto_channel_ntadmins PROTO((aClient *from, aChannel *chptr, char *pattern, ...));
|
||||
|
||||
/* support.c */
|
||||
char *my_itoa PROTO((int i));
|
||||
|
||||
/* s_conf.c */
|
||||
int find_nline PROTO((aClient *cptr));
|
||||
|
||||
/* s_extra.c */
|
||||
int channel_canjoin PROTO((aClient *sptr, char *name));
|
||||
int dcc_loadconf PROTO((void));
|
||||
int cr_loadconf PROTO((void));
|
||||
int vhost_loadconf PROTO((void));
|
||||
|
||||
/* s_kline.c */
|
||||
int find_tkline_match PROTO((aClient *cptr, int xx));
|
||||
void tkl_check_expire PROTO((void));
|
||||
int tkl_sweep PROTO((void));
|
||||
|
||||
/* s_serv.c */
|
||||
void load_tunefile PROTO((void));
|
||||
void save_tunefile PROTO((void));
|
||||
aMotd *read_botmotd PROTO((char *filename));
|
||||
aMotd *read_rules PROTO((char *filename));
|
||||
aMotd *read_opermotd PROTO((char *filename));
|
||||
aMotd *read_motd PROTO((char *filename));
|
||||
aMotd *read_svsmotd PROTO((char *filename));
|
||||
void read_tlines PROTO((void));
|
||||
|
||||
/* s_unreal.c */
|
||||
void unrealmanual PROTO((void));
|
||||
|
||||
/* s_user.c */
|
||||
int check_for_target_limit PROTO((aClient *sptr, void *target, const char *name));
|
||||
void make_umodestr PROTO((void));
|
||||
|
||||
/* webtv.c */
|
||||
int is_halfop PROTO((aClient *cptr, aChannel *chptr));
|
||||
int is_chanprot PROTO((aClient *cptr, aChannel *chptr));
|
||||
char *convert_time PROTO((time_t ltime));
|
||||
char *get_mode_str PROTO((aClient *acptr));
|
||||
|
||||
/* whowas.c */
|
||||
void initwhowas PROTO((void));
|
||||
#endif /* proto_h */
|
||||
+36
-36
@@ -17,54 +17,54 @@
|
||||
|
||||
#define AR_TTL 600 /* TTL in seconds for dns cache entries */
|
||||
|
||||
struct hent {
|
||||
char *h_name; /* official name of host */
|
||||
char *h_aliases[MAXALIASES]; /* alias list */
|
||||
int h_addrtype; /* host address type */
|
||||
int h_length; /* length of address */
|
||||
struct hent {
|
||||
char *h_name; /* official name of host */
|
||||
char *h_aliases[MAXALIASES]; /* alias list */
|
||||
int h_addrtype; /* host address type */
|
||||
int h_length; /* length of address */
|
||||
/* list of addresses from name server */
|
||||
struct in_addr h_addr_list[MAXADDRS];
|
||||
struct IN_ADDR h_addr_list[MAXADDRS];
|
||||
#define h_addr h_addr_list[0] /* address, for backward compatiblity */
|
||||
};
|
||||
|
||||
typedef struct reslist {
|
||||
int id;
|
||||
int sent; /* number of requests sent */
|
||||
int srch;
|
||||
time_t ttl;
|
||||
char type;
|
||||
char retries; /* retry counter */
|
||||
char sends; /* number of sends (>1 means resent) */
|
||||
char resend; /* send flag. 0 == dont resend */
|
||||
time_t sentat;
|
||||
time_t timeout;
|
||||
struct in_addr addr;
|
||||
char *name;
|
||||
struct reslist *next;
|
||||
Link cinfo;
|
||||
typedef struct reslist {
|
||||
int id;
|
||||
int sent; /* number of requests sent */
|
||||
int srch;
|
||||
time_t ttl;
|
||||
char type;
|
||||
char retries; /* retry counter */
|
||||
char sends; /* number of sends (>1 means resent) */
|
||||
char resend; /* send flag. 0 == dont resend */
|
||||
time_t sentat;
|
||||
time_t timeout;
|
||||
struct IN_ADDR addr;
|
||||
char *name;
|
||||
struct reslist *next;
|
||||
Link cinfo;
|
||||
#ifndef _WIN32
|
||||
struct hent he;
|
||||
struct hent he;
|
||||
#else
|
||||
struct hostent *he;
|
||||
char locked;
|
||||
struct hostent *he;
|
||||
char locked;
|
||||
#endif
|
||||
} ResRQ;
|
||||
} ResRQ;
|
||||
|
||||
typedef struct cache {
|
||||
time_t expireat;
|
||||
time_t ttl;
|
||||
typedef struct cache {
|
||||
time_t expireat;
|
||||
time_t ttl;
|
||||
#ifndef _WIN32
|
||||
struct hostent he;
|
||||
struct hostent he;
|
||||
#else
|
||||
struct hostent *he;
|
||||
struct hostent *he;
|
||||
#endif
|
||||
struct cache *hname_next, *hnum_next, *list_next;
|
||||
} aCache;
|
||||
struct cache *hname_next, *hnum_next, *list_next;
|
||||
} aCache;
|
||||
|
||||
typedef struct cachetable {
|
||||
aCache *num_list;
|
||||
aCache *name_list;
|
||||
} CacheTable;
|
||||
typedef struct cachetable {
|
||||
aCache *num_list;
|
||||
aCache *name_list;
|
||||
} CacheTable;
|
||||
|
||||
#define ARES_CACSIZE 101
|
||||
|
||||
|
||||
+26
-27
@@ -33,25 +33,25 @@
|
||||
/*
|
||||
* Global defines and variables for resolver stub.
|
||||
*/
|
||||
#define MAXNS 3 /* max # name servers we'll track */
|
||||
#define MAXDFLSRCH 3 /* # default domain levels to try */
|
||||
#define MAXDNSRCH 6 /* max # domains in search path */
|
||||
#define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */
|
||||
#define MAXSERVICES 2 /* max # of services to search */
|
||||
#define MAXNS 3 /* max # name servers we'll track */
|
||||
#define MAXDFLSRCH 3 /* # default domain levels to try */
|
||||
#define MAXDNSRCH 6 /* max # domains in search path */
|
||||
#define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */
|
||||
#define MAXSERVICES 2 /* max # of services to search */
|
||||
|
||||
#define RES_TIMEOUT 5 /* min. seconds between retries */
|
||||
#define RES_TIMEOUT 5 /* min. seconds between retries */
|
||||
|
||||
struct state {
|
||||
int retrans; /* retransmition time interval */
|
||||
int retry; /* number of times to retransmit */
|
||||
long options; /* option flags - see below. */
|
||||
int nscount; /* number of name servers */
|
||||
struct sockaddr_in nsaddr_list[MAXNS]; /* address of name server */
|
||||
#define nsaddr nsaddr_list[0] /* for backward compatibility */
|
||||
unsigned short id; /* current packet id */
|
||||
char defdname[MAXDNAME]; /* default domain */
|
||||
char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */
|
||||
unsigned short order[MAXSERVICES+1]; /* search service order */
|
||||
int retrans; /* retransmition time interval */
|
||||
int retry; /* number of times to retransmit */
|
||||
long options; /* option flags - see below. */
|
||||
int nscount; /* number of name servers */
|
||||
struct SOCKADDR_IN nsaddr_list[MAXNS]; /* address of name server */
|
||||
#define nsaddr nsaddr_list[0] /* for backward compatibility */
|
||||
unsigned short id; /* current packet id */
|
||||
char defdname[MAXDNAME]; /* default domain */
|
||||
char *dnsrch[MAXDNSRCH + 1]; /* components of domain to search */
|
||||
unsigned short order[MAXSERVICES + 1]; /* search service order */
|
||||
};
|
||||
|
||||
#define RES_SERVICE_NONE 0
|
||||
@@ -61,19 +61,18 @@ struct state {
|
||||
/*
|
||||
* Resolver options
|
||||
*/
|
||||
#define RES_INIT 0x0001 /* address initialized */
|
||||
#define RES_DEBUG 0x0002 /* print debug messages */
|
||||
#define RES_AAONLY 0x0004 /* authoritative answers only */
|
||||
#define RES_USEVC 0x0008 /* use virtual circuit */
|
||||
#define RES_PRIMARY 0x0010 /* query primary server only */
|
||||
#define RES_IGNTC 0x0020 /* ignore trucation errors */
|
||||
#define RES_RECURSE 0x0040 /* recursion desired */
|
||||
#define RES_DEFNAMES 0x0080 /* use default domain name */
|
||||
#define RES_STAYOPEN 0x0100 /* Keep TCP socket open */
|
||||
#define RES_DNSRCH 0x0200 /* search up local domain tree */
|
||||
#define RES_INIT 0x0001 /* address initialized */
|
||||
#define RES_DEBUG 0x0002 /* print debug messages */
|
||||
#define RES_AAONLY 0x0004 /* authoritative answers only */
|
||||
#define RES_USEVC 0x0008 /* use virtual circuit */
|
||||
#define RES_PRIMARY 0x0010 /* query primary server only */
|
||||
#define RES_IGNTC 0x0020 /* ignore trucation errors */
|
||||
#define RES_RECURSE 0x0040 /* recursion desired */
|
||||
#define RES_DEFNAMES 0x0080 /* use default domain name */
|
||||
#define RES_STAYOPEN 0x0100 /* Keep TCP socket open */
|
||||
#define RES_DNSRCH 0x0200 /* search up local domain tree */
|
||||
|
||||
#define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)
|
||||
|
||||
extern struct state _res;
|
||||
extern char *p_cdname(), *p_rr(), *p_type(), *p_class(), *p_time();
|
||||
|
||||
|
||||
+13
-27
@@ -1,5 +1,5 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/sjoin.h
|
||||
* Unreal Internet Relay Chat Daemon, include/sjoin.h
|
||||
* (C) Carsten Munk 2000
|
||||
* Contains code from StarChat IRCd, (C) their respective authors
|
||||
*
|
||||
@@ -21,45 +21,31 @@
|
||||
*/
|
||||
|
||||
|
||||
typedef struct SynchList aSynchList;
|
||||
typedef struct SynchList aSynchList;
|
||||
|
||||
/* SJOIN synch structure */
|
||||
struct SynchList {
|
||||
char nick[NICKLEN];
|
||||
int deop;
|
||||
int devoice;
|
||||
int dehalf;
|
||||
int deown;
|
||||
int deprot;
|
||||
int op;
|
||||
int voice;
|
||||
int half;
|
||||
int own;
|
||||
int prot;
|
||||
aSynchList *next, *prev;
|
||||
aClient *cptr;
|
||||
long setflags;
|
||||
aSynchList *next, *prev;
|
||||
};
|
||||
|
||||
aSynchList *SJSynchList = NULL;
|
||||
|
||||
aSynchList *make_synchlist()
|
||||
{
|
||||
Reg1 aSynchList *synchptr;
|
||||
Reg1 aSynchList *synchptr;
|
||||
|
||||
synchptr = (aSynchList *) MyMalloc(sizeof(aSynchList));
|
||||
synchptr = (aSynchList *) MyMalloc(sizeof(aSynchList));
|
||||
synchptr->cptr = NULL;
|
||||
synchptr->setflags = 0;
|
||||
synchptr->prev = synchptr->next = NULL;
|
||||
|
||||
synchptr->nick[0] = 0;
|
||||
synchptr->deop = synchptr->dehalf = synchptr->deown = synchptr->deprot = 0;
|
||||
synchptr->devoice = 0;
|
||||
synchptr->op = 0;
|
||||
synchptr->voice = synchptr->half = synchptr->own = synchptr->prot = 0;
|
||||
synchptr->prev = synchptr->next = NULL;
|
||||
|
||||
return synchptr;
|
||||
return synchptr;
|
||||
}
|
||||
|
||||
void free_synchlist(synchptr)
|
||||
aSynchList *synchptr;
|
||||
aSynchList *synchptr;
|
||||
{
|
||||
MyFree((char *) synchptr);
|
||||
MyFree((char *)synchptr);
|
||||
}
|
||||
|
||||
|
||||
+9
-3
@@ -1,5 +1,6 @@
|
||||
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/sock.h
|
||||
* Unreal Internet Relay Chat Daemon, include/sock.h
|
||||
* Copyright (C) 1990 Jarkko Oikarinen and
|
||||
* University of Oulu, Computing Center
|
||||
*
|
||||
@@ -22,6 +23,12 @@
|
||||
* $Id$
|
||||
*
|
||||
* $Log$
|
||||
* Revision 1.1.1.1.6.1 2000/05/28 08:55:24 cmunk
|
||||
* Import of Unreal3.1-beta3
|
||||
*
|
||||
* Revision 1.2 2000/03/02 21:22:37 stskeeps
|
||||
* ...........
|
||||
*
|
||||
* Revision 1.1.1.1 2000/01/30 12:16:33 stskeeps
|
||||
* Begin of CVS at cvs.unreal.sourceforge.net
|
||||
*
|
||||
@@ -70,6 +77,5 @@
|
||||
#endif
|
||||
|
||||
#ifdef RCVTIMEO
|
||||
#define SO_RCVTIMEO 0x1006 /* receive timeout */
|
||||
#define SO_RCVTIMEO 0x1006 /* receive timeout */
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
/* Make these what you want for cert & key files */
|
||||
#define CERTF "server.cert.pem"
|
||||
#define KEYF "server.key.pem"
|
||||
|
||||
|
||||
extern SSL_CTX * ctx;
|
||||
extern SSL_METHOD *meth;
|
||||
extern void init_ssl();
|
||||
extern int ssl_handshake(aClient *); /* Handshake the accpeted con.*/
|
||||
extern int ssl_client_handshake(aClient *); /* and the initiated con.*/
|
||||
+1
-2
@@ -1,4 +1,3 @@
|
||||
/* Auto created release stamping */
|
||||
#define RELEASEID2 "951777936"
|
||||
#define RELEASEID2 "961323751"
|
||||
#define RELEASESTUFF "draconic"
|
||||
|
||||
|
||||
+722
-416
File diff suppressed because it is too large
Load Diff
+80
-22
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* IRC - Internet Relay Chat, include/sys.h
|
||||
* Unreal Internet Relay Chat Daemon, include/sys.h
|
||||
* Copyright (C) 1990 University of Oulu, Computing Center
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -30,7 +30,6 @@
|
||||
#include <errno.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include "setup.h"
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
@@ -54,7 +53,9 @@
|
||||
# include <string.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SSL
|
||||
#include <openssl/ssl.h>
|
||||
#endif
|
||||
#ifndef GOT_STRCASECMP
|
||||
#define strcasecmp mycmp
|
||||
#define strncasecmp myncmp
|
||||
@@ -85,7 +86,7 @@ extern char *rindex PROTO((char *, char));
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#ifndef DMALLOC
|
||||
#if !defined(DEBUGMODE)
|
||||
# ifndef _WIN32
|
||||
# define MyFree(x) if ((x) != NULL) free(x)
|
||||
@@ -95,15 +96,15 @@ extern char *rindex PROTO((char *, char));
|
||||
#else
|
||||
#define free(x) MyFree(x)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#ifdef NEXT
|
||||
#define VOIDSIG int /* whether signal() returns int of void */
|
||||
#define VOIDSIG int /* whether signal() returns int of void */
|
||||
#else
|
||||
#define VOIDSIG void /* whether signal() returns int of void */
|
||||
#define VOIDSIG void /* whether signal() returns int of void */
|
||||
#endif
|
||||
|
||||
#ifdef SOL20
|
||||
#define OPT_TYPE char /* opt type for get/setsockopt */
|
||||
#ifdef _SOLARIS
|
||||
#define OPT_TYPE char /* opt type for get/setsockopt */
|
||||
#else
|
||||
#define OPT_TYPE void
|
||||
#endif
|
||||
@@ -116,26 +117,83 @@ extern char *rindex PROTO((char *, char));
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
extern VOIDSIG dummy();
|
||||
#endif
|
||||
|
||||
#ifdef DYNIXPTX
|
||||
#define NO_U_TYPES
|
||||
typedef unsigned short n_short; /* short as received from the net */
|
||||
typedef unsigned long n_long; /* long as received from the net */
|
||||
typedef unsigned long n_time; /* ms since 00:00 GMT, byte rev */
|
||||
#define _NETINET_IN_SYSTM_INCLUDED
|
||||
extern VOIDSIG dummy();
|
||||
#endif
|
||||
|
||||
#ifdef NO_U_TYPES
|
||||
typedef unsigned char u_char;
|
||||
typedef unsigned short u_short;
|
||||
typedef unsigned long u_long;
|
||||
typedef unsigned int u_int;
|
||||
typedef unsigned char u_char;
|
||||
typedef unsigned short u_short;
|
||||
typedef unsigned long u_long;
|
||||
typedef unsigned int u_int;
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define MYOSNAME "Win32"
|
||||
#endif
|
||||
#ifdef DEBUGMODE
|
||||
// #define ircsprintf sprintf
|
||||
//#define ircvsprintf vsprintf
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* IPv4 or IPv6 structures?
|
||||
*/
|
||||
|
||||
#ifdef INET6
|
||||
|
||||
# define AND16(x) ((x)[0]&(x)[1]&(x)[2]&(x)[3]&(x)[4]&(x)[5]&(x)[6]&(x)[7]&(x)[8]&(x)[9]&(x)[10]&(x)[11]&(x)[12]&(x)[13]&(x)[14]&(x)[15])
|
||||
static unsigned char minus_one[] =
|
||||
{ 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
255, 255, 255, 255, 255, 255, 255, 0
|
||||
};
|
||||
|
||||
# define WHOSTENTP(x) ((x)[0]|(x)[1]|(x)[2]|(x)[3]|(x)[4]|(x)[5]|(x)[6]|(x)[7]|(x)[8]|(x)[9]|(x)[10]|(x)[11]|(x)[12]|(x)[13]|(x)[14]|(x)[15])
|
||||
|
||||
# define AFINET AF_INET6
|
||||
# define SOCKADDR_IN sockaddr_in6
|
||||
# define SOCKADDR sockaddr
|
||||
# define SIN_FAMILY sin6_family
|
||||
# define SIN_PORT sin6_port
|
||||
# define SIN_ADDR sin6_addr
|
||||
# define S_ADDR s6_addr
|
||||
# define IN_ADDR in6_addr
|
||||
|
||||
# ifndef uint32_t
|
||||
# define uint32_t __u32
|
||||
# endif
|
||||
|
||||
# define MYDUMMY_SIZE 128
|
||||
char mydummy[MYDUMMY_SIZE];
|
||||
char mydummy2[MYDUMMY_SIZE];
|
||||
|
||||
# if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(bsdi)
|
||||
# ifndef s6_laddr
|
||||
# define s6_laddr s6_addr32
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if defined(linux)
|
||||
static const struct in6_addr in6addr_any = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
# endif
|
||||
|
||||
# define IRCDCONF_DELIMITER '%'
|
||||
|
||||
#else
|
||||
# define AFINET AF_INET
|
||||
# define SOCKADDR_IN sockaddr_in
|
||||
# define SOCKADDR sockaddr
|
||||
# define SIN_FAMILY sin_family
|
||||
# define SIN_PORT sin_port
|
||||
# define SIN_ADDR sin_addr
|
||||
# define S_ADDR s_addr
|
||||
# define IN_ADDR in_addr
|
||||
|
||||
# define WHOSTENTP(x) (x)
|
||||
# define IRCDCONF_DELIMITER ':'
|
||||
#endif
|
||||
|
||||
#endif /* __sys_include__ */
|
||||
|
||||
+12
-12
@@ -2,7 +2,7 @@
|
||||
* Userload module by Michael L. VanLoon (mlv) <michaelv@iastate.edu>
|
||||
* Written 2/93. Originally grafted into irc2.7.2g 4/93.
|
||||
*
|
||||
* IRC - Internet Relay Chat, ircd/userload.h
|
||||
* Unreal Internet Relay Chat Daemon, ircd/userload.h
|
||||
* Copyright (C) 1990 University of Oulu, Computing Center
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -30,25 +30,25 @@
|
||||
#endif
|
||||
|
||||
struct current_load_struct {
|
||||
u_short client_count, local_count, conn_count;
|
||||
u_long entries;
|
||||
};
|
||||
u_short client_count, local_count, conn_count;
|
||||
u_long entries;
|
||||
};
|
||||
|
||||
extern struct current_load_struct current_load_data;
|
||||
|
||||
struct load_entry {
|
||||
struct load_entry *prev;
|
||||
u_short client_count, local_count, conn_count;
|
||||
struct load_entry *prev;
|
||||
u_short client_count, local_count, conn_count;
|
||||
#ifdef DEBUGMODE
|
||||
u_short cpu_usage;
|
||||
u_short cpu_usage;
|
||||
#endif
|
||||
long time_incr;
|
||||
long time_incr;
|
||||
};
|
||||
|
||||
extern struct load_entry *load_list_head, *load_list_tail,
|
||||
*load_free_head, *load_free_tail;
|
||||
*load_free_head, *load_free_tail;
|
||||
|
||||
|
||||
extern void initload PROTO ((void));
|
||||
extern void update_load PROTO ((void));
|
||||
extern void calc_load PROTO ((aClient *, char *));
|
||||
extern void initload PROTO((void));
|
||||
extern void update_load PROTO((void));
|
||||
extern void calc_load PROTO((aClient *, char *));
|
||||
|
||||
+14
-21
@@ -16,39 +16,32 @@
|
||||
#else
|
||||
#define DEBUGMODESET ""
|
||||
#endif
|
||||
/**/
|
||||
/**/
|
||||
#ifdef DEBUG
|
||||
#define DEBUGSET "(Debug)"
|
||||
#else
|
||||
#define DEBUGSET ""
|
||||
#endif
|
||||
/**/
|
||||
#define COMPILEINFO DEBUGMODESET DEBUGSET
|
||||
#ifndef WEBTV
|
||||
#define XTRAINFO ""
|
||||
#else
|
||||
#define XTRAINFO "(WebTV)"
|
||||
#endif
|
||||
/**/
|
||||
#define COMPILEINFO DEBUGMODESET DEBUGSET
|
||||
/*
|
||||
* Version Unreal3.0
|
||||
* Version Unreal3.2-Selene
|
||||
*/
|
||||
#define UnrealProtocol 2300
|
||||
#define UnrealProtocol 2303
|
||||
#define PATCH1 "3"
|
||||
#define PATCH2 ".0"
|
||||
#define PATCH3 "-Morrigan"
|
||||
#define PATCH4 "(fix)"
|
||||
#define PATCH2 ".2"
|
||||
#define PATCH3 "-Selene"
|
||||
#define PATCH4 "[DEVEL]"
|
||||
#define PATCH5 ""
|
||||
#define PATCH6 ""
|
||||
#define PATCH7 ""
|
||||
#define PATCH8 COMPILEINFO
|
||||
#define PATCH9 XTRAINFO
|
||||
|
||||
#ifndef _WIN32
|
||||
#define BASE_VERSION "Unreal"
|
||||
#ifdef _WIN32
|
||||
#define PATCH9 "+win32"
|
||||
#else
|
||||
#define BASE_VERSION "UnrealIRCd/32 v"
|
||||
#define PATCH9 ""
|
||||
#endif
|
||||
|
||||
/* release header */
|
||||
#define Rh BASE_VERSION
|
||||
#define VERSIONONLY PATCH1 PATCH2 PATCH3 PATCH4 PATCH5 PATCH6 PATCH7
|
||||
|
||||
#endif /* __versioninclude */
|
||||
#endif /* __versioninclude */
|
||||
|
||||
+17
-51
@@ -18,70 +18,36 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* $Log$
|
||||
* Revision 1.1.1.1 2000/01/30 12:16:34 stskeeps
|
||||
* Begin of CVS at cvs.unreal.sourceforge.net
|
||||
*
|
||||
*
|
||||
* Revision 1.1.1.1 1999/09/01 23:20:37 stskeeps
|
||||
*
|
||||
* Revision 1.1.1.1 1999/07/22 13:56:41 stskeeps
|
||||
* 16:56 22-07-99 techie
|
||||
* - Started on using CVS to develop Unreal
|
||||
*
|
||||
*
|
||||
* Revision 1.1.1.1 1999/07/21 10:48:18 stskeeps
|
||||
* 12:47 GMT+2 21 July 1999 - Techie
|
||||
* Starting Unreal with CVS..
|
||||
*
|
||||
*
|
||||
* Revision 1.2 1997/12/29 07:17:35 wd
|
||||
* df4.6.2
|
||||
* ee CHANGES for updates
|
||||
* -wd
|
||||
*
|
||||
* Revision 1.1.1.1 1997/08/22 17:23:01 donwulff
|
||||
* Original import from the "deadlined" version.
|
||||
*
|
||||
* Revision 1.1.1.1 1996/11/18 07:53:42 explorer
|
||||
* ircd 4.3.3 -- about time
|
||||
*
|
||||
* Revision 1.1.1.1.4.1 1996/09/16 02:45:41 donwulff
|
||||
* *** empty log message ***
|
||||
* from original rcs
|
||||
* $ Id: whowas.h,v 6.1 1991/07/04 21:04:39 gruner stable gruner $
|
||||
*
|
||||
* $ Log: whowas.h,v $
|
||||
* Revision 6.1 1991/07/04 21:04:39 gruner
|
||||
* Revision 2.6.1 [released]
|
||||
*
|
||||
* Revision 6.0 1991/07/04 18:05:08 gruner
|
||||
* frozen beta revision 2.6.1
|
||||
*
|
||||
* th+hybrid rcs version
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef __whowas_include__
|
||||
#define __whowas_include__
|
||||
|
||||
#ifndef PROTO
|
||||
#if __STDC__
|
||||
# define PROTO(x) x
|
||||
#else
|
||||
# define PROTO(x) ()
|
||||
#endif /* __STDC__ */
|
||||
#endif /* ! PROTO */
|
||||
|
||||
/*
|
||||
** WHOWAS structure moved here from whowas.c
|
||||
*/
|
||||
typedef struct aname {
|
||||
anUser *ww_user;
|
||||
aClient *ww_online;
|
||||
time_t ww_logout;
|
||||
long ww_umodes;
|
||||
char ww_nick[NICKLEN+1];
|
||||
char ww_info[REALLEN+1];
|
||||
anUser *ww_user;
|
||||
aClient *ww_online;
|
||||
time_t ww_logout;
|
||||
long ww_umodes;
|
||||
char ww_nick[NICKLEN + 1];
|
||||
char ww_info[REALLEN + 1];
|
||||
} aName;
|
||||
|
||||
|
||||
/*
|
||||
** add_history
|
||||
** Add the currently defined name of the client to history.
|
||||
@@ -89,7 +55,7 @@ typedef struct aname {
|
||||
** Client must be a fully registered user (specifically,
|
||||
** the user structure must have been allocated).
|
||||
*/
|
||||
void add_history PROTO((aClient *));
|
||||
void add_history(aClient *, int);
|
||||
|
||||
/*
|
||||
** off_history
|
||||
@@ -98,7 +64,7 @@ void add_history PROTO((aClient *));
|
||||
** structures and it must know when they cease to exist. This
|
||||
** also implicitly calls AddHistory.
|
||||
*/
|
||||
void off_history PROTO((aClient *));
|
||||
void off_history(aClient *);
|
||||
|
||||
/*
|
||||
** get_history
|
||||
@@ -106,15 +72,15 @@ void off_history PROTO((aClient *));
|
||||
** nickname within the timelimit. Returns NULL, if no
|
||||
** one found...
|
||||
*/
|
||||
aClient *get_history PROTO((char *, time_t));
|
||||
aClient *get_history(char *, time_t);
|
||||
/* Nick name */
|
||||
/* Time limit in seconds */
|
||||
|
||||
int m_whowas PROTO((aClient *, aClient *, int, char *[]));
|
||||
int m_whowas(aClient *, aClient *, int, char *[]);
|
||||
|
||||
/*
|
||||
** for debugging...counts related structures stored in whowas array.
|
||||
*/
|
||||
void count_whowas_memory PROTO((int *, int *, u_long *));
|
||||
void count_whowas_memory(int *, u_long *);
|
||||
|
||||
#endif /* __whowas_include__ */
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, include/s_zip.h
|
||||
* Copyright (C) 1992 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.
|
||||
*
|
||||
*
|
||||
* "s_zip.h". - Headers file.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
#ifndef INCLUDED_s_zip_h
|
||||
#define INCLUDED_s_zip_h
|
||||
#include <zlib.h> /* z_stream */
|
||||
#endif
|
||||
|
||||
struct Client;
|
||||
|
||||
#ifdef ZIP_LINKS
|
||||
/* the minimum amount of data needed to trigger compression */
|
||||
#define ZIP_MINIMUM 4096
|
||||
|
||||
/* the maximum amount of data to be compressed (can actually be a bit more) */
|
||||
#define ZIP_MAXIMUM 8192 /* WARNING: *DON'T* CHANGE THIS!!!! */
|
||||
|
||||
struct Zdata {
|
||||
z_stream *in; /* input zip stream data */
|
||||
z_stream *out; /* output zip stream data */
|
||||
char inbuf[ZIP_MAXIMUM]; /* incoming zipped buffer */
|
||||
char outbuf[ZIP_MAXIMUM]; /* outgoing (unzipped) buffer */
|
||||
int incount; /* size of inbuf content */
|
||||
int outcount; /* size of outbuf content */
|
||||
};
|
||||
|
||||
#endif /* ZIP_LINKS */
|
||||
|
||||
|
||||
extern int zip_init(struct Client *);
|
||||
extern void zip_free(struct Client *);
|
||||
extern char *unzip_packet(struct Client *, char *, int *);
|
||||
extern char *zip_buffer(struct Client *, char *, int *, int);
|
||||
@@ -24,9 +24,11 @@ echo "| (3) DPATH or SPATH's are incorrect. Run |"
|
||||
echo "| ./Config to correct that. |"
|
||||
echo "| (4) Someone else is running an ircd on the |"
|
||||
echo "| default port you chose in ircd.conf. |"
|
||||
echo "| |"
|
||||
echo "| see ircd.log for more information |"
|
||||
echo "|********************************************|"
|
||||
echo "| If you can't get Unreal IRCd to work - go |"
|
||||
echo "| to /server irc.flirt.org and join |"
|
||||
echo "| to /server irc.fyremoon.net and join |"
|
||||
echo "| #UnrealIRCd or mail us at |"
|
||||
echo "| unreal-support@lists.sourceforge.net |"
|
||||
echo "| |"
|
||||
@@ -59,10 +61,10 @@ echo "| (4) Someone else is running an ircd on the |"
|
||||
echo "| default port you chose in ircd.conf. |"
|
||||
echo "|********************************************|"
|
||||
echo "| If you can't get Unreal IRCd to work - go |"
|
||||
echo "| to /server irc.global-irc.net and join |"
|
||||
echo "| #Global - Try ask in the channel or /msg |"
|
||||
echo "| Stskeeps/Techie(me!) or else-- email me at |"
|
||||
echo "| stskeeps@tspre.org |"
|
||||
echo "| to /server irc.fyremoon.net and join |"
|
||||
echo "| #UnrealIRCd or mail us at |"
|
||||
echo "| unreal-support@lists.sourceforge.net |"
|
||||
echo "| |"
|
||||
echo "|--------------------------------------------|"
|
||||
|
||||
exit
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
# change this to the mail address to mail output to:
|
||||
MAIL=me
|
||||
# change this to the directory you run your ircd from:
|
||||
dir="../"
|
||||
dir="../src"
|
||||
|
||||
# change this to the name of your ircd's file in that directory:
|
||||
ircdexe="ircd"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
# $Id$
|
||||
|
||||
lynx http://unreal.sourceforge.net/register.html
|
||||
lynx http://www.unrealircd.com/register.html
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
.
|
||||
@@ -13,6 +13,7 @@ ADMADDR="admin@no.where.com"
|
||||
OPERNAME="admin"
|
||||
OPERADDR="*@*"
|
||||
OPERPASS="password"
|
||||
NUMERIC=""
|
||||
PORT="6667"
|
||||
OPRT="default"
|
||||
LINKPASS="linkpass"
|
||||
@@ -21,7 +22,7 @@ ENCRYPT="Yes"
|
||||
FLAGS="OAZHWe"
|
||||
RESTARTPASS="restartpass"
|
||||
DIEPASS="diepass"
|
||||
SERVICES="Services.ShadowNet.Org"
|
||||
SERVICES="Services.IRC-Net.Org"
|
||||
|
||||
# these are so I can use stuff like $1 without it replacing it...like by
|
||||
# using $dlrsgn$uno for $1
|
||||
@@ -173,6 +174,15 @@ if [ ! -z "$cc" ]; then
|
||||
PORT="$cc"
|
||||
fi
|
||||
|
||||
echo " "
|
||||
echo "What server numeric does the server have (range = 1..256)"
|
||||
echo "Must NOT be the same as other servers you link with"
|
||||
echo $n " [] -> $c"
|
||||
read cc
|
||||
if [ ! -z "$cc" ]; then
|
||||
NUMERIC="$cc"
|
||||
fi
|
||||
|
||||
echo " "
|
||||
echo "What is your real name? (ie: John Doe)"
|
||||
echo $n " [$ADMIN] -> $c"
|
||||
@@ -311,7 +321,7 @@ cat > $CONF << __EOF__
|
||||
########################
|
||||
|
||||
############ Server Info ############
|
||||
M:$SERVNAME:$VIRTUAL:$COMMENT:$PORT
|
||||
M:$SERVNAME:$VIRTUAL:$COMMENT:$PORT:$NUMERIC
|
||||
#####################################
|
||||
|
||||
############ Administrator Information #############
|
||||
@@ -320,7 +330,7 @@ A:$ADMIN:$ADMNICK:$ADMADDR
|
||||
|
||||
############ Y-lines #############
|
||||
# Client Y:lines
|
||||
Y:1:90:0:$MAXCONNECTIONS:100000
|
||||
Y:1:90:0:245:100000
|
||||
# Server Y:lines
|
||||
Y:50:300:600:1:1000000
|
||||
##################################
|
||||
|
||||
+84
-16
@@ -2,31 +2,59 @@
|
||||
# Win32Gui Config File .. By DrBin
|
||||
#
|
||||
CC=cl
|
||||
COMPILERHELP=compilerhelp.exe
|
||||
# Here you put your settings
|
||||
FD_SETSIZE=/D FD_SETSIZE=16384
|
||||
NS_ADDRESS=/D NS_ADDRESS="\"nospoof@dal.net\""
|
||||
CFLAGS=/MT /O2 /G5 /I ./INCLUDE /Fosrc/ /nologo $(FD_SETSIZE) $(NS_ADDRESS) /D _WIN32GUI /D NOSPOOF=1 /c
|
||||
|
||||
!IFNDEF DEBUG
|
||||
|
||||
!IFNDEF DISTDEBUG
|
||||
CFLAGS=/MT /O2 /G5 /I ./INCLUDE /Fosrc/ /nologo $(FD_SETSIZE) $(NS_ADDRESS) /D _WIN32GUI /D USENEWDNS /D NOSPOOF=1 /c
|
||||
|
||||
LFLAGS=kernel32.lib user32.lib gdi32.lib shell32.lib ws2_32.lib \
|
||||
oldnames.lib libcmt.lib comctl32.lib /nodefaultlib /nologo /out:WIRCD2.EXE
|
||||
|
||||
!ELSE
|
||||
|
||||
CFLAGS= /MTd /Zi /I ./INCLUDE /Fosrc/ /nologo $(FD_SETSIZE) $(NS_ADDRESS) /D USENEWDNS /D _WIN32GUI /D NOSPOOF=1 /c
|
||||
#/Od /Yd /G5
|
||||
LFLAGS=kernel32.lib user32.lib gdi32.lib shell32.lib wsock32.lib \
|
||||
oldnames.lib libcmt.lib comctl32.lib /nodefaultlib /nologo /debug /debugtype:BOTH /OUT:WIRCD.EXE
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!ELSE
|
||||
|
||||
CFLAGS= /MTd /Zi /I ./INCLUDE /Fosrc/ /nologo $(FD_SETSIZE) $(NS_ADDRESS) /D DEBUG /D DEBUGMODE /D USENEWDNS /D _DEBUG /D _WIN32GUI /D NOSPOOF=1 /c
|
||||
#/Od /Yd /G5
|
||||
LFLAGS=kernel32.lib user32.lib gdi32.lib shell32.lib wsock32.lib \
|
||||
oldnames.lib libcmt.lib comctl32.lib /nodefaultlib /nologo /debug /debugtype:BOTH /OUT:WIRCD.EXE
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
INCLUDES=./include/struct.h ./include/config.h ./include/sys.h \
|
||||
./include/common.h ./include/version.h ./include/h.h ./include/numeric.h \
|
||||
./include/msg.h ./include/setup.h ./include/dynconf.h
|
||||
LINK=link.exe
|
||||
LFLAGS=kernel32.lib user32.lib gdi32.lib shell32.lib wsock32.lib \
|
||||
oldnames.lib libcmt.lib comctl32.lib /nodefaultlib /nologo /out:WIRCD2.EXE
|
||||
# SRC/RES.OBJ SRC/RES_INIT.OBJ SRC/RES_COMP.OBJ
|
||||
OBJ_FILES=SRC/CHANNEL.OBJ SRC/USERLOAD.OBJ SRC/SEND.OBJ SRC/BSD.OBJ \
|
||||
SRC/S_CONF.OBJ SRC/FDLIST.OBJ SRC/DBUF.OBJ SRC/RES.OBJ \
|
||||
SRC/S_CONF.OBJ SRC/FDLIST.OBJ SRC/DBUF.OBJ \
|
||||
SRC/CLOAK.OBJ SRC/HASH.OBJ SRC/PARSE.OBJ SRC/IRCD.OBJ \
|
||||
SRC/S_NUMERIC.OBJ SRC/WHOWAS.OBJ SRC/RES_COMP.OBJ SRC/S_AUTH.OBJ \
|
||||
SRC/S_NUMERIC.OBJ SRC/WHOWAS.OBJ SRC/S_AUTH.OBJ \
|
||||
SRC/HELP.OBJ SRC/S_MISC.OBJ SRC/MATCH.OBJ SRC/CRULE.OBJ \
|
||||
SRC/S_DEBUG.OBJ SRC/RES_INIT.OBJ SRC/SUPPORT.OBJ SRC/LIST.OBJ \
|
||||
SRC/S_DEBUG.OBJ SRC/SUPPORT.OBJ SRC/LIST.OBJ \
|
||||
SRC/S_ERR.OBJ SRC/PACKET.OBJ SRC/CLASS.OBJ SRC/S_BSD.OBJ \
|
||||
SRC/MD5.OBJ SRC/S_SERV.OBJ SRC/S_USER.OBJ SRC/WIN32GUI.OBJ \
|
||||
SRC/VERSION.OBJ SRC/win32/WIN32.RES SRC/S_UNREAL.OBJ SRC/DYNCONF.OBJ \
|
||||
SRC/S_SOCKS.OBJ SRC/S_KLINE.OBJ SRC/S_EXTRA.OBJ
|
||||
SRC/S_SERV.OBJ SRC/S_USER.OBJ SRC/WIN32GUI.OBJ \
|
||||
SRC/VERSION.OBJ SRC/S_UNREAL.OBJ SRC/DYNCONF.OBJ \
|
||||
SRC/S_SOCKS.OBJ SRC/S_KLINE.OBJ SRC/S_EXTRA.OBJ SRC/IRCSPRINTF.OBJ SRC/LUSERS.OBJ \
|
||||
SRC/SCACHE.OBJ SRC/ALN.OBJ SRC/BADWORDS.OBJ SRC/WEBTV.OBJ SRC/NEWDNS.OBJ src/version.obj
|
||||
RC=rc.exe
|
||||
|
||||
ALL: WIRCD.EXE CHKCONF.EXE
|
||||
@echo Please, please REMEMBER to add those U lines!
|
||||
@echo Read the file READTHIS.NOW formore info
|
||||
ALL: COMPILERHELP.EXE WIRCD.EXE
|
||||
|
||||
CLEAN:
|
||||
-@erase src\*.exe 2>NUL
|
||||
@@ -44,11 +72,21 @@ CLEAN:
|
||||
#src/version.c: dummy
|
||||
# @config.exe -v
|
||||
|
||||
src/version.obj: src/win32/version.c
|
||||
$(CC) $(CFLAGS) src/win32/version.c
|
||||
./COMPILERHELP.EXE:
|
||||
cl src/win32/compilerhelp.c /link /out:compilerhelp.exe
|
||||
|
||||
./WIRCD.EXE: $(OBJ_FILES) src/win32/version.obj
|
||||
$(LINK) $(LFLAGS) $(OBJ_FILES)
|
||||
./WIRCD.EXE: $(OBJ_FILES) SRC/win32/WIN32.RES
|
||||
$(LINK) $(LFLAGS) $(OBJ_FILES) SRC/win32/WIN32.RES SRC/WIN32/GNU_REGEX.LIB SRC/WIN32/DEBUG/STACKTRACE.LIB /MAPINFO:LINES /MAP
|
||||
-@erase src\win32\win32.res
|
||||
!IFNDEF DEBUG
|
||||
!IFNDEF DISTDEBUG
|
||||
@echo Non Debug version built
|
||||
!ELSE
|
||||
@echo Distribution DEBUG Version Built
|
||||
!ENDIF
|
||||
!ELSE
|
||||
@echo Debug version built ...
|
||||
!ENDIF
|
||||
|
||||
./CHKCONF.EXE: ./include/struct.h ./include/config.h ./include/sys.h \
|
||||
./include/common.h ./src/crule.c ./src/match.c ./src/chkconf.c
|
||||
@@ -58,15 +96,30 @@ src/version.obj: src/win32/version.c
|
||||
$(LINK) /nologo /out:./chkconf.exe src/chkconf.obj src/chkmatch.obj \
|
||||
src/chkcrule.obj
|
||||
|
||||
src/newdns.obj: src/newdns.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/newdns.c
|
||||
|
||||
src/version.obj: src/win32/version.c
|
||||
$(CC) $(CFLAGS) src/win32/version.c
|
||||
|
||||
src/parse.obj: src/parse.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/parse.c
|
||||
|
||||
src/badwords.obj: src/badwords.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/badwords.c
|
||||
|
||||
src/webtv.obj: src/webtv.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/webtv.c
|
||||
|
||||
src/bsd.obj: src/bsd.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/bsd.c
|
||||
|
||||
src/dbuf.obj: src/dbuf.c $(INCLUDES) ./include/dbuf.h
|
||||
$(CC) $(CFLAGS) src/dbuf.c
|
||||
|
||||
src/ircsprintf.obj: src/ircsprintf.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/ircsprintf.c
|
||||
|
||||
src/packet.obj: src/packet.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/packet.c
|
||||
|
||||
@@ -92,6 +145,12 @@ src/channel.obj: src/channel.c $(INCLUDES) ./include/channel.h
|
||||
src/class.obj: src/class.c $(INCLUDES) ./include/class.h
|
||||
$(CC) $(CFLAGS) src/class.c
|
||||
|
||||
src/lusers.obj: src/lusers.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/lusers.c
|
||||
|
||||
src/aln.obj: src/aln.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/aln.c
|
||||
|
||||
src/ircd.obj: src/ircd.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/ircd.c
|
||||
|
||||
@@ -122,6 +181,9 @@ src/s_kline.obj: src/s_kline.c $(INCLUDES)
|
||||
src/s_misc.obj: src/s_misc.c $(INCLUDES) ./include/dbuf.h
|
||||
$(CC) $(CFLAGS) src/s_misc.c
|
||||
|
||||
src/scache.obj: src/scache.c $(INCLUDES) ./include/dbuf.h
|
||||
$(CC) $(CFLAGS) src/scache.c
|
||||
|
||||
src/s_socks.obj: src/s_socks.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/s_socks.c
|
||||
|
||||
@@ -169,9 +231,15 @@ src/md5.obj: src/md5.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/md5.c
|
||||
|
||||
src/win32/win32.res: src/win32/win32gui.rc
|
||||
!IFNDEF DISTDEBUG
|
||||
$(COMPILERHELP) src/win32/leavealone.h
|
||||
!ELSE
|
||||
$(COMPILERHELP) src/win32/leavealone.h 0
|
||||
!ENDIF
|
||||
$(RC) /l 0x409 /fosrc/win32/win32.res /i ./include /i ./src \
|
||||
/d NDEBUG src/win32/win32gui.rc
|
||||
|
||||
dummy:
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
ver^2.2
|
||||
#
|
||||
# My IRC Network (irc.auspice.org) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 01 Dec 2000 00:31
|
||||
# Author: In Mean
|
||||
# Email: auspice@auspice.org
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: Auspice
|
||||
Set ircnetwork ....: Auspice
|
||||
Set defserv .......: irc.auspice.org
|
||||
Set SERVICES_NAME .: Services.auspice.org
|
||||
Set oper_host .....: oper.auspice.org
|
||||
Set admin_host ....: admin.auspice.org
|
||||
Set locop_host ....: locop.auspice.org
|
||||
Set sadmin_host ...: csop.auspice.org
|
||||
Set netadmin_host .: netadmin.auspice.org
|
||||
Set coadmin_host ..: coadmin.auspice.org
|
||||
Set techadmin_host : techadmin.auspice.org
|
||||
Set hidden_host ...: khmer
|
||||
Set netdomain .....: auspice.org
|
||||
Set helpchan ......: #services
|
||||
Set STATS_SERVER ..: Services.auspice.org
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: 0
|
||||
Set net_quit ......: not_in_use
|
||||
@@ -0,0 +1,25 @@
|
||||
ver^2.2
|
||||
#
|
||||
# AXEnet (irc.axenet.org) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: Axenet
|
||||
Set ircnetwork ....: Axenet
|
||||
Set defserv .......: irc.axenet.org
|
||||
Set SERVICES_NAME .: services.axenet.org
|
||||
Set oper_host .....: ircop.axenet.org
|
||||
Set admin_host ....: admin.axenet.org
|
||||
Set locop_host ....: locop.axenet.org
|
||||
Set sadmin_host ...: csop.axenet.org
|
||||
Set netadmin_host .: netadmin.axenet.org
|
||||
Set coadmin_host ..: coadmin.axenet.org
|
||||
Set techadmin_host : techadmin.axenet.org
|
||||
Set hidden_host ...: axe
|
||||
Set netdomain .....: axenet.org
|
||||
Set helpchan ......: #axenethelp
|
||||
Set STATS_SERVER ..: stats.axenet.org
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: axe
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Network Configuration File Template
|
||||
# -----------------------------------------
|
||||
# Added-at: <day> <month> <year> <hh:dd> GMT
|
||||
# Author: <nick> (<real name>)
|
||||
# E-Mail: <email>
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
# This is a template so you can create your own network configuration files
|
||||
# Just follow the instructions and it will prolly work ;)
|
||||
# 0 = No 1 = Yes
|
||||
# -------------------------------------------------------
|
||||
#
|
||||
# These two specify the name of the IRC network, set the same in both fields
|
||||
Network >..........: CC2
|
||||
Set ircnetwork ....: CC2
|
||||
|
||||
# This is where your DNS pool is (like irc.dal.net)
|
||||
Set defserv .......: irc.cc2.org
|
||||
|
||||
# This is the name of your Services Server
|
||||
Set SERVICES_NAME .: services.cc2.org
|
||||
|
||||
# This is the virtual hostname IRCops will get if iNAH option is enabled
|
||||
# on oper up
|
||||
Set oper_host .....: ircop.cc2.org
|
||||
|
||||
# This is the virtual hostname Server Admins will get if iNAH option is enabled
|
||||
# on oper up
|
||||
Set admin_host ....: admin.cc2.org
|
||||
|
||||
# This is the virtual hostname Local IRCops will get if iNAH option is enabled
|
||||
# on oper up
|
||||
|
||||
Set locop_host ....: locop.cc2.org
|
||||
|
||||
# This is the virtual hostname Services Operators/Admins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
|
||||
Set sadmin_host ...: services.cc2.org
|
||||
|
||||
# This is the virtual hostname NetAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
|
||||
Set netadmin_host .: netadmin.cc2.org
|
||||
|
||||
# This is the virtual hostname CoAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
Set coadmin_host ..: coadmin.cc2.org
|
||||
|
||||
|
||||
# This is the virtual hostname TechAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
Set techadmin_host : technician.cc2.org
|
||||
|
||||
# This is the prefix of the hidden host (cloaking) hostname
|
||||
Set hidden_host ...: user
|
||||
# This is the domain of the IRC network
|
||||
Set netdomain .....: cc2.org
|
||||
# This is where people can go for help
|
||||
Set helpchan ......: #help
|
||||
# This is the name of the stats server
|
||||
Set STATS_SERVER ..: stats.ircnet.org
|
||||
# -- Not in use--
|
||||
Set HUB ...........: 1
|
||||
# This enables the auto-setting of f.x @netadmin.network.net
|
||||
# on oper up
|
||||
Set iNAH ..........: 1
|
||||
# -- Not in use but still here --
|
||||
Set net_quit ......: cc2
|
||||
@@ -0,0 +1,30 @@
|
||||
ver^2.2
|
||||
#
|
||||
# ChatPlace (irc.chatplace.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 14 July 1999 00:00 GMT
|
||||
# Author: Stskeeps (Carsten Munk)
|
||||
# E-Mail: stskeeps@roxnet.org
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: ChatPlace
|
||||
Set ircnetwork ....: ChatPlace
|
||||
Set defserv .......: irc.chatplace.net
|
||||
Set SERVICES_NAME .: services.chatplace.net
|
||||
Set oper_host .....: oper.chatplace.net
|
||||
Set admin_host ....: admin.chatplace.net
|
||||
Set locop_host ....: locop.chatplace.net
|
||||
Set sadmin_host ...: csop.chatplace.net
|
||||
Set netadmin_host .: netadmin.chatplace.net
|
||||
Set coadmin_host ..: coadmin.chatplace.net
|
||||
Set techadmin_host : techadmin.chatplace.net
|
||||
Set hidden_host ...: cp
|
||||
Set netdomain .....: chatplace.net
|
||||
Set helpchan ......: #HelpDesk
|
||||
Set STATS_SERVER ..: stats.chatplace.net
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: CP
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Chatstation (irc.chatstation.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 14 July 1999 00:00 GMT
|
||||
# Author: Astronomy (Kerem Durmus)
|
||||
# E-Mail: ircadmin@chatstation.net
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: Chatstation
|
||||
Set ircnetwork ....: Chatstation
|
||||
Set defserv .......: irc.chatstation.net
|
||||
Set SERVICES_NAME .: services.chatstation.net
|
||||
Set oper_host .....: IRCop.Chatstation.Net
|
||||
Set admin_host ....: Admin.Chatstation.Net
|
||||
Set locop_host ....: Locop.Chatstation.Net
|
||||
Set sadmin_host ...: CSops.Chatstation.Net
|
||||
Set netadmin_host .: NetAdmin.Chatstation.Net
|
||||
Set coadmin_host ..: Coadmin.Chatstation.Net
|
||||
Set techadmin_host : TechAdmin.Chatstation.Net
|
||||
Set hidden_host ...: Chatstation
|
||||
Set netdomain .....: chatstation.net
|
||||
Set helpchan ......: #Help
|
||||
Set STATS_SERVER ..: stats.Chatstation.Net
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: CS
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Network Configuration File Template
|
||||
# -----------------------------------------
|
||||
# Added-at: <day> <month> <year> <hh:dd> GMT
|
||||
# Author: <nick> (<real name>)
|
||||
# E-Mail: <email>
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
# This is a template so you can create your own network configuration files
|
||||
# Just follow the instructions and it will prolly work ;)
|
||||
ver^2.2
|
||||
#
|
||||
# Darkfyre (irc.darkfyre.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 10 September 2000 22:23
|
||||
# Author: Mel
|
||||
# Email: mel19791@home.com <mailto:mel19791@home.com>
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: Darkfyre
|
||||
Set ircnetwork ....: Darkfyre
|
||||
Set defserv .......: irc.darkfyre.net
|
||||
Set SERVICES_NAME .: Services.Darkfyre.Net
|
||||
Set oper_host .....: IRCop.Darkfyre.Net
|
||||
Set admin_host ....: Admin.Darkfyre.Net
|
||||
Set locop_host ....: LocalOp.Darkfyre.Net
|
||||
Set sadmin_host ...: CSop.Darkfyre.Net
|
||||
Set netadmin_host .: NetAdmin.Darkfyre.Net
|
||||
Set coadmin_host ..: CoAdmin.Darkfyre.Net
|
||||
Set techadmin_host : TechAdmin.Darkfyre.Net
|
||||
Set hidden_host ...: darkfyre
|
||||
Set netdomain .....: Darkfyre.net
|
||||
Set helpchan ......: #help
|
||||
Set STATS_SERVER ..: Stats.Darkfyre.Net
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: not_in_use
|
||||
@@ -0,0 +1,29 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Darkwar (irc.darkwar.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 22 October 2000 19:40
|
||||
# Author: stryker
|
||||
# Email: stryker@darkwar.net
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: Darkwar
|
||||
Set ircnetwork ....: Darkwar
|
||||
Set defserv .......: irc.darkwar.net
|
||||
Set SERVICES_NAME .: services.darkwar.net
|
||||
Set oper_host .....: oper.darkwar.net
|
||||
Set admin_host ....: admin.darkwar.net
|
||||
Set locop_host ....: locop.darkwar.net
|
||||
Set sadmin_host ...: csop.darkwar.net
|
||||
Set netadmin_host .: netadmin.darkwar.net
|
||||
Set coadmin_host ..: coadmin.darkwar.net
|
||||
Set techadmin_host : techadmin.darkwar.net
|
||||
Set hidden_host ...: hide
|
||||
Set netdomain .....: darkwar.net
|
||||
Set helpchan ......: #darkwar
|
||||
Set STATS_SERVER ..: stats.darkwar.net
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: not_in_use
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Data-Storm (irc.data-storm.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 05 November 2000 13:42
|
||||
# Author: data-genius
|
||||
# Email: dg@data-storm.net
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: Data-Storm
|
||||
Set ircnetwork ....: Data-Storm
|
||||
Set defserv .......: irc.data-storm.net
|
||||
Set SERVICES_NAME .: services.data-storm.net
|
||||
Set oper_host .....: oper.root.net
|
||||
Set admin_host ....: oper.root.net
|
||||
Set locop_host ....: oper.root.net
|
||||
Set sadmin_host ...: oper.root.net
|
||||
Set netadmin_host .: oper.god.net
|
||||
Set coadmin_host ..: oper.root.net
|
||||
Set techadmin_host : oper.root.net
|
||||
Set hidden_host ...: ownedbyj00
|
||||
Set netdomain .....: data-storm.net
|
||||
Set helpchan ......: #help
|
||||
Set STATS_SERVER ..: stats.data-storm.net
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: 0
|
||||
Set net_quit ......: not_in_use
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Network Configuration File Template
|
||||
# -----------------------------------------
|
||||
# Added-at: <day> <month> <year> <hh:dd> GMT
|
||||
# Author: <nick> (<real name>)
|
||||
# E-Mail: <email>
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
# This is a template so you can create your own network configuration files
|
||||
# Just follow the instructions and it will prolly work ;)
|
||||
# 0 = No 1 = Yes
|
||||
# -------------------------------------------------------
|
||||
#
|
||||
# These two specify the name of the IRC network, set the same in both fields
|
||||
Network >..........: digital-irc.net
|
||||
Set ircnetwork ....: digital-irc.net
|
||||
|
||||
# This is where your DNS pool is (like irc.dal.net)
|
||||
Set defserv .......: irc.digital-irc.net
|
||||
|
||||
# This is the name of your Services Server
|
||||
Set SERVICES_NAME .: services.digital-irc.net
|
||||
|
||||
# This is the virtual hostname IRCops will get if iNAH option is enabled
|
||||
# on oper up
|
||||
Set oper_host .....: ircop.digital-irc.net
|
||||
|
||||
# This is the virtual hostname Server Admins will get if iNAH option is enabled
|
||||
# on oper up
|
||||
Set admin_host ....: admin.digital-irc.net
|
||||
|
||||
# This is the virtual hostname Local IRCops will get if iNAH option is enabled
|
||||
# on oper up
|
||||
|
||||
Set locop_host ....: locop.digital-irc.net
|
||||
|
||||
# This is the virtual hostname Services Operators/Admins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
|
||||
Set sadmin_host ...: serviceop.digital-irc.net
|
||||
|
||||
# This is the virtual hostname NetAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
|
||||
Set netadmin_host .: netadmin.digital-irc.net
|
||||
|
||||
# This is the virtual hostname CoAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
Set coadmin_host ..: coadmin.digital-irc.net
|
||||
|
||||
# This is the virtual hostname TechAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
Set techadmin_host : techadmin.digital-irc.net
|
||||
|
||||
# This is the prefix of the hidden host (cloaking) hostname
|
||||
Set hidden_host ...: digital-irc
|
||||
# This is the domain of the IRC network
|
||||
Set netdomain .....: digital-irc.net
|
||||
# This is where people can go for help
|
||||
Set helpchan ......: #Digital-IRC
|
||||
# This is the name of the stats server
|
||||
Set STATS_SERVER ..: stats.digital-irc.net
|
||||
# -- Not in use--
|
||||
Set HUB ...........: 1
|
||||
# This enables the auto-setting of f.x @netadmin.network.net
|
||||
# on oper up
|
||||
Set iNAH ..........: 0
|
||||
# -- Not in use but still here --
|
||||
Set net_quit ......: ic
|
||||
@@ -0,0 +1,25 @@
|
||||
ver^2.2
|
||||
#
|
||||
# German-Elite (irc.german-elite.net) Network Configuration File
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: German-Elite
|
||||
Set ircnetwork ....: German-Elite
|
||||
Set defserv .......: irc.german-elite.net
|
||||
Set SERVICES_NAME .: services.german-elite.net
|
||||
Set oper_host .....: ircop.german-elite.net
|
||||
Set admin_host ....: admin.german-elite.net
|
||||
Set locop_host ....: locop.german-elite.net
|
||||
Set sadmin_host ...: csop.german-elite.net
|
||||
Set netadmin_host .: netadmin.german-elite.net
|
||||
Set coadmin_host ..: coadmin.german-elite.net
|
||||
Set techadmin_host : techadmin.german-elite.net
|
||||
Set hidden_host ...: GE
|
||||
Set netdomain .....: german-elite.net
|
||||
Set helpchan ......: #german-elite
|
||||
Set STATS_SERVER ..: stats.german-elite.net
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: GE
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Network Configuration File Template
|
||||
# -----------------------------------------
|
||||
# Added-at: <Monday> <August> <2000>
|
||||
# Author: Anonymos
|
||||
# E-Mail: Anonymos@Global-IRC.de
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
# This is a template so you can create your own network configuration files
|
||||
# Just follow the instructions and it will prolly work ;)
|
||||
# 0 = No 1 = Yes
|
||||
# -------------------------------------------------------
|
||||
#
|
||||
# These two specify the name of the IRC network, set the same in both fields
|
||||
Network >..........: IRC
|
||||
Set ircnetwork ....: Global
|
||||
|
||||
# This is where your DNS pool is (like irc.dal.net)
|
||||
Set defserv .......: IRC.Global-IRC.de
|
||||
|
||||
# This is the name of your Services Server
|
||||
Set SERVICES_NAME .: Service.Global-IRC.de
|
||||
|
||||
# This is the virtual hostname IRCops will get if iNAH option is enabled
|
||||
# on oper up
|
||||
Set oper_host .....: Global-IRC-OP.Global-IRC.de
|
||||
|
||||
# This is the virtual hostname Server Admins will get if iNAH option is enabled
|
||||
# on oper up
|
||||
Set admin_host ....: ServerAdmin.Global-IRC.de
|
||||
|
||||
# This is the virtual hostname Local IRCops will get if iNAH option is enabled
|
||||
# on oper up
|
||||
|
||||
Set locop_host ....: Local-IRC-OP.Global-IRC.de
|
||||
|
||||
# This is the virtual hostname Services Operators/Admins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
|
||||
Set sadmin_host ...: ServiceAdmin.Global-IRC.de
|
||||
|
||||
# This is the virtual hostname NetAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
|
||||
Set netadmin_host .: NetworkAdmin.Global-IRC.de
|
||||
|
||||
# This is the virtual hostname CoAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
Set coadmin_host ..: CoAdmin.Global-IRC.de
|
||||
|
||||
|
||||
# This is the virtual hostname TechAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
Set techadmin_host : TechAdmin.Global-IRC.de
|
||||
|
||||
# This is the prefix of the hidden host (cloaking) hostname
|
||||
Set hidden_host ...: GL-IRC
|
||||
# This is the domain of the IRC network
|
||||
Set netdomain .....: Global-IRC.de
|
||||
# This is where people can go for help
|
||||
Set helpchan ......: #Global-IRC-World
|
||||
# This is the name of the stats server
|
||||
Set STATS_SERVER ..: Stats.Global-IRC.de
|
||||
# -- Not in use--
|
||||
Set HUB ...........: 0
|
||||
# This enables the auto-setting of f.x @ServerAdmin.Global-IRC.de
|
||||
# on oper up
|
||||
Set iNAH ..........: 1
|
||||
# -- Not in use but still here --
|
||||
Set net_quit ......: GL
|
||||
@@ -0,0 +1,29 @@
|
||||
ver^2.2
|
||||
#
|
||||
# ROXnet (irc.rox.za.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 14 July 1999 00:00 GMT
|
||||
# Author: Stskeeps (Carsten Munk)
|
||||
# E-Mail: stskeeps@roxnet.org
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: InterTurk
|
||||
Set ircnetwork ....: InterTurk
|
||||
Set defserv .......: irc.interturk.net
|
||||
Set SERVICES_NAME .: services.egenet.com.tr
|
||||
Set oper_host .....: ircop.interturk.net
|
||||
Set admin_host ....: admin.interturk.net
|
||||
Set locop_host ....: locop.interturk.net
|
||||
Set sadmin_host ...: csops.interturk.net
|
||||
Set netadmin_host .: netadmin.interturk.net
|
||||
Set coadmin_host ..: coadmin.interturk.net
|
||||
Set techadmin_host : techadmin.interturk.net
|
||||
Set hidden_host ...: InterTurk
|
||||
Set netdomain .....: interturk.net
|
||||
Set helpchan ......: #Help
|
||||
Set STATS_SERVER ..: stats.interturk.net
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 0
|
||||
Set net_quit ......: iN
|
||||
@@ -0,0 +1,28 @@
|
||||
ver^2.2
|
||||
#
|
||||
# IRCChat (irc.irc-chat.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 29 November 2000 15:49
|
||||
# Author: TheRock
|
||||
# Email: unit649@unit649.net
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: IRCChat
|
||||
Set ircnetwork ....: IRCChat
|
||||
Set defserv .......: irc.irc-chat.net
|
||||
Set SERVICES_NAME .: services.irc-chat.net
|
||||
Set oper_host .....: oper.irc-chat.net
|
||||
Set admin_host ....: admin.irc-chat.net
|
||||
Set locop_host ....: locop.irc-chat.net
|
||||
Set sadmin_host ...: csop.irc-chat.net
|
||||
Set netadmin_host .: netadmin.irc-chat.net
|
||||
Set coadmin_host ..: coadmin.irc-chat.net
|
||||
Set techadmin_host : techadmin.irc-chat.net
|
||||
Set hidden_host ...: irc
|
||||
Set netdomain .....: irc-chat.net
|
||||
Set helpchan ......: #irc-chat
|
||||
Set STATS_SERVER ..: stats.irc-chat.net
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: not_in_use
|
||||
@@ -0,0 +1,29 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Global-IRC.net Network Configuration File
|
||||
# -----------------------------------------
|
||||
# Added-at: 14 July 1999 00:00 GMT
|
||||
# Author: Stskeeps (Carsten Munk)
|
||||
# E-Mail: stskeeps@global-irc.net
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: IRCThai.com
|
||||
Set ircnetwork ....: IRCThai.com
|
||||
Set defserv .......: irc.ircthai.com
|
||||
Set SERVICES_NAME .: services.ircthai.com
|
||||
Set oper_host .....: IRCop.ircthai.com
|
||||
Set admin_host ....: Admin.ircthai.com
|
||||
Set locop_host ....: LOCop.ircthai.com
|
||||
Set sadmin_host ...: ServiceAdmin.ircthai.com
|
||||
Set netadmin_host .: NetAdmin.ircthai.com
|
||||
Set coadmin_host ..: CoAdmin.ircthai.com
|
||||
Set techadmin_host : TechAdmin.ircthai.com
|
||||
Set hidden_host ...: IRCThai
|
||||
Set netdomain .....: ircthai.com
|
||||
Set helpchan ......: #ThaiHelp
|
||||
Set STATS_SERVER ..: stats.ircthai.com
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: IT
|
||||
@@ -0,0 +1,30 @@
|
||||
ver^2.2
|
||||
#
|
||||
# IsraelNet (irc.israel.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 14 September 2000 14:39
|
||||
# Author: Web
|
||||
# Email: dors@Nonstop.net.il
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: IsraelNet
|
||||
Set ircnetwork ....: IsraelNet
|
||||
Set defserv .......: irc.israel.net
|
||||
Set SERVICES_NAME .: services.israel.net
|
||||
Set oper_host .....: Oper.Israel.Net
|
||||
Set admin_host ....: Admin.Israel.Net
|
||||
Set locop_host ....: LocOP.Israel.Net
|
||||
Set sadmin_host ...: CSop.Israel.Net
|
||||
Set netadmin_host .: NetAdmin.Israel.Net
|
||||
Set coadmin_host ..: CoAdmin.Israel.Net
|
||||
Set techadmin_host : TechAdmin.Israel.Net
|
||||
Set hidden_host ...: israel
|
||||
Set netdomain .....: irc.israel.net
|
||||
Set helpchan ......: #OperHelp
|
||||
Set STATS_SERVER ..: stats.israel.net
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: not_in_use
|
||||
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Network Configuration File Template
|
||||
# -----------------------------------------
|
||||
# Added-at: <day> <month> <year> <hh:dd> GMT
|
||||
# Author: <nick> (<real name>)
|
||||
# E-Mail: <email>
|
||||
# $Id$
|
||||
# -----------------------------------------
|
||||
# This is a template so you can create your own network configuration files
|
||||
# Just follow the instructions and it will prolly work ;)
|
||||
# 0 = No 1 = Yes
|
||||
# -------------------------------------------------------
|
||||
#
|
||||
# These two specify the name of the IRC network, set the same in both fields
|
||||
Network >..........: KammTecH
|
||||
Set ircnetwork ....: KammTecH
|
||||
|
||||
# This is where your DNS pool is (like irc.dal.net)
|
||||
Set defserv .......: irc.kammtech.dhs.org
|
||||
|
||||
# This is the name of your Services Server
|
||||
Set SERVICES_NAME .: services.kammtech.dhs.org
|
||||
|
||||
# This is the virtual hostname IRCops will get if iNAH option is enabled
|
||||
# on oper up
|
||||
Set oper_host .....: ircop.kammtech.dhs.org
|
||||
|
||||
# This is the virtual hostname Server Admins will get if iNAH option is enabled
|
||||
# on oper up
|
||||
Set admin_host ....: admin.kammtech.dhs.org
|
||||
|
||||
# This is the virtual hostname Local IRCops will get if iNAH option is enabled
|
||||
# on oper up
|
||||
|
||||
Set locop_host ....: locop.kammtech.dhs.org
|
||||
|
||||
# This is the virtual hostname Services Operators/Admins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
|
||||
Set sadmin_host ...: serviceop.kammtech.dhs.org
|
||||
|
||||
# This is the virtual hostname NetAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
|
||||
Set netadmin_host .: netadmin.kammtech.dhs.org
|
||||
|
||||
# This is the virtual hostname CoAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
Set coadmin_host ..: coadmin.kammtech.dhs.org
|
||||
|
||||
|
||||
# This is the virtual hostname TechAdmins will get
|
||||
# if iNAH option is enabled on oper up
|
||||
Set techadmin_host : techadmin.kammtech.dhs.org
|
||||
|
||||
# This is the prefix of the hidden host (cloaking) hostname
|
||||
Set hidden_host ...: kammtech
|
||||
# This is the domain of the IRC network
|
||||
Set netdomain .....: kammtech.dhs.org
|
||||
# This is where people can go for help
|
||||
Set helpchan ......: #KammTecH
|
||||
# This is the name of the stats server
|
||||
Set STATS_SERVER ..: stats.kammtech.dhs.org
|
||||
# -- Not in use--
|
||||
Set HUB ...........: 1
|
||||
# This enables the auto-setting of f.x @netadmin.network.net
|
||||
# on oper up
|
||||
Set iNAH ..........: 1
|
||||
# -- Not in use but still here --
|
||||
Set net_quit ......: KammTecH
|
||||
@@ -0,0 +1,29 @@
|
||||
|
||||
#
|
||||
# KissLand IRC Network Configuration File
|
||||
# -----------------------------------------
|
||||
# Author: Plague33 (Frank Laszlo)
|
||||
# E-Mail: plague33@premis.lod.com
|
||||
#
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
|
||||
Network >..........: Kissland
|
||||
Set ircnetwork ....: Kissland
|
||||
Set defserv .......: irc.Kissland.Com
|
||||
Set SERVICES_NAME .: Services.Kissland.Com
|
||||
Set oper_host .....: IRCop.Kissland.Com
|
||||
Set admin_host ....: Admin.Kissland.Com
|
||||
Set locop_host ....: Oper.Kissland.Com
|
||||
Set sadmin_host ...: Services.Admin.Kissland.Com
|
||||
Set netadmin_host .: Network.Admin.Kissland.Com
|
||||
Set coadmin_host ..: Co.Admin.Kissland.Com
|
||||
Set techadmin_host : Technical.Admin.Kissland.Com
|
||||
Set hidden_host ...: Kiss
|
||||
Set netdomain .....: Kissland.Com
|
||||
Set helpchan ......: #Services
|
||||
Set STATS_SERVER ..: Stats.Kissland.Com
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: KL
|
||||
@@ -0,0 +1,29 @@
|
||||
ver^2.2
|
||||
#
|
||||
# lamenet.net (irc.lamenet.net) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 16 November 2000 10:40
|
||||
# Author: Reptilezen
|
||||
# Email: xtekcor@hotmail.com <mailto:xtekcor@hotmail.com>
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: lamenet.net
|
||||
Set ircnetwork ....: lamenet.net
|
||||
Set defserv .......: irc.lamenet.net
|
||||
Set SERVICES_NAME .: services.lamenet.net
|
||||
Set oper_host .....: oper.mynet.org
|
||||
Set admin_host ....: admin.mynet.org
|
||||
Set locop_host ....: biglamer.lamenet.net
|
||||
Set sadmin_host ...: csop.lamenet.net
|
||||
Set netadmin_host .: netadmin.lamenet.net
|
||||
Set coadmin_host ..: coadmin
|
||||
Set techadmin_host : techadmin.lamenet.net
|
||||
Set hidden_host ...: hiddenhost
|
||||
Set netdomain .....: lamenet.net
|
||||
Set helpchan ......: #Services
|
||||
Set STATS_SERVER ..: stats.lamenet.net
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: not_in_use
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
ver^2.2
|
||||
|
||||
Network >..........: Linuxactive
|
||||
Set ircnetwork ....: Linuxactive
|
||||
Set defserv .......: irc.linuxactive.net
|
||||
Set SERVICES_NAME .: services.linuxactive.net
|
||||
Set oper_host .....: ircop.linuxactive.net
|
||||
Set admin_host ....: admin.linuxactive.net
|
||||
Set locop_host ....: locop.linuxactive.net
|
||||
Set sadmin_host ...: csops.linuxactive.net
|
||||
Set netadmin_host .: netadmin.linuxactive.net
|
||||
Set coadmin_host ..: coadmin.linuxactive.net
|
||||
Set techadmin_host : techadmin.linuxactive.net
|
||||
Set hidden_host ...: LinuxActive
|
||||
Set netdomain .....: linuxactive.net
|
||||
Set helpchan ......: #Linux
|
||||
Set STATS_SERVER ..: stats.linuxactive.net
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 0
|
||||
Set net_quit ......: TR
|
||||
@@ -0,0 +1,19 @@
|
||||
ver^2.2
|
||||
Network >..........: LinuxSquare
|
||||
Set ircnetwork ....: LinuxSquare
|
||||
Set defserv .......: Irc.LinuxSquare.Net
|
||||
Set SERVICES_NAME .: Services.CA.US.LinuxSquare.Net
|
||||
Set oper_host .....: GlobalOp.LinuxSquare.Net
|
||||
Set admin_host ....: Admin.LinuxSquare.Net
|
||||
Set locop_host ....: TrainingOp.LinuxSquare.Net
|
||||
Set sadmin_host ...: ServicesAdmin.LinuxSquare.Net
|
||||
Set netadmin_host .: NetAdmin.LinuxSquare.Net
|
||||
Set coadmin_host ..: CoAdmin.LinuxSquare.Net
|
||||
Set techadmin_host : TechAdmin.LinuxSquare.Net
|
||||
Set hidden_host ...: LinuxSquare
|
||||
Set netdomain .....: LinuxSquare.Net
|
||||
Set helpchan ......: #HelpDesk
|
||||
Set STATS_SERVER ..: Stats.CA.US.LinuxSquare.Net
|
||||
Set HUB ...........: 1
|
||||
Set iNAH ..........: 0
|
||||
Set net_quit ......: LS
|
||||
Executable
+287
@@ -0,0 +1,287 @@
|
||||
#!/bin/sh
|
||||
|
||||
# makenet v1.0 - generates a network file for UnrealIRCd
|
||||
#
|
||||
# you may freely use this file with any other program as
|
||||
# long as the credits remain intact
|
||||
#
|
||||
# (c) 2000 codemastr (Dominick Meglio) and the UnrealIRCd Team
|
||||
|
||||
VERSION="2.2"
|
||||
DATE=`date "+%d %B %Y %H:%M"`
|
||||
FILE="mynet.network"
|
||||
EXISTS="y"
|
||||
NICK="MyNick"
|
||||
EMAIL="me@mynet.org"
|
||||
NETWORK="My IRC Network"
|
||||
DEFSERV="irc.mynet.org"
|
||||
SERVICES_NAME="services.mynet.org"
|
||||
OPER_HOST="oper.mynet.org"
|
||||
ADMIN_HOST="admin.mynet.org"
|
||||
LOCOP_HOST="locop.mynet.org"
|
||||
CSOP_HOST="csop.mynet.org"
|
||||
NETADMIN_HOST="netadmin.mynet.org"
|
||||
TECHADMIN_HOST="techadmin.mynet.org"
|
||||
COADMIN_HOST="coadmin.mynet.org"
|
||||
HIDDEN_HOST="hide"
|
||||
NETDOMAIN="mynet.org"
|
||||
HELPCHAN="#help"
|
||||
STATS_SERVER="stats.mynet.org"
|
||||
INAH="1"
|
||||
SUBMIT="y"
|
||||
|
||||
# Checking out how to specify not to make a new line with the current OS
|
||||
c=''
|
||||
n=''
|
||||
2>/dev/null
|
||||
if [ "`eval echo -n 'a'`" = "-n a" ]; then
|
||||
c='\c'
|
||||
else
|
||||
n='-n'
|
||||
fi
|
||||
|
||||
clear
|
||||
echo "Welcome to the UnrealIRCd network file generator"
|
||||
echo "If you need help to set the IRCd up,"
|
||||
echo "mail unreal-support@lists.sourceforge.net or ask"
|
||||
echo "at IRC: /server irc.ircsystems.net, /join #unrealircd"
|
||||
echo ""
|
||||
echo "For any sake, read Unreal.nfo and read doc/faq before asking"
|
||||
echo "questions"
|
||||
echo "[Enter to Begin]"
|
||||
read cc
|
||||
|
||||
echo ""
|
||||
echo "What do you want your network file to be called?"
|
||||
echo $n "[$FILE] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
FILE="$cc"
|
||||
fi
|
||||
|
||||
if [ -f $FILE ]; then
|
||||
echo ""
|
||||
echo "$FILE already exists do you want to override it?"
|
||||
echo $n "[$EXISTS] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
EXISTS="$cc"
|
||||
fi
|
||||
case "$EXISTS" in
|
||||
[Nn]*)
|
||||
exit
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is your IRC nickname?"
|
||||
echo $n "[$NICK] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
NICK="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is your email address?"
|
||||
echo $n "[$EMAIL] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
EMAIL="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the name of your IRC network?"
|
||||
echo $n "[$NETWORK] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
NETWORK="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the default server for your network?"
|
||||
echo $n "[$DEFSERV] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
DEFSERV="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the name of your services server?"
|
||||
echo $n "[$SERVICES_NAME] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
SERVICES_NAME="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the virtual host opers will get when they oper up?"
|
||||
echo $n "[$OPER_HOST] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
OPER_HOST="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the virtual host services opers will get when they oper up?"
|
||||
echo $n "[$CSOP_HOST] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
CSOP_HOST="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the virtual host admins will get when they oper up?"
|
||||
echo $n "[$ADMIN_HOST] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
ADMIN_HOST="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the virtual host local opers will get when they oper up?"
|
||||
echo $n "[$LOCOP_HOST] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
LOCOP_HOST="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the virtual host coadmins will get when they oper up?"
|
||||
echo $n "[$COADMIN_HOST] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
COADMIN_HOST="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the virtual host techadmins will get when they oper up?"
|
||||
echo $n "[$TECHADMIN_HOST] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
TECHADMIN_HOST="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the virtual host netadmins will get when they oper up?"
|
||||
echo $n "[$NETADMIN_HOST] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
NETADMIN_HOST="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What do you want the prefix for the hidden hosts to be?"
|
||||
echo $n "[$HIDDEN_HOST] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
HIDDEN_HOST="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is your network's domain name?"
|
||||
echo $n "[$NETDOMAIN] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
NETDOMAIN="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is your network's help channel?"
|
||||
echo $n "[$HELPCHAN] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
HELPCHAN="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "What is the name of your stats server?"
|
||||
echo $n "[$STATS_SERVER] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
STATS_SERVER="$cc"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Do you want oper's hosts to be changed on /oper?"
|
||||
echo "1 = yes 0 = no"
|
||||
echo $n "[$INAH] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
INAH="$cc"
|
||||
fi
|
||||
|
||||
# write the actual conf
|
||||
|
||||
cat > $FILE << __EOF__
|
||||
ver^$VERSION
|
||||
#
|
||||
# $NETWORK ($DEFSERV) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: $DATE
|
||||
# Author: $NICK
|
||||
# Email: $EMAIL
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: $NETWORK
|
||||
Set ircnetwork ....: $NETWORK
|
||||
Set defserv .......: $DEFSERV
|
||||
Set SERVICES_NAME .: $SERVICES_NAME
|
||||
Set oper_host .....: $OPER_HOST
|
||||
Set admin_host ....: $ADMIN_HOST
|
||||
Set locop_host ....: $LOCOP_HOST
|
||||
Set sadmin_host ...: $CSOP_HOST
|
||||
Set netadmin_host .: $NETADMIN_HOST
|
||||
Set coadmin_host ..: $COADMIN_HOST
|
||||
Set techadmin_host : $TECHADMIN_HOST
|
||||
Set hidden_host ...: $HIDDEN_HOST
|
||||
Set netdomain .....: $NETDOMAIN
|
||||
Set helpchan ......: $HELPCHAN
|
||||
Set STATS_SERVER ..: $STATS_SERVER
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: $INAH
|
||||
Set net_quit ......: not_in_use
|
||||
__EOF__
|
||||
|
||||
echo ""
|
||||
echo "Would you like to submit the your network file to be included with future releases of unreal?"
|
||||
echo $n "[$SUBMIT] -> $c"
|
||||
read cc
|
||||
if [ ! -z $cc ]; then
|
||||
SUBMIT="$cc"
|
||||
fi
|
||||
case "$SUBMIT" in
|
||||
[Nn]*)
|
||||
echo "Ok all done, all you have to do is,"
|
||||
echo "Change the Include line in unrealircd.conf to:"
|
||||
echo "Include .................: networks/$FILE"
|
||||
echo "Thank your for choosing UnrealIRCd"
|
||||
exit
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$NETWORK" == "My IRC Network" ] ; then
|
||||
echo ""
|
||||
echo "You may not submit a network file that uses default values"
|
||||
exit
|
||||
fi
|
||||
|
||||
cat |sendmail -t << __EOF__&
|
||||
To: unreal-networks@lists.sourceforge.net
|
||||
From: $EMAIL
|
||||
Subject: Network file submission for $NETWORK
|
||||
|
||||
`cat $FILE`
|
||||
.
|
||||
__EOF__
|
||||
echo ""
|
||||
echo "Ok all done, all you have to do is,"
|
||||
echo "Change the Include line in unrealircd.conf to:"
|
||||
echo "Include .................: networks/$FILE"
|
||||
echo "Thank your for choosing UnrealIRCd"
|
||||
exit
|
||||
@@ -0,0 +1,29 @@
|
||||
ver^2.2
|
||||
#
|
||||
# Music-ChatNET (Irc.Music-ChatNET.Com) Network Configuration File
|
||||
# --------------------------------------------------
|
||||
# Added-at: 21 November 2000 22:40
|
||||
# Author: Chad
|
||||
# Email: Chad@Music-ChatNET.Com
|
||||
# -----------------------------------------
|
||||
#
|
||||
|
||||
Network >..........: Music-ChatNET
|
||||
Set ircnetwork ....: Music-ChatNET
|
||||
Set defserv .......: Irc.Music-ChatNET.Com
|
||||
Set SERVICES_NAME .: Services.Music-ChatNET.Com
|
||||
Set oper_host .....: IRCop.Music-ChatNET.Com
|
||||
Set admin_host ....: Admin.Music-ChatNET.Com
|
||||
Set locop_host ....: LOcop.Music-ChatNET.Com
|
||||
Set sadmin_host ...: CSop.Music-ChatNET.Com
|
||||
Set netadmin_host .: NetAdmin.Music-ChatNET.Com
|
||||
Set coadmin_host ..: CoAdmin.Music-ChatNET.Com
|
||||
Set techadmin_host : TechAdmin.Music-ChatNET.Com
|
||||
Set hidden_host ...: MCN
|
||||
Set netdomain .....: Music-ChatNET.Com
|
||||
Set helpchan ......: #Music-Chat
|
||||
Set STATS_SERVER ..: Stats.Music-ChatNET.Com
|
||||
Set HUB ...........: not_in_use
|
||||
Set iNAH ..........: 1
|
||||
Set net_quit ......: not_in_use
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user