Compare commits
300 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2413bc72d6 | |||
| 5d9a49587c | |||
| 6466d1ed3f | |||
| 145d3dfb7e | |||
| 8dd7b3efee | |||
| d27f817403 | |||
| 2d2dcbd93a | |||
| b5ae2f7fc8 | |||
| ed34721f16 | |||
| a92c041b88 | |||
| 4761f302f6 | |||
| b59cead0b2 | |||
| 560155275b | |||
| 8694c3ffbe | |||
| 562397aa87 | |||
| 6f5590934f | |||
| 6fd5101305 | |||
| 9d1c5c2ceb | |||
| c27a3229c7 | |||
| 18892b6446 | |||
| 542ecdc7fb | |||
| a510d024d6 | |||
| ac1c9232bf | |||
| b2ec3ec1a7 | |||
| 3699932d77 | |||
| 2b68123854 | |||
| 636aa8352b | |||
| e0048f7525 | |||
| f8865a5aa1 | |||
| 1f75896d56 | |||
| 870289c2fd | |||
| 037b2e6434 | |||
| a6ddaba35b | |||
| 2484153b70 | |||
| 49bb821199 | |||
| 99db84be8c | |||
| 8d1ff52f0d | |||
| e53e4a93db | |||
| e77382c196 | |||
| d90d0f52f6 | |||
| f19f945836 | |||
| 8833852342 | |||
| c343bf91f7 | |||
| 1ccd58d2a2 | |||
| e1f991f196 | |||
| 60a2ebc493 | |||
| a88f70518c | |||
| 29454d1c56 | |||
| f31620b194 | |||
| 3bd9fbcccf | |||
| 9834eb7566 | |||
| ac6f01c0df | |||
| d2db682c97 | |||
| 49c8a45728 | |||
| 0322db7ebd | |||
| 8d35c56efb | |||
| 9cf9781698 | |||
| de9b9854b9 | |||
| 640404a4d5 | |||
| 13597dc40d | |||
| 5d401a394e | |||
| b95b9d9e27 | |||
| 491d6f70c2 | |||
| f18eb925c4 | |||
| 296b085008 | |||
| b0178e83bd | |||
| 4a49f9b21f | |||
| c20d8fb8f8 | |||
| e478bced2e | |||
| 0ce08bb11a | |||
| a7851a2b95 | |||
| e65a717cf4 | |||
| 430121770f | |||
| e55a6611c8 | |||
| 1937f8c742 | |||
| b516697885 | |||
| 94306ba8a5 | |||
| c695ee4bcf | |||
| ba08714e66 | |||
| 0f9d6e71e8 | |||
| 9237ce85cf | |||
| f10832a977 | |||
| 7523a30430 | |||
| 7587d594da | |||
| 65a2668ede | |||
| ffea432f5a | |||
| e679134624 | |||
| 12869627e6 | |||
| 7819ffae6c | |||
| 73b7a8be1e | |||
| 0b632d5e71 | |||
| 0576528af0 | |||
| ef43f0f2ca | |||
| 0c540e883f | |||
| 0131d9f325 | |||
| 2399936a6a | |||
| b4a6f24f80 | |||
| 2f449e0918 | |||
| fd925b3c28 | |||
| 5753585026 | |||
| 1c73d5ae45 | |||
| 1a9b9ccf1a | |||
| ce580bbe09 | |||
| 1c22a8257c | |||
| 335e30513c | |||
| 38c48fef75 | |||
| 662f6398f3 | |||
| 420991af6a | |||
| 0f2ae3c278 | |||
| 4823908acb | |||
| 03aa90bc43 | |||
| bef880aa6a | |||
| b8fecd310f | |||
| 104e7200f5 | |||
| eaecb8c42a | |||
| c4d3ae9df1 | |||
| b60eb8f989 | |||
| 8de39f6dc5 | |||
| a46ebe1f38 | |||
| 78fa804531 | |||
| 2b6390daa3 | |||
| 4aa8f59611 | |||
| 3debe8680a | |||
| 1c9ee5c817 | |||
| e5d74b9ae0 | |||
| 6f8aca82f3 | |||
| dbaab6e026 | |||
| d3e7ab8006 | |||
| 3a4c06ffd3 | |||
| 73af1fd6e0 | |||
| 4fd3ec7525 | |||
| 19cd68a204 | |||
| 2d7eb2c1b1 | |||
| c5d855eb10 | |||
| d29b6498fb | |||
| 1f8489a471 | |||
| 02acda1628 | |||
| fccb560c67 | |||
| 376e3d3d6f | |||
| f92fcae257 | |||
| 7c54ce70c9 | |||
| 0206d844e9 | |||
| afcb0b2a03 | |||
| 9194aece63 | |||
| a9f1838c3e | |||
| 78ef8effe9 | |||
| 90d56ef4e5 | |||
| ae0f7643dd | |||
| 30b0175a39 | |||
| bd6729ad93 | |||
| 51d0d59ced | |||
| 9daf3d0b73 | |||
| 7805566ceb | |||
| c7fbfa3e92 | |||
| 8e7b926c31 | |||
| 887a003b98 | |||
| 5a0d13d9fa | |||
| 164869dca5 | |||
| 538c318eb6 | |||
| fa2e9760f9 | |||
| 5a366beda7 | |||
| 0f6d91091e | |||
| 8be7cbab05 | |||
| 112d928f11 | |||
| 6d239e28ec | |||
| d10bc57b74 | |||
| 6b8c83ba85 | |||
| 93f759f200 | |||
| dc3f1ba227 | |||
| b549340657 | |||
| 8f68a64363 | |||
| 15c765449b | |||
| ec5231f565 | |||
| db060a11b8 | |||
| f52f030346 | |||
| 58c667c7c3 | |||
| a3a04d9797 | |||
| 3e89146e19 | |||
| ce009a31ba | |||
| e39a1f9884 | |||
| 7a7e2de05c | |||
| 59084e02a1 | |||
| 6fda3150a6 | |||
| 6db9156993 | |||
| e306a6e55c | |||
| e72587c252 | |||
| eca91bee1f | |||
| 0b873a2b6b | |||
| c78c669fdd | |||
| 863e32a3d9 | |||
| de2c5e6cc7 | |||
| 84c70bdd2f | |||
| aedfae229a | |||
| f65e857d4e | |||
| 587f4c4281 | |||
| f5f4e4500f | |||
| dbda73fa56 | |||
| 0dd1483fc3 | |||
| 96d2cf936b | |||
| f7ab73f82e | |||
| 12cdefe981 | |||
| 8b6f528b54 | |||
| f512f9b901 | |||
| 819e0c98ea | |||
| 2f67e63456 | |||
| c2649c5438 | |||
| b34268dad0 | |||
| e20e9dfd85 | |||
| 455d732636 | |||
| ba01670af2 | |||
| 9e42107355 | |||
| d25d7900df | |||
| d48edbdf5c | |||
| b1fce6bb63 | |||
| ff4517fa8a | |||
| 2ed3bf18df | |||
| 3a49482363 | |||
| 1055c2b73c | |||
| 29f53a13c4 | |||
| 40a014a66e | |||
| 393217392f | |||
| 711b771b39 | |||
| 0f93326707 | |||
| bdd52d3eb8 | |||
| 8b753d84eb | |||
| 70a129aac4 | |||
| f0ddd37c49 | |||
| d20059ea7d | |||
| bebebf6cdf | |||
| 3bdee011e9 | |||
| 259b1a5eeb | |||
| 49780c8113 | |||
| 9aeeca3ee8 | |||
| be3f21edd7 | |||
| 407aa55e58 | |||
| 08ad7f0816 | |||
| 0f9b578baa | |||
| 976aa0cb77 | |||
| 929dd62144 | |||
| 4df1253ab3 | |||
| 662ad36275 | |||
| 75b989d67a | |||
| 5b5ed53edb | |||
| 009a3d498c | |||
| 9b8b45099f | |||
| 5d0f93255b | |||
| b4091f77ff | |||
| 4934786273 | |||
| 0d0a632f51 | |||
| 3594f2ee45 | |||
| c07e8962e5 | |||
| 9c947f140e | |||
| 86206ed51c | |||
| 836be977eb | |||
| 3859340b2a | |||
| b2ef3ec1b6 | |||
| 5c0894e57c | |||
| 12cee06bf1 | |||
| c753c7adc1 | |||
| 897a8cec60 | |||
| 548c108ecb | |||
| 7ec691c0ed | |||
| 129bc36adf | |||
| 23bc0b40e6 | |||
| 6ccda4cc95 | |||
| 8480b860cf | |||
| 8505657eab | |||
| 9dd3367f72 | |||
| e888024e63 | |||
| 41f65241a4 | |||
| 77e03b3c91 | |||
| 1a0131e9a9 | |||
| cd2b8186e7 | |||
| 64ee79c5f5 | |||
| f387fbbd4f | |||
| 3981a679c5 | |||
| e65e01ddff | |||
| 68615a398f | |||
| c6266dc19c | |||
| dae5b893d1 | |||
| a4de9ac1e2 | |||
| ea1e7b3f70 | |||
| edd0b08139 | |||
| d9d5cdc910 | |||
| 343f193e7b | |||
| a1b3eb1331 | |||
| 3a482d26ca | |||
| 68bfeffa70 | |||
| 6e42d09c50 | |||
| 567f3b8fcb | |||
| f8d1e81206 | |||
| 6c6130fab6 | |||
| 7695fb209d | |||
| 2cc3eb2266 | |||
| 4fca682f8c | |||
| 6e67d9dea0 | |||
| 5d2092858d | |||
| 4291191149 | |||
| d2a90a5101 | |||
| 5d5ffa3f06 |
@@ -1,9 +1,9 @@
|
||||
|
||||
Unreal3.2-Selene (BETA4) RELEASE NOTES
|
||||
Unreal3.2-Selene (BETA10) RELEASE NOTES
|
||||
======================================
|
||||
|
||||
I M P O R T A N T R E A D I N G
|
||||
|
||||
(YES, YOU WILL NEED TO READ ALL OF THIS)
|
||||
|
||||
* Unreal3.2-Selene is a lot different than Unreal3.1.1. Forget all you have
|
||||
learned about setting up Unreal3.1.1 - this is a lot different. We have got
|
||||
@@ -17,7 +17,9 @@ Unreal3.2-Selene (BETA4) RELEASE NOTES
|
||||
hostname will look different. This is made of three big numbers,
|
||||
configured in the config file - and these MUST be the same on all servers
|
||||
on the network. Keep these numbers secret, and the cloaking algorithm is
|
||||
uncrackable (within 55 years, that is)
|
||||
uncrackable (within 55 years, that is). The +x algorithm was changed slightly
|
||||
to fix a method of cracking that was found. #define COMPAT_BETA4_KEYS to use the beta4
|
||||
system for compatibility with older betas.
|
||||
|
||||
* We use autoconf to help with compiliation, and this should make us able
|
||||
to a lot more platform (we have even ported to BeOS).
|
||||
@@ -60,6 +62,8 @@ Unreal3.2-Selene (BETA4) RELEASE NOTES
|
||||
j - 'junk' notices
|
||||
v - vhost notices
|
||||
G - gline/shun notices
|
||||
n - nick change notices
|
||||
q - deny nick (Q:line) rejection notices
|
||||
|
||||
It shouldn't be too hard to figure out, just play around with it a bit :)
|
||||
|
||||
@@ -71,6 +75,7 @@ Unreal3.2-Selene (BETA4) RELEASE NOTES
|
||||
|
||||
aliases/ircservices.conf (IRCServices, Daylight)
|
||||
aliases/epona.conf (Epona)
|
||||
aliases/auspice.conf (Auspice)
|
||||
aliases/generic.conf (Magick, Sirius, Wrecked)
|
||||
aliases/operstats.conf (OperStats)
|
||||
aliases/genericstats.conf (GeoStats, NeoStats)
|
||||
@@ -79,6 +84,42 @@ Unreal3.2-Selene (BETA4) RELEASE NOTES
|
||||
|
||||
* Added an http proxy scanner (scan_http.so)
|
||||
|
||||
* Added oper::snomask to specify default oper snomask modes
|
||||
|
||||
* /helpop text has been moved to a config directive, help {}. To keep the standard help
|
||||
text you need to include help.conf so add
|
||||
|
||||
include "help.conf";
|
||||
|
||||
to your config file.
|
||||
|
||||
* To be able to use G:lines you must now have the can_gkline flag (or t if old style flags)
|
||||
|
||||
* Usermode +T (Tech Admin) has been removed, since it is 100% useless
|
||||
|
||||
* Added a make install to copy files to the installation location
|
||||
|
||||
* Removed ./ircd, ./killircd, crypt/mkpasswd, ./rehash and merged them into a new
|
||||
./unreal [start|stop|rehash|mkpasswd]
|
||||
for mkpasswd the format is
|
||||
./unreal mkpasswd [method] [password]
|
||||
|
||||
* Added a new system for crypting passwords. You now do for example
|
||||
password "my password" { crypt; };
|
||||
This allows you to have some crypted passwords and others not. If you have SSL enabled
|
||||
you may also use the md5 and sha1 methods.
|
||||
|
||||
* The old blackhole is now set::scan::endpoint and specifies an IP and port to tell
|
||||
proxies to connect to.
|
||||
|
||||
* You can now specify a cipher list for SSL links (read doc/conf.doc for more info)
|
||||
|
||||
* +I is now in invisibility.so so it is easily disabled
|
||||
|
||||
* set::socks has been replaced by set::scan (read doc/conf.doc for more info)
|
||||
|
||||
* log {} syslog support added (read doc/conf.doc for more info)
|
||||
|
||||
* MAKE SURE YOU RERUN ./Config AND RUN make clean BEFORE USING THIS VERSION!!!
|
||||
|
||||
* THIS IS A BETA VERSION. THINGS MAY NOT WORK. REPORT ANY BUGS TO THESE
|
||||
|
||||
@@ -4,17 +4,14 @@
|
||||
| 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 |
|
||||
| An initiative has 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 |
|
||||
| This initiative is called OpenIRC CA - They offer you to sign |
|
||||
| SSL certificates for use with your IRCd for free, |
|
||||
| so your users can be sure that they can trust you and your server. |
|
||||
| To get a signed certificate from them please visit the website |
|
||||
| http://www.openirc-ca.eu.org |
|
||||
| | Press enter to continue |
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* UnrealIRCd Changes File - (C) Carsten Munk 1999-2000 &
|
||||
* UnrealIRCd Changes File - (C) Carsten Munk 1999-2002 &
|
||||
* The UnrealIRCd Team
|
||||
*
|
||||
* $Id$
|
||||
@@ -991,3 +991,354 @@ seen. gmtime warning still there
|
||||
- Fixed events bug, added recoded scan module, got a lot of stuff to fix so
|
||||
far. Problems, unloading, (delay), tkl doesn't always sweep it all,
|
||||
- Some scan unloading stuff
|
||||
- FIXED THE GOD DAMNED WHOIS BUG THAT I REPORTED *MONTHS* AGO! -Griev
|
||||
- Added a new dynamic help system that allows you to add and modify /helpop items
|
||||
- Made N also give you OaA, since its what most people use it for *sigh*
|
||||
- A and a give you O, set::modes-on-oper
|
||||
- Made link::hubmask and link::leafmask actually work properly
|
||||
- Big mods to TKL, oper commands split into module, testing
|
||||
- TKL mods compile and run fine, set{} stuff to decide what funcs are
|
||||
avail forthcoming
|
||||
- SMO recoded but wierd because sendto_umode and sendto_snomask are wierd
|
||||
- chatops actually checks if sender is an oper, why did no one notice this?
|
||||
- bugs in SMO ironed out, now sends to someone with ANY of the umodes/snomasks
|
||||
- Added #undef SECURECHANMSGSONLYGOTOSECURE - send only channel msgs to +z
|
||||
people on +z channels
|
||||
- win32 fixes
|
||||
- Scan API cleanup (You don't use goto when break works just as good)
|
||||
- Fixed other scanner bugs (hopefully it 100% works now?)
|
||||
- Fixed a typo in s_misc.c
|
||||
- Config parser fixes (bugs found by Souleh)
|
||||
- Changed SERVICES-NAME warning to error
|
||||
- Auth_Make fix for crypt method
|
||||
- Fixed a /time GMT offset bug under Win32 reported by Dave337
|
||||
- Documentation updates
|
||||
- Made a few updconf changes
|
||||
- Credits updates
|
||||
- Added a few more network files (why do I think this job will never end?)
|
||||
- CIDR IPv6 fixes, scan_* fixes
|
||||
- Credits fixes
|
||||
- Final release cleanups
|
||||
- Updated /info
|
||||
- Added back good old error reporting in ./unreal start
|
||||
- Changed to beta5
|
||||
- Fixed some slave work.. return MOD_SUCCESS; in all command modules..
|
||||
- make install fix
|
||||
- Fixed a last minute bug in win32
|
||||
- Fixed a bug affecting DEFAULT_PERMISSIONS reported by ashukmin
|
||||
- Fixes for ->user structures
|
||||
- beta5 released
|
||||
- Fixed a bug causing /map to give away Ulines
|
||||
- Fixed a possible segfault in m_stats
|
||||
- Bug with crypt not working for /oper fixed
|
||||
- Fixed a bug where certain oflags were ignored for new-style config flags
|
||||
- Actually enabled MD5, SHA1 methods when SSL was defined. (fix for drunk
|
||||
coding)
|
||||
- Fixed yet another Win32 editor bug affecting Windows 95/98/NT4,
|
||||
found by HA|Raptor
|
||||
- If host == null, don't set it (m_oper, was setting it to "eek.host.is.null.pointer")
|
||||
- Small fix for #427583 mode bug
|
||||
- Fixed it so /module load doesnt require you to do ./module.so if the module is in
|
||||
current dir
|
||||
- Fixed a freeze bug in m_htm (pthreads now uses recursive mutexes)
|
||||
- Reversed freeze bug fix, _NP means NON PORTABLE
|
||||
- Fixed a freeze problem with conf_deny_link
|
||||
- Fixed a bug under WinXP in the editor
|
||||
- Someone removed tkl and opermotd from the command hash (breaks both commands)
|
||||
- Made validate_configuration be called on /rehash, reported by Mick
|
||||
- Fixed a /chgname bug reported by rob where you had to prefix
|
||||
the name with a : to set a realname with spaces.
|
||||
- Fixed a major events bug caused by Stskeeps drunken coding
|
||||
reported by Dragon974
|
||||
- Added mutex.c for our mutexes
|
||||
- Fixed makenet so techadmin-host is gone
|
||||
- Removed set::hosts::techadmin from all network files
|
||||
- doh, missing a ! in m_tkl.c that allows us to do bad things(TM)
|
||||
- Fix for nested comments, found by lnxgk
|
||||
- C++ comment fix, lnxgk again.
|
||||
- Crash in scan_http fixed, h->in instead of &h->in = bad
|
||||
- Made tld::mask be user@host instead of just host
|
||||
- Fixed problem with EventDel, doing eventptr instead of eventptr->name
|
||||
- Fixed bug #0000019 reported by Syzop, and bug found by same to deal with
|
||||
individual module loading
|
||||
- Fix for svsnoop symdep problem
|
||||
- Fixed sts's fix for svsnoop (since he failed to test his fix)
|
||||
- Fixed a bug where the win32 editor would always say the file
|
||||
was modified even if it wasn't
|
||||
- Fixed .1081 problem, see bug #0000020 for more information about how
|
||||
it REALLY should be fixed
|
||||
- Fixed a typo reported by Tracer (bug #0000022)
|
||||
- Made support in *nix for encrypted SSL private keys,
|
||||
"make encpem" to make an encrypted server key if you already have one
|
||||
- Removed some ancient debugging code (num - %s)
|
||||
- Wiped out FLAGS_TS8 because I want to move ->flags into the local section and
|
||||
FLAGS_TS8 had 0 purpose except setting CHFL_SERVOPOK (which did nothing)
|
||||
- Fixed typo I made in previous fix causing non-compileness
|
||||
- Moved some members of the Client structure to the local section, should be
|
||||
a nice cutdown on memory.
|
||||
- Recoded the win32 editor to use a toolbar, and added support
|
||||
for XP style controls
|
||||
- Made a few additional cleanups to the win32 code
|
||||
- // comments are not supported by many compilers and should not be used
|
||||
- Fixed a bug where teh SAJOIN/SAPART/SVSJOIN/SVSPART tokens were screwed up found by
|
||||
Andy Church
|
||||
- Made even more changes to the win32 editor (undo/redo buttons,
|
||||
and current line number display)
|
||||
- Fixed yet another serious sts bug, we have to release beta6 soon :P~
|
||||
- Fixed check_for_target_limit, should be more lenient now
|
||||
- Sts is going for a record here, fixed ANOTHER auth bug in the SAME function
|
||||
- Added hunt_server_token (the same as hunt_server except if the
|
||||
server supports tokens, the token is used)
|
||||
- Added the ability to go to a specific line in the win32 editor
|
||||
by clicking the current line number in the status bar
|
||||
- Converted all calls to hunt_server to hunt_server_token
|
||||
- Preparation for release
|
||||
- Changed version to beta6 and added final cleanups
|
||||
- Added the TKline, TZline, and GZline commands to the documentation
|
||||
- Fixed bug in m_tkl_line causing segfaultage
|
||||
- Any reason why HOOKTYPE_SERVER_QUIT was being called for clients?
|
||||
- Fixed exit_client to do NOQUIT type thing for SQUITs
|
||||
- Moved around a lot of aClient/anUser members, hopefully wont cause
|
||||
segfaults
|
||||
- Fixed res.c not managing to pass the proper type of parameter to inet_ntoa ONCE
|
||||
- Lots of commands were using MAXPARA when they shouldnt have been
|
||||
- passworded allow{} in example.conf doesnt match anyone anymore
|
||||
- Fixed oper{} locop stuff
|
||||
- Added can_gzline to doc/conf.doc
|
||||
- Replaced EventModEvery with EventMod (allows broader modification)
|
||||
- Maybe (but I doubt it) fixed bug #0000040 (Win32 resolver crash) reported by Kyver
|
||||
- Hey everyone it's point release time... I completely screwed up check_for_target_limit
|
||||
- Made the kline-address error easier to understand (must be instead of is not)
|
||||
- Made a SNOMASK for the +s notices, so you arent forced into hearing them if you just
|
||||
want say +k
|
||||
- Fixed some return values, can't gline masks with a ! in them anymore
|
||||
- ARGH
|
||||
- Recoded the module system somewhat, events are now 'stable' meaning if a module doesn't unload an
|
||||
event the IRCd will not crash. Also fixed a crash involving delayed unloads and cleaned up notices
|
||||
- Problem with sendto_ops and !aClient->user fix
|
||||
- Fixed bug in m_tkl_line and various m_line functions (was checking for wrong # of paras)
|
||||
- Recoded hooks to take advantage of the module object code
|
||||
- Fixed a memory leak in hooks
|
||||
- Fixed a bug with module objects involving static linking
|
||||
- Recoded hooks to work just like events
|
||||
- Fixed a listener bug reported by Dragon974
|
||||
- Removed some useless tkl code
|
||||
- Fixed #0000046 regarding Module_free memory leak
|
||||
- Added patch in #0000053 by |savage|, speedup in can_send
|
||||
- Possible fix of #0000042 regarding duplicate scans at same time causing
|
||||
one to slip through, reported by Zogg
|
||||
- Fixed a win32 editor bug reported by Jens that limited text additions to 32KB
|
||||
- Really fixed bug #0000011 reported by Dragon974 (listener bug)
|
||||
- Added link::cipher for #define USE_SSL, use this to select
|
||||
ciphers, read example.conf for more. Closes #000016. Suggested by narf
|
||||
- Added a dialog interface to .pem SSL passwords. (Suggestion #0000025)
|
||||
- Fixed some minor issues with dialog interface for .pem SSL passwords
|
||||
- Added makecert.bat / encpem.bat to src/win32, which are used in SSL release
|
||||
- Fixed some t.next's and replaced with codemastr method(tm)
|
||||
- Fixed a t.next recode typo
|
||||
- Added a ./Config check to see if gcc supports -pipe (speeds up compilation)
|
||||
- Made SHOW_SECRET (allow opers to see +s chans in /whois) defined by default, suggested by Sid-V (#0000037)
|
||||
- Added except tkl to allow exceptions from tklines, tzlines, shuns, glines, and gzlines, suggested by
|
||||
funraiser [still need to design a way to report in /stats] (#0000044)
|
||||
- Documented link::cipher and except tkl in doc/conf.doc
|
||||
- Changed umode +I behavoiur to you have to be loading invisibility.so to have
|
||||
the +I functionality. Code is still in IRCd, but isn't used until module
|
||||
is loaded. Loading of this will cause an "R" to be added to /version
|
||||
flags. Hopefully this will satisify some people's thoughts about a so
|
||||
called spy tool being enabled by default. Also added flag_add(char *)
|
||||
and flag_del(char) for modules to add to flags string. -Sts
|
||||
- Removed -win32 postfix for wircds, look in /version for "W" instead
|
||||
- Removed ircnetwork part of /version
|
||||
- Cleaned up a bunch of -Wall warnings (unused variables, etc)
|
||||
- -Wall cleanup cleanup with SSL AUTH problem
|
||||
- Fix for /version crash, reported by RaYmAn
|
||||
- Made all functions use new-style parameter lists
|
||||
- Moved set::socks::ban-time to set::scan::bantime, and remove the other set::socks::* (not used)
|
||||
also added set::scan::timeout to specify how long the scanner should wait for a response
|
||||
before giving up
|
||||
- Added HOOKTYPE_STATS - allows modules to respond to certain /stats (so far only S is supported)
|
||||
- Changed some m_ functions into CMD_FUNC(m_*)
|
||||
- Fixed a win32 bug with the scanner code changes
|
||||
- Added a win32 menu item that lets you view log files
|
||||
- Documented the net set::scan::* directives in doc/conf.doc
|
||||
- Fixed a bug in the new usermode system that caused odd Unknown mode flag reporting.
|
||||
- Added a shutdown confirm message box to the X button on the win32 GUI
|
||||
(suggested by dimplesx #0000058
|
||||
- Made the win32 version set log files to writable if they are
|
||||
read only (reported by dimplesx #0000057)
|
||||
- Removed useless stuff in m_oper (null ptr thing, just dont set them)
|
||||
- Fixed auth.c to use random salt
|
||||
- Fixed loadmodule invisibility.so: undefined symbol:
|
||||
get_umode bug, reported by James-Bond, #0000060)
|
||||
- BEFORE you use event functions, LockEventSystem(), after,
|
||||
UnlockEventSystem(). In EVENT() functions, the system _is_ locked.
|
||||
This might fix the double recursion mutex problem we got.
|
||||
- More -Wall cleanups
|
||||
- Fixed hunt_server_token (use IsToken on acptr->from, not acptr)
|
||||
- Unbroken Griever's broken hunt_server_token broken token fix
|
||||
- Various fixes to virthost system, may fix some memory corruptions,
|
||||
and potential exploits.
|
||||
- Made makefile ability to "make custommodule MODULEFILE=m_zline"
|
||||
if m_zline.c is in src/modules/, it will get compiled. This SHOULD
|
||||
help 3rd party modules atleast
|
||||
- Added "tainted" variable. 3rd party modules must ++ this upon load,
|
||||
-- upon unload. Will show a "3" in flags.
|
||||
- Added extras/m_rawto.c - 3rd party module. Fixed some documentation
|
||||
- Added andi's OpenBSD fix for the symbol issue with prefix _
|
||||
- Added SJOIN fix so it won't accept NULL channels
|
||||
- Fixed a problem with Mod_Handler being **, found by andi
|
||||
- Fixed an issue with -x and /quit and whowas, found by RaYmAn
|
||||
- Modified the OpenBSD fix to work for all OSes that add an _
|
||||
- Fixed m_rawto.c problem found by TheDarkOne
|
||||
- Possibly fixed the /who flags bug reported by sbalmos (#0000063)
|
||||
- lack of time sucks. openbsd problem
|
||||
- Fixed a typo in the docs found by TheEggMan
|
||||
- Fixed a m_htm.c problem
|
||||
- Updated supporters list in /credits
|
||||
- Fixed s_conf.c so a) It uses MyMalloc b) It doesn't cast the return
|
||||
from MyMalloc!
|
||||
- Clean compile under -Wunused
|
||||
- Clean compile under -Wformat
|
||||
- Clean compile under -Wparentheses
|
||||
- Clean compile under -Wall -Wno-implicit
|
||||
- Fixed #undef STRIPBADWORDS problem, patch by light
|
||||
- Blah blah new cloaking shit blah
|
||||
- Added a patch by Syzop fixing a memory leak in StripColors
|
||||
- Added a patch by Syzop fixing a +k issue using a key with a , and when using long keys
|
||||
- Added a patch by Syzop to fix a MyMalloc/MyFree debugmode error
|
||||
- Added yet another patch by Syzop to fix a /vhost bug when using very long args
|
||||
- Added a patch by Syzop to fix a possible hash bug with /list
|
||||
- Made the server pass extraflags at linking for deny version validation
|
||||
- Added a patch by Syzop to fix a bug preventing +I from being used (fixes #0000073)
|
||||
- Readded examples to doc/conf.doc by request of several users
|
||||
- Clean compile with -Wall
|
||||
- Win32 cleanup of the -Wall cleanup
|
||||
- REALLY clean compile with -Wall (except for wierd TStime stuff)
|
||||
- Removed all remnants of PROTO()
|
||||
- Removed src/cio_main.c, src/cio_init.c, include/cio.h, include/ciofunc.h extremely old unused code
|
||||
- Win32 fix with u_int16_t
|
||||
- Removed my_name_for_link (unused)
|
||||
- Preparation for release
|
||||
- Changed to beta7
|
||||
- Fixed a IPv6 problem reported by Zerwas
|
||||
- Fixed -Wall warnings for TStime
|
||||
- Compile fix for TS2ts
|
||||
- Small release tricks
|
||||
*** beta7 released ***
|
||||
- Fixed a win32 editor bug where the line count didn't display right away (reported by
|
||||
iDW-badSol)
|
||||
- Module Insanity Recode (part 1) if the module version is 3.2-b8* we now pass a ModuleInfo struct
|
||||
to Mod_Init which contains extended information. This replaces the Mod_Handle method in beta7
|
||||
- Module Insanity prototype fix
|
||||
- Fixed a listen::options::serversonly bug reported by swissSolaris (#0000084)
|
||||
- Fixed leftovers of non- char *configfile compliance. Thanks to ace and
|
||||
various other people ..
|
||||
- Fixed a /mkpasswd typo and added the updated /mkpasswd syntax to doc/unrealircd.doc, both
|
||||
reported by peck
|
||||
- Made the command system use module objects (haven't yet converted modules to use it)
|
||||
- Fix with DEBUGMODE
|
||||
- Fixed a Chinese nick bug found and fixed by Xuefer
|
||||
- Fix with status needed for remote clients too. Found by
|
||||
Craig/FrostyCoolSlug <Craig@e-tidalwave.org>
|
||||
- Fixed m_oper setting +O on globops
|
||||
- Fixed bug with mode buffer overflow .. I'm not 100% positive it works..
|
||||
Thanks to larne, Luke, SciFi, panda, ^Tux^.. Syzop .. and the countless
|
||||
people bitching about their servers going down.
|
||||
*** beta8 released ***
|
||||
- Added log {} syslog support (appears to work fine) [#0000099]
|
||||
- Added HOOKTYPE_JOIN
|
||||
- Converted all modules to 3.2-b8 format (passes ModuleInfo)
|
||||
- Updated doc/conf.doc
|
||||
- Fix for desynch problem with the fix in /mode system, Thanks to Luke
|
||||
- One little patch for humanity, one giant step for science..
|
||||
- Cosmetic fix for /setident, found by juli ..
|
||||
- Implimented a dynamic hooktype system to allow modules to create their own hooktypes
|
||||
- Fixed a conf_unknown bug
|
||||
- Added EXLIBS= to make custommodule so a module can specify additional libraries it needs
|
||||
- Changed version to beta9 and updated documentation
|
||||
- Made +I once again work in win32
|
||||
*** beta9 released ***
|
||||
- Fixed a stupid m_oper bug
|
||||
- Fixed a win32 editor bug causing a crash when you click save multiple times
|
||||
- Fixed a /stats q bug where it would crash if there was an sqline with no reason, reported by toji (#0000120)
|
||||
- Fixed a bug that caused locops to see client exiting but not client connecting notices while +s +c,
|
||||
reported and fixed by cmx (#0000123)
|
||||
- Fixed a bug reported by dimplesx where +H did not decrease the oper count (#0000129)
|
||||
- Documentation bug #0000152 reported by Tony at sexnet.org fixed regarding
|
||||
example.conf being wrong about set::socks
|
||||
- First part of skyper's security audit patch
|
||||
- Some more of skyper's security audit patch. Some of them were simply
|
||||
unfair in regards to performance or blindly added strlcats/strlcpy
|
||||
- Fixed some problems with skyper's patch (typos)
|
||||
- Fixed a cloak problem on OSes with 64bit integers (reported by wolven)
|
||||
- Updated credits
|
||||
- Memory leak fixes with scanners
|
||||
- Some fixes with connect(). Knowing my luck this will fuck up to hell
|
||||
- Fixed another memory leak with the scanners
|
||||
- Fixed some helpop typos reported by BiGi (#0000144)
|
||||
- Fixed a typo in /stats ? where T/t were reversed, reported by Zer0
|
||||
- Fixed a typo displaying a message to edit config.h after compiling reported by dimplesx
|
||||
(#0000133)
|
||||
- Fixed a bug where except ban didn't work (reported by Hercules)
|
||||
- Fixed a scanner memory leak, and made some changes to make the HTTP scanner work
|
||||
- Fixed a bug in the socks scanner causing it to fail
|
||||
- Removed some typecasts from free calls, *hopefully* it will fix some problems
|
||||
- Fixed a bug with \r\n being mistakenly parsed wrong. Thanks to John_z
|
||||
- Fixed a config parser bug that would cause a crash under certain conditions. Reported by
|
||||
roskecr (#0000173)
|
||||
- Rewrote check_pings and the whole way banning people are handled. Do loop.do_bancheck = 1
|
||||
to provoke a bans check. This possibly fixes #00001702, #0000137 and other
|
||||
funny bugs.
|
||||
- Fixed a number of bugs in the upper patch.
|
||||
- Fixed an OpenBSD bug reported by RaYmAn, k0adh, and numerous others (#0000104)
|
||||
- Credits changes
|
||||
- Fixed problem in dopm (short and char should NEVER be passed to va_arg)
|
||||
- Fixed HCN so it uses IP instead of sockhost.
|
||||
- Changed version to beta10 and updated documentation
|
||||
- Removed obsolete network files
|
||||
- Added some new network files (hopefully I'll be able to get all the submissions added soon)
|
||||
*** beta10 released ***
|
||||
- Added a config check to see which (if any) gethostbyname_r exists (based on a macro by Caolan McNamara)
|
||||
- Removed some SOCKS scanner debug code that was forgotten
|
||||
- Finally REALLY fixed the scanner (note to Stskeeps: bcmp returns 0 when there IS a match)
|
||||
- Added OpenIRC-CA in .SICI
|
||||
- Fixed a openssl+ipv6 bug, pointed out by Aragon .. This probably breaks some other crap, but what
|
||||
the heck..
|
||||
- Made ident checking work on IPv6 as well
|
||||
- Fixed a /stats L/l bug reported by dimplesx [#0000190]
|
||||
- Fixed some typos in validate_configuration, fixed a hostilename problem when ident
|
||||
checking is off
|
||||
- Fixed a hostilename problem reported by Xuefer [#0000158]
|
||||
- Fixed some stuff to deal with #136 - Please note that we do NOT compress our addies
|
||||
- reason for this is because for example ::ffff:192.168.1.5 would really fuck up stuff
|
||||
in the IRC protocol
|
||||
- Fixed a typo in doc/example.conf that I believe is causing ident not to work
|
||||
- Fixed a /stats Z bug where it didn't correctly report local clients
|
||||
- Made /stats Z once again report the # of classes and memory used by classes
|
||||
- Added an allow::options this fixes some problems with allow, ident is now used
|
||||
unless allow::options::noident is set, also if the user matches an allow by IP rather
|
||||
than by host the hostname is still used for the u@h, unless allow::options::useip is set
|
||||
(idea inspired by danielek)
|
||||
- Fixed a bug in the new allow system reported by danielek
|
||||
- Fixed a maxperip and a maxunknownconnectionsperip bug in IPv6 reported by danielek
|
||||
- Fixed another scanner bug causing the scanner to never timeout
|
||||
- Fixed a module bug when there is an include between a module-config-directive and the loadmodule
|
||||
- Made it so if a module fails to load it is non-fatal, reported by Adiga007 (#0000194)
|
||||
- Made hosts converted to lowercase before run through hidehost() this way ABC.com is the
|
||||
same as abc.com, reported by Magnet (#0000065)
|
||||
- Converted the status window in the win32 GUI to a modeless dialog
|
||||
- Fixed a win32 bug where the tray config menu didn't contain anything, reported by Jens (#0000127)
|
||||
- Fixed a /who bug where + wasn't shown for voices, reported by Wcc (#0000202)
|
||||
- Included larne's /who patch, adding a multitude of symbols? :P
|
||||
- Split 005 and 105 up in order to conform to the RFC1459 limit of 15 parameters per
|
||||
command
|
||||
- Failsafe check (to be removed again) in s_bsd.c
|
||||
- [nighthawk 2002-06-16] Added myself to s_serv.c:m_info().
|
||||
- Fixed a doc/conf.doc typo reported by SciFi
|
||||
- Documented the new allow::options in doc/conf.doc
|
||||
- [nighthawk 2002-06-17] Rewrote m_who.c from scratch. It's slightly different,
|
||||
help.conf explains exactly how.
|
||||
- [nighthawk 2002-06-17] Changed m_quit.c slightly, removed a redundant strlen,
|
||||
made prefix-quit of "no" not use one at all, since this
|
||||
is in example.conf and is sensicle..
|
||||
- Couple of updates to INSTALL.
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
###############################################################################
|
||||
#### Unreal IRC Unix Daemon Installation Guide ####
|
||||
#### UnrealIRCD ver 3.1.1 ####
|
||||
#### UnrealIRCD ver 3.2 ####
|
||||
#### unreal-dev@lists.sourceforge.com ####
|
||||
#### http://www.unrealircd.com/ ####
|
||||
###############################################################################
|
||||
#### Unpackaging the IRCD ####
|
||||
#### ####
|
||||
#### 1) gzip -d Unreal3.1.1.tar.gz ####
|
||||
#### 1) gzip -d Unreal3.<version>.tar.gz ####
|
||||
#### ####
|
||||
#### 2) tar xvf Unreal3.1.1.tar ####
|
||||
#### 2) tar xvf Unreal3.<version>.tar ####
|
||||
#### ####
|
||||
#### 3) cd Unreal3.1.1/ ####
|
||||
#### 3) cd Unreal3.<version>/ ####
|
||||
###############################################################################
|
||||
#### Compiling the IRCD ####
|
||||
#### ####
|
||||
@@ -19,7 +19,7 @@
|
||||
#### 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 ####
|
||||
#### FreeBSD 4.5-R gcc 2.95.3 ####
|
||||
#### 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) ####
|
||||
@@ -58,7 +58,7 @@
|
||||
#### does not, and you are not able to determine the error, please ####
|
||||
#### email supporters@lists.unrealircd.org and hopefully someone ####
|
||||
#### will be able to help you. Another suggestion is going on IRC ####
|
||||
#### /server irc.ircsystems.net #UnrealIRCD ####
|
||||
#### /server irc.ircsystems.net #Unreal-support ####
|
||||
#### ####
|
||||
#### 4b) make install - IS NOT NEEDED ####
|
||||
#### ####
|
||||
@@ -81,7 +81,7 @@
|
||||
#### ####
|
||||
#### 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 ####
|
||||
#### /server irc.ircsystems.net #Unreal-support ####
|
||||
#### ####
|
||||
#### 4) /server yourserverip or domainname ####
|
||||
#### ####
|
||||
@@ -94,6 +94,3 @@
|
||||
#### to upgrade to. ####
|
||||
#### ####
|
||||
###############################################################################
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -137,6 +137,9 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
|
||||
'CRYPTOLIB=${CRYPTOLIB}' 'REGEX=${REGEX}' \
|
||||
'CRYPTOINCLUDES=${CRYPTOINCLUDES}'
|
||||
|
||||
custommodule:
|
||||
cd src; ${MAKE} ${MAKEARGS} MODULEFILE=${MODULEFILE} EXLIBS=${EXLIBS} custommodule
|
||||
|
||||
server:
|
||||
build:
|
||||
-@if [ ! -f include/setup.h ] ; then \
|
||||
@@ -149,13 +152,9 @@ build:
|
||||
( cd $$i; ${MAKE} ${MAKEARGS} build; ) \
|
||||
done
|
||||
@echo ' __________________________________________________ '
|
||||
@echo '| Compile is now complete. Now you have to go do |'
|
||||
@echo '| The load-time configuration - try go read the |'
|
||||
@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 '| Compile is now complete. |'
|
||||
@echo '| You should now read the documentation and learn |'
|
||||
@echo '| how to configure your IRCd. |'
|
||||
@echo '| |'
|
||||
@echo '| If you really like UnrealIRCd, and would like to |'
|
||||
@echo '| make a donation, please read the Donation file in|'
|
||||
@@ -213,17 +212,17 @@ install: all
|
||||
$(INSTALL) -m 0700 networks/makenet $(IRCDDIR)/networks
|
||||
$(INSTALL) -m 0600 networks/networks.ndx $(IRCDDIR)/networks
|
||||
$(INSTALL) -m 0700 -d $(IRCDDIR)/doc
|
||||
$(INSTALL) -m 0600 doc/Authors doc/conf.doc doc/faq doc/tao.of.irc doc/coding-guidelines doc/example.conf doc/features.txt doc/unrealircd.conf.txt doc/Crule.readme doc/commands.txt doc/example.settings doc/services-install-guide doc/unrealircd.doc $(IRCDDIR)/doc
|
||||
$(INSTALL) -m 0600 doc/Authors doc/conf.doc doc/faq doc/coding-guidelines doc/example.conf doc/features.txt doc/unrealircd.conf.txt doc/commands.txt doc/example.settings doc/services-install-guide doc/unrealircd.doc $(IRCDDIR)/doc
|
||||
$(INSTALL) -m 0700 -d $(IRCDDIR)/aliases
|
||||
$(INSTALL) -m 0600 aliases/*.conf $(IRCDDIR)/aliases
|
||||
$(TOUCH) $(IRCDDIR)/unrealircd.conf
|
||||
chmod 0600 $(IRCDDIR)/unrealircd.conf
|
||||
$(INSTALL) -m 0600 badwords.*.conf LICENSE Donation $(IRCDDIR)
|
||||
$(INSTALL) -m 0600 badwords.*.conf help.conf LICENSE Donation $(IRCDDIR)
|
||||
$(INSTALL) -m 0700 bugreport makeconf unreal $(IRCDDIR)
|
||||
$(INSTALL) -m 0700 -d $(IRCDDIR)/modules
|
||||
$(INSTALL) -m 0700 src/modules/*.so $(IRCDDIR)/modules
|
||||
|
||||
pem: src/ssl.cnf
|
||||
pem: src/ssl.cnf
|
||||
@echo "Generating certificate request .. "
|
||||
$(OPENSSLPATH) req -new \
|
||||
-config src/ssl.cnf -out server.req.pem \
|
||||
@@ -237,4 +236,15 @@ install: all
|
||||
@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!."
|
||||
@echo "Done!. If you want to encrypt the private key, run"
|
||||
@echo "make encpem"
|
||||
|
||||
encpem: server.key.pem
|
||||
@echo "Encrypting server key .."
|
||||
$(OPENSSLPATH) rsa -in server.key.pem -out server.key.c.pem -des3
|
||||
-@if [ -f server.key.c.pem ] ; then \
|
||||
echo "Replacing unencrypted with encrypted .." ; \
|
||||
cp server.key.c.pem server.key.pem ; \
|
||||
rm -f server.key.c.pem ; \
|
||||
fi
|
||||
|
||||
|
||||
@@ -339,4 +339,46 @@ fi
|
||||
|
||||
])dnl ACX_PTHREAD
|
||||
|
||||
dnl Written by Caolan McNamara <caolan@skynet.ie>, modified slightly by codemastr
|
||||
AC_DEFUN(AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R,[
|
||||
AC_CHECK_FUNC(gethostbyname_r)
|
||||
if test "$ac_cv_func_gethostbyname_r" = "yes"; then
|
||||
AC_CACHE_CHECK(how many parameters gethostbyname_r takes, ac_cv_func_which_gethostname_r, [
|
||||
AC_TRY_COMPILE([#include <netdb.h>], [
|
||||
char *name;
|
||||
struct hostent *he;
|
||||
struct hostent_data data;
|
||||
(void) gethostbyname_r(name, he, &data);
|
||||
],ac_cv_func_which_gethostname_r=three, [
|
||||
AC_TRY_COMPILE([#include <netdb.h>], [
|
||||
char *name;
|
||||
struct hostent *he, *res;
|
||||
char buffer[2048];
|
||||
int buflen = 2048;
|
||||
int h_errnop;
|
||||
(void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop)
|
||||
],ac_cv_func_which_gethostname_r=six, [
|
||||
AC_TRY_COMPILE([#include <netdb.h>], [
|
||||
char *name;
|
||||
struct hostent *he;
|
||||
char buffer[2048];
|
||||
int buflen = 2048;
|
||||
int h_errnop;
|
||||
(void) gethostbyname_r(name, he, buffer, buflen, &h_errnop)
|
||||
],ac_cv_func_which_gethostname_r=five,ac_cv_func_which_gethostname_r=no)
|
||||
|
||||
])
|
||||
|
||||
])],ac_cv_func_which_gethostname_r=no)]
|
||||
|
||||
if test "$ac_cv_func_which_gethostname_r" = "six"; then
|
||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R_6)
|
||||
elif test "$ac_cv_func_which_gethostname_r" = "five"; then
|
||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R_5)
|
||||
elif test "$ac_cv_func_which_gethostname_r" = "three"; then
|
||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R_3)
|
||||
fi
|
||||
fi
|
||||
)])
|
||||
|
||||
|
||||
|
||||
@@ -13,6 +13,15 @@ fi
|
||||
if test "$ac_cv_gcc3" = "yes"; then
|
||||
CFLAGS="$CFLAGS -Wnone"
|
||||
fi
|
||||
AC_CACHE_CHECK(if gcc has a working -pipe, ac_cv_pipe, [
|
||||
save_cflags="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -pipe"
|
||||
AC_TRY_COMPILE(,, ac_cv_pipe="yes", ac_cv_pipe="no")
|
||||
CFLAGS="$save_cflags"
|
||||
])
|
||||
if test "$ac_cv_pipe" = "yes"; then
|
||||
CFLAGS="-pipe $CFLAGS"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROG(RM,rm)
|
||||
@@ -78,6 +87,23 @@ case `uname -s` in
|
||||
esac
|
||||
fi
|
||||
])
|
||||
AC_CACHE_CHECK(if your system prepends an underscore on symbols,ac_cv_underscore,[
|
||||
cat >uscore.c << __EOF__
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
__EOF__
|
||||
$CC -o uscore $CFLAGS uscore.c 1>&5
|
||||
if test -z "`strings -a uscore |grep '^_main$'`"; then
|
||||
ac_cv_underscore=no
|
||||
else
|
||||
ac_cv_underscore=yes
|
||||
fi
|
||||
])
|
||||
if test "$ac_cv_underscore" = "yes"; then
|
||||
AC_DEFINE(UNDERSCORE)
|
||||
fi
|
||||
|
||||
MODULEFLAGS=$ac_cv_pic
|
||||
AC_DEFINE(DYNAMIC_LINKING)
|
||||
])
|
||||
@@ -208,6 +234,12 @@ dnl Checks for library functions.
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
AC_FUNC_SETPGRP
|
||||
AC_FUNC_SETVBUF_REVERSED
|
||||
AC_CHECK_FUNCS(snprintf,AC_DEFINE(HAVE_SNPRINTF))
|
||||
AC_CHECK_FUNCS(vsnprintf,AC_DEFINE(HAVE_VSNPRINTF))
|
||||
AC_CHECK_FUNCS(strlcpy, AC_DEFINE(HAVE_STRLCPY))
|
||||
AC_CHECK_FUNCS(strlcat, AC_DEFINE(HAVE_STRLCAT))
|
||||
AC_CHECK_FUNCS(strlncat, AC_DEFINE(HAVE_STRLNCAT))
|
||||
|
||||
AC_CACHE_CHECK(if we can set the core size to unlimited, ac_cv_force_core,[
|
||||
AC_TRY_RUN([
|
||||
#include <sys/time.h>
|
||||
@@ -280,6 +312,8 @@ AC_CHECK_FUNCS(strcasecmp,AC_DEFINE(GOT_STRCASECMP))
|
||||
AC_CHECK_FUNCS(inet_addr,,AC_DEFINE(NEED_INET_ADDR))
|
||||
AC_CHECK_FUNCS(inet_ntoa,,AC_DEFINE(NEED_INET_NTOA))
|
||||
AC_CHECK_FUNCS(inet_netof,,AC_DEFINE(NEED_INET_NETOF))
|
||||
AC_CHECK_FUNCS(syslog,AC_DEFINE(HAVE_SYSLOG))
|
||||
AC_CHECK_FUNCS(vsyslog,AC_DEFINE(HAVE_VSYSLOG))
|
||||
AC_SUBST(REGEX)
|
||||
AC_SUBST(STRTOUL)
|
||||
AC_SUBST(CRYPTOLIB)
|
||||
@@ -316,6 +350,7 @@ ACX_PTHREAD
|
||||
CC="$PTHREAD_CC"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
IRCDLIBS="$IRCDLIBS $PTHREAD_LIBS"
|
||||
AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R
|
||||
AC_MSG_CHECKING(if FD_SETSIZE is large enough to allow $ac_fd file descriptors)
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
|
||||
@@ -118,8 +118,12 @@ Tom Hopkins <hoppie@buengf.bu.edu> / September, October 1990:
|
||||
always works on code, so he has to have done alot more than three
|
||||
lines worth. :)
|
||||
|
||||
Carsten Munk <stskeeps@mp3fans.co.uk> / May and futher 1999:
|
||||
* Made many features based on Elite.. :/
|
||||
UnrealIRCd Coders
|
||||
Carsten Munk <stskeeps@unrealircd.com> / May 1999, date
|
||||
Dominick Meglio <codemastr@unrealircd.com> / June 1999, date
|
||||
David Flynn / March 2000, June 2000
|
||||
McSkaf / June 2001, September 2001
|
||||
Finny Merrill <griever@unrealircd.com> / November 2001, date
|
||||
|
||||
Thanks go to those persons not mentioned here who have added their advice,
|
||||
opinions, and code to IRC.
|
||||
|
||||
@@ -1,128 +0,0 @@
|
||||
SmartRoute
|
||||
Rule based connects
|
||||
Draft 4 - Aug 19, 1994
|
||||
by Tony Vencill
|
||||
|
||||
Rule based connects allow an admin to specify under what conditions
|
||||
a connect should not be allowed. If no rules are specified for a
|
||||
given C and/or N line it will be allowed under any condition.
|
||||
|
||||
A rule may consist of any legal combination of the following functions
|
||||
and operators.
|
||||
|
||||
Functions
|
||||
---------
|
||||
connected(targetmask) - true if a server other than that processing
|
||||
the rule is connected that matches the
|
||||
target mask
|
||||
directcon(targetmask) - true if a server other than that processing
|
||||
the rule is directly connected that matches
|
||||
the target mask
|
||||
via(viamask, targetmask) - true if a server other than that processing
|
||||
the rule matches the target mask and is
|
||||
connected via a directly connected server
|
||||
that matches the via mask
|
||||
directop() - true if an oper is directly connected
|
||||
|
||||
Unary operators
|
||||
---------------
|
||||
! eg: !argument - true if the argument is false
|
||||
|
||||
Binary operartors
|
||||
-----------------
|
||||
&& eg: arg1&&arg2 - true if arg1 and arg2 are both true
|
||||
|| eg: arg1||arg2 - true if arg1, arg2, or both are true
|
||||
|
||||
Parenthesis () are allowed for grouping arguments, but if no parenthesis
|
||||
are included, && will take precedence over ||, ! will take precedence
|
||||
over both && and ||, and the function will be evaluated from left to
|
||||
right. White space in a rule is ignored. Invalid characters in a rule
|
||||
will lead to the rule being ignored.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
A simple example of a connect rule might be:
|
||||
|
||||
connected(*eu.under*)
|
||||
|
||||
This might be used in a US undernet server for a Europe CN pair to
|
||||
insure that a second Europe link is not allowed if one US-EU link
|
||||
already exists. Note that on the undernet, US server names are
|
||||
city.state.us.undernet.org and Europe server names are
|
||||
city.country.eu.undernet.org.
|
||||
|
||||
A more interesting example might be:
|
||||
|
||||
connected(*eu.under*) &&
|
||||
( !direct(*eu.under*) || via(manhat*, *eu.under*) )
|
||||
|
||||
Imagine the Boston undernet server uses this rule on its Europe CN
|
||||
pairs. This says that if a Europe server is already connected, a
|
||||
Boston-Europe connect will not be allowed. It also says that if a
|
||||
Europe server does already exist and Boston is not directly connected
|
||||
to one or more Europe servers or Manhattan is, the Boston-Europe
|
||||
connect will not be allowed. This has the effect of allowing multiple
|
||||
US-EU links but attempting to limit these links to one server (ie:
|
||||
Boston will not initiate its first Europe link if another server is
|
||||
already linking Europe). This rule will also prefer to let Manhattan
|
||||
handle the US-EU link by disallowing Boston-Europe links if a Europe
|
||||
server is already linked to Manhattan.
|
||||
|
||||
A example of the remaining function, directop(), is:
|
||||
|
||||
connected(*eu.under*) || directop()
|
||||
|
||||
If this line is used on Boston for the Paderborn CN pair, it will allow
|
||||
connects to Paderborn only if another Europe server is not already
|
||||
connected and there is not an oper on Boston. If this rule is
|
||||
overrideable (ie: is applied only to autoconnects as described below),
|
||||
then it will disallow Boston autoconnects to Paderborn while a Boston
|
||||
oper is online, but allow oper-initiated connects to Paderborn under any
|
||||
circumstance. This directop() function could be used to invoke less
|
||||
prefered routes only when an oper is not present to handle routing, or
|
||||
conversly to allow use of less preferable routes only when an oper is
|
||||
present to monitor their performance.
|
||||
|
||||
ircd.conf entries
|
||||
-----------------
|
||||
|
||||
A rule is listed in the ircd.conf file using a D or d line (which can
|
||||
be thought of as a "disallow" line). D lines will apply to all oper
|
||||
and server originated connects, while d lines will apply only to
|
||||
autoconnects (ie: they are overrideable by opers). The formats are:
|
||||
|
||||
D:targetmask::rule
|
||||
d:targetmask::rule
|
||||
|
||||
Remember that newlines are not allowed in conf lines. Two examples
|
||||
(from above) are:
|
||||
|
||||
D:*eu.under*::connected(*eu.under*)
|
||||
d:*eu.under*::connected(*eu.under*) || directop()
|
||||
|
||||
Connects originating from other servers will be checked against and
|
||||
matching D lines, while matching d lines will be ignored as it will not
|
||||
be clear whether or not the connection attempt is oper initiated.
|
||||
|
||||
Checking and viewing rules
|
||||
--------------------------
|
||||
|
||||
The chkconf program that comes with the servers has been modified to
|
||||
also check your connect rules. If running in debug mode, parsing errors
|
||||
will show up at debug level 8. To view rules online, "/stats d" can be
|
||||
used to see all rules and "/stats D" can be used to view those rules
|
||||
which affect oper initiated connects and accepts.
|
||||
|
||||
Processing and storage
|
||||
----------------------
|
||||
|
||||
The rules are parsed when the conf file is read and transformed into a
|
||||
more efficiently computed form, then all applicable rules are
|
||||
evaluated each time a connect command is given or an autoconnect is
|
||||
due. If more than one applicable rule is given, only one need
|
||||
evaluate to true for the connect to be allowed (ie: the rules are ored
|
||||
together). Note that conditions that exist when the connect is
|
||||
initiated might differ from conditions when the link is established.
|
||||
|
||||
[ $Id$ ]
|
||||
@@ -1,16 +0,0 @@
|
||||
The foll. patches are NEW in 19.mu1 (besides the old patches of stats-w,
|
||||
ban, topic, client connect, signon time, trace times in previous .mu
|
||||
versions):
|
||||
|
||||
* All the modifications contained in U3.2, namely - TSpre8, silence, bquiet
|
||||
|
||||
* The K line comments patch.
|
||||
|
||||
* The operfail notification patch
|
||||
|
||||
* The mixed case userid reject patch
|
||||
|
||||
For info on these check the file README.patches
|
||||
|
||||
- Mmmm
|
||||
[ $Id$ ]
|
||||
@@ -1,34 +0,0 @@
|
||||
|
||||
For starters, not a lot is new. What is ?
|
||||
|
||||
* STATS o and STATS h added;
|
||||
|
||||
* most STATS options are no longer oper-only;
|
||||
|
||||
* privacy fixes to all of WHO, WHOIS, TRACE and STATS;
|
||||
|
||||
* more options in the ircd.conf file;
|
||||
|
||||
* non-debilitating DNS/ident use (DNS routines written specifically
|
||||
for ircd which indludes small local cache);
|
||||
|
||||
* less bugs;
|
||||
|
||||
* easier to compile;
|
||||
|
||||
* heaps and heaps of new numerics;
|
||||
|
||||
* more problems for old clients that do stupid things;
|
||||
|
||||
* more numeric replies which replace old NOTICE's;
|
||||
|
||||
* compulsory ident checks and optional result usage;
|
||||
|
||||
* sendQ can now be class dependant;
|
||||
|
||||
* server handles client flooding better;
|
||||
|
||||
* for more information on changes, bug fixes during development, see
|
||||
ircd/ChangeLog and common/ChangeLog
|
||||
|
||||
[ $Id$ ]
|
||||
@@ -1,41 +0,0 @@
|
||||
The Internet Relay Chat Program - IRC
|
||||
|
||||
Author: Jeff Trim, April '89
|
||||
Revised: Greg Lindahl, Oct '90 (gl8f@virginia.edu)
|
||||
Re-Revised: Helen Rose, March '94 (hrose@kei.com)
|
||||
|
||||
Have you ever wanted to talk with other computer users in other parts of
|
||||
the world? Well guess what? You can! The program is called IRC and it
|
||||
is networked much over North America, Europe, and Asia, Oceania, and parts
|
||||
of Africa. This program is a substitution for talk(1), ytalk(1) and many
|
||||
other multiple talk programs you might have read about. When you are
|
||||
talking in IRC, everything you type will instantly be transmitted around
|
||||
the world to other users that might be watching their terminals at the
|
||||
time - they can then type something and RESPOND to your messages - and
|
||||
vise versa. I should warn you that the program can be very addictive once
|
||||
you begin to make friends and contacts on IRC ;-) especially when you
|
||||
learn how to cuss in 14 languages.
|
||||
|
||||
Topics of discussion on IRC are varied, just like the topics of Usenet
|
||||
newsgroups are varied. Technical and political discussions are
|
||||
popular, especially when world events are in progress. IRC is also a
|
||||
way to expand your horizons, as people from many countries and
|
||||
cultures are on, 24 hours a day. Most conversations are in English,
|
||||
but there are always channels in German, Japanese, and Finnish, and
|
||||
occasionally other languages.
|
||||
|
||||
How To Get IRC (technical)
|
||||
|
||||
IRC is a fully-distributed client-server system, much like
|
||||
NNTP-Usenet, with several clients availble in C and elisp. You may ftp
|
||||
documentation and clients from any of the following sites:
|
||||
|
||||
many kinds of clients (C, elisp, X11, VMS, REXX for VM, MSDOS, Macintosh):
|
||||
cs.bu.edu:/irc/clients
|
||||
ftp.acsu.buffalo.edu:/pub/irc
|
||||
ftp.funet.fi:/pub/unix/irc
|
||||
coombs.anu.edu.au:/pub/irc
|
||||
|
||||
If you have any questions about IRC installation, write to hrose@kei.com.
|
||||
|
||||
[ $Id$ ]
|
||||
@@ -101,15 +101,15 @@ class servers
|
||||
*/
|
||||
|
||||
allow {
|
||||
ip *;
|
||||
hostname *;
|
||||
ip *@*;
|
||||
hostname *@*;
|
||||
class clients;
|
||||
maxperip 5;
|
||||
};
|
||||
|
||||
/* Passworded allow line */
|
||||
allow {
|
||||
ip *@*;
|
||||
ip *@255.255.255.255;
|
||||
hostname *@*.passworded.ugly.people;
|
||||
class clients;
|
||||
password "f00Ness";
|
||||
@@ -176,10 +176,7 @@ allow channel {
|
||||
n can_localnotice
|
||||
G can_globalnotice
|
||||
N netadmin
|
||||
T techadmin
|
||||
C coadmin
|
||||
u get_umodec
|
||||
f get_umodef
|
||||
z can_zline
|
||||
W get_umodew
|
||||
^ can_stealth
|
||||
@@ -187,9 +184,8 @@ allow channel {
|
||||
*/
|
||||
|
||||
/*
|
||||
Note: get_umodec get_umodef techadmin and eyes
|
||||
are no longer used and will probably be removed
|
||||
soon
|
||||
Note: netadmin gives you OaAN
|
||||
admin and services-admin give you o as well
|
||||
*/
|
||||
|
||||
oper bobsmith {
|
||||
@@ -260,11 +256,16 @@ listen *:6667;
|
||||
* hub (If this is a hub, * works, or servermasks it may bring in);
|
||||
* [or leaf *;]
|
||||
* password-connect "(pass to send)";
|
||||
* password-receive "(pass we should recieve)";
|
||||
* password-receive "(pass we should receive)";
|
||||
* class (class to direct servers into);
|
||||
* options {
|
||||
* (options here*);
|
||||
* };
|
||||
* /* If we use SSL, we can choose what cipher to use in SSL mode
|
||||
* * Retrieve a list by "openssl ciphers", seperate ciphers with :'s
|
||||
* */
|
||||
* ciphers "DES-CBC3-MD5";
|
||||
*
|
||||
* };
|
||||
*/
|
||||
|
||||
@@ -575,7 +576,7 @@ except ban {
|
||||
};
|
||||
|
||||
/*
|
||||
* NEW: except socks {}
|
||||
* NEW: except scan {}
|
||||
* OLD: e:Line
|
||||
* Makes it so scan.so doesn't scan you.
|
||||
*
|
||||
@@ -685,6 +686,7 @@ set {
|
||||
set {
|
||||
kline-address "set.this.email";
|
||||
modes-on-connect "+xw";
|
||||
modes-on-oper "+xwgs";
|
||||
oper-auto-join "#opers";
|
||||
dns {
|
||||
nameserver 127.0.0.1;
|
||||
@@ -699,7 +701,7 @@ set {
|
||||
show-connect-info;
|
||||
};
|
||||
|
||||
socks {
|
||||
scan {
|
||||
ban-message "Insecure SOCKS server";
|
||||
quit-message "Insecure SOCKS server";
|
||||
ban-time "4d";
|
||||
|
||||
@@ -15,10 +15,6 @@ set {
|
||||
auto-join "0";
|
||||
/* What channels opers will autojoin on connect*/
|
||||
oper-auto-join "0";
|
||||
/* This needs to be an unused port, that the IRCd will bind
|
||||
* to, and make insecure proxies connect to.
|
||||
*/
|
||||
blackhole [ip]:port;
|
||||
dns {
|
||||
/* What IP has our DNS server got? */
|
||||
nameserver 127.0.0.1;
|
||||
@@ -35,11 +31,6 @@ set {
|
||||
identd-check;
|
||||
};
|
||||
|
||||
socks {
|
||||
ban-message "Insecure SOCKS server";
|
||||
quit-message "Insecure SOCKS server";
|
||||
ban-time "1d";
|
||||
};
|
||||
/*
|
||||
* How many channels each user can join
|
||||
*/
|
||||
|
||||
@@ -1,432 +1,441 @@
|
||||
* * * * * * * * * * * * * * * * * * *
|
||||
* Unrealircd.conf Documentation *
|
||||
* http://www.unrealircd.com *
|
||||
* Made for Version 3.2+ Daemon *
|
||||
* by devdev *
|
||||
* * * * * * * * * * * * * * * * * * *
|
||||
|
||||
|
||||
* * * * T a b l e o f C o n t e n t s * * * *
|
||||
|
||||
Section 1.0 : Introduction
|
||||
Section 2.0 : me{} line
|
||||
2.1 : Syntax
|
||||
2.2 : Variables
|
||||
Section 3.0 : admin{} line
|
||||
3.1 : Syntax
|
||||
3.2 : Variables
|
||||
Section 4.0 : class{} line
|
||||
4.1 : Syntax
|
||||
4.2 : Variables
|
||||
Section 5.0 : allow{} line
|
||||
5.1 : Syntax
|
||||
5.2 : Variables
|
||||
Section 6.0 : drpass{} line
|
||||
6.1 : Syntax
|
||||
6.2 : Variables
|
||||
Section 7.0 : oper{} line
|
||||
7.1 : Syntax
|
||||
7.2 : Variables
|
||||
7.3 : Oper Flags
|
||||
7.4 : Flag Usage
|
||||
Section 8.0 : listen{} line
|
||||
8.1 : Syntax
|
||||
8.2 : Variables
|
||||
8.3 : Port Options
|
||||
9.0 : link{} line
|
||||
9.1 : Syntax
|
||||
9.2 : Variables
|
||||
9.3 : Link Options
|
||||
Section 10.0 : ulines{} line
|
||||
10.1 : Syntax
|
||||
10.2 : Variables
|
||||
Section 11.0 : tld{} line
|
||||
11.1 : Syntax
|
||||
11.2 : Variables
|
||||
Section 12.0 : ban{} line
|
||||
12.1 : ban nick{}
|
||||
12.2 : ban ip{}
|
||||
12.3 : ban server{}
|
||||
12.4 : ban realname{}
|
||||
12.5 : ban user{}
|
||||
Section 13.0 : except{} line
|
||||
13.1 : except ban{}
|
||||
13.2 : except socks{}
|
||||
Section 14.0 : vhost{} line
|
||||
14.1 : Syntax
|
||||
14.2 : Variables
|
||||
|
||||
* * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
1.0) Introduction:
|
||||
|
||||
As you may have noticed, in this version of Unreal, the ircd.conf
|
||||
has changed dramatically and has a new name... unrealircd.conf.
|
||||
|
||||
This will be a fully explanatory guide to the new unrealircd.conf
|
||||
Every aspect of the new config file is explained below.
|
||||
|
||||
2.0) me{} (Server Information Line):
|
||||
|
||||
This is the same idea as the old M:line. Gives the server name,
|
||||
description, and numeric. This, however, does not include the ip
|
||||
of the server.
|
||||
|
||||
2.1) Syntax:
|
||||
me {
|
||||
name <server>;
|
||||
info "<description>";
|
||||
numeric <numeric>;
|
||||
};
|
||||
|
||||
2.2) Variables:
|
||||
|
||||
<server> Server name (irc.network.com)
|
||||
<description> Server description (Network Hub)
|
||||
<numeric> Connection Numeric (Number 1-254)
|
||||
|
||||
3.0) admin{} (Administrator Line):
|
||||
|
||||
This is the same as the A:line. This line gives information about
|
||||
the server owner/administrator including Name, nickname, and email.
|
||||
This is not restricted to a number of lines. Shown at /admin
|
||||
|
||||
3.1) Syntax:
|
||||
admin {
|
||||
"<line>";
|
||||
};
|
||||
|
||||
3.2) Variables:
|
||||
<line> Text shown at /admin (Admin Name)
|
||||
|
||||
The "<line>"; can be repeated as many times as you wish. We suggest
|
||||
placing the admins nickname and an email to reach them at.
|
||||
|
||||
4.0) class{} (Connection Classes Line):
|
||||
|
||||
These connection classes are used to define the ping freqency, maximum
|
||||
amount of clients, and sendq limit for a certain class.
|
||||
|
||||
4.1) Syntax:
|
||||
class <class name> {
|
||||
connfreq <connfreq>; /*server only*/
|
||||
ping freq <pingfrq>;
|
||||
maxclients <maxclients>;
|
||||
sendq <sendqlimit>;
|
||||
};
|
||||
|
||||
4.2) Variables:
|
||||
<class type> Name of connection class (client, server, oper)
|
||||
<connfreq> Seconds between connection attempts (seconds)
|
||||
<pingfrq> Ping Frequency (every x seconds) (seconds)
|
||||
<maxclients> Number of maximum connections (number)
|
||||
<sendqlimit> Limit for sends (number)
|
||||
|
||||
5.0) allow{} (Allowed Connections):
|
||||
|
||||
This line specifies from which hostnames/ips users can connect from and their
|
||||
restrictions.
|
||||
|
||||
5.1) Syntax:
|
||||
allow {
|
||||
ip "<ip>";
|
||||
hostname "<host>";
|
||||
class <classname>;
|
||||
password "<password>";
|
||||
maxperip <max>;
|
||||
};
|
||||
|
||||
5.2) Variables:
|
||||
<ip> IP to allow connections from (1.2.3.4)
|
||||
<host> Hostname to allow connections from (ident@host)
|
||||
<classname> Class name to use defined above (name)
|
||||
<password> Password required for connection (password)
|
||||
<max> Maximum per ip address (number)
|
||||
|
||||
6.0) drpass{} (Die/Restart Password):
|
||||
|
||||
This line will defy the passwords required to restart or shutdown the irc server.
|
||||
|
||||
6.1) Syntax:
|
||||
drpass {
|
||||
die "<diepass>";
|
||||
restart "<restartpass>";
|
||||
};
|
||||
|
||||
6.2) Variables:
|
||||
<diepass> Password to shutdown the server (password)
|
||||
<restartpass> Password to restart the server (password)
|
||||
|
||||
7.0) oper{} (IRC Operator Line):
|
||||
|
||||
This line will define who (after suppling a login and password) will be allowed to have certain permissions
|
||||
granted. Such as global kills compared to local kills, and being able to restart the server.
|
||||
|
||||
7.1) Syntax:
|
||||
oper <login> {
|
||||
class <classname>;
|
||||
from {
|
||||
userhost <host>;
|
||||
userhost <host>
|
||||
};
|
||||
password "<password>";
|
||||
flags {
|
||||
<flag>;
|
||||
<flag>;
|
||||
}
|
||||
};
|
||||
|
||||
7.2) Variables
|
||||
<login> Login user name (opername)
|
||||
<classname> Class the oper will connect from (class)
|
||||
<host> Host the oper is allowed to op from (ident@host)
|
||||
<password> Password to accompany login-name (password)
|
||||
<flag> Flags to define permissions (see 7.3)
|
||||
|
||||
7.3) Oper Flags (old and new)
|
||||
|
||||
Old | New |Description
|
||||
------- |---------------- |------------------------------
|
||||
N | netadmin | Network Admnistrator
|
||||
T | techadmin | Technical Administrator
|
||||
A | admin | Server Administrator
|
||||
a | sadmin | Services Operator
|
||||
C | coadmin | Co Administrator
|
||||
o | local | Local IRC Operator
|
||||
O | global | Global IRC Operator
|
||||
r | can_rehash | Is able to rehash the server
|
||||
e | eyes | Can use the eyes message mode
|
||||
D | can_die | Can shutdown the server (with password)
|
||||
R | can_restart | Can restart the server (with password)
|
||||
h | helpop | ..is available for help. Can see /helpops
|
||||
g | can_globops | Can use /globops
|
||||
w | can_wallops | Can use /wallops
|
||||
l | locop | Can't kill remote users
|
||||
c | can_localroute | Can locally /connect and /squit servers
|
||||
L | can_globalroute | Can globally /connect and /squit servers
|
||||
k | can_localkill | Can do local /kills
|
||||
K | can_globalkill | Can do global /kills
|
||||
b | can_kline | Can set a /kline
|
||||
B | can_unkline | Can unset a /kline
|
||||
n | can_localnotice | Can send local notices
|
||||
G | can_globalnotice| Can send global notices
|
||||
z | can_zline | Can set /zlines
|
||||
^ | can_stealth | Is invisible to /names
|
||||
|
||||
|
||||
7.4) Oper Flag Usage:
|
||||
|
||||
Usage:
|
||||
flags oldflags;
|
||||
[or]
|
||||
flags { new flag; new flag; };
|
||||
|
||||
Example:
|
||||
flags oN;
|
||||
[or]
|
||||
flags { netadmin; helpop; };
|
||||
|
||||
|
||||
Local operators are defined by having no additional flags in the oper line or if the IRCD finsd an error in
|
||||
the flags, locop will be set (default).
|
||||
|
||||
8.0) listen{} (Available Ports):
|
||||
|
||||
These line(s) define which ports the IRCd will be using. Ports that servers and clients can connect to.
|
||||
|
||||
8.1) Syntax:
|
||||
listen <ip>:<port>;
|
||||
{
|
||||
options
|
||||
{
|
||||
<option>;
|
||||
<option>;
|
||||
};
|
||||
};
|
||||
|
||||
8.2) Variables:
|
||||
<ip> IP Address to bind to (1.2.3.4)
|
||||
<port> Port to listen on (port)
|
||||
<option> Option for the port to use (see 8.3)
|
||||
|
||||
8.3) Port Options
|
||||
|
||||
standard Normally listens on the port
|
||||
ssl Port is available to accept SSL connections.
|
||||
serveronly Port can only have servers connect to it (not clients)
|
||||
clientsonly Port can only have clients connect to it
|
||||
|
||||
9.0) link{} (Connecting Servers):
|
||||
|
||||
This line will define what server can connect to yours.
|
||||
|
||||
9.1) Syntax:
|
||||
|
||||
link <servername>;
|
||||
{
|
||||
username <usermask>;
|
||||
hostname <hostname>;
|
||||
bind-ip <bindip>;
|
||||
port <port>;
|
||||
hub *; /* for connecting a hub */
|
||||
leaf *; /* for connecting a leaf */
|
||||
leaf-depth <leaf-depth>; /* for connecting a leaf */
|
||||
password-connect "<cpassword>";
|
||||
password-receive "<rpassword>";
|
||||
class <class>;
|
||||
rsa-auth "<keypath>";
|
||||
options {
|
||||
<option>;
|
||||
<option>;
|
||||
};
|
||||
};
|
||||
|
||||
9.2) Variables
|
||||
<servername> Server name to connect to (server.network.com)
|
||||
<username> Username for authenticating connection (username)
|
||||
<hostname> Hostname for authenticating connection (hostname)
|
||||
<bindip> IP your server will bind to to connect (ip)
|
||||
hub or leaf Place hub *; or leaf *; depending on
|
||||
what type of server you're linking to
|
||||
<leaf-depth> Number of servers below yours (number)
|
||||
<cpassword> Password to send to the server (password)
|
||||
<rpassword> Password you expect to receive (password)
|
||||
<class> Class for servers (classname)
|
||||
<keypath> Path use for rsa-authentication (keypath)
|
||||
<option> Option used for connecting (see 9.3)
|
||||
|
||||
9.3) Link Options
|
||||
|
||||
autoconnect Automaticlly tries to connect to the server
|
||||
ssl Defines you are connecting to a SSL server
|
||||
zip Will make them compressed later
|
||||
|
||||
10.0) ulines{} (Ulined Servers):
|
||||
|
||||
This line will define servers that can have more control over the network. Services
|
||||
require this line in order to modify channels without being irc-operators.
|
||||
|
||||
10.1) Syntax:
|
||||
|
||||
ulines {
|
||||
<server>;
|
||||
<server>;
|
||||
};
|
||||
|
||||
10.2) Variables:
|
||||
<server> Server to be u:lined, can be infinate (servername)
|
||||
|
||||
11.0) tld{} (MOTD and Rules by Domains):
|
||||
|
||||
This line defines which hosts will read which set of MOTDs/Rules. For instance, if you have
|
||||
a bilingual network, connections from .fr can show a french MOTD and Rule file instead
|
||||
of the default ircd.motd and ircd.rules
|
||||
|
||||
11.1) Syntax:
|
||||
|
||||
tld {
|
||||
mask <mask>;
|
||||
motd "<motd>";
|
||||
rules "<rules>";
|
||||
};
|
||||
|
||||
11.2) Variables:
|
||||
<mask> Mask that will define the new set (ident@host)
|
||||
<motd> Filename of the motd file (filename)
|
||||
<rules> Filename of the rules file (filename)
|
||||
|
||||
12.0) ban{} (Bans):
|
||||
|
||||
This line has many parts to it and can ban different things. See the sections below
|
||||
on more information on banning.
|
||||
|
||||
12.1) ban nick{}
|
||||
|
||||
This line is used for restricting the use of certain nicknames
|
||||
|
||||
Syntax:
|
||||
ban nick {
|
||||
mask "<nickname>";
|
||||
reason "<reason>";
|
||||
};
|
||||
|
||||
12.2) ban ip{}
|
||||
|
||||
Used for removing a entire ip from connecting.
|
||||
|
||||
Syntax:
|
||||
ban ip { mask <ipaddress>; reason "<reason>"; };
|
||||
|
||||
12.3) ban server{}
|
||||
|
||||
Used for restrictring a server from connecting to you.
|
||||
|
||||
Syntax:
|
||||
ban server {
|
||||
mask <servername>;
|
||||
reason "<reason>";
|
||||
};
|
||||
|
||||
12.4) ban realname{}
|
||||
|
||||
Used to keep select individuals with certain realnames off the server.
|
||||
|
||||
Syntax:
|
||||
ban realname {
|
||||
mask "<real name>";
|
||||
reason "<reason>";
|
||||
};
|
||||
|
||||
12.5) ban user{}
|
||||
|
||||
This line is the same as the old K:Lines. It bans a host mask from connecting.
|
||||
|
||||
Syntax:
|
||||
ban user { mask <ident@host>; reason "<reason>"; };
|
||||
|
||||
13.0) except{} (Cannot Be Banned):
|
||||
|
||||
Used to make sure your own IRCops dont ban you, or so you dont accidently ban an entire
|
||||
nation's worth of addresses, etc.
|
||||
|
||||
13.1) except ban{}
|
||||
|
||||
This is so a realname and user cannot be banned.
|
||||
|
||||
Syntax:
|
||||
except ban {
|
||||
mask <ident@host>;
|
||||
};
|
||||
|
||||
13.2) except socks{}
|
||||
|
||||
This line is used so the socks server does not ban a client.
|
||||
|
||||
Syntax:
|
||||
except socks {
|
||||
mask 216.73.27.177;
|
||||
};
|
||||
|
||||
14.0) vhost{} (Vanity Hosts):
|
||||
|
||||
The vhost{} line is used so a user can change their hostname from blah.dialup.com to
|
||||
a more fun hostname such as tends.to.write.some.really.evildocs.net
|
||||
/vhost <login> <password>
|
||||
|
||||
14.1) Syntax:
|
||||
|
||||
vhost {
|
||||
vhost <vhost>;
|
||||
* * * * * * * * * * * * * * * * * * *
|
||||
* Unrealircd.conf Documentation *
|
||||
* http://www.unrealircd.com *
|
||||
* Made for Version 3.2+ Daemon *
|
||||
* by devdev *
|
||||
* * * * * * * * * * * * * * * * * * *
|
||||
|
||||
|
||||
* * * * T a b l e o f C o n t e n t s * * * *
|
||||
|
||||
Section 1.0 : Introduction
|
||||
Section 2.0 : me{} line
|
||||
2.1 : Syntax
|
||||
2.2 : Variables
|
||||
Section 3.0 : admin{} line
|
||||
3.1 : Syntax
|
||||
3.2 : Variables
|
||||
Section 4.0 : class{} line
|
||||
4.1 : Syntax
|
||||
4.2 : Variables
|
||||
Section 5.0 : allow{} line
|
||||
5.1 : Syntax
|
||||
5.2 : Variables
|
||||
Section 6.0 : drpass{} line
|
||||
6.1 : Syntax
|
||||
6.2 : Variables
|
||||
Section 7.0 : oper{} line
|
||||
7.1 : Syntax
|
||||
7.2 : Variables
|
||||
7.3 : Oper Flags
|
||||
7.4 : Flag Usage
|
||||
Section 8.0 : listen{} line
|
||||
8.1 : Syntax
|
||||
8.2 : Variables
|
||||
8.3 : Port Options
|
||||
9.0 : link{} line
|
||||
9.1 : Syntax
|
||||
9.2 : Variables
|
||||
9.3 : Link Options
|
||||
Section 10.0 : ulines{} line
|
||||
10.1 : Syntax
|
||||
10.2 : Variables
|
||||
Section 11.0 : tld{} line
|
||||
11.1 : Syntax
|
||||
11.2 : Variables
|
||||
Section 12.0 : ban{} line
|
||||
12.1 : ban nick{}
|
||||
12.2 : ban ip{}
|
||||
12.3 : ban server{}
|
||||
12.4 : ban realname{}
|
||||
12.5 : ban user{}
|
||||
Section 13.0 : except{} line
|
||||
13.1 : except ban{}
|
||||
13.2 : except socks{}
|
||||
Section 14.0 : vhost{} line
|
||||
14.1 : Syntax
|
||||
14.2 : Variables
|
||||
|
||||
* * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
1.0) Introduction:
|
||||
|
||||
As you may have noticed, in this version of Unreal, the ircd.conf
|
||||
has changed dramatically and has a new name... unrealircd.conf.
|
||||
|
||||
This will be a fully explanatory guide to the new unrealircd.conf
|
||||
Every aspect of the new config file is explained below.
|
||||
|
||||
2.0) me{} (Server Information Line):
|
||||
|
||||
This is the same idea as the old M:line. Gives the server name,
|
||||
description, and numeric. This, however, does not include the ip
|
||||
of the server.
|
||||
|
||||
2.1) Syntax:
|
||||
me {
|
||||
name <server>;
|
||||
info "<description>";
|
||||
numeric <numeric>;
|
||||
};
|
||||
|
||||
2.2) Variables:
|
||||
|
||||
<server> Server name (irc.network.com)
|
||||
<description> Server description (Network Hub)
|
||||
<numeric> Connection Numeric (Number 1-254)
|
||||
|
||||
3.0) admin{} (Administrator Line):
|
||||
|
||||
This is the same as the A:line. This line gives information about
|
||||
the server owner/administrator including Name, nickname, and email.
|
||||
This is not restricted to a number of lines. Shown at /admin
|
||||
|
||||
3.1) Syntax:
|
||||
admin {
|
||||
"<line>";
|
||||
};
|
||||
|
||||
3.2) Variables:
|
||||
<line> Text shown at /admin (Admin Name)
|
||||
|
||||
The "<line>"; can be repeated as many times as you wish. We suggest
|
||||
placing the admins nickname and an email to reach them at.
|
||||
|
||||
4.0) class{} (Connection Classes Line):
|
||||
|
||||
These connection classes are used to define the ping freqency, maximum
|
||||
amount of clients, and sendq limit for a certain class.
|
||||
|
||||
4.1) Syntax:
|
||||
class <class name> {
|
||||
connfreq <connfreq>; /*server only*/
|
||||
ping freq <pingfrq>;
|
||||
maxclients <maxclients>;
|
||||
sendq <sendqlimit>;
|
||||
};
|
||||
|
||||
4.2) Variables:
|
||||
<class type> Name of connection class (client, server, oper)
|
||||
<connfreq> Seconds between connection attempts (seconds)
|
||||
<pingfrq> Ping Frequency (every x seconds) (seconds)
|
||||
<maxclients> Number of maximum connections (number)
|
||||
<sendqlimit> Limit for sends (number)
|
||||
|
||||
5.0) allow{} (Allowed Connections):
|
||||
|
||||
This line specifies from which hostnames/ips users can connect from and their
|
||||
restrictions.
|
||||
|
||||
5.1) Syntax:
|
||||
allow {
|
||||
ip "<ip>";
|
||||
hostname "<host>";
|
||||
class <classname>;
|
||||
password "<password>";
|
||||
maxperip <max>;
|
||||
redirect-server <server>;
|
||||
redirect-port <port>;
|
||||
};
|
||||
|
||||
5.2) Variables:
|
||||
<ip> IP to allow connections from (1.2.3.4)
|
||||
<host> Hostname to allow connections from (ident@host)
|
||||
<classname> Class name to use defined above (name)
|
||||
<password> Password required for connection (password)
|
||||
<max> Maximum per ip address (number)
|
||||
<server> server to redirect to (hostname/ip)
|
||||
<port> port on server to redirect (port)
|
||||
|
||||
6.0) drpass{} (Die/Restart Password):
|
||||
|
||||
This line will defy the passwords required to restart or shutdown the irc server.
|
||||
|
||||
6.1) Syntax:
|
||||
drpass {
|
||||
die "<diepass>";
|
||||
restart "<restartpass>";
|
||||
};
|
||||
|
||||
6.2) Variables:
|
||||
<diepass> Password to shutdown the server (password)
|
||||
<restartpass> Password to restart the server (password)
|
||||
|
||||
7.0) oper{} (IRC Operator Line):
|
||||
|
||||
This line will define who (after suppling a login and password) will be allowed to have certain permissions
|
||||
granted. Such as global kills compared to local kills, and being able to restart the server.
|
||||
|
||||
7.1) Syntax:
|
||||
oper <login> {
|
||||
class <classname>;
|
||||
from {
|
||||
userhost <mask>;
|
||||
userhost <host>;
|
||||
userhost <host>
|
||||
};
|
||||
login <login>;
|
||||
password <password>;
|
||||
};
|
||||
|
||||
14.2) Variables:
|
||||
<vhost> Name of the vhost to use (vhost)
|
||||
<mask> Allowed masks to use the vhost (ident@host)
|
||||
<login> A login name to use (login)
|
||||
<password> Password to supply with login (password)
|
||||
|
||||
password "<password>";
|
||||
flags {
|
||||
<flag>;
|
||||
<flag>;
|
||||
}
|
||||
swhois <whois stuff>;
|
||||
snomask <snomask>;
|
||||
};
|
||||
|
||||
7.2) Variables
|
||||
<login> Login user name (opername)
|
||||
<classname> Class the oper will connect from (class)
|
||||
<host> Host the oper is allowed to op from (ident@host)
|
||||
<password> Password to accompany login-name (password)
|
||||
<flag> Flags to define permissions (see 7.3)
|
||||
<snomask> Snomask on oper (SNOMASK)
|
||||
<whois stuff> Extra info in /whois (string)
|
||||
|
||||
7.3) Oper Flags (old and new)
|
||||
|
||||
Old | New |Description
|
||||
------- |---------------- |------------------------------
|
||||
N | netadmin | Network Admnistrator
|
||||
T | techadmin | Technical Administrator
|
||||
A | admin | Server Administrator
|
||||
a | sadmin | Services Operator
|
||||
C | coadmin | Co Administrator
|
||||
o | local | Local IRC Operator
|
||||
O | global | Global IRC Operator
|
||||
r | can_rehash | Is able to rehash the server
|
||||
D | can_die | Can shutdown the server (with password)
|
||||
R | can_restart | Can restart the server (with password)
|
||||
h | helpop | ..is available for help. Can see /helpops
|
||||
g | can_globops | Can use /globops
|
||||
w | can_wallops | Can use /wallops
|
||||
l | locop | can send /locops
|
||||
c | can_localroute | Can locally /connect and /squit servers
|
||||
L | can_globalroute | Can globally /connect and /squit servers
|
||||
k | can_localkill | Can do local /kills
|
||||
K | can_globalkill | Can do global /kills
|
||||
b | can_kline | Can set a /kline
|
||||
B | can_unkline | Can unset a /kline
|
||||
n | can_localnotice | Can send local notices
|
||||
G | can_globalnotice| Can send global notices
|
||||
z | can_zline | Can set /zlines
|
||||
t | can_gkline | can use /gline and /shun
|
||||
Z | can_gzline | can use /gzline
|
||||
^ | can_stealth | Can set +I
|
||||
|
||||
|
||||
7.4) Oper Flag Usage:
|
||||
|
||||
Usage:
|
||||
flags oldflags;
|
||||
[or]
|
||||
flags { new flag; new flag; };
|
||||
|
||||
Example:
|
||||
flags oN;
|
||||
[or]
|
||||
flags { netadmin; helpop; };
|
||||
|
||||
|
||||
Local operators are defined by having no additional flags in the oper line or if the IRCD finsd an error in
|
||||
the flags, locop will be set (default).
|
||||
|
||||
8.0) listen{} (Available Ports):
|
||||
|
||||
These line(s) define which ports the IRCd will be using. Ports that servers and clients can connect to.
|
||||
|
||||
8.1) Syntax:
|
||||
listen <ip>:<port>;
|
||||
{
|
||||
options
|
||||
{
|
||||
<option>;
|
||||
<option>;
|
||||
};
|
||||
};
|
||||
|
||||
8.2) Variables:
|
||||
<ip> IP Address to bind to (1.2.3.4)
|
||||
<port> Port to listen on (port)
|
||||
<option> Option for the port to use (see 8.3)
|
||||
|
||||
8.3) Port Options
|
||||
|
||||
standard Normally listens on the port
|
||||
ssl Port is available to accept SSL connections.
|
||||
serveronly Port can only have servers connect to it (not clients)
|
||||
clientsonly Port can only have clients connect to it
|
||||
|
||||
9.0) link{} (Connecting Servers):
|
||||
|
||||
This line will define what server can connect to yours.
|
||||
|
||||
9.1) Syntax:
|
||||
|
||||
link <servername>;
|
||||
{
|
||||
username <usermask>;
|
||||
hostname <hostname>;
|
||||
bind-ip <bindip>;
|
||||
port <port>;
|
||||
hub *; /* for connecting a hub */
|
||||
leaf *; /* for connecting a leaf */
|
||||
leaf-depth <leaf-depth>; /* for connecting a leaf */
|
||||
password-connect "<cpassword>";
|
||||
password-receive "<rpassword>";
|
||||
class <class>;
|
||||
rsa-auth "<keypath>";
|
||||
options {
|
||||
<option>;
|
||||
<option>;
|
||||
};
|
||||
};
|
||||
|
||||
9.2) Variables
|
||||
<servername> Server name to connect to (server.network.com)
|
||||
<username> Username for authenticating connection (username)
|
||||
<hostname> Hostname for authenticating connection (hostname)
|
||||
<bindip> IP your server will bind to to connect (ip)
|
||||
hub or leaf Place hub *; or leaf *; depending on
|
||||
what type of server you're linking to
|
||||
<leaf-depth> Number of servers below yours (number)
|
||||
<cpassword> Password to send to the server (password)
|
||||
<rpassword> Password you expect to receive (password)
|
||||
<class> Class for servers (classname)
|
||||
<keypath> Path use for rsa-authentication (keypath)
|
||||
<option> Option used for connecting (see 9.3)
|
||||
|
||||
9.3) Link Options
|
||||
|
||||
autoconnect Automaticlly tries to connect to the server
|
||||
ssl Defines you are connecting to a SSL server
|
||||
zip Will make them compressed later
|
||||
|
||||
10.0) ulines{} (Ulined Servers):
|
||||
|
||||
This line will define servers that can have more control over the network. Services
|
||||
require this line in order to modify channels without being irc-operators.
|
||||
|
||||
10.1) Syntax:
|
||||
|
||||
ulines {
|
||||
<server>;
|
||||
<server>;
|
||||
};
|
||||
|
||||
10.2) Variables:
|
||||
<server> Server to be u:lined, can be infinate (servername)
|
||||
|
||||
11.0) tld{} (MOTD and Rules by Domains):
|
||||
|
||||
This line defines which hosts will read which set of MOTDs/Rules. For instance, if you have
|
||||
a bilingual network, connections from .fr can show a french MOTD and Rule file instead
|
||||
of the default ircd.motd and ircd.rules
|
||||
|
||||
11.1) Syntax:
|
||||
|
||||
tld {
|
||||
mask <mask>;
|
||||
motd "<motd>";
|
||||
rules "<rules>";
|
||||
};
|
||||
|
||||
11.2) Variables:
|
||||
<mask> Mask that will define the new set (ident@host)
|
||||
<motd> Filename of the motd file (filename)
|
||||
<rules> Filename of the rules file (filename)
|
||||
|
||||
12.0) ban{} (Bans):
|
||||
|
||||
This line has many parts to it and can ban different things. See the sections below
|
||||
on more information on banning.
|
||||
|
||||
12.1) ban nick{}
|
||||
|
||||
This line is used for restricting the use of certain nicknames
|
||||
|
||||
Syntax:
|
||||
ban nick {
|
||||
mask "<nickname>";
|
||||
reason "<reason>";
|
||||
};
|
||||
|
||||
12.2) ban ip{}
|
||||
|
||||
Used for removing a entire ip from connecting.
|
||||
|
||||
Syntax:
|
||||
ban ip { mask <ipaddress>; reason "<reason>"; };
|
||||
|
||||
12.3) ban server{}
|
||||
|
||||
Used for restrictring a server from connecting to you.
|
||||
|
||||
Syntax:
|
||||
ban server {
|
||||
mask <servername>;
|
||||
reason "<reason>";
|
||||
};
|
||||
|
||||
12.4) ban realname{}
|
||||
|
||||
Used to keep select individuals with certain realnames off the server.
|
||||
|
||||
Syntax:
|
||||
ban realname {
|
||||
mask "<real name>";
|
||||
reason "<reason>";
|
||||
};
|
||||
|
||||
12.5) ban user{}
|
||||
|
||||
This line is the same as the old K:Lines. It bans a host mask from connecting.
|
||||
|
||||
Syntax:
|
||||
ban user { mask <ident@host>; reason "<reason>"; };
|
||||
|
||||
13.0) except{} (Cannot Be Banned):
|
||||
|
||||
Used to make sure your own IRCops dont ban you, or so you dont accidently ban an entire
|
||||
nation's worth of addresses, etc.
|
||||
|
||||
13.1) except ban{}
|
||||
|
||||
This is so a realname and user cannot be banned.
|
||||
|
||||
Syntax:
|
||||
except ban {
|
||||
mask <ident@host>;
|
||||
};
|
||||
|
||||
13.2) except socks{}
|
||||
|
||||
This line is used so the socks server does not ban a client.
|
||||
|
||||
Syntax:
|
||||
except socks {
|
||||
mask 216.73.27.177;
|
||||
};
|
||||
|
||||
14.0) vhost{} (Vanity Hosts):
|
||||
|
||||
The vhost{} line is used so a user can change their hostname from blah.dialup.com to
|
||||
a more fun hostname such as tends.to.write.some.really.evildocs.net
|
||||
/vhost <login> <password>
|
||||
|
||||
14.1) Syntax:
|
||||
|
||||
vhost {
|
||||
vhost <vhost>;
|
||||
from {
|
||||
userhost <mask>;
|
||||
};
|
||||
login <login>;
|
||||
password <password>;
|
||||
};
|
||||
|
||||
14.2) Variables:
|
||||
<vhost> Name of the vhost to use (vhost)
|
||||
<mask> Allowed masks to use the vhost (ident@host)
|
||||
<login> A login name to use (login)
|
||||
<password> Password to supply with login (password)
|
||||
|
||||
|
||||
@@ -648,6 +648,48 @@
|
||||
Example : SHUN +foobar@aol.com 600 :Spamming (Shuns foobar@aol.com for 10 mins for Spamming)
|
||||
SHUN +foobar@aol.com 1d6h :Spamming (Adds a 30 hour SHUN)
|
||||
|
||||
*** GZLINE Command ***
|
||||
|
||||
This command provides timed global Z:line. If you match a Global Z:Line you cannot
|
||||
connect to ANY server on the IRC network
|
||||
A time of 0 in the GZLINE makes it permanent (Never Expires).
|
||||
You may also specify the time in the format 1d10h15m30s.
|
||||
IRC Operator only command.
|
||||
|
||||
Syntax: GZLINE <user@host mask> <seconds to be banned> :<reason>
|
||||
(Adds a Global Z:line for user@host)
|
||||
GZLINE -<user@host mask> (Removes a Global Z:line for user@host)
|
||||
Example: GZLINE *@*.dal.net 900 :Spammers (Adds a 15 min Global Z:line)
|
||||
GZLINE *@*.dal.net 1d5h :Spammers (Adds a 29 hour Global Z:line)
|
||||
|
||||
*** TKLINE Command ***
|
||||
|
||||
This command provides timed K:Lines. If you match a time K:Line you cannot
|
||||
connect to the server until the time has expired
|
||||
A time of 0 in the TKLINE makes it permanent (Never Expires).
|
||||
You may also specify the time in the format 1d10h15m30s.
|
||||
IRC Operator only command.
|
||||
|
||||
Syntax: TKLINE <user@host mask> <seconds to be banned> :<reason>
|
||||
(Adds a Timed K:line for user@host)
|
||||
TKLINE -<user@host mask> (Removes a Timed K:line for user@host)
|
||||
Example: TKLINE *@*.dal.net 900 :Spammers (Adds a 15 min Timed K:line)
|
||||
TKLINE *@*.dal.net 1d5h :Spammers (Adds a 29 hour Timed K:line)
|
||||
|
||||
*** TZLINE Command ***
|
||||
|
||||
This command provides timed G:Lines. If you match a Timed Z:Line you cannot
|
||||
connect to the server until the time has expired
|
||||
A time of 0 in the TZLINE makes it permanent (Never Expires).
|
||||
You may also specify the time in the format 1d10h15m30s.
|
||||
IRC Operator only command.
|
||||
|
||||
Syntax: TZLINE <user@host mask> <seconds to be banned> :<reason>
|
||||
(Adds a Timed Z:line for user@host)
|
||||
TZLINE -<user@host mask> (Removes a Timed Z:line for user@host)
|
||||
Example: TZLINE *@*.dal.net 900 :Spammers (Adds a 15 min Timed Z:line)
|
||||
TZLINE *@*.dal.net 1d5h :Spammers (Adds a 29 hour Timed Z:line)
|
||||
|
||||
*** AKILL Command *** (Use Services AKILL Instead)
|
||||
|
||||
Adds an Autokill for the specific host mask. This prevents any user from that
|
||||
@@ -870,10 +912,11 @@
|
||||
*** MKPASSWD Command ***
|
||||
|
||||
This command will encrypt the string it has been given
|
||||
So u can add it directly to the ircd.conf if you use
|
||||
Encrypted passwords.
|
||||
So u can add it directly to the unrealircd.conf if you use
|
||||
Encrypted passwords. Type can be crypt, sha1, or md5. Sha1
|
||||
and md5 are only available when compiled with SSL support.
|
||||
|
||||
Syntax : MKPASSWD <string to be encrypted>
|
||||
Syntax : MKPASSWD <method> <password>
|
||||
|
||||
*** TSCTL Command ***
|
||||
|
||||
@@ -1059,4 +1102,4 @@
|
||||
H = Gets +x on oper up.
|
||||
W = Gets +W on oper up.
|
||||
^ = Allows to use umode +I
|
||||
* = Flags AaNCTzSHW^
|
||||
* = Flags AaNCTzSHW^
|
||||
|
||||
@@ -139,7 +139,7 @@ int create_client(const char *hostname, const int hostport) {
|
||||
/* winlocal
|
||||
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) < 0)
|
||||
*/
|
||||
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) // winlocal
|
||||
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) == -1) // winlocal
|
||||
fatal("socket");
|
||||
|
||||
name_to_number(AF_INET, hostname, hostport, &hostaddr, &adlen);
|
||||
|
||||
@@ -1 +1,33 @@
|
||||
...
|
||||
|
||||
These are 3rd party programs modules, or unsupported modules.
|
||||
|
||||
Custom modules are compiled by copying them to src/modules
|
||||
and running from the root directory
|
||||
|
||||
$ make custommodule MODULEFILE=modulename
|
||||
|
||||
This will produce a .so you can load. Upon load, this will show a "3" in the
|
||||
/version flags, as it contains third party modules (we do not support if it
|
||||
crashes because of the tainted module)
|
||||
|
||||
======================
|
||||
Name: burst.c
|
||||
Description:
|
||||
Little program to test out the different aspects of the unreal protocol and
|
||||
produce net.burst dumps
|
||||
|
||||
======================
|
||||
Name: pthreads.tar.gz
|
||||
Description:
|
||||
FSU Pthreads, used on some systems
|
||||
|
||||
=======================
|
||||
Name: m_rawto.c
|
||||
Is a 3rd party module
|
||||
Description:
|
||||
|
||||
Implements the RAWTO command, will allow U:lines to send raw data to
|
||||
anywhere it pleases.
|
||||
|
||||
:uline.server RAWTO towho :what to send
|
||||
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
/*
|
||||
* Unreal Internet Relay Chat Daemon, m_rawto.c
|
||||
* (C) 2002 Carsten V. Munk
|
||||
* RAWTO Module - 3rd party
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Use of this module will make it a 3rd party module, and will
|
||||
* add to your /version thing. We DO NOT SUPPORT THIS.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "struct.h"
|
||||
#include "common.h"
|
||||
#include "sys.h"
|
||||
#include "numeric.h"
|
||||
#include "msg.h"
|
||||
#include "channel.h"
|
||||
#include <time.h>
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef _WIN32
|
||||
#include <io.h>
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
#include "h.h"
|
||||
#include "proto.h"
|
||||
#ifdef STRIPBADWORDS
|
||||
#include "badwords.h"
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
#include "version.h"
|
||||
#endif
|
||||
|
||||
DLLFUNC int m_rawto(aClient *cptr, aClient *sptr, int parc, char *parv[]);
|
||||
|
||||
/* Place includes here */
|
||||
#define MSG_RAWTO "RAWTO" /* */
|
||||
#define TOK_RAWTO "3A" /* 112 */
|
||||
|
||||
|
||||
#ifndef DYNAMIC_LINKING
|
||||
ModuleHeader m_rawto_Header
|
||||
#else
|
||||
#define m_rawto_Header Mod_Header
|
||||
ModuleHeader Mod_Header
|
||||
#endif
|
||||
= {
|
||||
"rawto", /* Name of module */
|
||||
"$Id$", /* Version */
|
||||
"command /rawto", /* Short description of module */
|
||||
"3.2-b5",
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
/* The purpose of these ifdefs, are that we can "static" link the ircd if we
|
||||
* want to
|
||||
*/
|
||||
|
||||
/* This is called on module init, before Server Ready */
|
||||
#ifdef DYNAMIC_LINKING
|
||||
DLLFUNC int Mod_Init(int module_load)
|
||||
#else
|
||||
int m_rawto_Init(int module_load)
|
||||
#endif
|
||||
{
|
||||
/*
|
||||
* We call our add_Command crap here
|
||||
*/
|
||||
add_Command(MSG_RAWTO, TOK_RAWTO, m_rawto, 2);
|
||||
tainted++;
|
||||
return MOD_SUCCESS;
|
||||
}
|
||||
|
||||
/* Is first run when server is 100% ready */
|
||||
#ifdef DYNAMIC_LINKING
|
||||
DLLFUNC int Mod_Load(int module_load)
|
||||
#else
|
||||
int m_rawto_Load(int module_load)
|
||||
#endif
|
||||
{
|
||||
|
||||
return MOD_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/* Called when module is unloaded */
|
||||
#ifdef DYNAMIC_LINKING
|
||||
DLLFUNC int Mod_Unload(int module_unload)
|
||||
#else
|
||||
int m_rawto_Unload(int module_unload)
|
||||
#endif
|
||||
{
|
||||
if (del_Command(MSG_RAWTO, TOK_RAWTO, m_rawto) < 0)
|
||||
{
|
||||
sendto_realops("Failed to delete commands when unloading %s",
|
||||
m_rawto_Header.name);
|
||||
}
|
||||
tainted--;
|
||||
return MOD_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* m_rawto Send a raw string to anywhere
|
||||
* if you are U:line
|
||||
* parv[0] = sender prefix
|
||||
* parv[1] = whoto
|
||||
* parv[2] = string
|
||||
*/
|
||||
|
||||
DLLFUNC int m_rawto(aClient *cptr, aClient *sptr, int parc, char *parv[])
|
||||
{
|
||||
aClient *acptr = NULL;
|
||||
if (!IsULine(sptr))
|
||||
{
|
||||
sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
|
||||
return -1;
|
||||
}
|
||||
if (parc < 3)
|
||||
{
|
||||
sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
|
||||
me.name, parv[0], "RAWTO");
|
||||
return -1;
|
||||
}
|
||||
if ((acptr = find_client(parv[1], NULL)))
|
||||
{
|
||||
if (MyConnect(acptr))
|
||||
{
|
||||
sendto_one(acptr, "%s", parv[2]);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
sendto_one(acptr, ":%s %s %s :%s",
|
||||
parv[0], IsToken(acptr->from) ? TOK_RAWTO : MSG_RAWTO,
|
||||
parv[1], parv[2]);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 52 B |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 443 B |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 453 B |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 451 B |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 441 B |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 447 B |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 449 B |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 445 B |
@@ -30,10 +30,10 @@ typedef struct {
|
||||
#define AUTHTYPE_SHA1 3
|
||||
#define AUTHTYPE_SSL_PUBKEY 4
|
||||
|
||||
#ifdef USE_SSL
|
||||
//#define AUTHENABLE_MD5
|
||||
//#define AUTHENABLE_SHA1
|
||||
//#define AUTHENABLE_SSL_PUBKEY
|
||||
#ifdef USE_SSL
|
||||
#define AUTHENABLE_MD5
|
||||
#define AUTHENABLE_SHA1
|
||||
#define AUTHENABLE_SSL_PUBKEY
|
||||
/* OpenSSL provides a crypt() */
|
||||
#ifndef AUTHENABLE_UNIXCRYPT
|
||||
#define AUTHENABLE_UNIXCRYPT
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
// $Id$
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
#define CIOCLASS "CioClass"
|
||||
|
||||
#ifndef CIO
|
||||
#define CIO
|
||||
|
||||
typedef struct tag_CioLine {
|
||||
BYTE *Data;
|
||||
WORD Len;
|
||||
struct tag_CioLine *Prev, *Next;
|
||||
} CioLine;
|
||||
|
||||
typedef struct tag_CioWndInfo {
|
||||
CioLine *FirstLine, *CurLine;
|
||||
int Lines, Scroll;
|
||||
int Width, Height, XChar, YChar, YJunk, ScrollMe;
|
||||
HFONT hFont;
|
||||
BYTE FR, FG, FB;
|
||||
} CioWndInfo;
|
||||
|
||||
#endif
|
||||
@@ -1,21 +0,0 @@
|
||||
// $Id$
|
||||
#include "Cio.h"
|
||||
|
||||
#define GWL_USER 0
|
||||
#define CIO_ADDSTRING WM_USER
|
||||
#define CIO_CLEAR WM_USER+1
|
||||
|
||||
// Cio_Init.c
|
||||
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);
|
||||
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);
|
||||
BOOL Cio_PrintF(HWND hWnd, char *InBuf, ...);
|
||||
@@ -22,14 +22,6 @@
|
||||
#ifndef __class_include__
|
||||
#define __class_include__
|
||||
|
||||
#ifndef PROTO
|
||||
#if __STDC__
|
||||
# define PROTO(x) x
|
||||
#else
|
||||
# define PROTO(x) ()
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef struct Class {
|
||||
int class;
|
||||
int conFreq;
|
||||
@@ -59,13 +51,13 @@ typedef struct Class {
|
||||
|
||||
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(int);
|
||||
extern int get_conf_class(aConfItem *);
|
||||
extern int get_client_class(aClient *);
|
||||
extern int get_client_ping(aClient *);
|
||||
extern int get_con_freq(aClass *);
|
||||
extern void add_class(int, int, int, int, long);
|
||||
extern void check_class(void);
|
||||
extern void initclass(void);
|
||||
|
||||
#endif /* __class_include__ */
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
#include <winsock.h>
|
||||
#include <process.h>
|
||||
#include <io.h>
|
||||
//#include "struct.h"
|
||||
#endif
|
||||
#include "dynconf.h"
|
||||
#include "ircsprintf.h"
|
||||
@@ -37,18 +36,11 @@
|
||||
#ifdef PARAMH
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
|
||||
#if !defined(IN_ADDR)
|
||||
#include "sys.h"
|
||||
#endif
|
||||
|
||||
#ifndef PROTO
|
||||
#if __STDC__
|
||||
# define PROTO(x) x
|
||||
#else
|
||||
# define PROTO(x) ()
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEVELOP_CVS
|
||||
#define ID_Copyright(x) static char id_copyright[] = x
|
||||
#define ID_Notes(x) static char id_notes[] = x
|
||||
@@ -96,38 +88,38 @@ void free();
|
||||
#define TS time_t
|
||||
|
||||
|
||||
extern int match PROTO((char *, char *));
|
||||
extern int match(char *, char *);
|
||||
#define mycmp(a,b) \
|
||||
( (toupper((a)[0])!=toupper((b)[0])) || smycmp((a)+1,(b)+1) )
|
||||
extern int smycmp PROTO((char *, char *));
|
||||
( (toupper(a[0])!=toupper(b[0])) || smycmp((a)+1,(b)+1) )
|
||||
extern int smycmp(char *, char *);
|
||||
#ifndef GLIBC2_x
|
||||
extern int myncmp PROTO((char *, char *, int));
|
||||
extern int myncmp(char *, char *, int);
|
||||
#endif
|
||||
|
||||
#ifdef NEED_STRTOK
|
||||
extern char *strtok2 PROTO((char *, char *));
|
||||
extern char *strtok2(char *, char *);
|
||||
#endif
|
||||
#ifdef NEED_STRTOKEN
|
||||
extern char *strtoken PROTO((char **, char *, char *));
|
||||
extern char *strtoken(char **, char *, char *);
|
||||
#endif
|
||||
#ifdef NEED_INET_ADDR
|
||||
extern unsigned long inet_addr PROTO((char *));
|
||||
extern unsigned long inet_addr(char *);
|
||||
#endif
|
||||
|
||||
#if defined(NEED_INET_NTOA) || defined(NEED_INET_NETOF) && !defined(_WIN32)
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef NEED_INET_NTOA
|
||||
extern char *inet_ntoa PROTO((struct IN_ADDR));
|
||||
extern char *inet_ntoa(struct IN_ADDR);
|
||||
#endif
|
||||
|
||||
#ifdef NEED_INET_NETOF
|
||||
extern int inet_netof PROTO((struct IN_ADDR));
|
||||
extern int inet_netof(struct IN_ADDR);
|
||||
#endif
|
||||
|
||||
int global_count, max_global_count;
|
||||
extern char *myctime PROTO((time_t));
|
||||
extern char *strtoken PROTO((char **, char *, char *));
|
||||
extern char *myctime(time_t);
|
||||
extern char *strtoken(char **, char *, char *);
|
||||
|
||||
#define PRECISE_CHECK
|
||||
|
||||
@@ -138,7 +130,7 @@ extern char *strtoken PROTO((char **, char *, char *));
|
||||
#define MIN(a, b) ((a) < (b) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#define DupString(x,y) do{x=MyMalloc(strlen(y)+1);(void)strcpy(x,y);}while(0)
|
||||
#define DupString(x,y) do{int l=strlen(y);x=MyMalloc(l+1);(void)memcpy(x,y, l+1);}while(0)
|
||||
|
||||
extern u_char tolowertab[], touppertab[];
|
||||
|
||||
@@ -148,10 +140,10 @@ extern u_char tolowertab[], touppertab[];
|
||||
|
||||
#ifndef USE_LOCALE
|
||||
#undef tolower
|
||||
#define tolower(c) (tolowertab[(c)])
|
||||
#define tolower(c) (tolowertab[(u_char)(c)])
|
||||
|
||||
#undef toupper
|
||||
#define toupper(c) (touppertab[(c)])
|
||||
#define toupper(c) (touppertab[(u_char)(c)])
|
||||
|
||||
#undef isalpha
|
||||
#undef isdigit
|
||||
@@ -191,8 +183,8 @@ extern unsigned char char_atribs[];
|
||||
#define islower(c) ((char_atribs[(u_char)(c)]&ALPHA) && ((u_char)(c) > 0x5f))
|
||||
#define isupper(c) ((char_atribs[(u_char)(c)]&ALPHA) && ((u_char)(c) < 0x60))
|
||||
#define isdigit(c) (char_atribs[(u_char)(c)]&DIGIT)
|
||||
#define isxdigit(c) (isdigit(c) || 'a' <= (c) && (c) <= 'f' || \
|
||||
'A' <= (c) && (c) <= 'F')
|
||||
#define isxdigit(c) (isdigit(c) || ('a' <= (c) && (c) <= 'f') || \
|
||||
('A' <= (c) && (c) <= 'F'))
|
||||
#define isalnum(c) (char_atribs[(u_char)(c)]&(DIGIT|ALPHA))
|
||||
#define isprint(c) (char_atribs[(u_char)(c)]&PRINT)
|
||||
#define isascii(c) ((u_char)(c) >= 0 && (u_char)(c) <= 0x7f)
|
||||
@@ -205,7 +197,7 @@ extern unsigned char char_atribs[];
|
||||
#define MyMalloc malloc
|
||||
#define MyRealloc realloc
|
||||
#else
|
||||
#define MyFree(x) ircd_log("%s:%i: free %02x", __FILE__, __LINE__, x); free(x)
|
||||
#define MyFree(x) do {debug(DEBUG_MALLOC, "%s:%i: free %02x", __FILE__, __LINE__, x); free(x); } while(0)
|
||||
#define MyMalloc(x) StsMalloc(x, __FILE__, __LINE__)
|
||||
#define MyRealloc realloc
|
||||
static char *StsMalloc(size_t size, char *file, long line)
|
||||
@@ -213,7 +205,7 @@ static char *StsMalloc(size_t size, char *file, long line)
|
||||
void *x;
|
||||
|
||||
x = malloc(size);
|
||||
ircd_log("%s:%i: malloc %02x", file, line, x);
|
||||
debug(DEBUG_MALLOC, "%s:%i: malloc %02x", file, line, x);
|
||||
return x;
|
||||
}
|
||||
|
||||
@@ -257,21 +249,49 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
|
||||
" NETWORK=%s" \
|
||||
" :are supported by this server"
|
||||
|
||||
#define PROTOCTL_PARAMETERS MAXWATCH, \
|
||||
MAXSILES, \
|
||||
MAXMODEPARAMS, \
|
||||
MAXCHANNELSPERUSER, \
|
||||
MAXBANS, \
|
||||
NICKLEN, \
|
||||
TOPICLEN, \
|
||||
TOPICLEN, \
|
||||
"#", \
|
||||
"(ohv)@%+", \
|
||||
"ohvbeqa", \
|
||||
"k", \
|
||||
"lfL", \
|
||||
"psmntirRcOAQKVHGCuzN", \
|
||||
ircnet005
|
||||
|
||||
#define PROTOCTL_CLIENT_1 \
|
||||
"MAP" \
|
||||
" KNOCK" \
|
||||
" SAFELIST" \
|
||||
" HCN" \
|
||||
" MAXCHANNELS=%i" \
|
||||
" MAXBANS=%i" \
|
||||
" NICKLEN=%i" \
|
||||
" TOPICLEN=%i" \
|
||||
" KICKLEN=%i" \
|
||||
" MAXTARGETS=%i" \
|
||||
" :are supported by this server"
|
||||
#define PROTOCTL_PARAMETERS_1 \
|
||||
MAXCHANNELSPERUSER, \
|
||||
MAXBANS, \
|
||||
NICKLEN, \
|
||||
TOPICLEN, \
|
||||
TOPICLEN, \
|
||||
MAXTARGETS
|
||||
|
||||
#define PROTOCTL_CLIENT_2 \
|
||||
"WALLCHOPS" \
|
||||
" WATCH=%i" \
|
||||
" SILENCE=%i" \
|
||||
" MODES=%i" \
|
||||
" CHANTYPES=%s" \
|
||||
" PREFIX=%s" \
|
||||
" CHANMODES=%s,%s,%s,%s" \
|
||||
" NETWORK=%s" \
|
||||
" :are supported by this server"
|
||||
|
||||
#define PROTOCTL_PARAMETERS_2 \
|
||||
MAXWATCH, \
|
||||
MAXSILES, \
|
||||
MAXMODEPARAMS, \
|
||||
"#", \
|
||||
"(ohv)@%+", \
|
||||
"ohvbeqa", \
|
||||
"k", \
|
||||
"lfL", \
|
||||
"psmntirRcOAQKVHGCuzN", \
|
||||
ircnet005
|
||||
|
||||
/* Server-Server PROTOCTL -Stskeeps */
|
||||
#define PROTOCTL_SERVER "NOQUIT" \
|
||||
@@ -293,11 +313,9 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
|
||||
*/
|
||||
extern int DisplayString(HWND hWnd, char *InBuf, ...);
|
||||
#undef strerror
|
||||
// winlocal
|
||||
#else
|
||||
typedef int SOCKET;
|
||||
#define INVALID_SOCKET -1
|
||||
// winlocal
|
||||
#endif
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__APPLE__)
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
* Defining this will allow all ircops to see people in +s channels
|
||||
* By default, only net/tech admins can see this
|
||||
*/
|
||||
#undef SEE_SECRET
|
||||
#define SHOW_SECRET
|
||||
|
||||
/*
|
||||
* This allows you to see modes in /list
|
||||
@@ -103,6 +103,13 @@
|
||||
*/
|
||||
#define PROPER_COREDUMP
|
||||
|
||||
|
||||
/*
|
||||
* If channel mode is +z, only send to secure links & people
|
||||
*
|
||||
*/
|
||||
#undef SECURECHANMSGSONLYGOTOSECURE
|
||||
|
||||
/*
|
||||
* be compatible with older cloak keys? If you link to servers beta4 and
|
||||
* earlier without this the cloak keys will produce diff results
|
||||
@@ -148,6 +155,7 @@
|
||||
* Reject bans that are matched by existing bans, causes chanserv
|
||||
* To flood-kick an akicked user if their akick is matched by another
|
||||
* Ban, but if you don't mind, this can free up ban list space I guess
|
||||
*/
|
||||
#undef NAZIISH_CHBAN_HANDLING
|
||||
|
||||
/*
|
||||
@@ -328,36 +336,6 @@
|
||||
*/
|
||||
#define CMDLINE_CONFIG /* allow conf-file to be specified on command line */
|
||||
|
||||
/*
|
||||
* If you wish to have the server send 'vital' messages about server
|
||||
* through syslog, define USE_SYSLOG. Only system errors and events critical
|
||||
* to the server are logged although if this is defined with FNAME_USERLOG,
|
||||
* syslog() is used instead of the above file. It is not recommended that
|
||||
* this option is used unless you tell the system administrator beforehand
|
||||
* and obtain their permission to send messages to the system log files.
|
||||
*/
|
||||
#ifndef _WIN32
|
||||
#undef USE_SYSLOG
|
||||
#endif
|
||||
|
||||
#ifdef USE_SYSLOG
|
||||
/*
|
||||
* 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 */
|
||||
|
||||
/*
|
||||
* If you want to log to a different facility than DAEMON, change
|
||||
* this define.
|
||||
*/
|
||||
#define LOG_FACILITY LOG_DAEMON
|
||||
#endif /* USE_SYSLOG */
|
||||
|
||||
/*
|
||||
* Size of the LISTEN request. Some machines handle this large
|
||||
* without problem, but not all. It defaults to 5, but can be
|
||||
@@ -441,7 +419,7 @@
|
||||
*/
|
||||
|
||||
#define MAXTARGETS 20
|
||||
#define TARGET_DELAY 120
|
||||
#define TARGET_DELAY 15
|
||||
|
||||
/* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP */
|
||||
|
||||
@@ -616,14 +594,14 @@
|
||||
#ifdef BSD_RELIABLE_SIGNALS
|
||||
# if defined(SYSV_UNRELIABLE_SIGNALS) || defined(POSIX_SIGNALS)
|
||||
error You stuffed up config.h signals
|
||||
#defines use only one.
|
||||
#define 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.
|
||||
#define use only one.
|
||||
# endif
|
||||
#undef HAVE_RELIABLE_SIGNALS
|
||||
#endif
|
||||
|
||||
@@ -22,14 +22,6 @@
|
||||
#ifndef __dbuf_include__
|
||||
#define __dbuf_include__
|
||||
|
||||
#ifndef PROTO
|
||||
#ifdef __STDC__
|
||||
# define PROTO(x) x
|
||||
#else
|
||||
# define PROTO(x) ()
|
||||
#endif /* __STDC__ */
|
||||
#endif /* ! PROTO */
|
||||
|
||||
/*
|
||||
** dbuf is a collection of functions which can be used to
|
||||
** maintain a dynamic buffering of a byte stream.
|
||||
@@ -76,7 +68,7 @@ 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(dbuf *, char *, int);
|
||||
/* Dynamic buffer header */
|
||||
/* Pointer to data to be stored */
|
||||
/* Number of bytes to store */
|
||||
@@ -96,7 +88,7 @@ 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(dbuf *, char *, int);
|
||||
/* Dynamic buffer header */
|
||||
/* Pointer to buffer to receive the data */
|
||||
/* Max amount of bytes that can be received */
|
||||
@@ -125,11 +117,11 @@ int dbuf_get PROTO((dbuf *, char *, int));
|
||||
** Note: delete can be used alone, there is no real binding
|
||||
** between map and delete functions...
|
||||
*/
|
||||
char *dbuf_map PROTO((dbuf *, int *));
|
||||
char *dbuf_map(dbuf *, int *);
|
||||
/* Dynamic buffer header */
|
||||
/* Return number of bytes accessible */
|
||||
|
||||
int dbuf_delete PROTO((dbuf *, int));
|
||||
int dbuf_delete(dbuf *, int);
|
||||
/* Dynamic buffer header */
|
||||
/* Number of bytes to delete */
|
||||
|
||||
@@ -148,6 +140,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(dbuf *, char *, int);
|
||||
|
||||
#endif /* __dbuf_include__ */
|
||||
|
||||
@@ -64,14 +64,12 @@ struct zConfiguration {
|
||||
char *name_server;
|
||||
char *kline_address;
|
||||
long conn_modes;
|
||||
long oper_modes;
|
||||
char *auto_join_chans;
|
||||
char *oper_auto_join_chans;
|
||||
char *oper_only_stats;
|
||||
int socksbantime;
|
||||
int maxchannelsperuser;
|
||||
int anti_spam_quit_message_time;
|
||||
char *socksbanmessage;
|
||||
char *socksquitmessage;
|
||||
aNetwork network;
|
||||
};
|
||||
|
||||
@@ -81,6 +79,7 @@ extern aConfiguration iConf;
|
||||
|
||||
#define KLINE_ADDRESS iConf.kline_address
|
||||
#define CONN_MODES iConf.conn_modes
|
||||
#define OPER_MODES iConf.oper_modes
|
||||
#define SHOWOPERMOTD iConf.som
|
||||
#define HIDE_ULINES iConf.hide_ulines
|
||||
#define ALLOW_CHATOPS iConf.allow_chatops
|
||||
@@ -91,9 +90,6 @@ extern aConfiguration iConf;
|
||||
#define OPER_AUTO_JOIN_CHANS iConf.oper_auto_join_chans
|
||||
#define HOST_TIMEOUT iConf.host_timeout
|
||||
#define HOST_RETRIES iConf.host_retries
|
||||
#define SOCKSBANMSG iConf.socksbanmessage
|
||||
#define SOCKSQUITMSG iConf.socksquitmessage
|
||||
#define SOCKSBANTIME iConf.socksbantime
|
||||
#define NAME_SERVER iConf.name_server
|
||||
#define IDENT_CHECK iConf.ident_check
|
||||
#define FAILOPER_WARN iConf.fail_oper_warn
|
||||
|
||||
@@ -18,32 +18,4 @@
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define EVENT(x) void (x) (void *data)
|
||||
|
||||
typedef struct _event Event;
|
||||
|
||||
struct _event {
|
||||
Event *prev, *next;
|
||||
char *name;
|
||||
time_t every;
|
||||
long howmany;
|
||||
vFP event;
|
||||
void *data;
|
||||
time_t last;
|
||||
};
|
||||
|
||||
Event *EventAdd(char *name, long every, long howmany,
|
||||
vFP event, void *data);
|
||||
Event *EventDel(Event *event);
|
||||
|
||||
Event *EventFind(char *name);
|
||||
|
||||
void EventModEvery(Event *event, long every);
|
||||
|
||||
void DoEvents(void);
|
||||
|
||||
void EventStatus(aClient *sptr);
|
||||
|
||||
void SetupEvents(void);
|
||||
|
||||
#include "modules.h"
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
#ifndef NO_FDLIST
|
||||
#include "fdlist.h"
|
||||
#endif
|
||||
|
||||
extern char *extraflags;
|
||||
extern int tainted;
|
||||
/* for the new s_err.c */
|
||||
extern char *getreply(int);
|
||||
#define rpl_str(x) getreply(x)
|
||||
@@ -44,12 +45,13 @@ extern struct stats *ircstp;
|
||||
extern int bootopt;
|
||||
extern time_t TSoffset;
|
||||
/* Prototype added to force errors -- Barubary */
|
||||
extern TS check_pings(TS now, int check_kills);
|
||||
extern TS check_pings(TS now);
|
||||
extern TS TS2ts(char *s);
|
||||
extern time_t timeofday;
|
||||
/* newconf */
|
||||
#define get_sendq(x) ((x)->class ? (x)->class->sendq : MAXSENDQLENGTH)
|
||||
|
||||
#define CMD_FUNC(x) int (x) (aClient *cptr, aClient *sptr, int parc, char *parv[])
|
||||
|
||||
#ifndef NO_FDLIST
|
||||
extern float currentrate;
|
||||
@@ -75,6 +77,7 @@ extern ConfigItem_admin *conf_admin;
|
||||
extern ConfigItem_admin *conf_admin_tail;
|
||||
extern ConfigItem_drpass *conf_drpass;
|
||||
extern ConfigItem_ulines *conf_ulines;
|
||||
extern ConfigItem_ssl *conf_ssl;
|
||||
extern ConfigItem_tld *conf_tld;
|
||||
extern ConfigItem_oper *conf_oper;
|
||||
extern ConfigItem_listen *conf_listen;
|
||||
@@ -95,9 +98,17 @@ extern ConfigItem_unknown *conf_unknown;
|
||||
extern ConfigItem_unknown_ext *conf_unknown_set;
|
||||
extern ConfigItem_alias *conf_alias;
|
||||
extern ConfigItem_include *conf_include;
|
||||
extern ConfigItem_help *conf_help;
|
||||
extern void clear_unknown();
|
||||
extern EVENT(tkl_check_expire);
|
||||
extern EVENT(e_unload_module_delayed);
|
||||
extern void module_loadall(int module_load);
|
||||
extern long set_usermode(char *umode);
|
||||
extern char *get_modestr(long umodes);
|
||||
extern void tkl_stats(aClient *cptr);
|
||||
extern void config_error(char *format, ...);
|
||||
extern void config_progress(char *format, ...);
|
||||
extern void ipport_seperate(char *string, char **ip, char **port);
|
||||
ConfigItem_class *Find_class(char *name);
|
||||
ConfigItem_deny_dcc *Find_deny_dcc(char *name);
|
||||
ConfigItem_oper *Find_oper(char *name);
|
||||
@@ -111,6 +122,7 @@ ConfigItem_ban *Find_banEx(char *host, short type, short type2);
|
||||
ConfigItem_vhost *Find_vhost(char *name);
|
||||
ConfigItem_deny_channel *Find_channel_allowed(char *name);
|
||||
ConfigItem_alias *Find_alias(char *name);
|
||||
ConfigItem_help *Find_Help(char *command);
|
||||
int AllowClient(aClient *cptr, struct hostent *hp, char *sockhost);
|
||||
int parse_netmask(const char *text, struct IN_ADDR *addr, int *b);
|
||||
int match_ipv4(struct IN_ADDR *addr, struct IN_ADDR *mask, int b);
|
||||
@@ -124,9 +136,10 @@ extern Link *Servers;
|
||||
void add_ListItem(ListStruct *, ListStruct **);
|
||||
ListStruct *del_ListItem(ListStruct *, ListStruct **);
|
||||
/* Remmed out for win32 compatibility.. as stated of 467leaf win32 port.. */
|
||||
|
||||
extern aClient *find_match_server(char *mask);
|
||||
extern LoopStruct loop;
|
||||
|
||||
extern int del_banid(aChannel *chptr, char *banid);
|
||||
extern int del_exbanid(aChannel *chptr, char *banid);
|
||||
#ifdef SHOWCONNECTINFO
|
||||
|
||||
|
||||
@@ -149,13 +162,16 @@ extern int R_do_dns, R_fin_dns, R_fin_dnsc, R_fail_dns,
|
||||
extern inline aCommand *find_Command(char *cmd, short token, int flags);
|
||||
extern aCommand *find_Command_simple(char *cmd);
|
||||
extern aChannel *find_channel(char *, aChannel *);
|
||||
extern Membership *find_membership_link(Membership *lp, aChannel *ptr);
|
||||
extern Member *find_member_link(Member *, aClient *);
|
||||
extern void remove_user_from_channel(aClient *, aChannel *);
|
||||
extern char *base64enc(long);
|
||||
extern long base64dec(char *);
|
||||
extern void add_server_to_table(aClient *);
|
||||
extern void remove_server_from_tabel(aClient *);
|
||||
|
||||
extern void remove_server_from_table(aClient *);
|
||||
extern void iNAH_host(aClient *sptr, char *host);
|
||||
extern void set_snomask(aClient *sptr, char *snomask);
|
||||
extern char *get_sno_str(aClient *sptr);
|
||||
/* for services */
|
||||
extern void del_invite(aClient *, aChannel *);
|
||||
extern int del_silence(aClient *, char *);
|
||||
@@ -190,6 +206,13 @@ extern char *strerror(int);
|
||||
extern int dgets(int, char *, int);
|
||||
extern char *inetntoa(char *);
|
||||
|
||||
#if !defined(HAVE_SNPRINT) || !defined(HAVE_VSNPRINTF)
|
||||
#ifndef _WIN32
|
||||
extern int snprintf (char *str, size_t count, const char *fmt, ...);
|
||||
extern int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
extern int dbufalloc, dbufblocks, debuglevel;
|
||||
#else
|
||||
@@ -233,9 +256,23 @@ extern void restart(char *);
|
||||
extern void send_channel_modes(aClient *, aChannel *);
|
||||
extern void server_reboot(char *);
|
||||
extern void terminate(), write_pidfile();
|
||||
|
||||
extern void *MyMallocEx(size_t size);
|
||||
extern int advanced_check(char *userhost, int ipstat);
|
||||
extern int send_queued(aClient *);
|
||||
/* i know this is naughty but :P --stskeeps */
|
||||
extern void send_channel_modes_sjoin(aClient *cptr, aChannel *chptr);
|
||||
extern void send_channel_modes_sjoin3(aClient *cptr, aChannel *chptr);
|
||||
extern void sendto_locfailops(char *pattern, ...);
|
||||
extern void sendto_connectnotice(char *nick, anUser *user, aClient *sptr);
|
||||
extern void sendto_serv_butone_nickcmd(aClient *one, aClient *sptr, char *nick, int hopcount,
|
||||
int lastnick, char *username, char *realhost, char *server, long servicestamp, char *info, char *umodes,
|
||||
char *virthost);
|
||||
extern void sendto_channels_inviso_part(aClient *user);
|
||||
extern void sendto_channels_inviso_join(aClient *user);
|
||||
extern void sendto_message_one(aClient *to, aClient *from, char *sender,
|
||||
char *cmd, char *nick, char *msg);
|
||||
extern void sendto_channelprefix_butone_tok(aClient *one, aClient *from, aChannel *chptr,
|
||||
int prefix, char *cmd, char *tok, char *nick, char *text);
|
||||
extern void sendto_channel_butone(aClient *, aClient *, aChannel *, char *,
|
||||
...);
|
||||
extern void sendto_channelops_butone(aClient *, aClient *, aChannel *,
|
||||
@@ -261,14 +298,21 @@ extern void sendto_failops(char *, ...);
|
||||
extern void sendto_opers(char *, ...);
|
||||
extern void sendto_umode(int, char *, ...);
|
||||
extern void sendto_conn_hcn(char *, ...);
|
||||
extern void sendto_snomask(int snomask, char *pattern, ...);
|
||||
extern int writecalls, writeb[];
|
||||
extern int deliver_it(aClient *, char *, int);
|
||||
|
||||
extern int check_for_chan_flood(aClient *cptr, aClient *sptr, aChannel *chptr);
|
||||
extern int check_for_target_limit(aClient *sptr, void *target, const char *name);
|
||||
extern char *stripbadwords_message(char *str);
|
||||
extern char *stripbadwords_channel(char *str);
|
||||
extern unsigned char *StripColors(unsigned char *);
|
||||
extern char *canonize(char *buffer);
|
||||
extern int webtv_parse(aClient *sptr, char *string);
|
||||
extern ConfigItem_deny_dcc *dcc_isforbidden(aClient *cptr, aClient *sptr, aClient *target, char *filename);
|
||||
extern int check_registered(aClient *);
|
||||
extern int check_registered_user(aClient *);
|
||||
extern char *get_client_name(aClient *, int);
|
||||
extern char *get_client_host(aClient *);
|
||||
extern char *my_name_for_link(char *, aConfItem *);
|
||||
extern char *myctime(time_t), *date(time_t);
|
||||
extern int exit_client(aClient *, aClient *, aClient *, char *);
|
||||
extern void initstats(), tstats(aClient *, char *);
|
||||
@@ -278,12 +322,14 @@ extern char *make_user_host(char *, char *);
|
||||
extern int parse(aClient *, char *, char *);
|
||||
extern int do_numeric(int, aClient *, aClient *, int, char **);
|
||||
extern int hunt_server(aClient *, aClient *, char *, int, int, char **);
|
||||
extern int hunt_server_token(aClient *, aClient *, char *, char *, char *, int, int, char **);
|
||||
extern aClient *next_client(aClient *, char *);
|
||||
extern int m_umode(aClient *, aClient *, int, char **);
|
||||
extern int m_names(aClient *, aClient *, int, char **);
|
||||
extern int m_server_estab(aClient *);
|
||||
extern void umode_init(void);
|
||||
extern long umode_get(char ch);
|
||||
extern int umode_delete(char ch, long val);
|
||||
extern void send_umode(aClient *, aClient *, long, long, char *);
|
||||
extern void send_umode_out(aClient *, aClient *, long);
|
||||
|
||||
@@ -307,7 +353,11 @@ extern void add_client_to_list(aClient *);
|
||||
extern void checklist();
|
||||
extern void remove_client_from_list(aClient *);
|
||||
extern void initlists();
|
||||
#ifndef _WIN32
|
||||
extern struct hostent *get_res(char *);
|
||||
#else
|
||||
extern struct hostent *get_res(char *, long);
|
||||
#endif
|
||||
extern struct hostent *gethost_byaddr(char *, Link *);
|
||||
extern struct hostent *gethost_byname(char *, Link *);
|
||||
extern void flush_cache();
|
||||
@@ -337,7 +387,7 @@ extern char *find_by_aln(char *);
|
||||
extern char *convert2aln(int);
|
||||
extern int convertfromaln(char *);
|
||||
extern char *find_server_aln(char *);
|
||||
extern atime(char *xtime);
|
||||
extern time_t atime(char *xtime);
|
||||
|
||||
|
||||
/* Mode externs
|
||||
@@ -369,6 +419,15 @@ extern long UMODE_HIDEOPER; /* 0x20000000 Hide oper mode */
|
||||
extern long UMODE_SETHOST; /* 0x40000000 used sethost */
|
||||
extern long UMODE_STRIPBADWORDS; /* 0x80000000 */
|
||||
|
||||
#ifndef HAVE_STRLCPY
|
||||
size_t strlcpy(char *dst, const char *src, size_t size);
|
||||
#endif
|
||||
#ifndef HAVE_STRLCAT
|
||||
size_t strlcat(char *dst, const char *src, size_t size);
|
||||
#endif
|
||||
#ifndef HAVE_STRLNCAT
|
||||
size_t strlncat(char *dst, const char *src, size_t size, size_t n);
|
||||
#endif
|
||||
|
||||
|
||||
extern int dopacket(aClient *, char *, int);
|
||||
@@ -392,17 +451,19 @@ extern char *inetntop(int af, const void *in, char *local_dummy,
|
||||
char *Inet_si2p(struct SOCKADDR_IN *sin);
|
||||
char *Inet_si2pB(struct SOCKADDR_IN *sin, char *buf, int sz);
|
||||
char *Inet_ia2p(struct IN_ADDR *ia);
|
||||
char *Inet_ia2pNB(struct IN_ADDR *ia, int compressed);
|
||||
|
||||
/*
|
||||
* CommandHash -Stskeeps
|
||||
*/
|
||||
extern aCommand *CommandHash[256];
|
||||
void init_CommandHash(void);
|
||||
void add_Command_backend(char *cmd, int (*func)(), unsigned char parameters, unsigned char token, int flags);
|
||||
void add_Command(char *cmd, char *token, int (*func)(), unsigned char parameters);
|
||||
void add_Command_to_list(aCommand *item, aCommand **list);
|
||||
aCommand *del_Command_from_list(aCommand *item, aCommand **list);
|
||||
int del_Command(char *cmd, char *token, int (*func)());
|
||||
extern void init_CommandHash(void);
|
||||
extern aCommand *add_Command_backend(char *cmd, int (*func)(), unsigned char parameters, unsigned char token, int flags);
|
||||
extern void add_Command(char *cmd, char *token, int (*func)(), unsigned char parameters);
|
||||
extern void add_Command_to_list(aCommand *item, aCommand **list);
|
||||
extern aCommand *del_Command_from_list(aCommand *item, aCommand **list);
|
||||
extern int del_Command(char *cmd, char *token, int (*func)());
|
||||
extern void add_CommandX(char *cmd, char *token, int (*func)(), unsigned char parameters, int flags);
|
||||
|
||||
/* CRULE */
|
||||
char *crule_parse(char *);
|
||||
@@ -428,6 +489,48 @@ extern anAuthStruct *Auth_ConvertConf2AuthStruct(ConfigEntry *ce);
|
||||
extern void Auth_DeleteAuthStruct(anAuthStruct *as);
|
||||
extern int Auth_Check(aClient *cptr, anAuthStruct *as, char *para);
|
||||
extern char *Auth_Make(short type, char *para);
|
||||
|
||||
|
||||
extern long xbase64dec(char *b64);
|
||||
extern aClient *find_server_b64_or_real(char *name);
|
||||
extern aClient *find_server_by_base64(char *b64);
|
||||
extern int is_chanownprotop(aClient *cptr, aChannel *chptr);
|
||||
extern char *make_virthost(char *curr, char *new, int mode);
|
||||
extern int channel_canjoin(aClient *sptr, char *name);
|
||||
extern char *collapse(char *pattern);
|
||||
extern void send_list(aClient *cptr, int numsend);
|
||||
extern int find_tkline_match_zap(aClient *cptr);
|
||||
extern void tkl_synch(aClient *sptr);
|
||||
extern void dcc_sync(aClient *sptr);
|
||||
extern void report_flines(aClient *sptr);
|
||||
extern void report_network(aClient *sptr);
|
||||
extern void report_dynconf(aClient *sptr);
|
||||
extern void count_memory(aClient *cptr, char *nick);
|
||||
extern void list_scache(aClient *sptr);
|
||||
extern void ns_stats(aClient *cptr);
|
||||
extern char *oflagstr(long oflag);
|
||||
extern int rehash(aClient *cptr, aClient *sptr, int sig);
|
||||
extern int _match(char *mask, char *name);
|
||||
extern void outofmemory(void);
|
||||
extern unsigned long crc32(const unsigned char *s, unsigned int len);
|
||||
extern int add_listener2(ConfigItem_listen *conf);
|
||||
extern void link_cleanup(ConfigItem_link *link_ptr);
|
||||
extern void listen_cleanup();
|
||||
extern int numeric_collides(long numeric);
|
||||
extern u_long cres_mem(aClient *sptr, char *nick);
|
||||
extern void flag_add(char *ch);
|
||||
extern void flag_del(char ch);
|
||||
extern void init_dynconf(void);
|
||||
extern int init_conf2(char *filename);
|
||||
extern void validate_configuration(void);
|
||||
extern void run_configuration(void);
|
||||
extern aMotd *read_file(char *filename, aMotd **list);
|
||||
CMD_FUNC(m_server_remote);
|
||||
extern char *xbase64enc(long i);
|
||||
extern void unload_all_modules(void);
|
||||
extern void flush_fdlist_connections(fdlist * listp);
|
||||
extern int set_blocking(int fd);
|
||||
extern void set_sock_opts(int fd, aClient *cptr);
|
||||
extern void iCstrip(char *line);
|
||||
extern time_t rfc2time(char *s);
|
||||
extern char *rfctime(time_t t, char *buf);
|
||||
#define EVENT_DRUGS BASE_VERSION
|
||||
|
||||
|
||||
@@ -33,7 +33,9 @@
|
||||
#ifdef __STDC__
|
||||
# ifndef _WIN32
|
||||
extern __u_l inet_addr(char *);
|
||||
extern char *inet_ntoa(struct IN_ADDR);
|
||||
extern char *inet_ntoa(struct in_addr);
|
||||
extern int inet_aton(const char *, struct in_addr *);
|
||||
extern int inet_netof(struct in_addr);
|
||||
# endif
|
||||
extern __u_l inet_makeaddr(int, int);
|
||||
extern __u_l inet_network(char *);
|
||||
|
||||
@@ -16,9 +16,6 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* 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.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
@@ -27,14 +24,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
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",
|
||||
|
||||
@@ -18,12 +18,16 @@
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef MODULES_H
|
||||
#define MODULES_H
|
||||
#define MOD_VERSION "3.2-b5-1"
|
||||
#define MOD_WE_SUPPORT "3.2-b5*"
|
||||
#define MAXHOOKTYPES 20
|
||||
|
||||
#if defined(_WIN32) && !defined(STATIC_LINKING)
|
||||
#define MAXCUSTOMHOOKS 30
|
||||
#define MAXHOOKTYPES 60
|
||||
typedef void (*vFP)(); /* Void function pointer */
|
||||
typedef int (*iFP)(); /* Integer function pointer */
|
||||
typedef char (*cFP)(); /* char * function pointer */
|
||||
#if defined(_WIN32)
|
||||
#define DLLFUNC _declspec(dllexport)
|
||||
#define irc_dlopen(x,y) LoadLibrary(x)
|
||||
#define irc_dlclose FreeLibrary
|
||||
@@ -37,20 +41,22 @@
|
||||
#else
|
||||
#define irc_dlopen dlopen
|
||||
#define irc_dlclose dlclose
|
||||
#if defined(UNDERSCORE)
|
||||
#define irc_dlsym(x,y,z) z = obsd_dlsym(x,y)
|
||||
#else
|
||||
#define irc_dlsym(x,y,z) z = dlsym(x,y)
|
||||
#endif
|
||||
#define irc_dlerror dlerror
|
||||
#define DLLFUNC
|
||||
#endif
|
||||
|
||||
typedef void (*vFP)(); /* Void function pointer */
|
||||
typedef int (*iFP)(); /* Integer function pointer */
|
||||
typedef char (*cFP)(); /* char * function pointer */
|
||||
#define EVENT(x) void (x) (void *data)
|
||||
|
||||
/*
|
||||
* For resolving symbols
|
||||
* Look further down for definition of the structure
|
||||
*/
|
||||
typedef struct _mod_symboltable Mod_SymbolDepTable;
|
||||
typedef struct _event Event;
|
||||
typedef struct _eventinfo EventInfo;
|
||||
typedef struct _irchook Hook;
|
||||
typedef struct _hooktype Hooktype;
|
||||
|
||||
/*
|
||||
* Module header that every module must include, with the name of
|
||||
@@ -76,6 +82,49 @@ typedef struct _ModuleChild
|
||||
Module *child; /* Aww. aint it cute? */
|
||||
} ModuleChild;
|
||||
|
||||
typedef struct {
|
||||
int size;
|
||||
int module_load;
|
||||
Module *handle;
|
||||
} ModuleInfo;
|
||||
|
||||
|
||||
#define MOBJ_EVENT 0x0001
|
||||
#define MOBJ_HOOK 0x0002
|
||||
#define MOBJ_COMMAND 0x0004
|
||||
#define MOBJ_HOOKTYPE 0x0008
|
||||
|
||||
typedef struct _command {
|
||||
struct _command *prev, *next;
|
||||
aCommand *cmd, *tok;
|
||||
} Command;
|
||||
|
||||
typedef struct _ModuleObject {
|
||||
struct _ModuleObject *prev, *next;
|
||||
short type;
|
||||
union {
|
||||
Event *event;
|
||||
Hook *hook;
|
||||
Command *command;
|
||||
Hooktype *hooktype;
|
||||
} object;
|
||||
} ModuleObject;
|
||||
|
||||
struct _irchook {
|
||||
Hook *prev, *next;
|
||||
short type;
|
||||
union {
|
||||
int (*intfunc)();
|
||||
void (*voidfunc)();
|
||||
} func;
|
||||
Module *owner;
|
||||
};
|
||||
|
||||
struct _hooktype {
|
||||
short id;
|
||||
char *string;
|
||||
ModuleChild *parents;
|
||||
};
|
||||
/*
|
||||
* What we use to keep track internally of the modules
|
||||
*/
|
||||
@@ -93,9 +142,8 @@ struct _Module
|
||||
#endif
|
||||
unsigned char flags; /* 8-bits for flags .. */
|
||||
ModuleChild *children;
|
||||
ModuleObject *objects;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Symbol table
|
||||
*/
|
||||
@@ -118,9 +166,47 @@ struct _mod_symboltable
|
||||
#else
|
||||
#define MOD_Dep(name, container,module) {(void *)&name, (vFP *) &container}
|
||||
#endif
|
||||
/* Event structs */
|
||||
struct _event {
|
||||
Event *prev, *next;
|
||||
char *name;
|
||||
time_t every;
|
||||
long howmany;
|
||||
vFP event;
|
||||
void *data;
|
||||
time_t last;
|
||||
Module *owner;
|
||||
};
|
||||
|
||||
#define EMOD_EVERY 0x0001
|
||||
#define EMOD_HOWMANY 0x0002
|
||||
#define EMOD_NAME 0x0004
|
||||
#define EMOD_EVENT 0x0008
|
||||
#define EMOD_DATA 0x0010
|
||||
|
||||
struct _eventinfo {
|
||||
int flags;
|
||||
long howmany;
|
||||
time_t every;
|
||||
char *name;
|
||||
vFP event;
|
||||
void *data;
|
||||
};
|
||||
|
||||
|
||||
#define EventAdd(name, every, howmany, event, data) EventAddEx(NULL, name, every, howmany, event, data)
|
||||
Event *EventAddEx(Module *, char *name, long every, long howmany,
|
||||
vFP event, void *data);
|
||||
Event *EventDel(Event *event);
|
||||
Event *EventFind(char *name);
|
||||
int EventMod(Event *event, EventInfo *mods);
|
||||
void DoEvents(void);
|
||||
void EventStatus(aClient *sptr);
|
||||
void SetupEvents(void);
|
||||
void LockEventSystem(void);
|
||||
void UnlockEventSystem(void);
|
||||
extern Hook *Hooks[MAXHOOKTYPES];
|
||||
extern Hooktype Hooktypes[MAXCUSTOMHOOKS];
|
||||
extern Hook *global_i;
|
||||
|
||||
void Module_Init(void);
|
||||
@@ -130,28 +216,37 @@ vFP Module_Sym(char *name);
|
||||
vFP Module_SymX(char *name, Module **mptr);
|
||||
int Module_free(Module *mod);
|
||||
|
||||
#define add_Hook(hooktype, func) HookAddEx(hooktype, func, NULL)
|
||||
#define del_Hook(hooktype, func) HookDelEx(hooktype, func, NULL)
|
||||
#define HookAdd(hooktype, func) HookAddEx(hooktype, func, NULL)
|
||||
#define HookDel(hooktype, func) HookDelEx(hooktype, func, NULL)
|
||||
#ifdef __OpenBSD__
|
||||
void *obsd_dlsym(void *handle, char *symbol);
|
||||
#endif
|
||||
|
||||
#define add_HookX(hooktype, func1, func2) HookAddEx(hooktype, func1, func2)
|
||||
#define del_HookX(hooktype, func1, func2) HookDelEx(hooktype, func1, func2)
|
||||
#define add_Hook(hooktype, func) HookAddMain(NULL, hooktype, func, NULL)
|
||||
#define HookAdd(hooktype, func) HookAddMain(NULL, hooktype, func, NULL)
|
||||
#define HookAddEx(module, hooktype, func) HookAddMain(module, hooktype, func, NULL)
|
||||
#define HookAddVoid(hooktype, func) HookAddMain(NULL, hooktype, NULL, func)
|
||||
#define HookAddVoidEx(module, hooktype, func) HookAddMain(module, hooktype, NULL, func)
|
||||
#define add_HookX(hooktype, func1, func2) HookAddMain(NULL, hooktype, func1, func2)
|
||||
|
||||
void HookAddEx(int hooktype, int (*intfunc)(), void (*voidfunc)());
|
||||
void HookDelEx(int hooktype, int (*intfunc)(), void (*voidfunc)());
|
||||
Hook *HookAddMain(Module *module, int hooktype, int (*intfunc)(), void (*voidfunc)());
|
||||
Hook *HookDel(Hook *hook);
|
||||
|
||||
Hooktype *HooktypeAdd(Module *module, char *string, int *type);
|
||||
void HooktypeDel(Hooktype *hooktype, Module *module);
|
||||
|
||||
#define RunHook0(hooktype) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next)(*(global_i->func.intfunc))()
|
||||
#define RunHook(hooktype,x) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) (*(global_i->func.intfunc))(x)
|
||||
#define RunHookReturn(hooktype,x,ret) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) if((*(global_i->func.intfunc))(x) ret) return
|
||||
#define RunHookReturn(hooktype,x,ret) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) if((*(global_i->func.intfunc))(x) ret) return -1
|
||||
#define RunHookReturnVoid(hooktype,x,ret) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) if((*(global_i->func.intfunc))(x) ret) return
|
||||
#define RunHook2(hooktype,x,y) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) (*(global_i->func.intfunc))(x,y)
|
||||
|
||||
|
||||
Command *CommandAdd(Module *module, char *cmd, char *tok, int (*func)(), unsigned char params, int flags);
|
||||
void CommandDel(Command *command);
|
||||
|
||||
/* Hook types */
|
||||
#define HOOKTYPE_LOCAL_QUIT 1
|
||||
#define HOOKTYPE_LOCAL_NICKCHANGE 2
|
||||
#define HOOKTYPE_LOCAL_CONNECT 3
|
||||
#define HOOKTYPE_SCAN_HOST 4 /* Taken care of in scan.c */
|
||||
#define HOOKTYPE_SCAN_INFO 5 /* Taken care of in scan.c */
|
||||
#define HOOKTYPE_CONFIG_UNKNOWN 6
|
||||
#define HOOKTYPE_REHASH 7
|
||||
@@ -160,7 +255,8 @@ void HookDelEx(int hooktype, int (*intfunc)(), void (*voidfunc)());
|
||||
#define HOOKTYPE_GUEST 10
|
||||
#define HOOKTYPE_SERVER_CONNECT 11
|
||||
#define HOOKTYPE_SERVER_QUIT 12
|
||||
|
||||
#define HOOKTYPE_STATS 13
|
||||
#define HOOKTYPE_LOCAL_JOIN 14
|
||||
/* Module flags */
|
||||
#define MODFLAG_NONE 0x0000
|
||||
#define MODFLAG_LOADED 0x0001 /* (mod_load has been called and suceeded) */
|
||||
@@ -169,4 +265,4 @@ void HookDelEx(int hooktype, int (*intfunc)(), void (*voidfunc)());
|
||||
#define MOD_SUCCESS 0
|
||||
#define MOD_FAILED -1
|
||||
#define MOD_DELAY 2
|
||||
|
||||
#endif
|
||||
|
||||
@@ -38,4 +38,8 @@ typedef struct _Scan_AddrStruct
|
||||
|
||||
|
||||
extern EVENT(e_scannings_clean);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -61,4 +61,10 @@ char *GetHeader(HTTPd_Request *request, char *name);
|
||||
void httpd_standard_header(HTTPd_Request *request, char *type);
|
||||
void httpd_badrequest(HTTPd_Request *request, char *reason);
|
||||
void sockprintf(HTTPd_Request *r, char *format, ...);
|
||||
void httpd_sendfile(HTTPd_Request *r, char *filename);
|
||||
void httpd_sendfile(HTTPd_Request *r, char *filename);
|
||||
extern int parse_urlenc(HTTPd_Request *request);
|
||||
extern void httpd_304_header(HTTPd_Request *request);
|
||||
extern void httpd_500_header(HTTPd_Request *request, char *why);
|
||||
extern void httpd_standard_headerX(HTTPd_Request *request, char *type, int extra);
|
||||
|
||||
|
||||
|
||||
@@ -241,11 +241,11 @@
|
||||
#define MSG_TSCTL "TSCTL"
|
||||
#define TOK_TSCTL "AW"
|
||||
#define MSG_SVSJOIN "SVSJOIN"
|
||||
#define TOK_SVSJOIN "AX"
|
||||
#define TOK_SVSJOIN "BR"
|
||||
#define MSG_SAJOIN "SAJOIN"
|
||||
#define TOK_SAJOIN "AY"
|
||||
#define TOK_SAJOIN "AX"
|
||||
#define MSG_SVSPART "SVSPART"
|
||||
#define TOK_SVSPART "AX"
|
||||
#define TOK_SVSPART "BT"
|
||||
#define MSG_SAPART "SAPART"
|
||||
#define TOK_SAPART "AY"
|
||||
#define MSG_CHGIDENT "CHGIDENT"
|
||||
@@ -292,44 +292,39 @@
|
||||
|
||||
#define MSG_MODULE "MODULE"
|
||||
#define TOK_MODULE "BQ"
|
||||
/* BR and BT are in use */
|
||||
|
||||
#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();
|
||||
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_protoctl();
|
||||
extern int m_motd(), m_whois(), m_user(), m_list();
|
||||
extern int m_topic(), m_join(), m_part(), m_mode();
|
||||
extern int m_wallops(), m_kick();
|
||||
extern int m_nick(), m_error(), m_samode();
|
||||
extern int m_invite(), m_svskill(), m_identify();
|
||||
extern int m_chatops(), m_dns();
|
||||
extern int m_gnotice(), m_goper(), m_globops(), m_locops();
|
||||
extern int m_protoctl(), m_tkl();
|
||||
extern int m_motd(), 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_services(), m_identify();
|
||||
extern int m_squit(), m_away(), m_connect();
|
||||
extern int m_oper(), m_pass(), m_trace();
|
||||
extern int m_squit(), m_connect();
|
||||
extern int m_pass(), m_trace();
|
||||
extern int m_time(), m_names(), m_admin();
|
||||
extern int m_lusers(), m_umode(), m_close();
|
||||
extern int m_motd(), m_whowas(), m_silence();
|
||||
extern int m_service(), m_userhost(), m_ison(), m_watch();
|
||||
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_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_opermotd(), m_tsctl();
|
||||
extern int m_remgline(), m_map(), m_dalinfo();
|
||||
extern int m_addline(), m_rules();
|
||||
extern int m_knock(),m_credits();
|
||||
extern int m_license();
|
||||
extern int m_netinfo(), m_addmotd(), m_addomotd();
|
||||
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_svsfline();
|
||||
extern int m_vhost(), m_botmotd(), m_sjoin();
|
||||
extern int m_umode2(), m_dccdeny(), m_undccdeny();
|
||||
extern int m_chgname(), m_shun(), m_post(), m_cycle();
|
||||
extern int m_module(), m_alias();
|
||||
extern int m_post(), m_cycle(), m_opermotd();
|
||||
extern int m_module(), m_alias(), m_tkl(), m_opermotd();
|
||||
extern int m_hash(), m_rehash(), m_die(), m_restart();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -56,7 +56,6 @@ char *my_itoa(int i);
|
||||
/* s_kline.c */
|
||||
int find_tkline_match(aClient *cptr, int xx);
|
||||
extern EVENT(tkl_check_expire);
|
||||
int tkl_sweep(void);
|
||||
|
||||
/* s_serv.c */
|
||||
void load_tunefile(void);
|
||||
|
||||
@@ -66,7 +66,18 @@ typedef struct cachetable {
|
||||
#define ARES_CACSIZE 101
|
||||
|
||||
#define MAXCACHED 81
|
||||
|
||||
#ifdef _WIN32
|
||||
typedef unsigned short u_int16_t;
|
||||
#endif
|
||||
extern struct __res_state ircd_res;
|
||||
extern int ircd_res_init();
|
||||
extern u_int ircd_res_randomid();
|
||||
extern u_int16_t ircd_getshort(const u_char *msgp);
|
||||
extern u_int32_t ircd_getlong(const u_char *msgp);
|
||||
extern void ircd__putshort(register u_int16_t s, register u_char *msgp);
|
||||
extern void ircd__putlong(register u_int32_t l,register u_char *msgp);
|
||||
extern int ircd_dn_expand(const u_char *msg, const u_char *eom, const u_char *src, char *dst, int dstsiz);
|
||||
extern int __ircd_dn_skipname(const u_char *ptr, const u_char *eom);
|
||||
extern int ircd_dn_comp(const char *src, u_char *dst, int dstsiz, u_char **dnptrs, u_char **lastdnptr);
|
||||
extern int ircd_res_mkquery(int op, const char *dname, int class, int type, const u_char *data,
|
||||
int datalen, const u_char *newrr_in, u_char *buf, int buflen);
|
||||
|
||||
@@ -111,6 +111,12 @@
|
||||
/* Define if you need bzero */
|
||||
#undef NEED_BZERO
|
||||
|
||||
/* Define if you have syslog */
|
||||
#undef HAVE_SYSLOG
|
||||
|
||||
/* Define if you have vsyslog */
|
||||
#undef HAVE_VSYSLOG
|
||||
|
||||
/* Define if you want to allow SSL connections */
|
||||
#undef USE_SSL
|
||||
|
||||
@@ -228,4 +234,14 @@
|
||||
/* Define if you want IPv6 enabled */
|
||||
#undef INET6
|
||||
|
||||
/* Define if your system prepends an underscore to symbols */
|
||||
#undef UNDERSCORE
|
||||
|
||||
/* Define if you have gethostbyname_r with 3 parameters */
|
||||
#undef HAVE_GETHOSTBYNAME_R_3
|
||||
|
||||
/* Define if you have gethostbyname_r with 5 parameters */
|
||||
#undef HAVE_GETHOSTBYNAME_R_5
|
||||
|
||||
/* Define if you have gethostbyname_r with 6 parameters */
|
||||
#undef HAVE_GETHOSTBYNAME_R_6
|
||||
|
||||
@@ -7,4 +7,4 @@ 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.*/
|
||||
extern int ssl_client_handshake(aClient *, ConfigItem_link *); /* and the initiated con.*/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/************************************************************************
|
||||
/************************************************************************
|
||||
* Unreal Internet Relay Chat Daemon, include/struct.h
|
||||
* Copyright (C) 1990 Jarkko Oikarinen and
|
||||
* University of Oulu, Computing Center
|
||||
@@ -40,7 +40,7 @@
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
|
||||
#ifdef USE_SYSLOG
|
||||
#ifdef HAVE_SYSLOG
|
||||
# include <syslog.h>
|
||||
# ifdef SYSSYSLOGH
|
||||
# include <sys/syslog.h>
|
||||
@@ -80,8 +80,10 @@ typedef struct _configitem_ulines ConfigItem_ulines;
|
||||
typedef struct _configitem_tld ConfigItem_tld;
|
||||
typedef struct _configitem_listen ConfigItem_listen;
|
||||
typedef struct _configitem_allow ConfigItem_allow;
|
||||
typedef struct _configflag_allow ConfigFlag_allow;
|
||||
typedef struct _configitem_allow_channel ConfigItem_allow_channel;
|
||||
typedef struct _configitem_vhost ConfigItem_vhost;
|
||||
typedef struct _configitem_ssl ConfigItem_ssl;
|
||||
typedef struct _configitem_except ConfigItem_except;
|
||||
typedef struct _configitem_link ConfigItem_link;
|
||||
typedef struct _configitem_ban ConfigItem_ban;
|
||||
@@ -96,6 +98,7 @@ typedef struct _configitem_unknown_ext ConfigItem_unknown_ext;
|
||||
typedef struct _configitem_alias ConfigItem_alias;
|
||||
typedef struct _configitem_alias_format ConfigItem_alias_format;
|
||||
typedef struct _configitem_include ConfigItem_include;
|
||||
typedef struct _configitem_help ConfigItem_help;
|
||||
typedef struct liststruct ListStruct;
|
||||
|
||||
typedef struct Watch aWatch;
|
||||
@@ -114,7 +117,6 @@ typedef struct Command aCommand;
|
||||
typedef struct SMember Member;
|
||||
typedef struct SMembership Membership;
|
||||
typedef struct SMembershipL MembershipL;
|
||||
typedef struct _irchook Hook;
|
||||
|
||||
#ifdef NEED_U_INT32_T
|
||||
typedef unsigned int u_int32_t; /* XXX Hope this works! */
|
||||
@@ -283,9 +285,12 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
|
||||
#define SNO_TKL 0x0080
|
||||
#define SNO_NICKCHANGE 0x0100
|
||||
#define SNO_QLINE 0x0200
|
||||
#define SNO_SNOTICE 0x0400
|
||||
|
||||
#define SNO_DEFOPER "+kcfvGq"
|
||||
#define SNO_DEFUSER "+k"
|
||||
#define SNO_DEFOPER "+kscfvGq"
|
||||
#define SNO_DEFUSER "+ks"
|
||||
|
||||
#define SNO_NONOPERS (SNO_KILLS | SNO_SNOTICE)
|
||||
|
||||
#define SEND_UMODES (UMODE_INVISIBLE|UMODE_OPER|UMODE_WALLOP|UMODE_FAILOP|UMODE_HELPOP|UMODE_RGSTRONLY|UMODE_REGNICK|UMODE_SADMIN|UMODE_NETADMIN|UMODE_COADMIN|UMODE_ADMIN|UMODE_SERVICES|UMODE_HIDE|UMODE_WHOIS|UMODE_KIX|UMODE_BOT|UMODE_SECURE|UMODE_HIDING|UMODE_DEAF|UMODE_VICTIM|UMODE_HIDEOPER|UMODE_SETHOST|UMODE_STRIPBADWORDS|UMODE_WEBTV)
|
||||
#define ALL_UMODES (SEND_UMODES|UMODE_SERVNOTICE|UMODE_LOCOP|UMODE_SERVICES)
|
||||
@@ -339,9 +344,9 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
|
||||
#define IsPerson(x) ((x)->user && IsClient(x))
|
||||
#define IsPrivileged(x) (IsAnOper(x) || IsServer(x))
|
||||
#define SendWallops(x) (!IsMe(x) && ((x)->umodes & UMODE_WALLOP))
|
||||
#define SendServNotice(x) ((x)->umodes & UMODE_SERVNOTICE)
|
||||
#define SendServNotice(x) (((x)->user) && ((x)->user->snomask & SNO_SNOTICE))
|
||||
#define IsListening(x) ((x)->flags & FLAGS_LISTEN)
|
||||
#define DoAccess(x) ((x)->flags & FLAGS_CHKACCESS)
|
||||
// #define DoAccess(x) ((x)->flags & FLAGS_CHKACCESS)
|
||||
#define IsLocal(x) ((x)->flags & FLAGS_LOCAL)
|
||||
#define IsDead(x) ((x)->flags & FLAGS_DEADSOCKET)
|
||||
#define GotProtoctl(x) ((x)->flags & FLAGS_PROTOCTL)
|
||||
@@ -386,7 +391,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
|
||||
#define SetWallops(x) ((x)->umodes |= UMODE_WALLOP)
|
||||
#define SetDNS(x) ((x)->flags |= FLAGS_DOINGDNS)
|
||||
#define DoingDNS(x) ((x)->flags & FLAGS_DOINGDNS)
|
||||
#define SetAccess(x) ((x)->flags |= FLAGS_CHKACCESS)
|
||||
#define SetAccess(x) ((x)->flags |= FLAGS_CHKACCESS); Debug((DEBUG_DEBUG, "SetAccess(%s)", (x)->name))
|
||||
#define SetBlocked(x) ((x)->flags |= FLAGS_BLOCKED)
|
||||
#define DoingAuth(x) ((x)->flags & FLAGS_AUTH)
|
||||
#define NoNewLine(x) ((x)->flags & FLAGS_NONL)
|
||||
@@ -470,7 +475,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
|
||||
#define OFLAG_GNOTICE 0x00008000 /* Oper can send global notices */
|
||||
#define OFLAG_ADMIN 0x00010000 /* Admin */
|
||||
#define OFLAG_ZLINE 0x00080000 /* Oper can use /zline and /unzline */
|
||||
#define OFLAG_NETADMIN 0x00200000 /* netadmin gets +N */
|
||||
#define OFLAG_NETADMIN 0x00200000 /* netadmin gets +N */
|
||||
#define OFLAG_COADMIN 0x00800000 /* co admin gets +C */
|
||||
#define OFLAG_SADMIN 0x01000000 /* services admin gets +a */
|
||||
#define OFLAG_WHOIS 0x02000000 /* gets auto +W on oper up */
|
||||
@@ -482,74 +487,76 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
|
||||
#define OFLAG_LOCAL (OFLAG_REHASH|OFLAG_HELPOP|OFLAG_GLOBOP|OFLAG_WALLOP|OFLAG_LOCOP|OFLAG_LROUTE|OFLAG_LKILL|OFLAG_KLINE|OFLAG_UNKLINE|OFLAG_LNOTICE)
|
||||
#define OFLAG_GLOBAL (OFLAG_LOCAL|OFLAG_GROUTE|OFLAG_GKILL|OFLAG_GNOTICE)
|
||||
#define OFLAG_ISGLOBAL (OFLAG_GROUTE|OFLAG_GKILL|OFLAG_GNOTICE)
|
||||
#define OFLAG_NADMIN (OFLAG_NETADMIN | OFLAG_SADMIN | OFLAG_ADMIN | OFLAG_GLOBAL)
|
||||
#define OFLAG_ADMIN_ (OFLAG_ADMIN | OFLAG_GLOBAL)
|
||||
#define OFLAG_SADMIN_ (OFLAG_SADMIN | OFLAG_GLOBAL)
|
||||
|
||||
#define OPCanTKL(x) ((x)->oflag & OFLAG_TKL)
|
||||
#define OPCanGZL(x) ((x)->oflag & OFLAG_GZL)
|
||||
#define OPCanZline(x) ((x)->oflag & OFLAG_ZLINE)
|
||||
#define OPCanRehash(x) ((x)->oflag & OFLAG_REHASH)
|
||||
#define OPCanDie(x) ((x)->oflag & OFLAG_DIE)
|
||||
#define OPCanRestart(x) ((x)->oflag & OFLAG_RESTART)
|
||||
#define OPCanHelpOp(x) ((x)->oflag & OFLAG_HELPOP)
|
||||
#define OPCanGlobOps(x) ((x)->oflag & OFLAG_GLOBOP)
|
||||
#define OPCanWallOps(x) ((x)->oflag & OFLAG_WALLOP)
|
||||
#define OPCanLocOps(x) ((x)->oflag & OFLAG_LOCOP)
|
||||
#define OPCanLRoute(x) ((x)->oflag & OFLAG_LROUTE)
|
||||
#define OPCanGRoute(x) ((x)->oflag & OFLAG_GROUTE)
|
||||
#define OPCanLKill(x) ((x)->oflag & OFLAG_LKILL)
|
||||
#define OPCanGKill(x) ((x)->oflag & OFLAG_GKILL)
|
||||
#define OPCanKline(x) ((x)->oflag & OFLAG_KLINE)
|
||||
#define OPCanUnKline(x) ((x)->oflag & OFLAG_UNKLINE)
|
||||
#define OPCanLNotice(x) ((x)->oflag & OFLAG_LNOTICE)
|
||||
#define OPCanGNotice(x) ((x)->oflag & OFLAG_GNOTICE)
|
||||
#define OPIsAdmin(x) ((x)->oflag & OFLAG_ADMIN)
|
||||
#define OPIsSAdmin(x) ((x)->oflag & OFLAG_SADMIN)
|
||||
#define OPIsNetAdmin(x) ((x)->oflag & OFLAG_NETADMIN)
|
||||
#define OPIsCoAdmin(x) ((x)->oflag & OFLAG_COADMIN)
|
||||
#define OPIsWhois(x) ((x)->oflag & OFLAG_WHOIS)
|
||||
|
||||
#define OPCanTKL(x) ((x)->user->oflag & OFLAG_TKL)
|
||||
#define OPCanGZL(x) ((x)->user->oflag & OFLAG_GZL)
|
||||
#define OPCanZline(x) ((x)->user->oflag & OFLAG_ZLINE)
|
||||
#define OPCanRehash(x) ((x)->user->oflag & OFLAG_REHASH)
|
||||
#define OPCanDie(x) ((x)->user->oflag & OFLAG_DIE)
|
||||
#define OPCanRestart(x) ((x)->user->oflag & OFLAG_RESTART)
|
||||
#define OPCanHelpOp(x) ((x)->user->oflag & OFLAG_HELPOP)
|
||||
#define OPCanGlobOps(x) ((x)->user->oflag & OFLAG_GLOBOP)
|
||||
#define OPCanWallOps(x) ((x)->user->oflag & OFLAG_WALLOP)
|
||||
#define OPCanLocOps(x) ((x)->user->oflag & OFLAG_LOCOP)
|
||||
#define OPCanLRoute(x) ((x)->user->oflag & OFLAG_LROUTE)
|
||||
#define OPCanGRoute(x) ((x)->user->oflag & OFLAG_GROUTE)
|
||||
#define OPCanLKill(x) ((x)->user->oflag & OFLAG_LKILL)
|
||||
#define OPCanGKill(x) ((x)->user->oflag & OFLAG_GKILL)
|
||||
#define OPCanKline(x) ((x)->user->oflag & OFLAG_KLINE)
|
||||
#define OPCanUnKline(x) ((x)->user->oflag & OFLAG_UNKLINE)
|
||||
#define OPCanLNotice(x) ((x)->user->oflag & OFLAG_LNOTICE)
|
||||
#define OPCanGNotice(x) ((x)->user->oflag & OFLAG_GNOTICE)
|
||||
#define OPIsAdmin(x) ((x)->user->oflag & OFLAG_ADMIN)
|
||||
#define OPIsSAdmin(x) ((x)->user->oflag & OFLAG_SADMIN)
|
||||
#define OPIsNetAdmin(x) ((x)->user->oflag & OFLAG_NETADMIN)
|
||||
#define OPIsCoAdmin(x) ((x)->user->oflag & OFLAG_COADMIN)
|
||||
#define OPIsWhois(x) ((x)->user->oflag & OFLAG_WHOIS)
|
||||
|
||||
#define OPSetRehash(x) ((x)->user->oflag |= OFLAG_REHASH)
|
||||
#define OPSetDie(x) ((x)->user->oflag |= OFLAG_DIE)
|
||||
#define OPSetRestart(x) ((x)->user->oflag |= OFLAG_RESTART)
|
||||
#define OPSetHelpOp(x) ((x)->user->oflag |= OFLAG_HELPOP)
|
||||
#define OPSetGlobOps(x) ((x)->user->oflag |= OFLAG_GLOBOP)
|
||||
#define OPSetWallOps(x) ((x)->user->oflag |= OFLAG_WALLOP)
|
||||
#define OPSetLocOps(x) ((x)->user->oflag |= OFLAG_LOCOP)
|
||||
#define OPSetLRoute(x) ((x)->user->oflag |= OFLAG_LROUTE)
|
||||
#define OPSetGRoute(x) ((x)->user->oflag |= OFLAG_GROUTE)
|
||||
#define OPSetLKill(x) ((x)->user->oflag |= OFLAG_LKILL)
|
||||
#define OPSetGKill(x) ((x)->user->oflag |= OFLAG_GKILL)
|
||||
#define OPSetKline(x) ((x)->user->oflag |= OFLAG_KLINE)
|
||||
#define OPSetUnKline(x) ((x)->user->oflag |= OFLAG_UNKLINE)
|
||||
#define OPSetLNotice(x) ((x)->user->oflag |= OFLAG_LNOTICE)
|
||||
#define OPSetGNotice(x) ((x)->user->oflag |= OFLAG_GNOTICE)
|
||||
#define OPSSetAdmin(x) ((x)->user->oflag |= OFLAG_ADMIN)
|
||||
#define OPSSetSAdmin(x) ((x)->user->oflag |= OFLAG_SADMIN)
|
||||
#define OPSSetNetAdmin(x) ((x)->user->oflag |= OFLAG_NETADMIN)
|
||||
#define OPSSetCoAdmin(x) ((x)->user->oflag |= OFLAG_COADMIN)
|
||||
#define OPSetZLine(x) ((x)->user->oflag |= OFLAG_ZLINE)
|
||||
#define OPSetWhois(x) ((x)->user->oflag |= OFLAG_WHOIS)
|
||||
#define OPClearRehash(x) ((x)->user->oflag &= ~OFLAG_REHASH)
|
||||
#define OPClearDie(x) ((x)->user->oflag &= ~OFLAG_DIE)
|
||||
#define OPClearRestart(x) ((x)->user->oflag &= ~OFLAG_RESTART)
|
||||
#define OPClearHelpOp(x) ((x)->user->oflag &= ~OFLAG_HELPOP)
|
||||
#define OPClearGlobOps(x) ((x)->user->oflag &= ~OFLAG_GLOBOP)
|
||||
#define OPClearWallOps(x) ((x)->user->oflag &= ~OFLAG_WALLOP)
|
||||
#define OPClearLocOps(x) ((x)->user->oflag &= ~OFLAG_LOCOP)
|
||||
#define OPClearLRoute(x) ((x)->user->oflag &= ~OFLAG_LROUTE)
|
||||
#define OPClearGRoute(x) ((x)->user->oflag &= ~OFLAG_GROUTE)
|
||||
#define OPClearLKill(x) ((x)->user->oflag &= ~OFLAG_LKILL)
|
||||
#define OPClearGKill(x) ((x)->user->oflag &= ~OFLAG_GKILL)
|
||||
#define OPClearKline(x) ((x)->user->oflag &= ~OFLAG_KLINE)
|
||||
#define OPClearUnKline(x) ((x)->user->oflag &= ~OFLAG_UNKLINE)
|
||||
#define OPClearLNotice(x) ((x)->user->oflag &= ~OFLAG_LNOTICE)
|
||||
#define OPClearGNotice(x) ((x)->user->oflag &= ~OFLAG_GNOTICE)
|
||||
#define OPClearAdmin(x) ((x)->user->oflag &= ~OFLAG_ADMIN)
|
||||
#define OPClearSAdmin(x) ((x)->user->oflag &= ~OFLAG_SADMIN)
|
||||
#define OPClearNetAdmin(x) ((x)->user->oflag &= ~OFLAG_NETADMIN)
|
||||
#define OPClearCoAdmin(x) ((x)->user->oflag &= ~OFLAG_COADMIN)
|
||||
#define OPClearZLine(x) ((x)->user->oflag &= ~OFLAG_ZLINE)
|
||||
#define OPClearWhois(x) ((x)->user->oflag &= ~OFLAG_WHOIS)
|
||||
#define OPSetRehash(x) ((x)->oflag |= OFLAG_REHASH)
|
||||
#define OPSetDie(x) ((x)->oflag |= OFLAG_DIE)
|
||||
#define OPSetRestart(x) ((x)->oflag |= OFLAG_RESTART)
|
||||
#define OPSetHelpOp(x) ((x)->oflag |= OFLAG_HELPOP)
|
||||
#define OPSetGlobOps(x) ((x)->oflag |= OFLAG_GLOBOP)
|
||||
#define OPSetWallOps(x) ((x)->oflag |= OFLAG_WALLOP)
|
||||
#define OPSetLocOps(x) ((x)->oflag |= OFLAG_LOCOP)
|
||||
#define OPSetLRoute(x) ((x)->oflag |= OFLAG_LROUTE)
|
||||
#define OPSetGRoute(x) ((x)->oflag |= OFLAG_GROUTE)
|
||||
#define OPSetLKill(x) ((x)->oflag |= OFLAG_LKILL)
|
||||
#define OPSetGKill(x) ((x)->oflag |= OFLAG_GKILL)
|
||||
#define OPSetKline(x) ((x)->oflag |= OFLAG_KLINE)
|
||||
#define OPSetUnKline(x) ((x)->oflag |= OFLAG_UNKLINE)
|
||||
#define OPSetLNotice(x) ((x)->oflag |= OFLAG_LNOTICE)
|
||||
#define OPSetGNotice(x) ((x)->oflag |= OFLAG_GNOTICE)
|
||||
#define OPSSetAdmin(x) ((x)->oflag |= OFLAG_ADMIN)
|
||||
#define OPSSetSAdmin(x) ((x)->oflag |= OFLAG_SADMIN)
|
||||
#define OPSSetNetAdmin(x) ((x)->oflag |= OFLAG_NETADMIN)
|
||||
#define OPSSetCoAdmin(x) ((x)->oflag |= OFLAG_COADMIN)
|
||||
#define OPSetZLine(x) ((x)->oflag |= OFLAG_ZLINE)
|
||||
#define OPSetWhois(x) ((x)->oflag |= OFLAG_WHOIS)
|
||||
#define OPClearRehash(x) ((x)->oflag &= ~OFLAG_REHASH)
|
||||
#define OPClearDie(x) ((x)->oflag &= ~OFLAG_DIE)
|
||||
#define OPClearRestart(x) ((x)->oflag &= ~OFLAG_RESTART)
|
||||
#define OPClearHelpOp(x) ((x)->oflag &= ~OFLAG_HELPOP)
|
||||
#define OPClearGlobOps(x) ((x)->oflag &= ~OFLAG_GLOBOP)
|
||||
#define OPClearWallOps(x) ((x)->oflag &= ~OFLAG_WALLOP)
|
||||
#define OPClearLocOps(x) ((x)->oflag &= ~OFLAG_LOCOP)
|
||||
#define OPClearLRoute(x) ((x)->oflag &= ~OFLAG_LROUTE)
|
||||
#define OPClearGRoute(x) ((x)->oflag &= ~OFLAG_GROUTE)
|
||||
#define OPClearLKill(x) ((x)->oflag &= ~OFLAG_LKILL)
|
||||
#define OPClearGKill(x) ((x)->oflag &= ~OFLAG_GKILL)
|
||||
#define OPClearKline(x) ((x)->oflag &= ~OFLAG_KLINE)
|
||||
#define OPClearUnKline(x) ((x)->oflag &= ~OFLAG_UNKLINE)
|
||||
#define OPClearLNotice(x) ((x)->oflag &= ~OFLAG_LNOTICE)
|
||||
#define OPClearGNotice(x) ((x)->oflag &= ~OFLAG_GNOTICE)
|
||||
#define OPClearAdmin(x) ((x)->oflag &= ~OFLAG_ADMIN)
|
||||
#define OPClearSAdmin(x) ((x)->oflag &= ~OFLAG_SADMIN)
|
||||
#define OPClearNetAdmin(x) ((x)->oflag &= ~OFLAG_NETADMIN)
|
||||
#define OPClearCoAdmin(x) ((x)->oflag &= ~OFLAG_COADMIN)
|
||||
#define OPClearZLine(x) ((x)->oflag &= ~OFLAG_ZLINE)
|
||||
#define OPClearWhois(x) ((x)->oflag &= ~OFLAG_WHOIS)
|
||||
/*
|
||||
* defined debugging levels
|
||||
*/
|
||||
@@ -583,8 +590,8 @@ struct MotdItem {
|
||||
|
||||
struct aloopStruct {
|
||||
unsigned do_garbage_collect : 1;
|
||||
unsigned do_tkl_sweep : 1;
|
||||
unsigned ircd_booted : 1;
|
||||
unsigned do_bancheck : 1;
|
||||
};
|
||||
|
||||
typedef struct Whowas {
|
||||
@@ -608,15 +615,11 @@ typedef struct Whowas {
|
||||
* Client structures
|
||||
*/
|
||||
struct User {
|
||||
struct User *nextu;
|
||||
Membership *channel; /* chain of channel pointer blocks */
|
||||
Link *invited; /* chain of invite pointer blocks */
|
||||
Link *silence; /* chain of silence pointer blocks */
|
||||
char *away; /* pointer to away message */
|
||||
TS last;
|
||||
TS nexttarget; /* Time until a change in targets is allowed */
|
||||
u_int32_t servicestamp; /* Services' time stamp variable */
|
||||
long oflag; /* Operator access flags -Cabal95 */
|
||||
signed char refcnt; /* Number of times this block is referenced */
|
||||
unsigned short joined; /* number of channels joined */
|
||||
char username[USERLEN + 1];
|
||||
@@ -624,7 +627,6 @@ struct User {
|
||||
char *virthost;
|
||||
char *server;
|
||||
char *swhois; /* special whois thing */
|
||||
aClient *serv;
|
||||
LOpts *lopt; /* Saved /list options */
|
||||
aWhowas *whowas;
|
||||
int snomask;
|
||||
@@ -655,20 +657,6 @@ struct Server {
|
||||
#define M_ALIAS 0x0020
|
||||
#define M_RESETIDLE 0x0040
|
||||
|
||||
struct Command {
|
||||
aCommand *prev, *next;
|
||||
char *cmd;
|
||||
int (*func) ();
|
||||
int flags;
|
||||
unsigned int count;
|
||||
unsigned parameters : 5;
|
||||
unsigned token : 1;
|
||||
unsigned long bytes;
|
||||
#ifdef DEBUGMODE
|
||||
unsigned long lticks;
|
||||
unsigned long rticks;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/* tkl:
|
||||
@@ -732,22 +720,17 @@ struct Client {
|
||||
struct Client *next, *prev, *hnext;
|
||||
anUser *user; /* ...defined, if this is a User */
|
||||
aServer *serv; /* ...defined, if this is a server */
|
||||
TS lasttime; /* ...should be only LOCAL clients? --msa */
|
||||
TS firsttime; /* time client was created */
|
||||
TS since; /* last time we parsed something */
|
||||
TS lastnick; /* TimeStamp on nick */
|
||||
TS nextnick; /* Time the next nick change will be allowed */
|
||||
u_char targets[MAXTARGETS]; /* Hash values of current targets */
|
||||
long flags; /* client flags */
|
||||
long umodes; /* client usermodes */
|
||||
aClient *from; /* == self, if Local Client, *NEVER* NULL! */
|
||||
int fd; /* >= 0, for local clients */
|
||||
unsigned char hopcount; /* number of servers to this 0 = local */
|
||||
short status; /* Client type */
|
||||
char name[HOSTLEN + 1]; /* Unique name of the client, nick or host */
|
||||
char username[USERLEN + 1]; /* username here now for auth stuff */
|
||||
char info[REALLEN + 1]; /* Free form additional client information */
|
||||
aClient *srvptr; /* Server introducing this. May be &me */
|
||||
short status; /* client type */
|
||||
/*
|
||||
** The following fields are allocated only for local clients
|
||||
** (directly connected to *this* server with a socket.
|
||||
@@ -756,6 +739,16 @@ struct Client {
|
||||
** these fields, if (from != self).
|
||||
*/
|
||||
int count; /* Amount of data in buffer */
|
||||
#if 1
|
||||
int oflag; /* oper access flags (removed from anUser for mem considerations) */
|
||||
TS since; /* time they will next be allowed to send something */
|
||||
TS firsttime; /* Time it was created */
|
||||
TS lasttime; /* last time any message was received */
|
||||
TS last; /* last time a RESETIDLE message was received */
|
||||
TS nexttarget; /* next time that a new target will be allowed (msg/notice/invite) */
|
||||
TS nextnick; /* Time the next nick change will be allowed */
|
||||
u_char targets[MAXTARGETS]; /* hash values of targets */
|
||||
#endif
|
||||
char buffer[BUFSIZE]; /* Incoming message buffer */
|
||||
short lastsq; /* # of 2k blocks when sendqueued called last */
|
||||
dbuf sendQ; /* Outgoing message queue--if socket full */
|
||||
@@ -835,7 +828,7 @@ struct _configflag
|
||||
struct _configflag_except
|
||||
{
|
||||
unsigned temporary : 1;
|
||||
unsigned type : 1;
|
||||
unsigned type : 2;
|
||||
};
|
||||
|
||||
struct _configflag_ban
|
||||
@@ -865,6 +858,9 @@ struct _configflag_tld
|
||||
#define CRULE_ALL 0
|
||||
#define CRULE_AUTO 1
|
||||
|
||||
#define CONF_EXCEPT_SCAN 0
|
||||
#define CONF_EXCEPT_BAN 1
|
||||
#define CONF_EXCEPT_TKL 2
|
||||
|
||||
|
||||
struct _configitem {
|
||||
@@ -890,6 +886,11 @@ struct _configitem_class {
|
||||
int pingfreq, connfreq, maxclients, sendq, clients;
|
||||
};
|
||||
|
||||
struct _configflag_allow {
|
||||
unsigned noident :1;
|
||||
unsigned useip :1;
|
||||
};
|
||||
|
||||
struct _configitem_allow {
|
||||
ConfigItem *prev, *next;
|
||||
ConfigFlag flag;
|
||||
@@ -898,6 +899,7 @@ struct _configitem_allow {
|
||||
short maxperip;
|
||||
int port;
|
||||
ConfigItem_class *class;
|
||||
ConfigFlag_allow flags;
|
||||
};
|
||||
|
||||
struct _configitem_oper {
|
||||
@@ -941,6 +943,14 @@ struct _configitem_listen {
|
||||
char *ip;
|
||||
int port;
|
||||
long options, clients;
|
||||
ConfigItem_ssl *ssl;
|
||||
};
|
||||
|
||||
struct _configitem_ssl {
|
||||
char *cert;
|
||||
char *key;
|
||||
char *ca;
|
||||
char *cipher;
|
||||
};
|
||||
|
||||
struct _configitem_vhost {
|
||||
@@ -962,11 +972,15 @@ struct _configitem_link {
|
||||
ConfigItem_class *class;
|
||||
struct IN_ADDR ipnum;
|
||||
time_t hold;
|
||||
#ifdef USE_SSL
|
||||
char *ciphers;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct _configitem_except {
|
||||
ConfigItem *prev, *next;
|
||||
ConfigFlag_except flag;
|
||||
int type;
|
||||
char *mask;
|
||||
};
|
||||
|
||||
@@ -1065,14 +1079,11 @@ struct _configitem_include {
|
||||
char *file;
|
||||
};
|
||||
|
||||
struct _irchook {
|
||||
Hook *prev, *next;
|
||||
struct _configitem_help {
|
||||
ConfigItem *prev, *next;
|
||||
ConfigFlag flag;
|
||||
union
|
||||
{
|
||||
int (*intfunc)();
|
||||
void (*voidfunc)();
|
||||
} func;
|
||||
char *command;
|
||||
aMotd *text;
|
||||
};
|
||||
|
||||
#define HM_HOST 1
|
||||
@@ -1111,10 +1122,15 @@ struct stats {
|
||||
unsigned int is_loc; /* local connections made */
|
||||
};
|
||||
|
||||
typedef struct _MemoryInfo {
|
||||
unsigned int classes;
|
||||
unsigned long classesmem;
|
||||
} MemoryInfo;
|
||||
|
||||
struct ListOptions {
|
||||
LOpts *next;
|
||||
Link *yeslist, *nolist;
|
||||
int starthash;
|
||||
unsigned int starthash;
|
||||
short int showall;
|
||||
unsigned short usermin;
|
||||
int usermax;
|
||||
@@ -1333,7 +1349,11 @@ struct liststruct {
|
||||
#define MyClient(x) (MyConnect(x) && IsClient(x))
|
||||
#define MyOper(x) (MyConnect(x) && IsOper(x))
|
||||
|
||||
#define TStime() (timeofday == 0 ? (timeofday = time(NULL) + TSoffset) : timeofday)
|
||||
#ifdef CLEAN_COMPILE
|
||||
#define TStime() (time(NULL) + TSoffset)
|
||||
#else
|
||||
#define TStime() (0, timeofday == 0 ? (timeofday = time(NULL) + TSoffset) : timeofday)
|
||||
#endif
|
||||
|
||||
/* Lifted somewhat from Undernet code --Rak */
|
||||
|
||||
@@ -1388,6 +1408,21 @@ extern char *gnulicense[];
|
||||
#define EVENT_HASHES EVENT_DRUGS
|
||||
#include "modules.h"
|
||||
#include "events.h"
|
||||
struct Command {
|
||||
aCommand *prev, *next;
|
||||
char *cmd;
|
||||
int (*func) ();
|
||||
int flags;
|
||||
unsigned int count;
|
||||
unsigned parameters : 5;
|
||||
unsigned token : 1;
|
||||
unsigned long bytes;
|
||||
Module *owner;
|
||||
#ifdef DEBUGMODE
|
||||
unsigned long lticks;
|
||||
unsigned long rticks;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif /* __struct_include__ */
|
||||
|
||||
|
||||
@@ -69,8 +69,8 @@
|
||||
#define index strchr
|
||||
#define rindex strrchr
|
||||
/*
|
||||
extern char *index PROTO((char *, char));
|
||||
extern char *rindex PROTO((char *, char));
|
||||
extern char *index(char *, char);
|
||||
extern char *rindex(char *, char);
|
||||
*/
|
||||
#endif
|
||||
#ifdef NOBCOPY
|
||||
|
||||
@@ -33,10 +33,9 @@
|
||||
#endif
|
||||
#if !defined(_WIN32) || defined(USE_PTHREADS)
|
||||
#include <pthread.h>
|
||||
typedef pthread_attr_t THREAD_ATTR;
|
||||
typedef pthread_t THREAD;
|
||||
typedef pthread_mutex_t MUTEX;
|
||||
#define IRCCreateThread(thread, attr, start, arg) TDebug(CreateThread); pthread_attr_init(&attr); pthread_create(&thread, &attr, (void*)start, arg)
|
||||
#define IRCCreateThread(thread, start, arg) TDebug(CreateThread); pthread_create(&thread, NULL, (void*)start, arg)
|
||||
#define IRCMutexLock(mutex) TDebug(MutexLock); pthread_mutex_lock(&mutex)
|
||||
#define IRCMutexTryLock(mutex) TDebug(MutexTryLock); pthread_mutex_trylock(&mutex);
|
||||
#define IRCMutexUnlock(mutex) TDebug(MutexUnlcok); pthread_mutex_unlock(&mutex)
|
||||
@@ -44,14 +43,14 @@ typedef pthread_mutex_t MUTEX;
|
||||
#define IRCMutexDestroy(mutex) TDebug(MutexDestroy); pthread_mutex_destroy(&mutex)
|
||||
#define IRCJoinThread(thread,return) TDebug(JoinThread); pthread_join(thread, return)
|
||||
#define IRCExitThread(value) TDebug(ExitThread); pthread_exit(value)
|
||||
#define IRCDetachThread(value) TDebug(DetachThread); pthread_detach(value);
|
||||
#define IRCTerminateThread(thread, value) pthread_cancel(&thread)
|
||||
#define IRCThreadSelf() pthread_self()
|
||||
#define IRCThreadEqual(thread1, thread2) pthread_equal(thread1,thread2)
|
||||
#else
|
||||
typedef short THREAD_ATTR; /* Not needed but makes porting easier */
|
||||
typedef unsigned long THREAD;
|
||||
typedef HANDLE MUTEX;
|
||||
#define IRCCreateThread(thread, attr, start, arg) thread = _beginthread((void *)start, 0, arg)
|
||||
#define IRCCreateThread(thread, start, arg) thread = _beginthread((void *)start, 0, arg)
|
||||
#define IRCMutexLock(mutex) WaitForSingleObject(mutex, INFINITE)
|
||||
#define IRCMutexTryLock(mutex) WaitForSingleObject(mutex, 0)
|
||||
#define IRCMutexUnlock(mutex) ReleaseMutex(mutex)
|
||||
@@ -62,6 +61,7 @@ typedef HANDLE MUTEX;
|
||||
#define IRCTerminateThread(thread, value) TerminateThread((HANDLE)thread, value)
|
||||
#define IRCThreadSelf() GetCurrentThread()
|
||||
#define IRCThreadEqual(thread1, thread2) thread1 == thread2 ? 1 : 0
|
||||
#define IRCDetachThread(value) ;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,16 +31,12 @@
|
||||
#define PATCH1 "3"
|
||||
#define PATCH2 ".2"
|
||||
#define PATCH3 "-Selene"
|
||||
#define PATCH4 "[beta4]"
|
||||
#define PATCH4 "[beta10]"
|
||||
#define PATCH5 ""
|
||||
#define PATCH6 ""
|
||||
#define PATCH7 ""
|
||||
#define PATCH8 COMPILEINFO
|
||||
#ifdef _WIN32
|
||||
#define PATCH9 "+win32"
|
||||
#else
|
||||
#define PATCH9 ""
|
||||
#endif
|
||||
/* release header */
|
||||
#define Rh BASE_VERSION
|
||||
#define VERSIONONLY PATCH1 PATCH2 PATCH3 PATCH4 PATCH5 PATCH6 PATCH7
|
||||
|
||||
@@ -530,7 +530,7 @@ ban nick { mask "Status"; reason "Bug in mIRC"; };
|
||||
*/
|
||||
include "badwords.channel.conf";
|
||||
include "badwords.message.conf";
|
||||
|
||||
include "help.conf";
|
||||
/*
|
||||
* Some modules;
|
||||
*/
|
||||
|
||||
@@ -44,7 +44,7 @@ MOD_FILES=SRC/L_COMMANDS.OBJ SRC/M_CHGHOST.OBJ SRC/M_SDESC.OBJ SRC/M_SETIDENT.OB
|
||||
SRC/M_PINGPONG.OBJ SRC/M_QUIT.OBJ SRC/M_RAKILL.OBJ SRC/M_RPING.OBJ SRC/M_SENDUMODE.OBJ \
|
||||
SRC/M_SQLINE.OBJ SRC/M_KILL.OBJ SRC/M_TSCTL.OBJ SRC/M_UNKLINE.OBJ \
|
||||
SRC/M_UNSQLINE.OBJ SRC/M_UNZLINE.OBJ SRC/M_WHOIS.OBJ SRC/M_ZLINE.OBJ \
|
||||
SRC/SCAN.OBJ SRC/SCAN_SOCKS.OBJ SRC/SCAN_HTTP.OBJ
|
||||
SRC/SCAN.OBJ SRC/SCAN_SOCKS.OBJ SRC/SCAN_HTTP.OBJ SRC/M_TKL.OBJ SRC/INVISIBILITY.OBJ
|
||||
|
||||
|
||||
ALL: CONF WIRCD.EXE
|
||||
@@ -245,6 +245,10 @@ src/m_svsmotd.obj: src/modules/m_svsmotd.c $(INCLUDES)
|
||||
src/m_svsmode.obj: src/modules/m_svsmode.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/modules/m_svsmode.c
|
||||
|
||||
src/m_tkl.obj: src/modules/m_tkl.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/modules/m_tkl.c
|
||||
|
||||
|
||||
src/m_swhois.obj: src/modules/m_swhois.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/modules/m_swhois.c
|
||||
|
||||
@@ -350,6 +354,9 @@ src/scan_socks.obj: src/modules/scan_socks.c $(INCLUDES)
|
||||
src/scan_http.obj: src/modules/scan_http.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/modules/scan_http.c
|
||||
|
||||
src/invisibility.obj: src/modules/invisibility.c $(INCLUDES)
|
||||
$(CC) $(CFLAGS) src/modules/invisibility.c
|
||||
|
||||
src/win32/win32.res: src/win32/win32gui.rc
|
||||
$(RC) /l 0x409 /fosrc/win32/win32.res /i ./include /i ./src \
|
||||
/d NDEBUG src/win32/win32gui.rc
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Action-IRC (Irc.Action-IRC.Net) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 20 February 2001 19:59
|
||||
* Author: bLaDe
|
||||
* Email: bLaDe@action-irc.net
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Action-IRC";
|
||||
default-server "Irc.Action-IRC.Net";
|
||||
services-server "Services.Action-IRC.Net";
|
||||
stats-server "Stats.Action-IRC.Net";
|
||||
help-channel "#Action-Desk";
|
||||
hiddenhost-prefix "Action-IRC";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "LocOp.Action-IRC.Net";
|
||||
global "Oper.Action-IRC.Net";
|
||||
coadmin "CoAdmin.Action-IRC.Net";
|
||||
admin "Admin.Action-IRC.Net";
|
||||
servicesadmin "CSOp.Action-IRC.Net";
|
||||
techadmin "TechAdmin.Action-IRC.Net";
|
||||
netadmin "NetAdmin.Action-IRC.Net";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* AwesomeChristians Chat Network (irc.awesomechristians.com) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 31 December 2001 15:25
|
||||
* Author: ChildLikeFaith
|
||||
* Email: childlikefaith@awesomechristians.com
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "AwesomeChristians Chat Network";
|
||||
default-server "irc.awesomechristians.com";
|
||||
services-server "services.awesomechristians.com";
|
||||
stats-server "services.awesomechristians.com";
|
||||
help-channel "#operhelp";
|
||||
hiddenhost-prefix "awesome";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "ircop.awesomechristians.net";
|
||||
global "ircop.awesomechristians.net";
|
||||
coadmin "co.admin.awesomechristians.net";
|
||||
admin "admin.awesomechristians.net";
|
||||
servicesadmin "services.admin.awesomechristians.net";
|
||||
netadmin "network.admin.awesomechristians.net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -17,7 +17,6 @@ set {
|
||||
coadmin "coadmin.axenet.org";
|
||||
admin "admin.axenet.org";
|
||||
servicesadmin "csop.axenet.org";
|
||||
techadmin "techadmin.axenet.org";
|
||||
netadmin "netadmin.axenet.org";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* BitchX (irc.BitchX.cl) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 11 June 2001 15:23
|
||||
* Author: skier
|
||||
* Email: admin@BitchX.cl
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "BitchX";
|
||||
default-server "irc.BitchX.cl";
|
||||
services-server "services.BitchX.cl";
|
||||
stats-server "stats.BitchX.cl";
|
||||
help-channel "#linux";
|
||||
hiddenhost-prefix "bx.owns.you-";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "locop.BitchX.cl";
|
||||
global "Oper.BitchX.cl";
|
||||
coadmin "coadmin.BitchX.cl";
|
||||
admin "Admin.BitchX.cl";
|
||||
servicesadmin "cops.BitchX.cl";
|
||||
techadmin "techadmin.BitchX.cl";
|
||||
netadmin "NETWORK-ADMINISTARTOR.BitchX.cl";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Blind-Irc (irc.Blind-Irc.com) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 04 February 2001 19:23
|
||||
* Author: Blind_lemon
|
||||
* Email: Blind_Lemon@blind-irc.com
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Blind-Irc";
|
||||
default-server "irc.Blind-Irc.com";
|
||||
services-server "Services.Blind-Irc.com";
|
||||
stats-server "Blind-Irc.Stats.com";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "~~NO_PEEKING~~";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "Blind-Irc.Locop.com";
|
||||
global "Blind-Irc.Oper.com";
|
||||
coadmin "Blind-Irc.Co.Admin.com";
|
||||
admin "Blind-Irc.Admin.com";
|
||||
servicesadmin "Blind-Irc.Csop.com";
|
||||
techadmin "Blind-Irc.Tech.com";
|
||||
netadmin "Blind-Irc.NetAdmin.com";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -22,7 +22,6 @@ set {
|
||||
coadmin "coadmin.bunker7.net";
|
||||
admin "admin.bunker7.net";
|
||||
servicesadmin "sadm.bunker7.net";
|
||||
techadmin "techadmin.bunker7.net";
|
||||
netadmin "netadmin.bunker7.net";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
|
||||
@@ -21,7 +21,6 @@ set {
|
||||
coadmin "coadmin.burncycl.net";
|
||||
admin "admin.burncycl.net";
|
||||
servicesadmin "csop.burncycl.net";
|
||||
techadmin "techadmin.burncycl.net";
|
||||
netadmin "netadmin.burncycl.net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -21,7 +21,6 @@ set {
|
||||
coadmin "coadmin.cabonet.org";
|
||||
admin "admin.cabonet.org";
|
||||
servicesadmin "csop.cabonet.org";
|
||||
techadmin "techadmin.cabonet.org";
|
||||
netadmin "netadmin.cabonet.org";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
set {
|
||||
network-name "CC2";
|
||||
default-server "irc.cc2.org";
|
||||
services-server "services.cc2.org";
|
||||
stats-server "stats.ircnet.org";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "user";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "locop.cc2.org";
|
||||
global "ircop.cc2.org";
|
||||
coadmin "coadmin.cc2.org";
|
||||
admin "admin.cc2.org";
|
||||
servicesadmin "services.cc2.org";
|
||||
techadmin "technician.cc2.org";
|
||||
netadmin "netadmin.cc2.org";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -19,7 +19,6 @@ set {
|
||||
coadmin "coadmin.chatcrap.com";
|
||||
admin "admin.chatcrap.com";
|
||||
servicesadmin "serviceop.chatcrap.com";
|
||||
techadmin "techadmin.chatcrap.com";
|
||||
netadmin "netadmin.chatcrap.com";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -21,7 +21,6 @@ set {
|
||||
coadmin "coadmin.chatuniverse.net";
|
||||
admin "admin.chatuniverse.net";
|
||||
servicesadmin "csop.chatuniverse.net";
|
||||
techadmin "techadmin.chatuniverse.net";
|
||||
netadmin "netadmin.chatuniverse.net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* CTCP Networks (irc.ctcp.net) Network Configuration File
|
||||
*
|
||||
* Added-at: 12 February 2002 19:54
|
||||
* Author: Mark
|
||||
* Email: mark@ctcp.net
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "CTCP Networks";
|
||||
default-server "irc.ctcp.net";
|
||||
services-server "services.ctcp.net";
|
||||
stats-server "stats.ctcp.net";
|
||||
help-channel "#opers";
|
||||
hiddenhost-prefix "ctcp";
|
||||
hosts {
|
||||
local "locop.ctcp.net";
|
||||
global "oper.ctcp.net";
|
||||
coadmin "coadmin.ctcp.net";
|
||||
admin "admin.ctcp.net";
|
||||
servicesadmin "csop.ctcp.net";
|
||||
netadmin "netadmin.ctcp.net";
|
||||
host-on-oper-up yes;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* CynicNet (irc.cynicnet.org) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 29 March 2001 01:02
|
||||
* Author: MaTRiX
|
||||
* Email: admin@cynicnet.org
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "CynicNet";
|
||||
default-server "irc.cynicnet.org";
|
||||
services-server "services.cynicnet.org";
|
||||
stats-server "stats.cynicnet.org";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "CynicNet";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "Locop.CynicNet.org";
|
||||
global "Oper.CynicNet.org";
|
||||
coadmin "Coadmin.CynicNet.org";
|
||||
admin "Admin.CynicNet.org";
|
||||
servicesadmin "CSOP.CynicNet.org";
|
||||
techadmin "Techadmin.CynicNet.org";
|
||||
netadmin "Netadmin.CynicNet.org";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -1,26 +0,0 @@
|
||||
/*
|
||||
* Dark Core Networks (irc.dark-core.net) Network Configuration File
|
||||
*
|
||||
* Added-at: 15 July 2001 03:28
|
||||
* Author: evilbunny
|
||||
* Email: evilbunny@dark-core.net
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Dark Core Networks";
|
||||
default-server "irc.dark-core.net";
|
||||
services-server "services.dark-core.net";
|
||||
stats-server "stats.dark-core.net";
|
||||
help-channel "#darkcore";
|
||||
hiddenhost-prefix "DCN";
|
||||
hosts {
|
||||
local "locop.dark-core.net";
|
||||
global "oper.dark-core.net";
|
||||
coadmin "coadmin.dark-core.net";
|
||||
admin "admin.dark-core.net";
|
||||
servicesadmin "csop.dark-core.net";
|
||||
techadmin "techadmin.dark-core.net";
|
||||
netadmin "netadmin.dark-core.net";
|
||||
host-on-oper yes;
|
||||
};
|
||||
};
|
||||
@@ -1,19 +0,0 @@
|
||||
set {
|
||||
network-name "Darkfyre";
|
||||
default-server "irc.darkfyre.net";
|
||||
services-server "Services.Darkfyre.Net";
|
||||
stats-server "Stats.Darkfyre.Net";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "darkfyre";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "LocalOp.Darkfyre.Net";
|
||||
global "IRCop.Darkfyre.Net";
|
||||
coadmin "CoAdmin.Darkfyre.Net";
|
||||
admin "Admin.Darkfyre.Net";
|
||||
servicesadmin "CSop.Darkfyre.Net";
|
||||
techadmin "TechAdmin.Darkfyre.Net";
|
||||
netadmin "NetAdmin.Darkfyre.Net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Dark Kaos Network (irc.darkkaos.net) Network Configuration File
|
||||
*
|
||||
* Added-at: 04 February 2002 03:15
|
||||
* Author: ka0t1c_m4n
|
||||
* Email: drk_kaos@yahoo.com
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Dark Kaos Network";
|
||||
default-server "irc.darkkaos.net";
|
||||
services-server "services.darkkaos.net";
|
||||
stats-server "stats.darkkaos.net";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "hide";
|
||||
hosts {
|
||||
local "localop.darkkaos.net";
|
||||
global "would.u.like.to.be.me.com";
|
||||
coadmin "ircop.darkkaos.net";
|
||||
admin "i.hate.terr.oists.net";
|
||||
servicesadmin "Csop.darkkaos.net";
|
||||
netadmin "netadmin.darkkaos.net";
|
||||
host-on-oper-up yes;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Darkwar (irc.darkwar.net) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 22 October 2000 19:40
|
||||
* Author: stryker
|
||||
* Email: stryker@darkwar.net
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Darkwar";
|
||||
default-server "irc.darkwar.net";
|
||||
services-server "services.darkwar.net";
|
||||
stats-server "stats.darkwar.net";
|
||||
help-channel "#darkwar";
|
||||
hiddenhost-prefix "hide";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "locop.darkwar.net";
|
||||
global "oper.darkwar.net";
|
||||
coadmin "coadmin.darkwar.net";
|
||||
admin "admin.darkwar.net";
|
||||
servicesadmin "csop.darkwar.net";
|
||||
techadmin "techadmin.darkwar.net";
|
||||
netadmin "netadmin.darkwar.net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -12,7 +12,6 @@ set {
|
||||
coadmin "NetAdmin.DigitalIRC.Net";
|
||||
admin "Admin.DigitalIRC.Net";
|
||||
servicesadmin "ServicesOp.DigitalIRC.Net";
|
||||
techadmin "Tech.DigitalIRC.Net";
|
||||
netadmin "NetAdmin.DigitalIRC.Net";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Discussioni.Org (IRC.Discussioni.Org) Network Configuration File
|
||||
*
|
||||
* Added-at: 17 January 2002 22:39
|
||||
* Author: Jollino
|
||||
* Email: jollino@discussioni.org
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Discussioni.Org";
|
||||
default-server "IRC.Discussioni.Org";
|
||||
services-server "Services.Discussioni.Org";
|
||||
stats-server "Stats.Discussioni.Org";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "DISCUSSIONI";
|
||||
hosts {
|
||||
local "LocOp.Discussioni.Org";
|
||||
global "Oper.Discussioni.Org";
|
||||
coadmin "Co-Admin.Discussioni.Org";
|
||||
admin "Admin.Discussioni.Org";
|
||||
servicesadmin "ServOper.Discussioni.Org";
|
||||
netadmin "NetAdmin.Discussioni.Org";
|
||||
host-on-oper-up yes;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,7 +12,6 @@ set {
|
||||
coadmin "coadmin.dragonwings.org";
|
||||
admin "admin.dragonwings.org";
|
||||
servicesadmin "serviceop.dragonwings.org";
|
||||
techadmin "techadmin.dragonwings.org";
|
||||
netadmin "netadmin.dragonwings.org";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
set {
|
||||
network-name "FireIRC";
|
||||
default-server "irc.FireIRC.Net";
|
||||
services-server "services.FireIRC.Net";
|
||||
stats-server "stats.FireIRC.Net";
|
||||
help-channel "#Services";
|
||||
hiddenhost-prefix "FireIRC";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "localOP.FireIRC.Net";
|
||||
global "ircOP.FireIRC.Net";
|
||||
coadmin "CoADMIN.FireIRC.Net";
|
||||
admin "Admin.FireIRC.Net";
|
||||
servicesadmin "serviceOP.FireIRC.Net";
|
||||
techadmin "TechAdmin.FireIRC.Net";
|
||||
netadmin "NetADMIN.FireIRC.Net";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
};
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* FriendlyIRC (irc.friendlyirc.net) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 13 January 2001 18:19
|
||||
* Author: Shukie
|
||||
* Email: shukuwolf@glacierwinds.com
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "FriendlyIRC";
|
||||
default-server "irc.friendlyirc.net";
|
||||
services-server "services.friendlyirc.net";
|
||||
stats-server "stats.friendlyirc.net";
|
||||
help-channel "#HelpDesk";
|
||||
hiddenhost-prefix "FriendlyIRC";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "locop.friendlyirc.net";
|
||||
global "oper.friendlyirc.net";
|
||||
coadmin "coadmin.friendlyirc.net";
|
||||
admin "admin.friendlyirc.net";
|
||||
servicesadmin "csop.friendlyirc.net";
|
||||
techadmin "techadmin.friendlyirc.net";
|
||||
netadmin "netadmin.friendlyirc.net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* GamesCafe (irc.gamerscafe.net) Network Configuration File
|
||||
*
|
||||
* Added-at: 22 August 2001 01:17
|
||||
* Author: Osiris
|
||||
* Email: daniel@linux.ws
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "GamesCafe";
|
||||
default-server "irc.gamerscafe.net";
|
||||
services-server "Services.GamersCafe.Net";
|
||||
stats-server "Services.GamersCafe.Net";
|
||||
help-channel "#GamersCafe";
|
||||
hiddenhost-prefix "GC";
|
||||
hosts {
|
||||
local "localoper.gamerscafe.net";
|
||||
global "oper.gamerscafe.net";
|
||||
coadmin "coadmin.gamerscafe.net";
|
||||
admin "admin.gamerscafe.net";
|
||||
servicesadmin "csop.gamerscafe.net";
|
||||
netadmin "network-admin.gamerscafe.net";
|
||||
host-on-oper yes;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Gerid.Net (pi.gerid.net) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 31 January 2001 13:22
|
||||
* Author: Pi
|
||||
* Email: support@gerid.net
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Gerid.Net";
|
||||
default-server "pi.gerid.net";
|
||||
services-server "services.gerid.net";
|
||||
stats-server "stats.gerid.net";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "gerid";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "localized.killing.spr.ee";
|
||||
global "is.a.bad.motherfucker.org";
|
||||
coadmin "helps.kill.your.ass";
|
||||
admin "owns.you";
|
||||
servicesadmin "will.kill.your.ass";
|
||||
techadmin "will.detached.your.ass";
|
||||
netadmin "will.crucify.you";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -17,7 +17,6 @@ set {
|
||||
coadmin "coadmin.german-elite.net";
|
||||
admin "admin.german-elite.net";
|
||||
servicesadmin "csop.german-elite.net";
|
||||
techadmin "techadmin.german-elite.net";
|
||||
netadmin "netadmin.german-elite.net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -21,7 +21,6 @@ set {
|
||||
coadmin "CoAdmin.Global-IRC.de";
|
||||
admin "ServerAdmin.Global-IRC.de";
|
||||
servicesadmin "ServiceAdmin.Global-IRC.de";
|
||||
techadmin "TechAdmin.Global-IRC.de";
|
||||
netadmin "NetworkAdmin.Global-IRC.de";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -22,7 +22,6 @@ set {
|
||||
coadmin "coadmin.global-irc.net";
|
||||
admin "admin.global-irc.net";
|
||||
servicesadmin "serviceop.global-irc.net";
|
||||
techadmin "techadmin.global-irc.net";
|
||||
netadmin "netadmin.global-irc.net";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
|
||||
@@ -21,7 +21,6 @@ set {
|
||||
coadmin "CoAdmin.AsiaCom.GlobalChat.ca";
|
||||
admin "Admin.AsiaCom.GlobalChat.ca";
|
||||
servicesadmin "Csop.AsiaCom.GlobalChat.ca";
|
||||
techadmin "TechAdmin.AsiaCom.GlobalChat.ca";
|
||||
netadmin "NetAdmin.AsiaCom.GlobalChat.ca";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Globo (irc.globo.ircweb.com.br) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 23 maio 2001 05:02
|
||||
* Author: Titan
|
||||
* Email: globo@ircweb.com.br
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Globo";
|
||||
default-server "irc.globo.ircweb.com.br";
|
||||
services-server "services.globo.com.br";
|
||||
stats-server "stats.globo.com.br";
|
||||
help-channel "#ajuda";
|
||||
hiddenhost-prefix "hide";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "locop.globo.com.br";
|
||||
global "oper.globo.com.br";
|
||||
coadmin "coadmin.globo.com.br";
|
||||
admin "admin.globo.com.br";
|
||||
servicesadmin "csop.globo.com.br";
|
||||
techadmin "techadmin.globo.com.br";
|
||||
netadmin "netadmin.globo.com.br";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* IceChat (irc.icechat.net) Network Configuration File
|
||||
*
|
||||
* Added-at: 19 February 2002 16:55
|
||||
* Author: Rosco
|
||||
* Email: pssystem@home.com
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "IceChat";
|
||||
default-server "irc.icechat.net";
|
||||
services-server "services.icechat.net";
|
||||
stats-server "stats.icechat.net";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "00";
|
||||
hosts {
|
||||
local "locop.icechat.net";
|
||||
global "oper.icechat.net";
|
||||
coadmin "coadmin.icechat.net";
|
||||
admin "admin.icechat.net";
|
||||
servicesadmin "csop.icechat.net";
|
||||
netadmin "netadmin.icechat.net";
|
||||
host-on-oper-up yes;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,7 +12,6 @@ set {
|
||||
coadmin "IRCop-CoAdmin.Infinity-IRC.org";
|
||||
admin "IRCop-Admin.Infinity-IRC.org";
|
||||
servicesadmin "IRCop-ServiceAdmin.Infinity-IRC.org";
|
||||
techadmin "IRCop-TechAdmin.Infinity-IRC.org";
|
||||
netadmin "IRCop-NetAdmin.Infinity-IRC.org";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* IRCLatino (irc.redperu.com) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 30 May 2001 22:09
|
||||
* Author: Tek
|
||||
* Email: aleph@w-link.net
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "IRCLatino";
|
||||
default-server "irc.redperu.com";
|
||||
services-server "services.united-irc.net";
|
||||
stats-server "stats.irclatino.org";
|
||||
help-channel "#Services";
|
||||
hiddenhost-prefix "IRCLatino";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "Local-operator.irclatino.org";
|
||||
global "irc-operator.irclatino.org";
|
||||
coadmin "Co-Admin.irclatino.org";
|
||||
admin "server-admin.irclatino.org";
|
||||
servicesadmin "services-operator.irclatino.org";
|
||||
techadmin "TechAdmin.irclatino.org";
|
||||
netadmin "NetAdmin.irclatino.org";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* 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$
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "IRCsystems";
|
||||
default-server "irc.ircsystems.net";
|
||||
services-server "services.ircsystems.net";
|
||||
stats-server "stats.ircsystems.net";
|
||||
help-channel "#IRCsystems";
|
||||
hiddenhost-prefix "rox";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "locop.ircsystems.net";
|
||||
global "ircop.ircsystems.net";
|
||||
coadmin "coadmin.ircsystems.net";
|
||||
admin "admin.ircsystems.net";
|
||||
servicesadmin "csops.ircsystems.net";
|
||||
techadmin "techadmin.ircsystems.net";
|
||||
netadmin "netadmin.ircsystems.net";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
};
|
||||
@@ -21,7 +21,6 @@ set {
|
||||
coadmin "coadmin.isno.net";
|
||||
admin "admin.isno.net";
|
||||
servicesadmin "csop.isno.net";
|
||||
techadmin "techadmin.isno.net";
|
||||
netadmin "netadmin.isno.net";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* IsraelNet (irc.israel.net) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 14 September 2000 14:39
|
||||
* Author: Web
|
||||
* Email: dors@Nonstop.net.il
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "IsraelNet";
|
||||
default-server "irc.israel.net";
|
||||
services-server "services.israel.net";
|
||||
stats-server "stats.israel.net";
|
||||
help-channel "#OperHelp";
|
||||
hiddenhost-prefix "israel";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "LocOP.Israel.Net";
|
||||
global "Oper.Israel.Net";
|
||||
coadmin "CoAdmin.Israel.Net";
|
||||
admin "Admin.Israel.Net";
|
||||
servicesadmin "CSop.Israel.Net";
|
||||
techadmin "TechAdmin.Israel.Net";
|
||||
netadmin "NetAdmin.Israel.Net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* l33t-irc.com (irc.l33t-irc.com) Network Configuration File
|
||||
*
|
||||
* Added-at: 04 January 2002 15:46
|
||||
* Author: [LW]FlOwBiE
|
||||
* Email: flowbie@l33t-irc.com
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "l33t-irc.com";
|
||||
default-server "irc.l33t-irc.com";
|
||||
services-server "services.l33t-irc.com";
|
||||
stats-server "stats.l33t-irc.com";
|
||||
help-channel "#l33t-irc.com";
|
||||
hiddenhost-prefix "l33t-irc.com";
|
||||
hosts {
|
||||
local "local.l33t-irc.com";
|
||||
global "l33t-irc";
|
||||
coadmin "coadmin.l33t-irc.com";
|
||||
admin "admin.l33t-irc.com";
|
||||
servicesadmin "servicesadmin.l33t-irc.com";
|
||||
netadmin "netadmin.l33t-irc.com";
|
||||
host-on-oper no;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -19,7 +19,6 @@ set {
|
||||
coadmin "coadmin.lcirc.net";
|
||||
admin "admin.lcirc.net";
|
||||
servicesadmin "csop.lcirc.net";
|
||||
techadmin "techadmin.lcirc.net";
|
||||
netadmin "netadmin.lcirc.net";
|
||||
host-on-oper no;
|
||||
};
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Lostchat (irc.lostchat.net) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 22 February 2001 20:47
|
||||
* Author: cerberus
|
||||
* Email: cerberus@storm-services.net
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "Lostchat";
|
||||
default-server "irc.lostchat.net";
|
||||
services-server "services.lostchat.net";
|
||||
stats-server "stats.mynet.org";
|
||||
help-channel "#lostchat";
|
||||
hiddenhost-prefix "lostchat";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "locop.lostchat.net";
|
||||
global "oper.lostchat.net";
|
||||
coadmin "coadmin.lostchat.net";
|
||||
admin "admin.lostchat.net";
|
||||
servicesadmin "csop.lostchat.net";
|
||||
techadmin "techadmin.lostchat.net";
|
||||
netadmin "netadmin.lostchat.net";
|
||||
host-on-oper-up "on";
|
||||
};
|
||||
};
|
||||
@@ -21,7 +21,7 @@ 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"
|
||||
#TECHADMIN_HOST="techadmin.mynet.org"
|
||||
COADMIN_HOST="coadmin.mynet.org"
|
||||
HIDDEN_HOST="hide"
|
||||
NETDOMAIN="mynet.org"
|
||||
@@ -156,13 +156,13 @@ 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 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?"
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* MaxatNet (irc.maxat.net) Network Configuration File
|
||||
* --------------------------------------------------
|
||||
* Added-at: 12 January 2001 23:35
|
||||
* Author: Leo
|
||||
* Email: anders-ove@anders-ove.net
|
||||
* -----------------------------------------
|
||||
*/
|
||||
|
||||
set {
|
||||
network-name "MaxatNet";
|
||||
default-server "irc.maxat.net";
|
||||
services-server "services.maxat.net";
|
||||
stats-server "stats.maxat.net";
|
||||
help-channel "#help";
|
||||
hiddenhost-prefix "hide";
|
||||
prefix-quit "Quit:";
|
||||
hosts {
|
||||
local "locop.hub.no.maxat.net";
|
||||
global "oper.hub.no.maxat.net";
|
||||
coadmin "coadmin.hub.no.maxat.net";
|
||||
admin "admin.hub.no.maxat.net";
|
||||
servicesadmin "csop.hub.no.maxat.net";
|
||||
techadmin "techadmin.hub.no.maxat.net";
|
||||
netadmin "netadmin.hub.no.maxat.net";
|
||||
host-on-oper-up "off";
|
||||
};
|
||||
};
|
||||
@@ -6,52 +6,33 @@
|
||||
* of these networks.
|
||||
*/
|
||||
|
||||
networks/action-irc.network ......: Action-IRC (http://www.action-irc.net)
|
||||
networks/awesomechristians.network: Awesome Christians Chat Network (http://www.awesomechristians.com)
|
||||
networks/axenet.network ..........: AXEnet (http://www.axenet.org)
|
||||
networks/bitchx.network ..........: BitchX (http://www.bitchx.cl)
|
||||
networks/blind-irc.network .......: Blind-Irc (http://www.blind-irc.com)
|
||||
networks/bunker7.network .........: Bunker7 (http://www.bunker7.net)
|
||||
networks/burnnet.network .........: BuRnNET (http://www.burncycl.net)
|
||||
networks/cabonet.network .........: CaboNet (http://www.cabonet.org)
|
||||
networks/cc2.network .............: CC2 (http://www.cc2.org)
|
||||
networks/chatcrap.network ........: ChatCrap (http://www.chatcrap.com)
|
||||
networks/chatuniverse.network ....: ChatUniverse (http://www.chatuniverse.net)
|
||||
networks/cynicnet.network ........: CynicNet (http://www.cynicnet.org)
|
||||
networks/dark-core.network .......: Dark Core Networks
|
||||
networks/darkfyre.network ........: Darkfyre (http://www.darkfyre.net)
|
||||
networks/darkwar.network .........: Darkwar (http://www.darkwar.net)
|
||||
networks/ctcp.network ............: CTCP Networks (http://www.ctcp.net)
|
||||
networks/darkkaos.network ........: Dark Kaos Network (http://www.darkkaos.net)
|
||||
networks/digitalirc.network ......: DigitalIRC (http://www.digitalirc.net)
|
||||
networks/discussioni.network .....: Discussioni.org (http://www.discussioni.org)
|
||||
networks/dragonwings.network .....: DragonWings (http://www.dragonwings.org)
|
||||
networks/fireirc.network .........: FireIRC (http://www.fireirc.net)
|
||||
networks/friendlyirc.network .....: FriendlyIRC (http://www.friendlyirc.net)
|
||||
networks/geridnet.network ........: Gerid.Net (http://www.gerid.net)
|
||||
networks/gamescafe.network .......: GamesCafe (http://www.gamerscafe.net)
|
||||
networks/german-elite.network ....: German-Elite (http://www.german-elite.net)
|
||||
networks/german-global-irc.network: German Global IRC (http://www.global-irc.de)
|
||||
networks/globalchat.network ......: GlobalChat (http://www.globalchat.ca)
|
||||
networks/global-irc.network ......: Global-IRC (http://www.global-irc.net)
|
||||
networks/globo.network ...........: Globo
|
||||
networks/icechat.network .........: IceChat (http://www.icechat.net)
|
||||
networks/infinity.network ........: Infinity-IRC.org (http://www.infinity-irc.org)
|
||||
networks/irclatino.network .......: IRCLatino (http://www.irclatino.org)
|
||||
networks/isno.network ............: Isno (http://www.isno.net)
|
||||
networks/israelnet.network .......: IsraelNet (http://www.israel.net)
|
||||
networks/l33t-irc.network ........: L33T-IRC (http://www.l33t-irc.com)
|
||||
networks/lcirc.network ...........: LCIrc (http://www.lcirc.net)
|
||||
networks/lostchat.network ........: Lostchat (http://www.lostchat.net)
|
||||
networks/maxatnet.network ........: MaxatNet
|
||||
networks/phatnet.network .........: PhatNet (http://www.phat-net.de)
|
||||
networks/outsiderz.network .......: Outsiderz (http://www.outsiderz.com)
|
||||
networks/phazenet.network ........: PhazeNet (http://www.phazenet.com)
|
||||
networks/pheernet.network ........: PheerNet (http://www.pheernet.org)
|
||||
networks/roxnet.network ..........: ROXnet (http://www.roxnet.org)
|
||||
networks/shallomchat.network .....: ShallomChat (http://www.shallomchat.org)
|
||||
networks/solargalaxy.network .....: SolarGalaxy (http://www.solargalaxy.net)
|
||||
netwrosk/spamnet.network .........: SpamNet (http://www.spamnet.org)
|
||||
networks/spin.network ............: SpiN (http://www.spinempire.com)
|
||||
networks/stormdancing.network ....: StormDancing (http://www.stormdancing.net)
|
||||
networks/thainet.network .........: Thai IRC Network
|
||||
networks/tspre.network ...........: TSpre (http://www.tspre.org)
|
||||
networks/unitedirc.network .......: UnitedIRC (http://www.unitedirc.com)
|
||||
networks/unitedirc-org.network ...: Unitedirc (http://www.unitedirc.org)
|
||||
networks/united-irc.network ......: united-irc
|
||||
networks/uzaynet.network .........: UzayNet (http://www.uzaynet.nu)
|
||||
networks/wazzza.network ..........: wazZza (http://www.wazzza.org)
|
||||
networks/x-irc.network ...........: x-irc (http://www.x-irc.net)
|
||||
networks/zirc.network ............: ZiRC (http://www.zirc.org)
|
||||
|
||||