1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-19 05:14:47 +02:00

265 Commits

Author SHA1 Message Date
Bram Matthys b1aae19ed5 Huh? Guess this 'branch protection' thing from GitHub isn't working. 2016-12-05 10:11:26 +01:00
Bram Matthys f31a55eaaa Cleanup src/Makefile as per ohnobinki's suggestion in #3979. 2016-12-05 10:07:16 +01:00
Bram Matthys ce27d8d8ed Accidental commit to 3.2.x branch. Reverting. 2016-12-05 09:44:12 +01:00
Bram Matthys 25af5338e3 Merge pull request #62 from Adam-/master+svsmoded
Services coders: you can now set "SVSMODE Nick +d" to set the 'deaf' user mode. Note that "SVSMODE Nick +d svsidhere" also still works.
This should be a harmless change, unless some services packages are accidentally trying to set emtpy svsids like "SVSMODE Nick +d "... if you do, then the target nick will be deaf now..
2016-12-05 09:40:29 +01:00
Adam 1e7391b9ba m_svsmode.c: allow setting +d 2016-09-14 20:36:10 -04:00
Bram Matthys 91e5639a77 3.2.10.7 2016-09-03 20:50:01 +02:00
Bram Matthys fb629bd489 Fix AUTHENTICATE bug (SASL) 2016-09-03 20:09:12 +02:00
Bram Matthys f72a982a82 Add dialog box. That should be the last change for 3.2.10.6. I hope. 2015-12-11 10:32:54 +01:00
Bram Matthys 059605c341 Update example.*conf: those are not for 'Unreal3.2 and higher' but 'Unreal3.2.x' 2015-12-11 10:17:25 +01:00
Bram Matthys 07ad68e3d4 .6 yes 2015-12-11 10:08:41 +01:00
Bram Matthys 0fa129325e UnrealIRCd 3.2.10.6 release 2015-12-11 10:05:50 +01:00
Bram Matthys 46314dc3bb Add red header saying this documentation is about UnrealIRCd 3.2.x and refer to the UnrealIRCd 4 documentation. 2015-11-09 17:11:21 +01:00
Bram Matthys 78f1540ec5 UnrealIRCd 3.2.10.5 release 2015-08-16 15:05:42 +02:00
Bram Matthys b7e579df89 Self-signed certificates generated with 'make pem' are now 4096 bits and valid for 10 years. Also use SHA256 for signing. 2015-05-18 12:22:23 +02:00
Bram Matthys 1f9f12660a init_ctx_client() was accidentally setting options on ctx_server. Reported by Jobe (#4346). 2015-05-18 12:06:49 +02:00
Bram Matthys af0e823116 Fix out-of-bounds read in parse_.._netmask. Reported by dg (#4349).
Function was sometimes reading 1 byte before the actual string.
2015-05-18 11:37:43 +02:00
Bram Matthys 18c617bb35 Modules can now simply include "unrealircd.h" rather than include
various files in a specific order and risk missing one.
2015-04-25 13:36:05 +02:00
Bram Matthys 3b25ba5aed Fix build with LibreSSL / Detect missing RAND_egd. Patch from Bernard Spil. 2015-04-06 10:44:56 +02:00
Bram Matthys 506870ec86 In m_svsnick the HOOKTYPE_LOCAL_NICKCHANGE is called later than in m_nick,
this means that if you hook this in a module and then send something from
the hooked function to other servers it may cause a KILL from another server
since the nick may already be changed (Ghost kill). For example if you
send a MODE or something else. Subsequent kill chasing would cause the
victim to be killed.
2015-04-06 10:16:30 +02:00
Travis McArthur 82781bc3a9 Merge pull request #11 from Adam-/master+svsnick
Ignore svsnicks when the new nick is the same as the old one
2014-08-26 08:12:28 -07:00
Adam 0602bf1991 Ignore svsnicks when the new nick is the same as the old one 2014-08-26 10:37:32 -04:00
Travis McArthur 7eae9f8ffd Merge pull request #10 from Adam-/master+cidr
Fix core from parse_v4_netmask parsing invalid cidrs
2014-08-14 12:47:20 -07:00
Adam 53616c9ec5 Fix core from parse_v4_netmask parsing invalid cidrs 2014-08-06 04:10:03 -04:00
Bram Matthys 37a6cf430b undo head 2014-07-28 11:28:31 +02:00
Bram Matthys 9ca203c1c6 report as 3.2.10.4 on windows 2014-07-26 17:34:00 +02:00
Bram Matthys ea2caffdf1 Update curl-ca-bundle from Dec 29 20:03:40 2012 to Tue Jul 15 08:33:20 2014 2014-07-26 17:25:08 +02:00
Bram Matthys 9ccf8250fc 3.2.10.4 2014-07-26 17:21:39 +02:00
Bram Matthys 976a6eb116 Fix compile errors when building with clang instead of gcc, which is more
and more becoming the default nowadays such as on FreeBSD.
Reported by QIXOZL (#4239). Backported the patch from Heero.
2014-07-06 16:00:09 +02:00
Bram Matthys 61f94bd6d8 For services who allow you to log in by account name but still allow you to
use a different nick: when you're logged in you are now considered
registered as far as channel mode +M (only registered users may speak and
+R (only registered users may join) are concerned. Same for user mode +R
(only allow private messages from registered users).
Tech: whenever services set SVID and it's not * and does not start with a
      number, then we consider this user to be 'logged in'.
      Whenever a user is set +r (s)he is also considered 'logged in'.
      This way it's compatible with both older and new services and doesn't
      introduce security issues with older services using servicetimestamp
      for nick tracking or other means.
This issue was reported by ShawnSmith (#4318).
2014-07-05 14:05:23 +02:00
Bram Matthys 082b9c58db update version to .3 2014-05-31 20:48:42 +02:00
Bram Matthys d2a544bc17 Prepare for 3.2.10.3 2014-05-31 10:24:06 +02:00
Bram Matthys 2df6ad48be Fix crash if SASL is enabled and ping-cookie is disabled (neither are the
default). Reported by fbi (#4307).
2014-05-30 11:32:18 +02:00
Bram Matthys 625483821a Fix './unreal backtrace': on more recent gdb versions or in languages other
than English not always all tmp/*.so files were added. Therefore the
backtrace was often (much) less informative. We now use a different method.
2014-03-30 15:57:16 +02:00
AngryWolf 7186af38f0 Updated unreal32docs.hu.html to changes till Mon, 20 Jan 2014 22:10:27 +0100. 2014-02-02 11:23:12 +01:00
Bram Matthys 4a7c15b6b0 Add donator 2014-02-01 12:51:07 +01:00
Ouadie Akrour 4c8c5da383 Spanish doc: Added set::spamfilter::stop-on-first-match [yes|no] 2014-01-27 15:09:38 +00:00
Serkan Sepetci 5cbcd7be86 Added set::spamfilter::stop-on-first-match [yes|no] 2014-01-26 17:57:15 +02:00
Thomas Fargeix c3538b357b French doc: Added set::spamfilter::stop-on-first-match (r5476) 2014-01-25 14:28:10 +01:00
Bram Matthys 64c347f828 Added set::spamfilter::stop-on-first-match [yes|no]:
By default this is set to 'yes' which means that once a spamfilter matches
UnrealIRCd will take action immediately and any additional (other)
spamfilters will not be processed.
When this is set to 'no' then after the first spamfilter match other
spamfilters will still be checked. All of these matches will be logged and a
message will go to IRCOps (snomask +S) for each one. The affected user,
however, will only see one spamfilter action (eg: block or kill) which will
be the spamfilter with the 'gravest action' (gzline is highest, block and
warn are lowest).
2014-01-20 22:10:27 +01:00
Bram Matthys 32fff791bd Added SVIDLEN so this value is now separate from NICKLEN. Previously if you
would lower NICKLEN to 9 then services timestamps would be cut off. Reported
by Jobe (#4248).
2014-01-12 16:40:55 +01:00
Bram Matthys 26dc7cbb31 When you specified more than 4 servers in set::timesynch::server you could
experience weird issues such as a flood of 'Cannot accept connections:
invalid argument' messages. Reported by hyper_threader (#4242).
2014-01-12 11:26:29 +01:00
Bram Matthys 1e3e46d4de For silenced users we will now only check the current nick!user@host,
suggested by Stevie (#2226).
2014-01-12 11:15:45 +01:00
Bram Matthys a1bdaa440d Fix possible SASL crash caused by remote server, reported by grawity
(#4219).
2014-01-12 10:40:28 +01:00
Bram Matthys 49b34a6cab Fix compile problem on OS X 10.9, reported and patch provided by
JustinTArthur (#4251).
2014-01-12 10:20:04 +01:00
Bram Matthys 0fa5dec7d7 Secure server to server links were previously hardcoded at SSLv3. This has
been fixed to be 'SSLv3 or later'.  In practice this means that you will now
see a lot more server-to-server links using TLSv1.2.
2014-01-09 21:39:36 +01:00
Thomas Fargeix b16af31e83 French doc: +d umode description update (r5460) 2014-01-03 23:20:54 +01:00
Bram Matthys 6bf05cee61 cares fix (old?) 2013-12-19 18:16:10 +01:00
Bram Matthys 50de952e0b added two donators 2013-12-19 18:15:04 +01:00
Bram Matthys 49b2d6d832 added two donators 2013-12-19 18:14:03 +01:00
Serkan Sepetci 859fb60904 Doc changes detected for help.tr.conf 2013-12-07 13:54:32 +02:00
Serkan Sepetci 2f758a59ac reorganized 2013-12-06 01:05:49 +02:00
Serkan Sepetci 74346e4b40 Last update version 2013-12-06 00:48:01 +02:00
Nathan Phillip Brink 5adf4d7e5b Describe how channel mode +d (Deaf) still intentionally allows bot commands through, thanks Dan39. 2013-12-05 05:20:51 +00:00
Nathan Phillip Brink 0a67350cd0 Allow set::channel-command-prefix to be an empty string. 2013-12-05 05:19:45 +00:00
Nathan Phillip Brink 0f0767d4de Update .hgignore to cover more of autotools and support testing unrealircd by running it out of the repository directory directly. 2013-12-05 05:14:06 +00:00
Bram Matthys 8d7b9fca49 Fix curlinstall script (updated c-ares version) 2013-11-25 20:35:16 +01:00
Bram Matthys 00fd88ff0c Added tag unreal3_2_10_2 for changeset ab013c6c5a79 2013-11-24 20:23:56 +01:00
Bram Matthys f17eca1154 fixed typo preventing a compile, reported by rfrederick (#4245). 2013-11-24 20:22:56 +01:00
Bram Matthys 41019fb446 Removed tag unreal3_2_10_2 2013-11-24 20:21:54 +01:00
Bram Matthys 4b2a9d125a Added tag unreal3_2_10_2 for changeset 90da005ec35a 2013-11-24 16:18:32 +01:00
Bram Matthys bb545c7cbe Fix for OS X so it can actually compile. Reported by QIXOZL (#4236). 2013-11-24 11:30:18 +01:00
Bram Matthys 297c176886 When you use -D or -I in CFLAGS the bundled c-ares configure script
now no longer errors. Reported by QIXOZL (#4244). An attempt for a
more proper fix will be made later.
2013-11-24 11:23:54 +01:00
Bram Matthys dd18157ad0 Removed tag unreal3_2_10_2 2013-11-24 11:15:59 +01:00
Bram Matthys 78b9966a5c Added tag unreal3_2_10_2 for changeset 914db8ce9bd5 2013-11-23 11:31:04 +01:00
Bram Matthys 7acc5aac6e Update win32 installer 2013-11-22 22:36:36 +01:00
Bram Matthys 870eb8710f Update win32 version suffix 2013-11-22 22:35:24 +01:00
Bram Matthys 3091752196 Update curl-ca-bundle with a more recent version 2013-11-22 22:16:53 +01:00
Bram Matthys 5d9cb664b7 Update release notes.. 2013-11-22 22:08:55 +01:00
Bram Matthys 19a8b15b01 Small watch fix 2013-11-22 21:58:01 +01:00
Bram Matthys 47ab99a833 Update release notes 2013-11-22 21:39:19 +01:00
Bram Matthys 9bb05733c8 update release notes 2013-11-20 16:09:07 +01:00
Bram Matthys d5d6ace2e1 Windows installer: require Visual Studio 2012 Redist. package
Unfortunately we can no longer auto-download so we send the user
to a microsoft.com page when the package seems not installed.
Hopefully most users will have it installed though...
2013-11-20 13:49:25 +01:00
Bram Matthys b7bd436b7f autoconf 2013-11-20 12:54:46 +01:00
Bram Matthys f011199ea5 Update c-ares library to 1.10.1 2013-11-20 12:53:19 +01:00
Bram Matthys 2b2308dcdc update version 2013-11-20 12:48:12 +01:00
Bram Matthys d8645f710d Various fixes, more info later. 2013-11-20 12:44:26 +01:00
Thomas Fargeix 50afecfaa7 French doc: fix typos 2013-09-23 23:17:45 +02:00
Serkan Sepetci f18b7e8df1 Translation of the help.tr.conf 2013-05-27 10:13:45 +03:00
Bram Matthys 167a83f7d2 This one is better, and actually compiles ;) 2013-05-10 19:32:14 +02:00
Bram Matthys 3c423d31d2 Fix strange issue where linking didn't work because UnrealIRCd would
bind to (for example) the loopback interface before connecting to the
remote server.
In addition to that, we now don't bind() at all when bind-ip is not
present or is set to "*".
2013-05-10 19:27:36 +02:00
Ouadie Akrour 3fd9fc9846 Re Update the documentation 2013-04-05 21:26:09 +00:00
Bram Matthys a06a748214 Added tag unreal3_2_10_1 for changeset 15542aa9f0d2 2013-04-05 16:25:43 +02:00
Bram Matthys 3e19dc1a8b add .1 suffix to setup.h for Windows. 2013-04-05 16:25:35 +02:00
Bram Matthys 60c880834b Removed tag unreal3_2_10_1 2013-04-05 16:25:16 +02:00
Bram Matthys b5bcf6605e Added tag unreal3_2_10_1 for changeset 0e7e08cf2b35 2013-04-05 16:23:52 +02:00
Bram Matthys ccab872222 Bump version and update date in docs. Add Windows 7. Remove Windows 2000 as
it apparently no longer works (#4180).
2013-04-05 16:15:04 +02:00
Bram Matthys 193b044615 mention doc updates in release notes 2013-04-05 16:09:33 +02:00
Bram Matthys 268373635a Bump version to 3.2.10.1 & update release notes. 2013-04-05 16:08:33 +02:00
Bram Matthys 0362f9c765 Custom modules: move EXLIBS= so shared libraries are always linked.
Reported by DE_Glen (#4182).
2013-04-05 15:36:23 +02:00
Bram Matthys ff5e6a1a0c - Windows: Fix strange linking bug. Outgoing connects from a Windows
IRCd caused a garbled SERVER protocol message, causing 'cannot find
  server' errors and killing of users. Reported by Sunkat (#4183).
2013-04-04 23:07:04 +02:00
William Pitcock f0167d1284 - Pull in poll(2) stuff before any other ircd include files. (#4155)
This allows us to successfully build on systems where pulling in poll.h
  pollutes the code with a broken form of ctypes.h due to a few reasons, not
  limited to, but including, usage of non-namespaced macros which clash with
  our own.
2013-01-14 02:12:43 -06:00
Bram Matthys 7530ce6b29 - Don't remove oper-modes such as +S from non-local clients. Reported by
Magiobiwan (#4166). This caused an issue with bots from anope BotServ
  where user modes +Sq were stripped by the IRCd.
2013-02-19 19:31:30 +01:00
Thomas Fargeix 77ccd6b9dd Update French doc about set::dns::nameserver (r3623cab602e7) 2013-02-13 22:33:12 +01:00
Serkan Sepetci 780a9c4878 Re Update the documentation about set::dns::nameserver 2013-02-10 03:19:03 +02:00
Serkan Sepetci 1a3175f4e7 Update the documentation about set::dns::nameserver 2013-02-10 03:13:20 +02:00
AngryWolf 6d93e605f3 Missed to translate a change from Wed Jul 13 22:36:04 2011 -0400 (19 months ago). 2013-02-04 22:17:42 +01:00
AngryWolf 939b8797e4 Translated changes of the last 5 months (from Fri Aug 17 10:40:23 2012 +0200). 2013-02-04 22:07:19 +01:00
AngryWolf ee775f3e2e Missed to translate a change from Wed Jul 13 23:32:05 2011 -0400 (19 months ago). 2013-02-04 20:28:17 +01:00
AngryWolf 9b296df76c Translated changes from Sat Oct 06 12:48:21 2012 +0200 (4 months ago). 2013-02-04 19:56:00 +01:00
Ouadie Akrour c2d75396da - Update the unreal32doc.es about set::dns::nameserver 2013-02-02 01:37:16 +00:00
Nathan Phillip Brink b1a396ad2b - Update the documentation about set::dns::nameserver to reflect reality (that the setting is only used if c-ares can’t read /etc/resolv.conf). 2013-01-27 05:59:50 +00:00
Bram Matthys c5866e2a80 allow channel: Permit multiple channel items in one block again, was broken by patch from #4125. 2013-01-11 19:05:36 +01:00
Ouadie Akrour cdd354c306 Reupdated unreal32docs.es 2013-01-11 00:26:55 +00:00
Bram Matthys d262f6f5e3 '/rehash -global' did often not rehash all servers. Reported by Cronus (#4143). 2013-01-09 19:41:18 +01:00
Ouadie Akrour 97e3d6a2ce Updated unreal32docs.es 2013-01-02 00:52:36 +00:00
Bram Matthys 9157912636 Added tag unreal3_2_10 for changeset fe153e789040 2012-12-28 17:03:36 +01:00
Bram Matthys 86287db434 Removed tag unreal3_2_10 2012-12-28 17:03:32 +01:00
Bram Matthys 04820fda45 Fix duplicate user@host in away-notify and account-notify, reported by grawity (#4153). 2012-12-28 17:01:05 +01:00
Bram Matthys 42cb9fc22a Added tag unreal3_2_10 for changeset f0c4b60ec111 2012-12-26 15:51:46 +01:00
Bram Matthys 70e06587f9 Removed tag unreal3_2_10 2012-12-26 15:51:41 +01:00
Bram Matthys 614d980596 If you are running the IRCd as root and use IRC_USER/IRC_GROUP then we now
change ownership of the log file to that user/group so it can still write
after the setuid(). Reported by asmadeus (#4152).
2012-12-26 15:51:26 +01:00
Bram Matthys 4c93c3d197 Added tag unreal3_2_10 for changeset 7bf37138e074 2012-12-25 16:56:23 +01:00
Bram Matthys 85db29488f last update of release notes 2012-12-25 16:55:57 +01:00
Bram Matthys 0178632529 Update contributors in /INFO 2012-12-25 11:31:11 +01:00
Bram Matthys 9774805c00 bump version in docs & Unreal.nfo 2012-12-25 10:54:10 +01:00
Bram Matthys 8589555273 Bump version in all source/include/text files 2012-12-25 10:53:12 +01:00
Ouadie Akrour 08d55f0d5e re-updated Spanish documentation 2012-12-05 22:53:44 +00:00
Serkan Sepetci bd865e7a65 re-updated unreal32docs.tr 2012-11-26 21:34:00 +02:00
Serkan Sepetci 537e104611 Updated unreal32docs.tr 2012-11-26 21:21:32 +02:00
Ouadie Akrour 5d25b1b0d5 Updated Spanish documentation 2012-11-26 02:09:11 +00:00
Ouadie Akrour ee4708774a Updated Spanish documentation 2012-11-26 02:03:12 +00:00
Ouadie Akrour be4e63ac89 Updated Spanish documentation 2012-11-24 15:34:43 +00:00
Bram Matthys 139b5e9831 Update ./createchangelog to make it only show changes on default branch. 2012-11-23 19:52:07 +01:00
Bram Matthys 7da12ba3bb - Rename Changes.old to Changes.older
- Rename Changes to Changes.old
- In the Mercurial repository the Changes file no longer exists (except
  for a dummy file). You now need to run ./createchangelog to generate it.
  Of course in official releases the Changes file will be present and
  contain all details.
- From now on, the Changes file is based on the history of the Mercurial
  repository. This means we no longer have to write text manually to the
  Changes file. This simple change helps a lot in future development
  because patches will no longer break when they are being ported from
  one branch to another.
2012-11-23 19:20:40 +01:00
Bram Matthys a831052f22 - Import unreal32docs Spanish translation by Karim Benzema. 2012-11-23 17:51:42 +01:00
Bram Matthys f412e7434f - Argh.. silly Windows symbol crap. 2012-11-12 15:29:38 +01:00
Bram Matthys 3c6f3bd029 - Use a more robust method of learning the server origin for a SASL
agent. Fixes crash reported by Adam.
2012-11-04 17:23:45 +01:00
William Pitcock 2cc9482e18 - Use a more robust method of learning the server origin for a SASL agent. 2012-10-27 22:42:32 +00:00
Bram Matthys 87f52e5939 - Use our own (v)snprintf if not available. 2012-11-04 17:20:31 +01:00
Bram Matthys f964828434 3.2.10-rc1 release was on 2012-10-17 (public on 2012-10-18) 2012-11-04 17:09:14 +01:00
serkan sepetci e7b18e80c9 Updated 3.2.10 and Add Authentication Types documentation 2012-11-02 00:32:22 +02:00
serkan sepetci 6fc134c919 Add allow channel and deny channel documentation. 2012-11-02 00:27:33 +02:00
serkan sepetci 5752aae6d6 Updated Version: 3.2.10 and Add Authentication Types documentation 2012-11-02 00:17:40 +02:00
Anton Samets fda25d1632 I idle hide from regular users in help.ru.conf 2012-10-19 12:34:45 +03:00
Anton Samets 660433ac35 update russian translate for 3.2.10 2012-10-18 19:36:37 +03:00
Bram Matthys 2b7915bfa7 Added tag unreal3_2_10rc1 for changeset 094646e391e6 2012-10-17 15:04:30 +02:00
Thomas Fargeix 3d9359608e French doc: some issues with accents. 2012-10-16 20:16:32 +02:00
Thomas Fargeix 0e39a183c7 French doc: documentation on the new sslclientcertfp
- Moved documentation about auth-types. (r64b3c4006702)
2012-10-16 19:47:10 +02:00
Thomas Fargeix 963872b401 French doc: Add 'class' option to allow/deny channel.
(r3a1f9e484676)
2012-10-16 16:21:57 +02:00
Bram Matthys 734c3c8cdc Added last donator before rc1 2012-10-16 18:49:21 +02:00
Bram Matthys 5a27a51a42 - Remove wircd.def, needs to be re-generated almost each build anyway.. 2012-10-16 18:44:20 +02:00
Bram Matthys d66a4dc14b update e-mail address 2012-10-16 16:12:12 +02:00
Bram Matthys 65b56f0b55 - Removed unreal32docs.es.html (outdated since 2006-12-22),
unreal32docs.gr.html (outdated since 2006-12-02), and
  unreal32docs.nl.html (outdated since 2009-01-18, possibly 2007-07-12).
  These translations are out of date for many years and are causing
  problems for the people who are reading this out of date information.
  If you want to update these translations, or (maybe better) redo
  the translation of unreal32docs in these languages, then send an
  e-mail to syzop@unrealircd.com.
  Note that for all these languages we have had people in the past
  offering to help out, but in the end we never heard back from them,
  so please ONLY contact us if you: 1) are serious, and 2) have
  sufficient time available to work on this project.
  That said, users in your language will greatly appreciate your work!
  Of course, if you want to translate documents in any other language
  then you are welcome to contact us as well.
2012-10-16 16:05:54 +02:00
Bram Matthys 8db9f96bb0 - Bump version number in all translated docs as well (did not change
the 'last update' date, though).
2012-10-16 15:27:04 +02:00
Bram Matthys f70a201715 - Update version to 3.2.10-rc1 2012-10-16 15:25:04 +02:00
Bram Matthys 3fdaf585a0 Added release notes 2012-10-16 15:00:14 +02:00
Bram Matthys 4c30008313 - Windows: fix MOTD file always showing a date of 1/1/1970, reported
by maxarturo (#4102).
2012-10-16 11:33:27 +02:00
Bram Matthys 451dca4522 - 2012-10-15 21:26:27 +02:00
Bram Matthys b600dffdc8 - Added auth method 'sslclientcertfp' which provides an alternative
method to authenticate users with SSL client certificates based
  on SHA256 fingerprints. This can be used instead of the already
  existing 'sslclientcert' so you don't have to use an external file.
  One way to get the SHA256 fingerprint would be:
  openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint
  Suggested and patch supplied by Jobe (#4019).
- Added documentation on the new sslclientcertfp
- Moved documentation on authentication types to one place and refer
  to it from each section (oper::password, vhost::password,
  link::password-receive, etc).
2012-10-15 21:25:38 +02:00
Thomas Fargeix 55a15008f4 French doc: Added set::options::disable-cap (r5066) 2012-10-15 17:54:36 +02:00
Thomas Fargeix 317daa7b79 French doc: use of iso-8859-1 encoding and accents. 2012-10-15 17:52:19 +02:00
Bram Matthys eb12f79ba3 - Added set::options::disable-cap, which can be used to disable the
new CAP support (#4104).
2012-10-15 15:29:52 +02:00
Bram Matthys 96eb692cc6 various win32 fixes:
- Disable USE_POLL on Windows, since it doesn't work with XP and has
  no advantage anyway. Reported by nenolod (#4129).
- Various updates to makefile.win32 and .iss file, found during
  building new versions of zlib, openssl, and curl.
2012-10-15 15:01:35 +02:00
Bram Matthys f1c5f88539 - Upgraded to c-ares 1.9.1. Updated configure & other files. 2012-10-14 12:13:53 +02:00
Bram Matthys e81cf14707 - Fix bug where recursive includes would hang the IRCd, patch from
binki with some minor modifications, reported by warg (#3919).
2012-10-14 11:47:26 +02:00
Bram Matthys 906814a31d - Use poll() in the remote includes functions when USE_POLL is
defined (#4091).
2012-10-14 11:23:14 +02:00
Bram Matthys 3e9d300086 - Add 'class' option to allow/deny channel so you can allow/deny
users based on their class. Patch from fspijkerman (#4125).
2012-10-06 12:48:21 +02:00
Bram Matthys 2c4c190c39 ? 2012-10-06 11:59:09 +02:00
Bram Matthys 7fb0fa1620 - Disable sending of UHNAMES when HTM (High Traffic Mode) is ON,
suggested by driew (#3900).
2012-10-06 11:57:55 +02:00
Bram Matthys aa15c4bfe7 - Disable sending of UHNAMES when HTM (High Traffic Mode) is ON,
suggested by driew (#3900).
2012-10-06 11:55:17 +02:00
Serkan Sepetci f38e3382cc Updated unreal32docs.tr documentation 2012-08-25 18:19:06 +03:00
Thomas Fargeix 3f84b46420 Updated French documentation :
- optional oper::require-modes (r5047)
- hiddenhost-prefix clarification (r5049)
- /silence (r5050)
- some typos
2012-08-23 18:13:28 +02:00
Bram Matthys a292196590 - Remove old reference to networks/ directory from Windows installer 2012-08-17 13:10:15 +02:00
Bram Matthys 2429ad557b - Added missing Mod_Header to m_sasl.c 2012-08-17 13:09:19 +02:00
Bram Matthys 1418ea873b - Install server.*.pem files, patch from katsklaw (#3988).
- The ./Config script will now ask whether to generate an SSL
  certificate when it does not exist (defaults to Yes), instead of
  always generating one.
2012-08-17 12:32:06 +02:00
Bram Matthys 74d519323f a bigger scratch buffer makes me sleep at night ;) 2012-08-17 10:55:40 +02:00
Bram Matthys b8a13305d3 - Show "Ping timeout: XYZ seconds" instead of just "Ping timeout".
Patch from darkex (#3960).
2012-08-17 10:52:40 +02:00
Bram Matthys 97909a4ac0 - Add /SILENCE to HTML documentation (reported by Severus_Snape in
#4072, patch from warg).
2012-08-17 10:45:19 +02:00
Bram Matthys 9e03c16e3a - Clarify that hiddenhost-prefix must be the same on linked servers for
bans to function properly (#4090, patch from warg, reported in #4043
  by maxb).
2012-08-17 10:40:23 +02:00
Bram Matthys d57f3c63cc Changes for #4008 patch. 2012-08-17 10:32:31 +02:00
Nathan Phillip Brink 14315463d1 Add optional oper::require-modes setting to the oper block. (#4008 by katsklaw)
Any attempt to /OPER by someone who doesn't have one of the listed
usermodes is rejected. This can be used to restrict oper blocks to
registered nicks (+r) or secure clients (SSL, +z).
2011-07-13 22:36:04 -04:00
AngryWolf 2d01d8a942 Translated doc changes up to Mon May 07 16:51:03 2012 +0200 (3 months ago). 2012-08-15 17:41:43 +02:00
AngryWolf c279572f22 Translated doc changes up to Sun Jan 22 16:32:28 2012 +0100 (6 months ago). 2012-08-15 10:17:10 +02:00
AngryWolf 91ed924134 Translated doc changes up to Sun Dec 25 13:15:49 2011 +0100 (7 months ago). 2012-08-15 01:13:55 +02:00
Bram Matthys 15667266ab - Module coders: added HOOKTYPE_AWAY (sptr, away-reason). 2012-07-10 16:15:14 +02:00
Bram Matthys 8b8490feb7 - Win32 installer: Latest InnoSetup no longer supports Windows 95/98,
so update Minversion to make the .iss compile.
2012-06-24 16:07:14 +02:00
Bram Matthys 1f8ba91b69 - Win32 installer (SSL): Uncheck 'create certificate' checkbox when
server.cert.pem exists, and check it if the file doesn't exist.
  You can still change the setting, just the default is correct now.
  The code for this was already there but was not working correctly
  causing users to go through the generation process upon each install.
2012-06-24 16:05:07 +02:00
Serkan Sepetci eb392387e7 set::sasl-server setting in the unreal32docs.tr.html documentation. 2012-06-12 01:18:14 +03:00
Thomas Fargeix 1eb1d1da5f - set::sasl-server setting in the documentation. (r5037)
- Fixing various typos.
2012-05-12 01:14:32 +02:00
Bram Matthys 3d8fd3f4be - Changed numeric 307 (RPL_WHOISREGNICK) to 'is identified for this nick',
reported by fbi (#3399).
2012-05-07 17:14:03 +02:00
Bram Matthys 982803a6b8 - SASL now needs to be enabled explicitly by setting a set::sasl-server.
If this is not set, then SASL is off and not advertised.
  If the specified server is not connected, then SASL is off as well.
  This prevents unnecessary delay (and the inability for some clients to
  get online) when SASL is not in use or when the SASL server is down.
2012-05-07 16:51:03 +02:00
Bram Matthys 4207b5e60f - Fixed another SASL crash bug. Always use HookAddEx, not HookAdd!
Crash occured after the first quit of a user after a REHASH.
  Reported by Dave (#4108).
2012-05-07 12:07:43 +02:00
Bram Matthys d439c8906b complete the previous patch (MLOCK).. mostly just bringing it up to date & code-style 2012-05-04 13:05:08 +02:00
William Pitcock 5360e2ffa5 - Add support for server-enforced mode locks (MLOCK).
This allows the IRCd to enforce MLOCKs that are set by services, which
  eliminates clashes between users setting modes and services enforcing
  it's mlock on channels. (#3055)
2012-05-04 12:47:59 +02:00
Bram Matthys 9d6e386f97 - Fix bug caused by new I/O engine (both with and without USE_POLL):
queued data on the receive queue (eg: due to fake lag) was not processed
  unless we got new data from the client.
  Now, better document this. Also, avoid calling dbuf_put with 0 length.
2012-05-02 19:20:52 +02:00
Bram Matthys 3f3b8975e0 - Moved sendto_connectnotice, and thus the call to HOOKTYPE_LOCAL_CONNECT,
so it gets called after the broadcast of NICK to other servers.
2012-05-01 12:10:14 +02:00
Bram Matthys aa206f667f Update donators 2012-04-28 16:00:25 +02:00
Serkan Sepetci 00ce957812 Remove old no-stealth, show-connect-info added. 2012-04-20 00:39:56 +03:00
Thomas Fargeix 2570955e4a - Remove old no-stealth directive from documentation (r5025) 2012-04-14 12:43:46 +02:00
William Pitcock adcb462788 - If set::options::dont-resolve is enabled, then use only the IP information
from a WEBIRC message, reported by Ismat (#4103).
2012-04-09 10:54:17 +02:00
William Pitcock 3563c26a93 - Add support for account-notify client capability (#4098). This capability
can be used to request passive notifications for accountname changes.
2012-04-09 10:48:51 +02:00
Bram Matthys 309dac4f2b - Added 'away-notify' client capability, which informs the client of any AWAY state changes of users on the same channel. Patch from nenolod (#4097). 2012-04-09 10:35:17 +02:00
Bram Matthys 3271ec3a23 - Remove old no-stealth configuration directive from documentation,
reported by katsklaw, patch from warg (#4036).
2012-04-09 10:25:53 +02:00
Bram Matthys 3d728f5f2e - Print out a warning when we can't write to a log file. When booting this
goes to the boot screen. When we are already booted it's sent to all
  IRCOps with a limit of max. 1 message per 5 minutes.
- Refuse to boot when we can't write to any log file.
2012-04-05 21:47:15 +02:00
Bram Matthys 374b79c084 - Win32 compile fix (nenolod) 2012-04-05 21:01:19 +02:00
William Pitcock ad2c969084 Fix Windows build. 2012-03-29 20:05:20 -05:00
Bram Matthys edcadc6c58 - Fix win32 installer: apparently it sometimes complained about not having
- the Visual C++ 2008 redistributable package installed when this was not true.
2012-03-30 20:02:32 +02:00
Bram Matthys 3ada59bc60 - Poll I/O engine: get_client_by_pollfd() may return -1 when there's a race
condition. Don't abort, instead just skip those clients.
  This fixes a crash I had on /SQUIT.
2012-03-26 11:16:10 +02:00
Bram Matthys 46372dc475 - Split up PROTOCTL line, since with the addition of ESVID we exceeded
MAXPARA when using ZIP links.
  This caused an odd charset warning upon link.
2012-03-26 11:08:19 +02:00
Bram Matthys a8000c2efb - Some more SASL fixes, and more... 2012-03-26 10:37:40 +02:00
Bram Matthys 04b68513f8 - Some more SASL fixes 2012-03-25 19:54:56 +02:00
Bram Matthys 40004ef1b3 - Tweak SASL code to conform to current coding style. 2012-03-25 12:32:41 +02:00
Bram Matthys 66b3a7fe6b - Fix crash in AUTHENTICATE (SASL commit from an hour or so ago). 2012-03-25 12:30:51 +02:00
Bram Matthys e88b6477bd Some really minor SASL tweaks 2012-03-25 10:24:40 +02:00
Bram Matthys 61610fe763 - Added support for SASL, patch from nenolod (#4079). 2012-03-25 10:15:28 +02:00
Bram Matthys 1e152a07c0 - Fix for speed optimization a few lines up, was accidentally using ident
username (which might have been 'unknown') instead of effective username.
2012-03-23 20:30:36 +01:00
Serkan Sepetci e40164dcf4 updated again in some places missing. 2012-03-21 14:02:54 +02:00
Serkan Sepetci bfdc7bae73 Updated doc/example.tr.conf - translated by Diablo 2012-03-10 02:32:27 +02:00
Thomas Fargeix 56c263269c - Add set::ping-cookie to French doc (r4995)
- some typos corrections.
2012-03-06 17:50:54 +01:00
Nathan Phillip Brink aa5fe1514d - Call m_cap_Init() when m_cap is loaded through commands.so. Reported by nenolod. 2012-03-06 06:16:53 +00:00
Serkan Sepetci d4d5d46822 Add Bantype ~a documentation and Add usermod +I and remote whois command documentation. 2012-03-06 02:14:55 +02:00
Nathan Phillip Brink 24f2f3b17e merge 2012-03-01 05:27:17 +00:00
Nathan Phillip Brink 72b36e893b - Minor documentation typos, thanks warg (#4094). 2012-03-01 05:12:52 +00:00
Nathan Phillip Brink 4640b4c9ca - Minor documentation typos, thanks warg (#4094). 2012-03-01 05:10:14 +00:00
Bram Matthys 1a76eb59e5 - Speed optimization: First, moved a large part of vsendto_prefix_one into
vmakebuf_local_withprefix. Then use this new function - which creates the
  buffer-to-be-sent - at the top of functions like sendto_channel_butserv
  and sendto_common_channels and send the prepared buffer in the loop that
  comes after it. This means we only prepare the buffer once and then send
  it many times, rather than both building and sending it XYZ times.
  Benchmarking connect-join-quit of 10k clients:
  100 users per channel: no noticeable speed improvement
  1000 users per channel: 18% faster
  10000 users in one channel: 50% faster
  As you can see, unfortunately, for a typical irc network there isn't much
  speed improvement. However, if you have a couple of 500+ user channels or
  get attacked by clones then you may see some improvement in speed and/or lower
  CPU usage.
2012-02-27 15:20:07 +01:00
Bram Matthys 245dea0a70 last change to poll patch for the day.. fixing my own fix ;) 2012-02-26 18:47:33 +01:00
Bram Matthys d1ad60990f changelog entry for all previous commits:
- UnrealIRCd now supports poll() instead of select().
  There are some minor speed benefits if you have more than 1K or 2K
  clients, however the main noticeable difference is that on Linux you can
  now easily enter a higher maximum connection count than 1024 in ./Config,
  without having to edit system header files.
  Of course, you still need to be allowed to use the # of sockets (type
  'ulimit -n' on the shell).
  Support for this is experimental at this stage, but enabled by default
  so it can receive all the testing it deserves. If all goes well, it will
  be the default for 3.2.10.
  Stress testing is very much welcomed!
2012-02-26 18:40:12 +01:00
Bram Matthys 8dd4160c78 make c-ares use 100% poll. and make sure we never deal with negative fds. 2012-02-26 18:25:49 +01:00
Bram Matthys 722064b6f7 Some more changes and fixes regarding poll patch:
* use get_client_by_pollfd() function instead of pollfd_to_client[]
  directly, so we can easily find and debug any mistakes.
* add some commenting
* add extra debugging and core dumping if fd or slot values are out of bounds
* fix race condition in read_authports() where send_authports() 2 lines up
  could have closed the socket, resulting in a read from fd -1.
  NOTE: I've updated the select (non-poll) code as well, should be harmless.
2012-02-26 16:16:06 +01:00
Bram Matthys 02ae61dd29 regarding poll patch:
* move all (re-)initalization to reset_pollfd(), i'm
much more comfortable with that as it aids debugging a lot.
* add parenthesis.

update my own fd check code for poll support
2012-02-26 15:43:02 +01:00
Bram Matthys 5dd1454489 - Added patch from Adam for poll() support (#1245). 2012-02-26 15:28:29 +01:00
Bram Matthys 9c12b0e896 - Even when 'M' was listed in set::oper-only-stats you could still do a
'/STATS m'. Unlike other stats characters, case insensitivity was not
  checked for this one. Reported by and patch from Apocalypse (#4086).
2012-02-26 10:29:20 +01:00
Bram Matthys 719c0f73ae - Moved nospoof to config file, suggested by and patch from nenolod (#4078).
This means ping cookies are now controlled by set::ping-cookie [yes|no].
  The default is 'yes' (enabled).
2012-02-26 10:22:19 +01:00
Bram Matthys c46024fa2d - Make the accept code check if the fd is within bounds instead of relying
on OpenFiles to be correct. This fixes a crash when f.e. 3rd party modules
  have files open but don't increase OpenFiles. Might also fix a curl crash,
  though nobody ever reported one.
2012-02-26 10:09:25 +01:00
Bram Matthys 2e2eea8146 - Added doc/example.es.conf, translated by Severus_Snape. 2012-02-08 18:44:37 +01:00
Bram Matthys 42a30007e7 Donators 2012-02-08 18:16:33 +01:00
Thomas Fargeix 61a94fb5bd - Add usermod +I and remote whois command documentation. (r4988)
- Get rid of networks/ references. (r4990)
2012-01-25 21:04:09 +01:00
Bram Matthys 7ad515fb38 - Get rid of networks/ directory, and all references to it. Suggested by
katsklaw and others (#4056).
2012-01-22 17:09:10 +01:00
Bram Matthys 60bad142e0 - Added remove_oper_modes(), which works just like remove_oper_snomasks(),
and ensures that the user does not have any ircop-only user modes after
  de-opering. This (only) fixes the just added +I umode case, but could
  also prevent future bugs.
2012-01-22 16:52:28 +01:00
Bram Matthys c597c90f4a - New user mode +I (IRCOp only) which hides idle times to other users,
suggested and patch supplied by Nath & binki (#3953).
2012-01-22 16:32:28 +01:00
Bram Matthys b9137af15c - Advertise 'tls' (STARTTLS) capability in CAP. Patch from nenolod (#4081). 2012-01-22 16:03:30 +01:00
Bram Matthys 2df00337d4 - Fix issue with CAP & NOSPOOF. Patch from nenolod (#4077). 2012-01-22 16:01:00 +01:00
Bram Matthys d530dbd43d - Add CAP support. Currently implemented are: multi-prefix (NAMESX), and
userhost-in-names (UHNAMES). Patch from nenotopia (#4018, #4066)
2012-01-20 21:25:59 +01:00
Thomas Fargeix 2b0d66498d - Add Bantype ~a documentation.
- Fix the snomask example.
2012-01-19 19:37:55 +01:00
Nathan Phillip Brink d8a6b6e512 Run ./autogen.sh per 6518968ca480. 2012-01-03 05:50:38 +00:00
Bram Matthys acc011337a - Ditch vsyslog() as it's only a waste of CPU, inspired by #4065. 2012-01-02 22:46:18 +01:00
Nathan Phillip Brink d9e83f70e3 - Fix misuse of stdarg.h macros when calling vsyslog() (#4065 by Jimini). 2012-01-02 20:20:07 +00:00
Bram Matthys 1adc59893d heh ;) 2011-12-28 18:48:46 +01:00
Bram Matthys 9ae963e1fe - Make default service stamp 0 (zero) again, instead of '*' which was
introduced by ESVID changes a few days ago. This makes anope happy,
  and also means nothing will change in a non-ESVID scenario.
2011-12-28 18:39:43 +01:00
Nathan Phillip Brink 23516d8e99 - Enforce matching of unrealircd version and PACKAGE_VERSION macros (#4014).
Now the UNREAL_VERSION_GENERATION, UNREAL_VERSION_MAJOR,
UNREAL_VERSION_MINOR, and UNREAL_VERSION_SUFFIX macros are
autogenerated from PACKAGE_VERSION.
2011-12-26 17:23:36 +00:00
Bram Matthys 9ed1e4fa02 - Throw up an error if a password in the configuration file is too long
(max 48 characters), reported by JasonTik, based on patch from
  WolfSage (#3223).
2011-12-25 16:58:18 +01:00
Bram Matthys 82f9cf54bb extban ~a = also allowed for invex 2011-12-25 16:42:17 +01:00
Bram Matthys 83527ba76d compile fix for just-checked-in patches. 2011-12-25 16:28:58 +01:00
Bram Matthys 3b6bbdc038 - Updated extended ban documentation in help.conf and unreal32docs:
new bantype ~a, and some text about extended bans & invex (+I).
2011-12-25 16:22:07 +01:00
Bram Matthys c1af7ca274 - Added extended ban ~a:<account name> which matches users who are logged
in to services with that account name. This works only on services that
  support ESVID. Patch from nenotopia (#3966).
2011-12-25 14:40:33 +01:00
Bram Matthys d512f79a6a - Show account name in /WHOIS, for ESVID-capable services packages, patch from nenotopia (#3966). 2011-12-25 14:29:03 +01:00
Bram Matthys d272d2d6a0 - Services coders: Added support for ESVID. Instead of a number you can
now store a string (of max NICKLEN size) as service stamp. See
  protoctl.txt and serverprotocol.html in doc/technical for more
  information.
  Patch from nenotopia (#3966).
2011-12-25 14:26:53 +01:00
Bram Matthys e8244902f8 - Tweak: send actual channel name and not user supplied channel in KICK, reported and patch by Stealth (#3298). 2011-12-25 14:06:19 +01:00
Bram Matthys 316828edf8 - Config parser failed to check for invalid set::ssl options, reported and patch by fbi (#4035). 2011-12-25 13:20:19 +01:00
Bram Matthys aa0af2ddd2 - Fix small error in oper block documentation, reported by Stealth (#2318). 2011-12-25 13:15:49 +01:00
Bram Matthys 0e4d604c04 - Added patch from nenotopia to use more modern LUSERS numerics (#3967). 2011-12-25 12:55:02 +01:00
Nathan Phillip Brink 5a57a8f496 - Include CMDS=STARTTLS in ISUPPORT/numeric 005 to let clients discover STARTTLS support through VERSION, before or after registration (#4064). 2011-12-20 22:27:16 +00:00
Nathan Phillip Brink 2ffa9a174f - Fix version string in configure.ac. 2011-11-14 03:40:27 +00:00
Nathan Phillip Brink 0ff0b04a56 - Fix compilation issues with bundled tre and ./curlinstall-ed curl caused by over-generic regexes. Reported by warg. 2011-11-12 06:58:34 +00:00
Nathan Phillip Brink 9299b781f6 - Attempt to make Makefile rules more parallelism friendly. 2011-11-10 05:37:16 +00:00
Nathan Phillip Brink b753c28bec - Fix compilation issue when disabling stacked extbans. https://bugs.gentoo.org/389949 2011-11-09 17:21:39 +00:00
Nathan Phillip Brink cc5e2bc414 - Automatically regenerate Makefile if ./config.status --recheck was run. 2011-11-09 17:16:55 +00:00
Bram Matthys ad81d0b049 Added tag unreal3_2_9 for changeset 9a1784c699d1 2011-11-05 10:24:37 +01:00
Bram Matthys 5298c36d64 some last-minute text fixes 2011-11-05 10:11:58 +01:00
Bram Matthys 095a52e630 Update wircd.def for 3.2.9 release 2011-11-05 10:05:25 +01:00
Bram Matthys 6ab9d06a6c Manually update UNREAL_VERSION_TIME to 201144 2011-11-05 09:58:17 +01:00
Bram Matthys d19bce6c42 ** 3.2.9 release ** 2011-11-05 09:54:12 +01:00
Bram Matthys 9b3e65c6e7 - Updated credits (supporters, coders) 2011-09-11 18:13:35 +02:00
Bram Matthys 879d32064c - Updated credits (donations) 2011-09-07 10:06:27 +02:00
Thomas Fargeix (Alef) deb00ef4ef Add a files {} block to example.fr.conf 2011-07-21 14:12:55 +02:00
152 changed files with 17755 additions and 23444 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
Configuration Program
for Unreal3.2.9-RC2
for Unreal3.2.10.7
This program will help you to compile your IRC server, and ask you
questions regarding the compile-time settings of it during the process.
+149 -102
View File
@@ -1,117 +1,164 @@
Unreal3.2.9-RC2 Release Notes
============================
Unreal3.2.10.7 Release Notes
=============================
==[ UNREALIRCD 3.2.X IS DEPRECATED ]==
You are currently viewing the release notes of UnrealIRCd 3.2.10.7.
UnrealIRCd 3.2.* will no longer be supported after December 31, 2016.
You should upgrade to UnrealIRCd 4 before that date.
See https://www.unrealircd.org/docs/UnrealIRCd_3.2.x_deprecated
==[ GENERAL INFORMATION ]==
- If you are upgrading on *NIX, make sure you run 'make clean' and './Config'
first, before doing 'make'
- The official UnrealIRCd documentation is doc/unreal32docs.html
online version at: http://www.vulnscan.org/UnrealIRCd/unreal32docs.html
FAQ: http://www.vulnscan.org/UnrealIRCd/faq/
- If you are upgrading on *NIX, then make sure you run 'make clean' and
'./Config' first, before running 'make'.
- The official UnrealIRCd 3.2.x documentation is available online at
https://www.vulnscan.org/UnrealIRCd/unreal32docs.html
FAQ: https://www.vulnscan.org/UnrealIRCd/faq/
Read them before asking for help.
- Report bugs at http://bugs.unrealircd.org/
- When upgrading a network, we assume you are upgrading from the previous
version (3.2.8/3.2.8.1). Upgrading from 3.2.6 or 3.2.7 should also be no problem.
- The purpose of the sections below (NEW, CHANGED, MINOR, etc) is to be a SUMMARY
of the changes in this release. There have been 160+ changes, twice as much
as usual for a release, hence this summary is a bit long too.
For the FULL list of changes, see the Changelog.
- If you previously used CVS to access the development version of UnrealIRCd,
you now need to use Mercurial, see see http://www.unrealircd.com/hgmove
- Report bugs at https://bugs.unrealircd.org/
- The purpose of the sections below (NEW, CHANGED, MINOR, etc) is to be a
SUMMARY of the changes in this release. See the file 'Changes' for a
complete list of all changes.
==[ .7 RELEASE ]==
The following issue was fixed in 3.2.10.7:
- Fix SASL EXTERNAL security issue
==[ .6 RELEASE ]==
The following has been addressed in 3.2.10.6:
- Add notes regarding deprecation of 3.2.x series
- Build with latest OpenSSL to fix crash issue (Windows)
- Don't show vcredist dialog if installed (Windows installer)
==[ .5 RELEASE ]==
The following issues have been fixed in 3.2.10.5:
- Crash when SASL is enabled (set::sasl-server)
- A compile problem with LibreSSL
==[ .4 RELEASE ]==
Two major issues were fixed:
- Compile problems when using clang instead of gcc (such as on FreeBSD & OS X)
- For services who allow you to log in by account name but still allow you to
use a different nick: when you're logged in you are now considered
registered as far as mode +M and +R are concerned.
Tech: whenever services set SVID and it's not * and does not start with a
number, then we consider this user to be 'logged in'.
Whenever a user is set +r (s)he is also considered 'logged in'.
This way it's compatible with both older and new services and doesn't
(or shouldn't) introduce security issues with older services using
servicetimestamp for nick tracking or other means.
Additionally:
- curl-ca-bundle.crt has been updated to use latest certificates
- The Windows libraries (OpenSSL, curl, ..) have been updated.
==[ .3 RELEASE ]==
The following issues have been fixed in 3.2.10.3:
- Crash when SASL is enabled and ping-cookie is disabled
- Compile issue with remote include
- OS X compile problems
- ./unreal backtrace not always working well
Changes:
- For silenced users we now only check the current nick!user@host
- Server to server links now use latest TLS (eg: v1.2) instead of SSLv3
New:
- Added set::spamfilter::stop-on-first-match (default yes). You can change
this to 'no' to have UnrealIRCd continue processing all spamfilters even
after the first match. The spamfilter with the 'gravest action' wins
(eg: gzline wins from block).
==[ .2 RELEASE ]==
The following major issues were present in 3.2.10 & 3.2.10.1 and have
been fixed in this version:
- A remote crash issue when compiled with SSL (NULL pointer dereference)
- A second issue that can potentially lead to a crash (read-after-free)
In addition to these 3.2.10.x fixes there were also some other bugs fixed,
mostly in the area of server linking and flood hardening.
The external libraries of the Windows version have been updated (openssl,
c-ares, zlib). The bundled c-ares source (for *NIX) has been updated too.
==[ .1 RELEASE ]==
The following bugs in version 3.2.10 were fixed in this 3.2.10.1 release:
- Windows only: outgoing connects from Windows caused severe linking issues,
including killing of (ghost) users on the Windows server.
- An issue where user modes were stripped from remote clients, this caused
a problem for Anope BotServ bots.
- A compile problem on OpenBSD.
- '/REHASH -global' did not rehash all servers.
- Some documentation updates.
==[ 3.2.10 RELEASE ]==
Below is a summary of all changes with respect to 3.2.9:
==[ NEW ]==
- Extban ~j: this only prevents a user from joining, once in he can speak freely.
- Extban ~R:<nick>: this ban only matches if <nick> is a registered user (has
identified to services). Especially useful in cases like: +e ~R:TrustedUser.
- Stacked Extended Bans:
- Extbans are now split in two groups:
- Ones that specify which user actions are affected (group 1):
~q (quiet), ~n (nick change), ~j (join)
- Ones that introduce new criteria that can be used (group 2):
~c (channel), ~r (realname), ~R (registered)
- With stacked extbans you can combine an extban of the first group with the second
For example: ~q:~c:#lamers would quiet all users who are also in #lamers
- Extended Invex: very much like extended bans, but for +I (Invite Exception).
Currently supported are: ~c (channel, ~r (realname) and ~R (registered) [=group 2]
Possible useful uses are setting a channel +i (invite only) and then setting
+I ~c:#trustedchan (or even: +I ~c:+#trustedchan) while still retaining the ability
to easily ban users through +b.
- Channel Mode +Z: indicates whether a channel is 'secure' or not.
This channel mode works in conjunction with +z (lower case z).
While +z (normally) prevents new non-SSL users from joining, sometimes they
can still join, like when after a netsplit the channels merge again.
When all users on the channel are connected through SSL, the channel is set +Z
by the server. Whenever an insecure user joins, the channel is put -Z.
- Remote MOTD support: you can now specify an URL instead of a file
- Automatic installation of curl (w/c-ares) if you answer 'Yes' to remote includes
- One can now rehash ALL servers with the command '/REHASH -global'. This can be
particularly useful if you use remote includes or MOTD's. NetAdmin only command.
- files { } block by which you can configure the location of the tune file, pid, etc
- STARTTLS: On an IRCd compiled with SSL support this allows a client to start a SSL
session on a regular non-SSL port (like 6667). Only supported by a few IRC clients.
Can be disabled by setting set::ssl::options::no-starttls
- set::uhnames: this allows one to turn UHNAMES off ('no'), which can be a good idea
if you have channels with more than 1000 users, as otherwise the nicklist can take
several seconds to load. Defaults to on ('yes').
- IPv6 clones detection support: allow::ipv6-clone-mask determines the number of bits
used when comparing two IPv6 addresses to determine if allow::maxperip is exceeded.
This allows an admin to recognize that most IPv6 blocks are allocated to individuals,
who might each get a /64 IPv6 block. set::default-ipv6-clone-mask defaults to 64 and
provides default value for the allow blocks.
- The m_nopost module is now part of Unreal: this defends against the Firefox/
Javascript 'XPS attack' which uses HTTP POST to create dummy IRC bots.
- There have also been some behavior changes, which can be considered NEW, see
next section (CHANGED).
- Improved socket engine. This brings some performance improvements and
also makes it easier to configure a system to hold more than 1024
clients (no more editing of header files on Linux!).
- ESVID support: services can communicate the account name of the user
back to the IRCd. This only works on ESVID-capable services:
- Extban ~a:<accountname>: matches users who are logged in to services
with that account name.
- Show account name in /WHOIS
- CAP support: this enables clients to enable certain features more easily.
Can be disabled through set::options::disable-cap.
- Now that STARTTLS is advertised in CAP it is likely to be used more often.
- away-notify: informs clients of AWAY state changes of users on the same
channels, for clients that support this.
- account-notify: similar to away-notify, inform clients of changes in the
login status and account name used by other clients on the same channels.
- SASL support. To use this, and if your services support this, you point
set::sasl-server to your services server.
- Server-side MLOCK support: the IRCd will prevent channel mode changes
depending on the MLOCK setting in services. Requires special support
from services for this feature.
- User Mode +I (IRCOp only): hide idle time
- auth-method 'sslclientcertfp': authenticate users using an SSL client
certificate by the SHA256 fingerprint of that certificate.
The documentation has a new section (3.19) called 'Authentication Types'
which contains an (improved) example of how to use SSL client certificate
authentication instead of regular passwords.
- oper::require-modes: an optional setting, which can be used to require
users to have certain user modes (such as 'z') before they can /OPER up.
- allow/deny channel: you can now optionally specify a class here as an
extra filter.
- doc/example.es.conf: Spanish translation of example configuration file.
- There have also been some behavior changes, which can be considered NEW,
see next section (CHANGED).
==[ CHANGED ]==
- Channel Mode +z: due to the +z/+Z changes, some things have changed:
- +z can now be set even when insecure users are present
(the channel will then be set +Z when the last insecure user leaves)
- An oper previously had to invite himself and then join the channel
with the key 'override' to set -z. This is no longer needed.
The channel stays +z, but will be set -Z when the oper joins.
- Remote includes: if a remote include fails to load (eg: webserver down) then
the most recent (cached) version of that remote include will be used, and the
IRCd will still boot and be able to REHASH. This means it is now 'safe' to
use remote includes on a network, without risking problems like unable to
rehash in case of webserver problems.
- set::level-on-join now supports voice/halfop/protect/owner
- Backslashes (\) in MOTD/RULES files are no longer considered special, this
might mean that you have to change some escaped backslashes (\\) to \.
- '/REHASH -motd' really rehashes ALL MOTD/OPERMOTD/BOTMOTD/RULES files, both
the 'normal' files and the ones in tld { } blocks.
- The 'Compile as hub/leaf' choice is now gone, as it didn't do anything.
- Better document 'sslclientcert' in the Oper Block documentation.
This allows one to authenticate against a SSL certificate for /OPER, instead
of using a password.
- Anti-spoof protection (ping cookies) can now be enabled/disabled at
run-time through set::ping-cookie [yes|no]. The default is 'yes' (enabled).
- A quit with 'Ping timeout' now shows the number of seconds since the ping.
- Print out a warning if we can't write to a log file.
- Refuse to boot if we can't write to ANY log file.
- Windows: if an SSL certificate exists, then uncheck the 'generate SSL
certificate' checkbox by default.
- *NIX with SSL: We now ask in ./Config if you want to generate an SSL
certificate. The certificate is then copied when you run 'make install'.
==[ MAJOR BUGS FIXED ]==
- If you have autoconnect with a low connfreq, previously you often risked getting
'Server exists' errors and 'breaking' the network. Now, the server handshake has
been redesigned which means this will no longer happen. You can now safely have
a low connfreq of - for example - 10 seconds.
- Windows: 'Permission denied' errors when starting Unreal
- A crash on some new Linux systems when replacing .so files
- Solaris & QNX: Compile problems
- IPv6: admins no longer have to tweak sysctl, like on FreeBSD & newer Linux systems
- IPv6: IPv4 ip's in link::bind-ip did not work properly which made the IRCd either
not bind to the correct IP, or - like on FreeBSD - made it unable to link at all.
- A very rare crash on outgoing connect
- Windows SSL crash (this issue was already fixed in 3.2.9-SSL-fix)
- Other than that, none?
==[ MINOR BUGS FIXED ]==
- autoconnect not working if TS offset was negative (for the duration of the offset)
- CGI:IRC & IPv6: sometimes a users' IP was incorrectly formatted, causing 'ghosts'
- Mac OS X: permission problems
- Several installation issues with curl
- SSL: No more 'Underlying syscall error', the actual error is now shown
- And many more... see Changelog
- Various compile problems, in particular with remote includes enabled.
- Windows: the installer sometimes insisted that the Visual C++ 2008
redistributable package was not installed, when it actually was there.
- Windows: MOTD file date/time was always showing up as 1/1/1970.
- And more... see Changelog
==[ REMOVED / DROPPED ]==
- Windows 9X is no longer supported
- The networks/ directory has been removed
==[ KNOWN ISSUES ]==
- Regexes: Be careful with backreferences (\1, etc), certain regexes can slow the
IRCd down considerably and even bring it to a near-halt. In the spamfilter user
target it's usually safe though. Slow spamfilter detection can help prevent the
slowdown/freeze, but might not work in worst-case scenario's.
- Regexes: Possessive quantifiers such as, for example, "++" (not to be confused
with "+") are not safe to use, they can easily freeze the IRCd.
- Regexes: Be careful with backreferences (\1, etc), certain regexes can
slow the IRCd down considerably and even bring it to a near-halt.
In the spamfilter user target it's usually safe though.
Slow spamfilter detection can help prevent the slowdown/freeze, but
might not work in worst-case scenario's.
- Regexes: Possessive quantifiers such as, for example, "++" (not to be
confused with "+") are not safe to use, they can easily freeze the IRCd.
==[ ADDITIONAL INFO ]==
* See Changelog for more details
- See Changelog for more details
+13
View File
@@ -7,12 +7,25 @@ syntax: regexp
^src/include$
^src/version\.c$
^unreal$
^server\.(cert|key|req)\.pem$
# extras archives and builds
^extras/[^/]*\.(bak|tar)$
^extras/[^/]*\d/
^extras/(c-ares|regexp)/
# running unrealircd from the source directory
^ircd\.(log|pid|tune)$
^ssl\.rnd$
# General
\.(o|so|orig|rej)$
~$
(^|/)core(\.\d+)?$
# autotools
^aclocal\.m4$
^autom4te\.cache/
^config\.(status|log)$
# not quite autotools
+6 -2308
View File
File diff suppressed because it is too large Load Diff
+2523 -4835
View File
File diff suppressed because it is too large Load Diff
+4844
View File
File diff suppressed because it is too large Load Diff
+62 -45
View File
@@ -45,9 +45,6 @@ if [ "$DISABLEEXTBANSTACKING" = "1" ]; then
ARG="$ARG--with-disable-extendedban-stacking ";
fi
fi
if [ "$NOSPOOF" != "1" ] ; then
ARG="$ARG--disable-nospoof "
fi
if [ "$CRYPTOIRCD" = "1" ] ; then
if test x"$SSLDIR" = "x" ; then
ARG="$ARG--enable-ssl "
@@ -91,9 +88,43 @@ cd "$UNREALCWD"
if [ "$CRYPTOIRCD" = "1" ] ; then
if [ ! -f server.req.pem ]; then
export OPENSSLPATH
make pem
cat .SICI
read cc
TEST=""
while [ -z "$TEST" ] ; do
if [ "$GENCERTIFICATE" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want to generate an SSL certificate for the IRCd?"
echo "Only answer No if you already have one."
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
GENCERTIFICATE="1"
;;
[Nn]*)
GENCERTIFICATE=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
if [ "$GENCERTIFICATE" = 1 ]; then
make pem
cat .SICI
read cc
else
echo "Ok, not generating SSL certificate. Make sure that the certificate and key"
echo "are installed as server.crt.pem and server.key.pem prior to starting the IRCd."
fi
else
echo "SSL certificate already existing, no need to regenerate"
fi
@@ -310,7 +341,6 @@ done
c=""
n=""
UNREALCWD="`pwd`"
NOSPOOF="1"
DPATH="`pwd`"
SPATH="`pwd`/src/ircd"
DEFPERM="0600"
@@ -334,6 +364,7 @@ NOOPEROVERRIDE=""
DISABLEUSERMOD=""
OPEROVERRIDEVERIFY=""
DISABLEEXTBANSTACKING=""
GENCERTIFICATE="1"
EXTRAPARA=""
if [ "`eval echo -n 'a'`" = "-n a" ] ; then
c="\c"
@@ -341,6 +372,23 @@ else
n="-n"
fi
date|grep 2015 1>/dev/null 2>&1
if [ "$?" -ne 0 ]; then
echo "*** WARNING ***"
echo "UnrealIRCd 3.2.x will no longer be supported after December 31, 2016."
echo "You should upgrade to UnrealIRCd 4 before that date."
echo "See https://www.unrealircd.org/docs/UnrealIRCd_3.2.x_deprecated"
echo $n . $c
sleep 1
echo $n . $c
sleep 1
echo $n . $c
sleep 1
echo $n . $c
sleep 1
echo ""
sleep 1
fi
#parse arguments
NOCACHE=""
@@ -378,6 +426,12 @@ while [ $# -ge 1 ] ; do
shift 1
done
date|grep 2015 1>/dev/null 2>&1
if [ "$?" -ne 0 ]; then
echo $n "[Enter to continue]"
read cc
fi
if [ -f "config.settings" -a -z "$NOCACHE" ] ; then
. ./config.settings
fi
@@ -407,43 +461,6 @@ clear
clear
fi
TEST=""
while [ -z "$TEST" ] ; do
if [ "$NOSPOOF" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Many older operating systems have an insecure TCP/IP stack"
echo "which may be vulnerable to IP spoofing attacks, if you run"
echo "an operating system that is vulnerable to such attacks"
echo "enable this option."
echo "This option also prevents blind proxies (eg: HTTP POST proxies)"
echo "and other blind clients from connecting (eg: protects against"
echo "the Firefox XPS IRC Attack)."
echo ""
echo "Do you want to enable the server anti-spoof protection?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
NOSPOOF="1"
;;
[Nn]*)
NOSPOOF=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST="$DPATH"
echo ""
echo "What directory are all the server configuration files in?"
@@ -960,7 +977,6 @@ fi
rm -f config.settings
cat > config.settings << __EOF__
#
NOSPOOF="$NOSPOOF"
DPATH="$DPATH"
SPATH="$SPATH"
INET6="$INET6"
@@ -984,6 +1000,7 @@ NOOPEROVERRIDE="$NOOPEROVERRIDE"
DISABLEUSERMOD="$DISABLEUSERMOD"
OPEROVERRIDEVERIFY="$OPEROVERRIDEVERIFY"
DISABLEEXTBANSTACKING="$DISABLEEXTBANSTACKING"
GENCERTIFICATE="$GENCERTIFICATE"
EXTRAPARA="$EXTRAPARA"
ADVANCED="$ADVANCED"
__EOF__
+17 -14
View File
@@ -138,16 +138,16 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
custommodule:
@if test -z "${MODULEFILE}"; then echo "Please set MODULEFILE when calling \`\`make custommodule''. For example, \`\`make custommodule MODULEFILE=callerid''." >&2; exit 1; fi
cd src; ${MAKE} ${MAKEARGS} MODULEFILE=${MODULEFILE} 'EXLIBS=${EXLIBS}' custommodule
+cd src; ${MAKE} ${MAKEARGS} MODULEFILE=${MODULEFILE} 'EXLIBS=${EXLIBS}' custommodule
server:
build:
server: Makefile
build: Makefile
-@if [ ! -f include/setup.h ] ; then \
echo "Hmm...doesn't look like you've run Config..."; \
echo "Doing so now."; \
sh Config; \
fi
@for i in $(SUBDIRS); do \
@+for i in $(SUBDIRS); do \
echo "Building $$i";\
( cd $$i; ${MAKE} ${MAKEARGS} build; ) \
done
@@ -167,7 +167,7 @@ build:
clean:
$(RM) -f *~ \#* core *.orig include/*.orig
@for i in $(SUBDIRS); do \
@+for i in $(SUBDIRS); do \
echo "Cleaning $$i";\
( cd $$i; ${MAKE} ${MAKEARGS} clean; ) \
done
@@ -176,7 +176,7 @@ clean:
fi
cleandir: clean
rm -rf include/networks.h include/setup.h Makefile Settings
rm -rf include/setup.h Makefile Settings
makex:
chmod +x Config newnet ircd ircdcron/ircdchk killircd
@@ -199,7 +199,7 @@ stamp: makedist
echo "" >> include/stamp.h
depend:
@for i in $(SUBDIRS); do \
@+for i in $(SUBDIRS); do \
echo "Making dependencies in $$i";\
( cd $$i; ${MAKE} ${MAKEARGS} depend; ) \
done
@@ -207,10 +207,6 @@ depend:
install: all
$(INSTALL) -m 0700 -d $(IRCDDIR)
$(INSTALL) -m 0700 src/ircd $(BINDIR) 2>/dev/null || { $(INSTALL) -m 0700 -d "$$(dirname '$(BINDIR)')"; $(INSTALL) -m 0700 src/ircd $(BINDIR); }
$(INSTALL) -m 0700 -d $(IRCDDIR)/networks
$(INSTALL) -m 0600 networks/*.network $(IRCDDIR)/networks
$(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/example.conf doc/coding-guidelines doc/tao.of.irc doc/unreal32docs.html $(IRCDDIR)/doc
$(INSTALL) -m 0700 -d $(IRCDDIR)/aliases
@@ -228,17 +224,22 @@ install: all
-@if [ ! -f "$(IRCDDIR)/curl-ca-bundle.crt" ] ; then \
$(INSTALL) -m 0700 curl-ca-bundle.crt $(IRCDDIR) ; \
fi
-@if [ server.cert.pem -nt "$(IRCDDIR)/server.cert.pem" ] ; then \
$(INSTALL) -m 0600 server.req.pem $(IRCDDIR) ; \
$(INSTALL) -m 0600 server.key.pem $(IRCDDIR) ; \
$(INSTALL) -m 0600 server.cert.pem $(IRCDDIR) ; \
fi
pem: src/ssl.cnf
@echo "Generating certificate request .. "
$(OPENSSLPATH) req -new \
-config src/ssl.cnf -out server.req.pem \
-config src/ssl.cnf -sha256 -out server.req.pem \
-keyout server.key.pem -nodes
@echo "Generating self-signed certificate .. "
$(OPENSSLPATH) req -x509 -days 365 -in server.req.pem \
$(OPENSSLPATH) req -x509 -days 3650 -sha256 -in server.req.pem \
-key server.key.pem -out server.cert.pem
@echo "Generating fingerprint .."
$(OPENSSLPATH) x509 -subject -dates -fingerprint -noout \
$(OPENSSLPATH) x509 -subject -dates -sha256 -fingerprint -noout \
-in server.cert.pem
@echo "Setting o-rwx & g-rwx for files... "
chmod o-rwx server.req.pem server.key.pem server.cert.pem
@@ -255,3 +256,5 @@ encpem: server.key.pem
rm -f server.key.c.pem ; \
fi
Makefile: config.status Makefile.in
./config.status
+11 -8
View File
@@ -1,5 +1,5 @@
===============================================
= UnrealIRCd v3.2.9-RC2 =
= UnrealIRCd v3.2.10.7 =
===============================================
This release was brought to you by:
@@ -13,14 +13,17 @@
Contributors:
=============
* Bock
* goldenwolf
* katsklaw
* Heero
* nenolod
* Adam
* warg
* Stealth
RC Testers:
===========
LqidSkin, goldenwolf, katsklaw, nph, selten, Simplicity
* WolfSage
* katsklaw
* darkex
* fspijkerman
* fbi
* Apocalypse
Previous coders:
================
+2 -2
View File
@@ -109,11 +109,11 @@ AC_DEFUN([CHECK_LIBCURL],
AS_IF([test "x`echo $CURLLIBS |grep ares`" != x && test "x$with_system_cares" = "xno"],
[
dnl Attempt one: Linux sed
XCURLLIBS="`echo "$CURLLIBS"|sed -r 's/(@<:@^ @:>@+ @<:@^ @:>@+ )(@<:@^ @:>@+ @<:@^ @:>@+ )(.+)/\1\3/g' 2>/dev/null`"
[XCURLLIBS="`echo "$CURLLIBS"|sed -r 's/[^ ]*ares[^ ]*//g' 2>/dev/null`"]
AS_IF([test "x$XCURLLIBS" = "x"],
[
dnl Attempt two: FreeBSD (and others?) sed
XCURLLIBS="`echo "$CURLLIBS"|sed -E 's/(@<:@^ @:>@+ @<:@^ @:>@+ )(@<:@^ @:>@+ @<:@^ @:>@+ )(.+)/\1\3/g' 2>/dev/null`"
[XCURLLIBS="`echo "$CURLLIBS"|sed -E 's/[^ ]*ares[^ ]*//g' 2>/dev/null`"]
AS_IF([test x"$XCURLLIBS" = x],
[
AC_MSG_ERROR([sed appears to be broken. It is needed for a remote includes compile hack.])
Vendored
+593 -498
View File
File diff suppressed because it is too large Load Diff
+37 -14
View File
@@ -1,5 +1,16 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT([unrealircd], [3.2.8.1], [http://bugs.unrealircd.org/], [], [http://unrealircd.org/])
dnl When updating the version, remember to update the following files
dnl appropriately:
dnl
dnl include/win32/setup.h
dnl src/win32/unrealinst.iss
dnl docs/unreal32docs*.html
dnl Unreal.nfo
dnl .CHANGES.NEW
dnl src/version.c.SH
AC_INIT([unrealircd], [3.2.10.7], [http://bugs.unrealircd.org/], [], [http://unrealircd.org/])
AC_CONFIG_SRCDIR([src/ircd.c])
AC_CONFIG_HEADER([include/setup.h])
AC_CONFIG_AUX_DIR([autoconf])
@@ -10,6 +21,25 @@ if test "x$enable_dynamic_linking" = "x"; then
exit 1
fi
dnl Calculate the versions. Perhaps the use of expr is a little too extravagant
# Generation version number (e.g.: 3 for Unreal3*)
UNREAL_VERSION_GENERATION=["`expr $PACKAGE_VERSION : '\([^.]*\)\.[^.]*\.[^.-_]*'`"]
AC_DEFINE_UNQUOTED([UNREAL_VERSION_GENERATION], [$UNREAL_VERSION_GENERATION], [Generation version number (e.g.: 3 for Unreal3*)])
# Major version number (e.g.: 2 for Unreal3.2*)
UNREAL_VERSION_MAJOR=["`expr $PACKAGE_VERSION : '[0-9]*\.\([0-9]*\)\.[0-9]*'`"]
AC_DEFINE_UNQUOTED([UNREAL_VERSION_MAJOR], [$UNREAL_VERSION_MAJOR], [Major version number (e.g.: 2 for Unreal3.2*)])
# Minor version number (e.g.: 1 for Unreal3.2.1)
UNREAL_VERSION_MINOR=["`expr $PACKAGE_VERSION : '[0-9]*\.[0-9]*\.\([0-9]*\)'`"]
AC_DEFINE_UNQUOTED([UNREAL_VERSION_MINOR], [$UNREAL_VERSION_MINOR], [Minor version number (e.g.: 1 for Unreal3.2.1)])
# The version suffix such as a beta marker or release candidate
# marker. (e.g.: -rc2 for unrealircd-3.2.9-rc2). This macro is a
# string instead of an integer because it contains arbitrary data.
UNREAL_VERSION_SUFFIX=["`expr $PACKAGE_VERSION : '[0-9]*\.[0-9]*\.[0-9]*\(.*\)'`"]
AC_DEFINE_UNQUOTED([UNREAL_VERSION_SUFFIX], ["$UNREAL_VERSION_SUFFIX"], [Version suffix such as a beta marker or release candidate marker. (e.g.: -rc2 for unrealircd-3.2.9-rc2)])
AC_PROG_CC
if test "$ac_cv_prog_gcc" = "yes"; then
CFLAGS="$CFLAGS -funsigned-char"
@@ -63,6 +93,8 @@ AC_CHECK_LIB(socket, socket,
AC_CHECK_LIB(nsl, inet_ntoa,
[IRCDLIBS="$IRCDLIBS-lnsl "
INETLIB="-lnsl"])
AC_CHECK_LIB(crypto, RAND_egd,
AC_DEFINE(HAVE_RAND_EGD, 1, [Define if the libcrypto has RAND_egd]))
AC_SUBST(IRCDLIBS)
AC_SUBST(MKPASSWDLIBS)
@@ -77,7 +109,7 @@ AC_DEFINE(STATIC_LINKING)
])])
hold_cflags=$CFLAGS
CFLAGS="$CFLAGS -export-dynamic"
CFLAGS="$CFLAGS -Wl,-export-dynamic"
AC_CACHE_CHECK(if we need the -export-dynamic flag, ac_cv_export_dynamic, [
AC_TRY_LINK(, [int i];, ac_cv_export_dynamic=yes, ac_cv_export_dynamic=no)])
if test "$ac_cv_export_dynamic" = "no"; then
@@ -89,7 +121,7 @@ if test "$ac_cv_prog_gcc" = "yes"; then
ac_cv_pic="-fPIC -DPIC -shared"
case `uname -s` in
Darwin*[)]
ac_cv_pic="-bundle -flat_namespace -undefined suppress"
ac_cv_pic="-std=gnu89 -bundle -flat_namespace -undefined suppress"
;;
HP-UX*[)]
ac_cv_pic="-fPIC"
@@ -418,7 +450,6 @@ AC_CHECK_FUNCS(inet_ntoa,,AC_DEFINE([NEED_INET_NTOA], [], [Define if you need in
AC_CHECK_FUNCS(inet_netof,,AC_DEFINE([NEED_INET_NETOF], [], [Define if you need inet_netof]))
LIBS="$save_libs"
AC_CHECK_FUNCS(syslog,AC_DEFINE([HAVE_SYSLOG], [], [Define if you have syslog]))
AC_CHECK_FUNCS(vsyslog,AC_DEFINE([HAVE_VSYSLOG], [], [Define if you have vsyslog]))
AC_SUBST(STRTOUL)
AC_SUBST(CRYPTOLIB)
AC_SUBST(MODULEFLAGS)
@@ -460,14 +491,6 @@ AC_ARG_WITH(spath, [AS_HELP_STRING([--with-spath],[Specify the location of the e
[AC_DEFINE_UNQUOTED([SPATH], ["`pwd`/src/ircd"], [Define the location of the executable])
BINDIR="`pwd`/src/ircd"])
# enable nospoof by default; protects against javascript POST attacks and much more ;-)
AC_ARG_ENABLE([nospoof],
[AS_HELP_STRING([--disable-nospoof], [Disable spoofing protection (requires clients to respond to a randomly generated PING packet after USER and NICK but before using other commands)])],
[],
[enable_nospoof=yes])
AS_IF([test $enable_nospoof = "yes"],
[AC_DEFINE([NOSPOOF], [], [Define if you want spoof protection])])
AC_ARG_ENABLE([prefixaq],
[AS_HELP_STRING([--disable-prefixaq],[Enable chanadmin (+a) and chanowner (+q) prefixes])],
[],
@@ -573,7 +596,7 @@ dnl See c-ares's compilation section for more info on this hack.
dnl ensure that we're linking against the bundled version of tre
dnl (we only reach this code if linking against the bundled version is desired).
AS_IF([test -n "$ac_cv_path_PKGCONFIG"],
[TRE_LIBS="`$ac_cv_path_PKGCONFIG --static --libs tre.pc | sed ['s,-L\([^ ]\+lib\) -ltre,\1/libtre.a,']`"])
[TRE_LIBS="`$ac_cv_path_PKGCONFIG --static --libs tre.pc | sed -e ['s,-L\([^ ]*regex[^ ]*lib\)\( .*\)-ltre,\1/libtre.a \2,']`"])
dnl For when pkg-config isn't available -- or for when pkg-config
dnl doesn't see the tre.pc file somehow... (#3982)
AS_IF([test -z "$TRE_LIBS"],
@@ -589,7 +612,7 @@ AS_IF([test "x$with_system_cares" = "xno"],[
dnl REMEMBER TO CHANGE WITH A NEW C-ARES RELEASE!
dnl NOTE: when changing this here, ALSO change it in ./curlinstall
dnl and in the comment in this file around line 400!
cares_version="1.7.3"
cares_version="1.10.0"
AC_MSG_RESULT(extracting c-ares resolver library)
cur_dir=`pwd`
cd extras
+11
View File
@@ -0,0 +1,11 @@
#!/bin/sh
# This will generate a Changelog similar to our original style.
# New are: the name of the author, the date, and the short hash
# We still filter translated doc changes as to not polute the
# changelog too much.
hg log -r a673dd0f7b37: --style changelog --template '[{date|shortdate}] {author} ({node|short}):\n- {desc}\n\n' \
-b default -X 'doc/unreal32docs.*.html' -X 'doc/help.*.conf' -X 'doc/example.*.conf' -X 'include/version.h'|\
sed 's/^- - /- /g' >Changes
echo "Done. File 'Changes' now contains the full version history"
+868 -989
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -3,7 +3,7 @@ URL="http://www.unrealircd.com/files/curl-latest.tar.gz"
OUTF="curl-latest.tar.gz"
OUTD="curl-latest"
ARESPATH="`pwd`/extras/c-ares"
CARESVERSION="1.7.3"
CARESVERSION="1.10.0"
if [ ! -f "Unreal.nfo" ]; then
echo "Please run this program from your UnrealIRCd directory"
echo "(usually $HOME/Unreal3.2 or something like that)"
+6 -2
View File
@@ -2,7 +2,7 @@
* example.conf by Daniel Hawton AKA Osiris (osiris@unrealircd.org).
* $Id$
*
* Works for Unreal3.2 and up
* Works for Unreal3.2.x
*
* Okay guys. This is the new example.conf. Its look is much like C++, kinda.
* Anyway it is time to go over this. It's hard to pick up at first, but
@@ -161,10 +161,12 @@ allow {
* Syntax:
* allow channel {
* channel "channel name";
* class "clients"; (optional)
* };
*/
allow channel {
allow channel {
channel "#WarezSucks";
class "clients";
};
/*
@@ -710,11 +712,13 @@ deny dcc {
* deny channel {
* channel "(channel)";
* reason "reason";
* class "clients"; (optional)
* };
*/
deny channel {
channel "*warez*";
reason "Warez is illegal";
class "clients";
};
/*
+1 -1
View File
@@ -2,7 +2,7 @@
* example.conf von Daniel Hawton AKA Osiris (osiris@unrealircd.org).
* $Id$
*
* Arbeitet mit Unreal3.2 und darüber
* Arbeitet mit Unreal3.2.x
*
* Dies hier ist die neue example.conf. Sie ähnelt irgendwie ein wenig C++ und sie
* soll sie jedenfalls einmal erläutert werden. Es ist ein wenig schwer, erstmals
+842
View File
@@ -0,0 +1,842 @@
/*
* example.conf por Danial Hawton, alias Osiris (osiris@unrealircd.org).
* Traducido al castellano por Severus_Snape (javiersnape@gmail.com).
*
* Funciona desde Unreal3.2.x
*
* Ok. Este es el nuevo example.conf. Es muy similar a C++.
* De todas formas lleva tiempo hacer esto. En un principio, es dificil de comprender pero
* con un poco de práctica y lectura lo comprenderás.
*
* Simplemente copia este archivo al directorio principal de unrealircd y cambiale el nombre a 'unrealircd.conf'.
*
* NOTA: Todas las líneas, a excepción de la línea de apertura ( { ) terminan en ;, incluyendo la
* línea de cierre ( } ). El IRCd ignorará las lineas comentadas.
*
* ¡POR FAVOR LEE doc/unreal32docs.es.html! La versión online esta disponible en:
* www.vulnscan.org/UnrealIRCd/unreal32docs.es.html
* Contiene mucha información acerca del archivo de configuración: Da información acerca de
* cada bloque, variable, etc.
* ¡Si intentas editar este archivo sin leer bien la documentación
* estas destinado a fallar!
*/
/* Tipos de Comentarios */
#Comentario tipo 1 (Estilo Shell)
// Comentario tipo 2 (Estilo C++)
/* Comentario tipo 3 (Estilo C) */
#Estas líneas son ignoradas por el IRCd.
/*
* UnrealIRCd soporta módulos, cargar algunos de ellos es requerido.
* Al menos debes cargar el módulo de los comandos y un módulo de cifrado (cloaking).
*/
/* PARA *NIX, descomenta las siguientes 2 líneas: */
//loadmodule "src/modules/commands.so";
//loadmodule "src/modules/cloak.so";
/* PARA Windows, descomenta las siguientes 2 líneas: */
//loadmodule "modules/commands.dll";
//loadmodule "modules/cloak.dll";
/*
* Además pudes incluir otros archivos de configuración.
* help.conf contiene todo el contenido de /helpop. Los archivos badwords.*.conf
* contienen todas las entradas de badwords para el modo +G...
* spamfilter.conf contiene algunas buenas reglas para los troyanos actuales.
* Probablemente quieres incluirlos:
*/
include "help.conf";
include "badwords.channel.conf";
include "badwords.message.conf";
include "badwords.quit.conf";
include "spamfilter.conf";
/*
* NUEVO: me {}
* VIEJO: M:Line
* me {} define el nombre, la descripción y el número de servidor
* para este server. La Sintaxis es:
* me {
* name "nombre.del.servidor";
* info "Descripción del Servidor";
* numeric (número del servidor*);
* };
* * = Si estas enlazando este server, el número no debe ser usado por otro server en la red.
*/
me
{
name "irc.foonet.com";
info "FooNet Server";
numeric 1;
};
/*
* NUEVO: admin {}
* VIEJO: A:Line
* /Admin te da la información acerca del administrador del servidor. Tu
* puedes poner cuantas líneas quieras debajo de admin {.
* La sintaxis es:
* admin {
* "primera línea";
* "segunda línea";
* [etc]
* };
*/
admin {
"Bob Smith";
"bob";
"widely@used.name";
};
/*
* NUEVO: class {}
* VIEJO: Y:line (old was confusing)
* Esto define la configuración para las clases. Una clase es una configuración en grupo para las
* conexiones. Por ejemplo, las conexiones de los servidores, en vez de ir a la clase de los clientes.
* la diriges a la clase de servidores. La sintaxis es la siguiente:
* class (nombre de la clase)
* {
* pingfreq (que tan seguido pingueara a el servidor/cliente en segundos);
* maxclients (cuantas conexiones para esta clase);
* sendq (cola máxima de envios para la conexión);
* recvq (cola máxima de mensajes recibidos desde la conexión [Control de Flood]);
* };
*/
class clients
{
pingfreq 90;
maxclients 500;
sendq 100000;
recvq 8000;
};
class servers
{
pingfreq 90;
maxclients 10; /* Cantidad máxima de servers que podemos enlazar a la vez */
sendq 1000000;
connfreq 100; /* Cuentos segundos entre cada intento de conexión */
};
/*
* NUEVO: allow {}
* VIEJO: I:Line
* Esto define los permisos de las conexiones...
* Fundamentalmente para los clientes, les permite conectarse así tu puedes tener un poco de
* control y/o poner una contraseña.
* La sintaxis es la siguiente:
* allow {
* ip (IP/IPs a permitir);
* hostname (nombre de host);
* class (clase asignada a esta conexión [ver class {}]);
* password "(contraseña)"; (opcional)
* maxperip (cuantas conexiones por IP); (opcional)
* };
*/
allow {
ip *@*;
hostname *@*;
class clients;
maxperip 5;
};
/* allow {} con contraseña */
allow {
ip *@255.255.255.255;
hostname *@*.gente.fea.con.clave;
class clients;
password "f00Ness";
maxperip 1;
};
/*
* NUEVO: allow channel {}
* VIEJO: chrestrict
* Permite a un usuario unirse a un canal...
* como una expeción de deny channel.
* Sintaxis:
* allow channel {
* channel "#nombredelcanal";
* };
*/
allow channel {
channel "#WarezApestan";
};
/*
* NUEVO: oper {}
* VIEJO: O:Line
* Define a un Operador de IRC
* Los Operadores de IRC estan para mantener al servidor "sano" y usualmente
* mantenerlo y tenerlo conectado a la red.
* La sintaxis es la siguiente:
* oper (login) {
* class (clase para ponerlos, si es difirente de la que esta en allow {], los mueve a la nueva clase);
* from {
* userhost (ident@host);
* userhost (ident@host);
* };
* flags
* {
* (las flags aqui*);
* };
* O
* flags "flags antiguas como, OAaRD";
* };
*/
/* Para una lista de banderas de operador, lea doc/unreal32docs.es.html#operblock
* [lectura ALTAMENTE recomendada]
*/
oper bobsmith {
class clients;
from {
userhost bob@smithco.com;
};
password "f00";
flags
{
netadmin;
can_zline;
can_gzline;
can_gkline;
global;
};
};
/*
* NUEVO: listen {}
* VIEJO: P:Line
* Esto define el puerto/IP a el que el IRCd debe escuchar y unirse, esto
* permite a los usuarios/servidores conectarse al servidor.
* La sintaxis es:
* listen (Dirección IP):(número de puerto)
* {
* options {
* (opciones aqui);
* };
* };
* o simplemente
* listen: listen (ip):(puerto);
*
* NOTA: para IPs IPv6 (3ffe:b80:2:51d::2, etc.), use listen [ip]:puerto;
*
* Eso también funciona.
*/
/* Opciones para listen {}:
VIEJAS | NUEVAS | SIGNIFICADO
S serversonly Sólo Servidores
C clientsonly Sólo Clientes
J java Sólo Clientes Java
s ssl Conexion Cifrada (SSL)
* standard Standard
*/
/* NOTA EN PUERTOS SSL: Los puertos SSL no están estandarizados,
* muchos puertos SSL estan en números muy altos, algunas personas dicen que deberias hacerlo
* en el puerto 994 por que ese es el puerto SSL oficial... ¡pero eso
* requiere acceso root! Además, el puerto 194 es el puerto oficial de IRC... y
* has visto alguna vez ver un IRCd corriendo en ese puerto? Usan el 6667.
* Asi que, nuestra sugerencia es que uses el puerto 6697 para SSL, ese puerto es usado por
* una cantidad de redes decente y es reconozido por ejemplo: por StunTour.
* Además eres libre de abrir cuantos puertos SSL quieras, pero
* correr uno en 6697 ayudaría al mundo a estandarizarlo un poco mas :).
*/
listen *:6697
{
options
{
ssl;
clientsonly;
};
};
listen *:8067;
listen *:6667;
/* NOTA: Si estas en shell IRCd con multiples IPs, normalmente
* obtendras un error como 'La dirección ya esta en uso/Address already in use' en tus logs
* y el IRCd no iniciará. Esto significa que tu DEBES unir el IRCd
* a una IP específica en vez de '*', por ejemplo:
* listen 1.2.3.4:6667;
* Obviamente, reemplaza esa IP con la IP que se te fue asignada.
*/
/*
* NUEVO: link {}
* VIEJO: C/N:Lines
* Esto define los enlazes entre servidores.
* NOTA: ¡LOS DOS SERVIDORES NECESITAN UN BLOQUE LINK {} PARA ENLAZARSE BIEN!
* La sintaxis es:
* link (nombre.del.servidor)
* {
* username (nombre de usuario, * también funciona);
* hostname (dirección IP/máscara de host);
* bind-ip (A que IP unirse cuando se estan enlazando, o *);
* port (Puerto al cual conectarse);
* hub (Si esto es un hub, * funciona.);
* [o leaf *;]
* password-connect "(contraseña a enviar)";
* password-receive "(contraseña que deberiamos)";
* class (Clase a donde dirigir los servers);
* options {
* (las opciones van aqui*);
* };
* // Si tu uses SSL, debes escoger que cifrado usar en el modo SSL
* // Obtiene una lista con "openssl ciphers", separa los métodos de cifrados con ":"
*
* ciphers "DES-CBC3-MD5";
*
* };
*/
/*
opciones:
VIEJAS | NUEVAS | SIGNIFICADO
S ssl Usar SSL
Z zip Comprimir los datos enviados.
N/A autoconnect su servidor intentará conectar automáticamente.
El tiempo usado entre intentos es el que especificó en class::connfreq
(se recomienda para un sólo lado, de leaf a hub)
N/A quarantine Aislar
N/A nodnscache No usar Caché DNS (Muy útil para DDNS)
*/
link hub.mynet.com
{
username *;
hostname 1.2.3.4;
bind-ip *;
port 7029;
hub *;
password-connect "LiNk";
password-receive "LiNk";
class servers;
options {
/* Nota: No deberias usar autoconnect cuando conectas servicios */
autoconnect;
ssl;
zip;
};
};
/*
*
* NUEVO: ulines {}
* VIEJO: U:Line
* Las ulines {} le dan a los servidores mas poder/comandos, ¡esto SOLO debe ser usado
* para los servidores de servicios/estadísticas y NUNCA para servidores UnrealIRCd normales!.
* (Para un buen funcionamiento, todos los servidores deberían tener los mismos U:Lines)
* La Sintaxis es la siguiente:
* ulines {
* (servidor a ulinear);
* (servidor a ulinear);
* [etc]
* };
*/
ulines {
services.roxnet.org;
stats.roxnet.org;
};
/*
* NUEVO: {}
* VIEJO: X:Line
* Esto define las contraseñas para /die y /restart.
* La sintaxis es:
* drpass {
* restart "(contraseña para reiniciar)";
* die "(contraseña para matar al IRCd)";
* };
*/
drpass {
restart "amo-reiniciar";
die "muere-inepto";
};
/*
* NUEVO: log {}
* VIEJO: N/A
* Le dice al IRCd donde y que loguear. Puedes tener cuantos tu quieras.
*
* FLAGS: errors, kills, tkl, connects, server-connects, oper
*
* Sintaxis:
* log "archivo.log"
* {
* flags
* {
* flag;
* flag;
* etc...
* };
* };
*/
log "ircd.log" {
/* Borra el archivo e inicia uno nuevo cuando logre 2MB, no uses esto para siempre usar el mismo log */
maxsize 2097152;
flags {
oper;
connects;
server-connects;
kills;
errors;
sadmin-commands;
chg-commands;
oper-override;
spamfilter;
};
};
/*
* NUEVO: alias {}
* VIEJO: N/A
* Esto te permite hacer aliases de comandos como /nickserv, /chanserv, etc.
* FLAGS: services, stats, normal
*
* Sintaxis:
* alias "nombre" {
* target "apunta a";
* type aliastype;
* };
*
* [NOTA: Tu también puedes usar un archivo de aliases-predefinidos, lea doc/unreal32docs.es.html sección 2.9]
*/
// Esto apunta el comando a /nickserv a el usuario NickServ el cual esta conectado con el servidor de set::services-server.
/*alias NickServ {
target "NickServ";
type services;
};*/
// Si tu quieres el comando que apunta al el mismo nick que el comando, puedes dejar la entrada "nick" vacia.
//alias ChanServ { type services; };
// Apunta el comando /statserv a el usuario StatServ en el servidor set::stats-server.
//alias StatServ { type stats; };
// Apunta el comando /superbot a el usuario SuperBot
//alias SuperBot { type normal; };
/* Aliases Standard */
alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type services; };
alias HelpServ { type services; };
alias StatServ { type stats; };
/*
* NUEVO: alias {}
* VIEJO: N/A
* Esto te permite configurar aliases de comandos como /identify, /services, etc.
*
* Sintaxis:
* alias "nombre" {
* format "Formato de la Cadena" {
* target "apunta a";
* type tipodealias;
* parameters "parametros a enviar";
* };
* type command;
* };
*/
/* Esto es mostrado separadamente por que hasta tiene el mismo nombre que la directiva anterioir as, es muy diferente en sintaxis,
* pero provee una función muy similar.
*/
/*
alias "identify" {
format "^#" {
target "chanserv";
type services;
parameters "IDENTIFY %1-";
};
format "^[^#]" {
target "nickserv";
type services;
parameters "IDENTIFY %1-";
};
type command;
};
*/
/* La directiva alias::format es una expresión regular. El primer formato coincide con el comando /identify cuando
* el primer carácter es #. Luego pasa esto a ChanServ con los parámetros IDENTIFY
* %1-. El segundo formato coincide con /identify cuando el primer caracter no es un #. Entonces
* el comando pasa a nickserv con los parámetros IDENTIFY %1-.
*/
/* El alias::format::parameters es similar a los lenguajes de scripting. %N (donde N es un número) representa el
* parámetro enviado al comando (en este caso, /identify). Si especificas %N- significa "todos los parámetros desde
* N hasta el último parámetro en la cadena". También puedes especificar %n que es reemplazado por el nick del usuario.
*/
/* Aliases Standard */
alias "services" {
format "^#" {
target "chanserv";
type services;
parameters "%1-";
};
format "^[^#]" {
target "nickserv";
type services;
parameters "%1-";
};
type command;
};
alias "identify" {
format "^#" {
target "chanserv";
type services;
parameters "IDENTIFY %1-";
};
format "^[^#]" {
target "nickserv";
type services;
parameters "IDENTIFY %1-";
};
type command;
};
/* Este es un ejemplo de un alias de comando real */
/* Esto redirije /GLINEBOT a /GLINE <parámetro> Los Bots 2D... */
alias "glinebot" {
format ".+" {
command "gline";
type real;
parameters "%1 Los Bots 2D no están permitidos en este servidor, para mas información lea la faq en http://www.ejemplo.com/faq/123";
};
type command;
};
/*
* NUEVO: files {}
* VIEJO: include/config.h
*
* Este bloque se sobrepone con el dirctorio principal del IRCd para cargar cosas
* como el MOTD, el PIPfile, o escribir/cargar el tunefile. La
* existencia de este bloque permite una instalación de UnrealIRCd a
* soportar múltiples instancias corriendo cuando es combinado con la opción -c
* en la línea de comandos.
*
* Usualmente. Los directorios relativos son interpretados relativamente a el directorio
* donde UnrealIRCd encuentra unrealircd.conf si -c -no-
* es especificado en la línea de comandos.
*/
files
{
/* El Mensaje del Dia (MOTD - Message of the Day) mostrado a los usuarios que se conectan: */
/* motd ircd.motd; */
/*
* Un MOTD corto. Si el archivo existe, sera mostrado a
* el usuario en vez del MOTD. Los usuarios todavia podrán ver el
* MOTD completo usando el comando /MOTD.
*/
/* shortmotd ircd.smotd; */
/* Mostrado cuando un operador usa /OPER y se loguea exitosamente. */
/* opermotd oper.motd; */
/* El MOTD de los Servicios. */
/* svsmotd ircd.svsmotd; */
/* El MOTD de los Bots */
/* botmotd bot.motd; */
/* Las reglas que se muestran al usar /RULES */
/* rules ircd.rules; */
/*
* Donde el IRCd guarda y carga algunos parámetros que deberían
* ser persistentes entre reinicios del servidor. Debe apuntar a un
* archivo existente el cual el IRCd tiene permiso para alterarlo o un
* archivo en una carpeta donde el IRCd puede crear archivos.
*/
/* tunefile ircd.tune; */
/* Donde guardar el PID del IRCd. Debería ser modificable por el IRCd. */
/* pidfile ircd.pid; */
};
/*
* NUEVO: tld {}
* VIEJO: T:Line
* Esto configura MOTDs y RULES distintos
* dependiendo en la máscara de host del cliente.
* La sintaxis es:
* tld {
* mask (ident@host);
* motd "(archivo-motd)";
* rules "(archivo-rules)";
* };
*/
tld {
mask *@*.fr;
motd "ircd.motd.fr";
rules "ircd.rules.fr";
};
/* NOTA: tu puedes simplemente borrar el bloque de ejemplo aqui arriba,
* en ese caso los MOTD/RULES normales (ircd.motd, ircd.rules)
* serán usados para todos.
*/
/*
* NUEVO: ban nick {}
* VIEJO: Q:Line
* Banea a un nick, así no puede ser usado.
* La sintaxis es la siguiente:
* ban nick {
* mask "(nick a banear)";
* reason "(rasón)";
* };
*/
ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason "Reservado para los Servicios";
};
/*
* NUEVO: ban ip {}
* VIEJO: Z:Line
* Banea una IP de conectarse a la red.
* Sintaxis:
* ban ip { mask (ip/hostmask); reason "(rasón)"; };
*/
ban ip {
mask 195.86.232.81;
reason "Servidor delinkeado";
};
/*
* NUEVO: ban server {}
* VIEJO: Server Q:Line
* Prohibe a un servidor de conectarse a la red.
* Si el servidor se linkea a un servidor remoto, el servidor local
* se desconectará de la red.
* La sintaxis es la siguiente:
* ban server {
* mask "(nombre.del.servidor)";
* reason "(Rasón)";
* };
*/
ban server {
mask eris.berkeley.edu;
reason "Fuera de aca.";
};
/*
* NUEVO: ban user {}
* VIEJO: K:Line
* Esto hace que un usuario con una máscara de host determinada no se pueda conectar
* a tu servidor.
* Sintaxis:
* ban user { mask (hostmask/ip); reason "(rasón)"; };
*/
ban user {
mask *tirc@*.saturn.bbn.com;
reason "Idiota";
};
/*
* NUEVO: ban realname {}
* VIEJO: n:Line
* Este bloque banea a un determinado realname (nombre real) de ser usado.
* Sintaxis:
* ban realname {
* mask "(nombre real)";
* reason "(rasón)";
* };
*/
ban realname {
mask "Swat Team";
reason "mIRKFORCE";
};
ban realname {
mask "sub7server";
reason "sub7";
};
/*
* NOTA PARA TODOS LOS BANS, puedes repetirlos para agregar mas!
*
* NUEVO: except ban {}
* VIEJO: E:Line
* Eso hace que no puedas ser baneado.
* Sintaxis:
* except ban { mask (ident@host); };
* Repite el except ban {} cuantas veces quieras
* para diferentes bans.
*/
except ban {
/* no banees a stskeeps */
mask *stskeeps@212.*;
};
/*
* NUEVO: deny dcc {}
* VIEJO: dccdeny.conf
* Use este block para denegar DCC SENDs...
* detiene a los virus mejor.
* Sintaxis
* deny dcc
* {
* filename "(archivo a bloquear (por ejemplo: *.exe"));
* reason ("rasón");
* };
*/
deny dcc {
filename "*sub7*";
reason "Posiblemente un virus Sub7";
};
/*
* NUEVO: deny channel {}
* VIEJO: N/A (NUEVO)
* Esto bloquea canales de ser creados.
* Sintaxis:
* deny channel {
* channel "(canal)";
* reason "rasón";
* };
*/
deny channel {
channel "*warez*";
reason "El Warez es ilegal";
};
/*
* NEW: vhost {}
* OLD: Vhost.conf file
* Setea una IP para los no-operadores, o
* para opers muy flojos para hacer /sethost :P
* Sintaxis:
* vhost {
* vhost (vhost.com);
* from {
* userhost (ident@host.a.permitir.usar.el.vhost);
* };
* login (nombre del login);
* password (contraseña);
* };
* para usar este vhost, usa /vhost (login) (contraseña) en IRC
*/
vhost {
vhost i.hate.microsefrs.com;
from {
userhost *@*.image.dk;
};
login stskeeps;
password moocowsrulemyworld;
};
/* Puedes incluir otros archivos de configuración */
/* include "klines.conf"; */
/* Configuración de la red */
set {
network-name "ROXnet";
default-server "irc.roxnet.org";
services-server "services.roxnet.org";
stats-server "stats.roxnet.org";
help-channel "#ROXnet";
hiddenhost-prefix "rox";
/* prefix-quit "no"; */
/* Las llaves de cifrado (cloak keys) deberían ser las mismas en toda la red.
* Son usadas para generar hosts "enmascarados" y mantenerlos secretos.
* Las llaves deben ser 3 cadenas aleatorias de 5 a 100 carácteres
* (de 10 a 20 es aceptable también) y deben tener una minúscula (a-z),
* mayúscula (A-Z) y dígitos (0-9) [mira el ejemplo de la primera llave].
* CONSEJO: En *NIX puedes ejecutar './unreal gencloak' en tu shell para hacer que
* Unreal genere tres cadenas aleatorias por ti.
*/
cloak-keys {
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
"and another one";
"and another one";
};
/* host para los operadores */
hosts {
local "locop.roxnet.org";
global "ircop.roxnet.org";
coadmin "coadmin.roxnet.org";
admin "admin.roxnet.org";
servicesadmin "csops.roxnet.org";
netadmin "netadmin.roxnet.org";
host-on-oper-up "no";
};
};
/* Configuración específica del servidor */
set {
kline-address "configura.este@email";
modes-on-connect "+ixw";
modes-on-oper "+xwgs";
oper-auto-join "#opers";
options {
hide-ulines;
/* Puedes habilitar el chequeo de ident si quieres*/
/* identd-check; */
show-connect-info;
};
maxchannelsperuser 10;
/* El tiempo mínimo que un usuario debe estar conectado antes de usar un mensaje QUIT,
* Esto podria detener el spam */
anti-spam-quit-message-time 10s;
/* Hace que el mensaje en static-quit se muestr en todos kis quits - significando que
no se permiten quits personalizados en este servidor */
/* static-quit "El Cliente se desconectó"; */
/* También puedes bloquear todas las razones de part, descomentando el siguiente comentario y poniendo 'yes',
* o especificar otro mensaje (ejemplo: "¡Adiós!") para usar siempre como razón. */
/* static-part yes; */
/* Esto permite que pudas hacer algunos comandos de /stats solo para uso de los operadores, use * para ocultar todos los stats,
* dejelo en blanco para permitir a los usuarios ver todos los /stats. Escriba '/stats' para una lista completa.
* Algunos administradores querrán remover los stats "kGs" para prohibir a los usuarios normales ver los
* klines, glines y shuns.
*/
oper-only-stats "okfGsMRUEelLCXzdD";
/* Regulación de Conexiones: este ejemplo setea un límite de 3 intentos de conexión cada 60 segundos (por host). */
throttle {
connections 3;
period 60s;
};
/* Protección anti-flood */
anti-flood {
nick-flood 3:60; /* 3 cambios de nick por cada 60 segunos (por defecto) */
};
/* Filtro de Spam */
spamfilter {
ban-time 1d; /* duración de un *line puesto por spamfilter (filtro de spam) */
ban-reason "Spam/Publicidad"; /* razón */
virus-help-channel "#help"; /* canal para usar para la acción "viruchan" */
/* exceptuar "#help"; el canal "#help" esta libre de filtro */
};
};
/*
* Problemas o necesitas mas ayuda?
* 1) www.vulnscan.org/UnrealIRCd/unreal32docs.es.html
* 2) www.vulnscan.org/UnrealIRCd/faq/ (en inglés)<- ¡contiene el 80% de tus preguntas!
* 3) Si sigues teniendo problemas, ve a irc.unrealircd.org #unreal-support,
* ¡nótese que NECESITAMOS que leas la DOCUMENTACIÓN y la FAQ antes de preguntarnos!
*/
+127 -74
View File
@@ -4,22 +4,22 @@
* Tradution française : Alef Burzmali - http://www.burzmali.com
* Dernière mise à jour : 2010-09-11
* $Id$
*
* Fonctionne pour Unreal3.2 et supérieur
*
*
* Fonctionne pour Unreal3.2.x
*
* Okay les gars, voici la nouvelle version de l'example.conf. Cela ressemble plus à du C++.
* Peu importe, il est temps de se lancer. Il est difficile de l'attaquer pour la première fois, mais
* avec un peu d'expérience et de lecture vous comprendrez.
*
* Copiez juste ce fichier dans votre répertoire unrealircd principal et appellez le 'unrealircd.conf'.
*
*
* NOTE: Toutes les lignes, exceptées les ligne d'ouvertures { , se terminent par un ;, en particulier
* celles de fermeture }.
* L'IRCd ignorera les lignes commentées.
*
* LISEZ S'IL VOUS PLAIT doc/unreal32docs.fr.html !
* La version en ligne est aussi disponible à : http://www.unrealircd.com/files/docs/unreal32docs.fr.html
* Elle contient beaucoup d'informations à propos du fichier de configuration : fournit des informations
* Elle contient beaucoup d'informations à propos du fichier de configuration : fournit des informations
* à propos de chaque bloc, variable, etc..
* Si vous essayez de modifier ce fichier sans avoir bien lu la documentation,
* vous êtes presque sûr de vous tromper.
@@ -59,15 +59,15 @@ include "badwords.quit.conf";
include "spamfilter.conf";
/*
* ACTUEL : me {}
* ANCIEN : M:Line
* ACTUEL : me {}
* ANCIEN : M:Line
* me {} definit le nom, la description et l'identifiant numérique pour ce serveur.
* La syntaxe est la suivante :
* me {
* name "nom.du.serveur";
* La syntaxe est la suivante :
* me {
* name "nom.du.serveur";
* info "Description du Serveur";
* numeric (numeric* serveur);
* };
* };
* En cas de link, cet identifiant ne peut être utilisé pour aucun autre serveur du réseau.
*/
me
@@ -78,14 +78,14 @@ me
};
/*
* ACTUEL : admin {}
* ANCIEN : A:Line
* ACTUEL : admin {}
* ANCIEN : A:Line
* Admin donne des informations sur les server admins.
* Vous pouvez mettre autant de lignes que vous voulez après admin {.
* Vous pouvez mettre autant de lignes que vous voulez après admin {.
* La syntaxe est la suivante :
* admin {
* "première ligne";
* "deuxième ligne";
* "première ligne";
* "deuxième ligne";
* [etc]
* };
*/
@@ -96,9 +96,9 @@ admin {
};
/*
* ACTUEL : class {}
* ANCIEN : Y:line (l'ancien était déroutant)
* Définit les réglages pour les classes. Une classe est un groupe de réglages pour
* ACTUEL : class {}
* ANCIEN : Y:line (l'ancien était déroutant)
* Définit les réglages pour les classes. Une classe est un groupe de réglages pour
* des connexions. Par exemple, pour les connexions serveurs, au lieu de passer par une classe
* client, vous utilisez directement une classe serveur. La syntaxe est la suivante :
* class (nom de la classe)
@@ -127,18 +127,18 @@ class servers
};
/*
* ACTUEL : allow {}
* ACTUEL : allow {}
* ANCIEN : I:Line
* Définit les autorisations de connexions...
* Principalement pour les clients, cela leur permet de se connecter, vous pouvez donc avoir un certain
* contrôle et/ou mettre un mot de passe.
* La syntaxe est la suivante :
* contrôle et/ou mettre un mot de passe.
* La syntaxe est la suivante :
* allow {
* ip (ip mask à autoriser);
* hostname (host mask);
* class (classe à laquelle les renvoyer [voir class {}]);
* password "(mot de passe)"; (optionnel)
* maxperip (nombre de connexions par ip); (optionnel)
* maxperip (nombre de connexions par ip); (optionnel)
* };
*/
@@ -159,20 +159,20 @@ allow {
};
/*
* ACTUEL : oper {}
* ANCIEN : O:Line
* ACTUEL : oper {}
* ANCIEN : O:Line
* Définit un IRC Operateur
* Les IRC operateurs sont là pour préserver la qualité du serveur mais aussi d'en assurer
* la maintenance et sa connexion au réseau.
* La syntaxe est la suivante :
* oper (login) {
* class (classe à laquelle les associer, si différent du bloc allow, les déplace vers une nouvelle classe);
* from {
* la maintenance et sa connexion au réseau.
* La syntaxe est la suivante :
* oper (login) {
* class (classe à laquelle les associer, si différent du bloc allow, les déplace vers une nouvelle classe);
* from {
* userhost (ident@host);
* userhost (ident@host);
* };
* };
* flags
* {
* {
* (flags ici*);
* };
* OU
@@ -205,19 +205,19 @@ oper bobsmith {
* ACTUEL : listen {}
* ANCIEN : P:Line
* Définit un port à rattacher à l'ircd, pour autoriser
* des utilisateurs/serveurs à se connecter au serveur.
* des utilisateurs/serveurs à se connecter au serveur.
* La syntaxe est la suivante :
* listen (ip):(port)
* {
* listen (ip):(port)
* {
* options {
* (options ici);
* };
* };
* ou pour une écoute
* indifférente : listen (ip):(port);
*
*
* NOTICE : pour les ips ipv6 (3ffe:b80:2:51d::2 etc), utilisez listen [ip]:port;
*
*
* Cela fonctionne également.
*/
@@ -231,7 +231,7 @@ oper bobsmith {
*/
/* NOTE SUR LES PORTS SSL: les ports SSL sont plutôt non standardisés,
* A côté des nombreux ports high-SSL, certaines personnes disent que vous devez
* A côté des nombreux ports high-SSL, certaines personnes disent que vous devez
* l'utiliser sur le port 994 car c'est le port SSL officiel.. mais cela
* requière d'être root! D'un autre coté, le port 194 est le port irc officiel et
* avez vous déjà vu un ircd fonctionner sur celui-ci ?
@@ -252,8 +252,8 @@ listen *:6697
listen *:8067;
listen *:6667;
/* NOTE: Si vous êtes sur un shell avec de multiples IP vous êtes
* susceptibles d'avoir l'erreur 'Address already in use' (adresse déjà utilisée)
/* NOTE: Si vous êtes sur un shell avec de multiples IP vous êtes
* susceptibles d'avoir l'erreur 'Address already in use' (adresse déjà utilisée)
* dans vos logs et l'ircd refusera de démarer.
* Cela signifie que vous devrez utiliser une IP spécifique au lieu de '*',
* Donc par exemple :
@@ -283,9 +283,9 @@ listen *:6667;
* };
* // Si vous utilisez le SSL, vous pouvez choisir quel algorithme de hash utiliser dans le mode SSL
* // Utilisez la commande "openssl ciphers" pour obtenir la liste des algorithmes disponibles, séparez les par des ":"
*
*
* ciphers "DES-CBC3-MD5";
*
*
* };
*/
@@ -340,7 +340,7 @@ ulines {
* ANCIEN : X:Line
* Défini les mots de passe pour les commandes /die et /restart.
* La syntaxe est la suivante :
* drpass {
* drpass {
* restart "(mot de passe pour relancer)";
* die "(mot de passe pour arrêter)";
* };
@@ -351,27 +351,27 @@ drpass {
};
/*
* ACTUEL : log {}
* ANCIEN : N/A
* ACTUEL : log {}
* ANCIEN : N/A
* Dit à l'ircd où et quoi loguer. Vous pouvez en avoir
* autant que vous le souhaitez.
*
*
* FLAGS : errors, kills, tkl, connects, server-connects, oper
*
* Syntaxe :
* log "fichier de log"
*
* Syntaxe :
* log "fichier de log"
* {
* flags
* {
* flag;
* flag;
* etc..
* };
* flag;
* etc..
* };
* };
*/
log "ircd.log" {
/* Efface le fichier de log et commence un nouveau lorsqu'il dépasse 2MB,
/* Efface le fichier de log et commence un nouveau lorsqu'il dépasse 2MB,
retirez ceci pour toujour utiliser le même fichier de log */
maxsize 2097152;
flags {
@@ -399,7 +399,7 @@ log "ircd.log" {
* type typedalias;
* };
*
* [NOTE : Vous pouvez également inclure un fichier d'alias prédéfinis ici, voir
* [NOTE : Vous pouvez également inclure un fichier d'alias prédéfinis ici, voir
* doc/unreal32docs.fr.html section 2.9]
*/
@@ -442,7 +442,7 @@ alias StatServ { type stats; };
* };
*/
/* Ceci est expliqué séparément car même si elle a le même nom que la directive précédente, elle est très
* différente dans sa syntaxe, bien qu'elle a une fonction similaire et dépend des alias standards pour
* différente dans sa syntaxe, bien qu'elle a une fonction similaire et dépend des alias standards pour
* fonctionner.
*/
/*
@@ -460,8 +460,8 @@ alias "identify" {
type command;
};
*/
/* La directive alias::format est une expression régulière. Le premier format correspond à la commande
* /identify command lorsque le premier caractère est un #. Cela renvoit donc à l'alias chanserv avec
/* La directive alias::format est une expression régulière. Le premier format correspond à la commande
* /identify command lorsque le premier caractère est un #. Cela renvoit donc à l'alias chanserv avec
* les paramètres IDENTIFY %1-. Le second format correspond à la commande /identify lorsque le premier
* caractère n'est pas un #. Cela envoie alors la commande à l'alias nickserv avec les paramètres
* IDENTIFY %1-.
@@ -512,14 +512,63 @@ alias "glinebot" {
};
type command;
};
/*
* ACTUEL : files {}
* ANCIEN : include/config.h
*
* Ce bloc écrase les chemins utilisés par défaut par l'IRCd pour charger des choses
* comme le MOTD, enregistrer son PID ou écrire ou lire son fichier de sauvegarde (tunefile).
* L'existence de ce bloc permet à une installation de UnrealIRCd de supporter
* plusieurs instances tournant simultanément lorsque combinée à l'option de ligne
* de commande -c
*
* Comme d'habitude, les chemins relatifs sont interprétés à partir du répertoire
* dans lequel UnrealIRCd trouverait unrealircd.conf si -c N'est PAS spécifiée
* sur la ligne de commande.
*/
files
{
/* Le message du jour (Message Of The Day) affiché aux utilisateurs se connectant : */
/* motd ircd.motd; */
/*
* Un MOTD court. Si ce fichier existe, il sera affiché aux
* utilisateurs à la place du MOTD. Ceux-ci peuvent toujours voir
* le MOTD complet en utilisant la commande /MOTD
*/
/* shortmotd ircd.smotd; */
/* Affiché lorsqu'un opérateur utilise /OPER */
/* opermotd oper.motd; */
/* MOTD des services. */
/* svsmotd ircd.svsmotd; */
/* MOTD des bots */
/* botmotd bot.motd; */
/* Affiché par la commande /RULES */
/* rules ircd.rules; */
/*
* Fichier dans lequel l'IRCd sauvegarde et charge quelques valeurs qui devraient
* être conservées malgré les redémarrages du serveur. Doit pointer vers un fichier
* existant que l'IRCd peut modifier ou vers un fichier dans un dossier dans
* lequel l'IRCd peut créer des fichiers.
*/
/* tunefile ircd.tune; */
/* Fichier dans lequel l'IRCd stocke son pid. L'IRCd doit pouvoir le modifier. */
/* pidfile ircd.pid; */
};
/*
* ACTUEL : tld {}
* ANCIEN : T:Line
* Ceci applique une motd et des fichiers de règles différents
* Ceci applique un MOTD et des fichiers de règles différents
* en fonction de l'hostmask des clients.
* La syntaxe est la suivante :
* La syntaxe est la suivante :
* tld {
* mask (ident@host);
* motd "(motd file)";
@@ -617,10 +666,10 @@ ban realname {
/*
* NOTE POUR TOUS LES BANS, ils peuvent être répetés pour ajouter des entrées !
*
* ACTUEL : except ban {}
*
* ACTUEL : except ban {}
* ANCIEN : E:Line
* Fait que vous ne pouvez être banni.
* Fait que vous ne pouvez être banni.
* Syntaxe :
* except ban { mask (ident@host); };
* Répétez l'except ban {} autant de fois
@@ -633,13 +682,13 @@ except ban {
};
/*
* ACTUEL : deny dcc {}
* ACTUEL : deny dcc {}
* ANCIEN : dccdeny.conf
* Utilisez ceci pour bloquer l'envoi de dcc ...
* Utile pour bloquer les virus.
* Syntaxe :
* deny dcc
* {
* Utile pour bloquer les virus.
* Syntaxe :
* deny dcc
* {
* filename "fichier à bloquer (ex : *exe)";
* reason "raison";
* };
@@ -657,26 +706,30 @@ deny dcc {
* deny channel {
* channel "(salon)";
* reason "raison";
* class "clients"; (optionnel)
* };
*/
deny channel {
channel "*warez*";
reason "Warez is illegal";
class "clients";
};
/*
* ACTUEL : allow channel {}
* ANCIEN : chrestrict
* ACTUEL : allow channel {}
* ANCIEN : chrestrict
* Autorise un utilisateur à joindre un salon...
* comme une exception au deny channel.
* comme une exception au deny channel.
* Syntaxe :
* allow channel {
* channel "nom du salon";
* class "clients"; (optionnel)
* };
*/
allow channel {
channel "#WarezSucks";
class "clients";
};
/*
@@ -684,9 +737,9 @@ allow channel {
* ANCIEN : Vhost.conf file
* Applique une ip factice aux non-opers, ou aux
* opers trop flemmards pour utiliser /sethost :P
* Syntaxe :
* vhost {
* vhost (vhost.com);
* Syntaxe :
* vhost {
* vhost (vhost.com);
* from {
* userhost (ident@host à autoriser à utiliser);
* };
+54 -2
View File
@@ -3,7 +3,7 @@
* A magyar fordítást AngryWolf <angrywolf2009@gmail.com> készítette.
* $Id$
*
* Felhasználható Unreal3.2 és későbbi verziókhoz
* Felhasználható Unreal3.2.x
*
* Oké, emberek! Ez az új példa konfiguráció. A kinézete nagyon hasonló
* a C++-hoz, olyasformán. Mindenesetre itt az ideje végigmennünk rajta. Eleinte
@@ -164,10 +164,12 @@ allow {
* Szintaktika:
* allow channel {
* channel "csatornanév";
* class "clients"; (nem kötelező)
* };
*/
allow channel {
allow channel {
channel "#AWarezSzívás";
class "clients";
};
/*
@@ -532,7 +534,55 @@ alias "glinebot" {
type command;
};
/*
* ÚJ: files {}
* RÉGI: include/config.h
*
* Ez a blokk felülírja az IRCd alapértelmezett útvonalait olyan fájlok
* betöltésére, mint az MOTD, PID fájl mentése vagy a behangoló fájl
* írása/olvasása. Ennek a blokknak a jelenléte támogatást ad arra, hogy
* egyetlen telepített UnrealIRCd-nek több példányát futtassuk, amikor
* a -c parancssori opcióval párosítjuk.
*
* Ahogy megszoktuk, a relatív útvonalak ahhoz a könyvtárhoz relatívan
* értendőek, ahol az UnrealIRCd megtalálja az unrealircd.conf fájlt,
* hacsak nem a -c paramétert megadjuk a parancssorban.
*/
files
{
/* A Nap Üzenete (Message Of The Day), elküldve a belépett felhasználóknak: */
/* motd ircd.motd; */
/*
* Egy rövid MOTD (short MOTD). Ha létezik ez a fájl, ezt a fájlt
* fogják látni a felhasználók az MOTD helyett. A teljes MOTD-t
* továbbra is megnézhetik az /MOTD parancs használatával.
*/
/* shortmotd ircd.smotd; */
/* Megjelenik, ha egy operátor bejelentkezik (/OPER) */
/* opermotd oper.motd; */
/* MOTD hozzáfűzés a szolgáltatásoknak. */
/* svsmotd ircd.svsmotd; */
/* Bot MOTD */
/* botmotd bot.motd; */
/* Megjelenik a /RULES parancsra */
/* rules ircd.rules; */
/*
* Itt tárol és innen tölt be az IRCd néhány olyan értéket, amelyet
* minden szerverújraindítás során meg kell őriznie. Egy olyan fájlra
* kell, hogy mutasson, amely létezik, és az IRCd-nek van módosítási joga,
* vagy pedig olyan könyvtárban van, ahol az IRCd-nek van fájllétrehozási joga.
*/
/* tunefile ircd.tune; */
/* Ide mentjük az IRCd PID fájlját. Az IRCd számára írhatónak kell lennie. */
/* pidfile ircd.pid; */
};
/*
* ÚJ: tld {}
@@ -677,11 +727,13 @@ deny dcc {
* deny channel {
* channel "(csatorna)";
* reason "indok";
* class "clients"; (nem kötelező)
* };
*/
deny channel {
channel "*warez*";
reason "A warez törvényellenes";
class "clients";
};
/*
+1 -1
View File
@@ -3,7 +3,7 @@
* $Id$
* Vertaald door Mark
*
* Werkt voor Unreal3.2 en hoger
* Werkt voor Unreal3.2.x
*
* Dit is de nieuwe example.conf. Het lijkt veel op C++.
* Het begin is wellicht moeilijk, maar met wat ervaring en lezen
+1 -1
View File
@@ -5,7 +5,7 @@
*
* (Encoding): Windows-1251
*
* Работает для Unreal3.2 и выше
* Работает для Unreal3.2.x
*
* Итак, это русскоязычный пример example.conf. По синтаксису похож на C++.
* По началу будет тяжело понять, что тут написано, однако во время практики и чтения
+68 -14
View File
@@ -1,9 +1,10 @@
/*
* example.conf by Daniel Hawton AKA Osiris (osiris@unrealircd.org).
* $Id$
* Türkçe çeviri: Mustafa "Ironic" Cakmak (ironic@unrealircd.org)
* $Id$
* Önceki Çevirmen: Mustafa "Ironic" Cakmak (ironic@unrealircd.org)
* Türkçe Çeviri: Serkan Sepetçi (diablo@unrealircd.org)
*
* Unreal3.2 ve üstü sürümler için kullanılmaktadır
* Unreal3.2.x sürümler için kullanılmaktadır
*
* Peki beyler. Bu example.conf dosyasının yenisi. C++ türüne çok benziyor.
* Neyse şimdi bunun üstesinden gelme zamanı. Başlangıçta zor gelebilir, fakat
@@ -14,12 +15,13 @@
* NOTE: Bütün satırlar, açılış { satırı dışında, kapama } satırı dahil, sonunda ; taşır.
* IRCd açıklama satırlarını göz ardı edecektir.
*
* Lütfen doc/unreal32docs.tk.html dosyasını okuyunuz! Çevrimiçi sürümüne ulaşabileceğiniz adres:
* www.vulnscan.org/UnrealIRCd/unreal32docs.tk.html
* Lütfen doc/unreal32docs.tr.html dosyasını okuyunuz! Çevrimiçi sürümüne ulaşabileceğiniz adres:
* www.vulnscan.org/UnrealIRCd/unreal32docs.tr.html
* Yapılandırma dosyası hakkında bir çok bilgi içerir: Her blok,
* değişken vs.. hakkında bilgi verir.
* Eğer dökümantasyon dosyasını tam olarak okumadan bu dosyayı düzenlemeye kalkarsanız
* başarısız olacağınız oldukça yüksek bir oranda garanti edilir!
*
*/
/* Açıklama satırı çeşitleri */
@@ -106,7 +108,7 @@ admin {
* };
*/
class clients
class clients
{
pingfreq 90;
maxclients 500;
@@ -114,7 +116,7 @@ class clients
recvq 8000;
};
class servers
class servers
{
pingfreq 90;
maxclients 10; /* Link edebileceğimiz en yüksek sunucu sayısı */
@@ -162,10 +164,12 @@ allow {
* Sözdizimi:
* allow channel {
* channel "kanal ismi";
* class "clients"; (isteğe bağlı)
* };
*/
allow channel {
allow channel {
channel "#WarezSucks";
class "clients";
};
/*
@@ -289,9 +293,9 @@ listen *:6667;
* options {
* (tercihler buraya*);
* };
* /* Eğer SSL kullanıyorsak, SSL modunda ne tür bir anahtar kullanacağımızı seçebiliriz
* * "openssl ciphers" ile bir liste alınır, anahtarlar birbirinden : ile ayrılırak belirtilebilirler.
* */
* // Eğer SSL kullanıyorsak, SSL modunda ne tür bir anahtar kullanacağımızı seçebiliriz
* // "openssl ciphers" ile bir liste alınır, anahtarlar birbirinden : ile ayrılırak belirtilebilirler.
*
* ciphers "DES-CBC3-MD5";
*
* };
@@ -308,7 +312,7 @@ listen *:6667;
*/
link hub.mynet.com
link hub.mynet.com
{
username *;
hostname 1.2.3.4;
@@ -362,7 +366,7 @@ drpass {
* YENI: log {} ESKI: N/A Ircd e logun ne ve nerede olacağını bildirir. Dilediğiniz
* kadara sahip olabilirsiniz.
*
* FLAGS: errors, kills, tkl, connects, server-connects, kline, oper
* FLAGS: errors, kills, tkl, connects, server-connects, oper
*
* Syntax:
* log "log file"
@@ -382,7 +386,6 @@ log "ircd.log" {
maxsize 2097152;
flags {
oper;
kline;
connects;
server-connects;
kills;
@@ -517,6 +520,53 @@ alias "glinebot" {
};
/*
* YENI: dosyalar {}
* ESKI: include/config.h
*
* Bu blok MOTD gibi şeyleri yüklemek için IRCd varsayılan yolları
* PID haricinde geçersiz kılar veya yazma/yükleme olarak dosyayı kendi ayarlar.
* Bu bloğun varlığı bir UnrealIRCd kurulumuna destek sağlar.
* -c ile kombine edildiğinde birden fazla komut seçeneğinin
* çalışmasına izin verir.
*
* Her zamanki gibi bu gibi yakın yollar -c komut satırında belirtilmezse,
* UnrealIRCd unrealircd.conf'u nerede bulunacağını dizinine göre yorumlar.
*/
files
{
/* Günün mesajı, oturum açan kullanıcılara gösterilir: */
/* motd ircd.motd; */
/*
* Kısa MOTD. Eğer bu dosya varsa, MOTD yerine kullanıcıya
* bu gösterilecektir. Yinede kullanıcılar /MOTD komutu kullanarak
* tam MOTD içeriğini görebilecekler.
*/
/* shortmotd ircd.smotd; */
/* Operatör olduğunda gösterilir. /OPER 'liğe yükselmiş */
/* opermotd oper.motd; */
/* Servislere MOTD ekler. */
/* svsmotd ircd.svsmotd; */
/* Bot MOTD */
/* botmotd bot.motd; */
/* /RULES üzerinde gösterilir */
/* rules ircd.rules; */
/*
* IRCd'nin bazı değerlerinin nerede olduğunu gösterir.
* Bu değerler kalıcı olarak saklanır.Sunucu yeniden başlatıldığında
* ise bu değerleri yeniden yükleyecektir.
*/
/* tunefile ircd.tune; */
/* IRCd pidini nerede kaydedildiğini gösterir. IRCd tarafından yazılabilir olmalıdır. */
/* pidfile ircd.pid; */
};
/*
* ESKI: tld {}
@@ -659,11 +709,13 @@ deny dcc {
* deny channel {
* channel "(kanal)";
* reason "neden";
* class "clients"; (isteğe bağlı)
* };
*/
deny channel {
channel "*warez*";
reason "Warez yasaktır";
class "clients";
};
/*
@@ -707,6 +759,8 @@ set {
* Bu anahtarlar maskeli hostlar yaratmak ve bunları saklamak için kullanılır.
* Anahtarlar 5-100 karakterlik (10-20 karakter yeterli) 3 rastgele diziden oluşmalı ve
* küçük harf (a-z), büyük harf (A-Z) ve rakamlardan (0-9) meydana gelmelidirler.. [ilk örneğe bakınız].
* IPUCU: './unreal gencloak' Unreal sizin için rastgele 3 adet dizin oluşturur.
* Bunu NIX üzerinde çalıştırabilirsiniz.
*/
cloak-keys {
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
+15 -5
View File
@@ -101,7 +101,7 @@ help Umodes {
" N = Administrateur du Réseau";
" C = Co-Administrateur du Serveur";
" -";
" d = Fait en sorte que vous ne receviez plus les PRIVMSGs des salons (Sourd)";
" d = Ne reçoit que les PRIVMSGs aux salons commençant par un caractère de commande pour bot";
" g = Peut lire et envoyer des notices aux GlobOps et aux LocOps";
" h = Disponible pour aider (Help Operator)";
" i = Invisible (Non montrés dans les recherchers /WHO)";
@@ -117,6 +117,7 @@ help Umodes {
" B = Vous marque comme étant un Bot";
" G = Remplace tous les 'Bad words' dans vos messages par <censored>";
" H = Cache le status d'IRCop dans les /WHO et /WHOIS. (Opérateurs IRC uniquement)";
" I = Cache le temps d'inactivité d'un IRCop dans les /WHOIS pour les utilisateurs normaux";
" R = Vous permet de ne recevoir des PRIVMSGs/NOTICEs que d'utilisateurs enregistrés (+r)";
" S = Pour les services uniquement. (Les protège)";
" T = Vous empêche de recevoir des CTCPs";
@@ -244,11 +245,20 @@ help ExtBans {
" | | les exceptions (+e). Exemple : +e ~R:Nick autorisera ";
" | | Nick sur le salon, même s'il est banni, s'il est ";
" | | identifié sur NickServ et utilise le pseudo Nick. ";
" ==------------------------------------------------------------------------------==";
" ----------------------------------------------------------------------------------";
" | | Si un utilisateur s'est identifié auprès des Services ";
" | | (Nickserv) avec ce compte, il correspondra au ban. Ceci ";
" | | est un peu différent de ~R, car un utilisateur de nick ";
" ~a | account | ABC peut être connecté au compte XYZ. ";
" | | Tous les services ne supportent pas cette option, auquel";
" | | cas vous devrez utiliser ~R. ";
" | | Exemple: +e ~a:Name ";
" ==------------------------------------------------------------------------------==";
" -";
"Vous pouvez cumuler les bans étendus du premier groupe avec ceux du second.";
"Exemple : +b ~q:~c:#lamers";
"Ceci rendra muet tous les utilisateurs qui sont aussi sur #lamers.";
"Vous pouvez cumuler les bans étendus du premier groupe avec ceux du deuxième.";
"Par exemple, <i>+b ~q:~c:#lamers</i> rendra silencieux tous les membres de #lamers.";
"Les bans du 2e groupe peuvent aussi être utilisés avec le mode +I (Invite exceptions),";
"comme par exemple : <i>+I ~c:#trusted</i> et <i>+I ~a:accountname</i>.";
};
help Chmodef {
+2
View File
@@ -118,6 +118,8 @@ help Umodes {
" G = Нецензурные слова в сообщениях заменяются на <censored>";
" H = Скрывает статус IRC оператора в запросах /WHO и /WHOIS.";
" (только для IRC операторов)";
" I = Скрывает время простоя оператора (в команде /whois) от обычных";
" пользователей.";
" R = Ограничивает получение PRIVMSGs/NOTICEs только от";
" зарегистрированных (+r) пользователей";
" S = Для нужд сервисов. (В целях защиты)";
+1 -1
View File
@@ -100,7 +100,7 @@ help Umodes {
" N = Network Administrator";
" C = Co Administrator";
" -";
" d = Kanalda yazılan mesajları görmenizi engeller";
" d = Sadece bot komut karakteri ile başlayan kanal mesajları görmenizi engeller";
" g = GlobOps ve LocOps mesajlarını görmenizi sağlar";
" h = Yardim görevlisi statüsü verir.(HelpOp)(Oper Bloğunda belirtilir)";
" i = Görünmez kullanıcı (/who sorgusunda görünmez)";
+4
View File
@@ -154,3 +154,7 @@ EAUTH Early Authorization. This makes it possible for servers to authent
SERVERS Informs the other server about the other servers (numerics) on this network
(including our own numeric).
Syntax: SERVERS=numeric1,numeric2,numeric3,etc
ESVID This token indicates that the traditional services stamp value may take any
arbitrary value for the SVID field, such as an account name or other unique
identifier, including a traditional timestamp value.
+9 -8
View File
@@ -75,8 +75,7 @@
<blockquote><p><a href="#S9_2">9.2 Table for NICKIP.</a></p></blockquote>
<hr/>
<h1><a name="S1"></a>1 Introduction</h1>
<p>This document describes the UnrealIRCd server-to-server protocol as of protocol 2307 (Unreal 3.2.4).
It is currently slightly out of date, as the current protocol is 2310, but that should not matter much.</p>
<p>This document describes the UnrealIRCd server-to-server protocol.</p>
<h2>A word about clocks.</h2>
<p>Unreal is very time-dependant. Users and channels, for example, are timestamped, and if server clocks are not synchronized properly, things can go very wrong very fast. See <a href="http://vulnscan.org/UnrealIrcd/faq/#67">http://vulnscan.org/UnrealIrcd/faq/#67</a> for more information on this. Note that there is a slight difference between server time and what is actually reported by the UNIX date command or by the C time() function. Unreal can apply an offset to the real time to create the server time, allowing servers to be virtually synchronized when synchronizing the real clocks is not possible (such as on shell servers).
I should make it quite clear that GMT time is used for everything. To be specific, timestamps in unreal are 32-bit integer values (actually, however many bits the time_t type is, which is 32 on 32-bit systems such as x86). This integer value is the number of seconds that have elapsed since Midnight January 1, 1970 GMT (can be referred to as Epoch time in the UNIX world). This means that timezones are no problem, nor is daylight savings time (or whatever your country of choice calls it).</p>
@@ -106,6 +105,7 @@
<li>NICKCHARS : Indicates the set of enabled nickchar options (see the regular documention for info about this).</li>
<li>CHANMODES : (Not required to be sent) This is the same as the CHANMODES value in the 005 for client connections. Useful for autodetecting things like what modes are valid for ChanServ MLOCK, for example.</li>
<li>CLK : Supports an extra field in NICK for sending the cloaked host (not vhost).</li>
<li>ESVID : Supports arbitrary values instead of just numeric timestamps for the services identifier field.</li>
</ul>
<p>The syntax examples here follow the conventions for TOKEN and also NS in cases of server-only messages.</p>
<h2><a name="S2_3"></a>2.3 SERVER - Server Negotiation</h2>
@@ -117,6 +117,7 @@
<p>The server.name is the same as that in the remote server's link:: block. When received from unreal servers, this will be the value of that server's me::name. The protocol version is the numeric protocol version (2306 for example), and the protocol flags are the server's compilation flags (described below). These two fields are checked against the deny version {} blocks in the remote server's configuration. A value of 0 for either field prevents deny version{} checking for that field. The server description can be anything. When received from unreal servers, it'll be the value of me::description.</p>
<p>The following version numbers have been used previously:</p>
<ul>
<li>2311 - Unreal 3.2.10</li>
<li>2310 - Unreal 3.2.9</li>
<li>2309 - Unreal 3.2.6, 3.2.7, 3.2.8</li>
<li>2308 - Unreal 3.2.5</li>
@@ -168,11 +169,11 @@
<h2><a name="S3_1"></a>3.1 NICK - User Introduction and Nick Change (TOKEN: &amp;)</h2>
<p><b>Syntax (nick change):</b> <tt>:<i>oldnick</i> &amp; <i>newnick</i> :<i>timestamp</i></tt></p>
<p>This format of the NICK message indicates an existing user is changing his or her nickname. If a collision occurs, see the section on Nick Collisions below. The timestamp is the new nickname's timestamp.</p>
<p><b>Syntax (normal):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> <i>+usermodes</i> <i>virtualhost</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2+CLK):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> <i>+usermodes</i> <i>virtualhost</i> <i>cloakhost</i> :<i>realname</i></tt>
<p><b>Syntax (NICKv2+NICKIP):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> <i>+usermodes</i> <i>virtualhost</i> <i>nickipaddr</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2+NICKIP+CLK):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> <i>+usermodes</i> <i>virtualhost</i> <i>cloakhost</i> <i>nickipaddr</i> :<i>realname</i></tt>
<p><b>Syntax (normal):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>service-identifier-token</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>service-identifier-token</i> <i>+usermodes</i> <i>virtualhost</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2+CLK):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>service-identifier-token</i> <i>+usermodes</i> <i>virtualhost</i> <i>cloakhost</i> :<i>realname</i></tt>
<p><b>Syntax (NICKv2+NICKIP):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>service-identifier-token</i> <i>+usermodes</i> <i>virtualhost</i> <i>nickipaddr</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2+NICKIP+CLK):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>service-identifier-token</i> <i>+usermodes</i> <i>virtualhost</i> <i>cloakhost</i> <i>nickipaddr</i> :<i>realname</i></tt>
<p><b>Note:</b> Because each server normally does its own cloak generation, Unreal does not expect to receive NICK messages with the CLK info, so do not send it. It will send this info to a server it has received a PROTOCTL CLK from however.</p>
<p>This format of the NICK message introduces a new user to the network. If PROTOCTL VHP is enabled, the user's cloaked host is put in the virtualhost field, otherwise it'll be * unless the user is +t. With the addition of CLK, VHP is no longer necessary for determining the cloak host.</p>
<h3><a name="S3_1_1"></a>3.1.1 Nick Collisions</h3>
@@ -306,7 +307,7 @@
<p><b>Syntax (SVSMODE):</b> <tt>:<i>source</i> n <i>target</i> +<i>usermodes</i></tt></p>
<p><b>Syntax (SVS2MODE):</b> <tt>:<i>source</i> v <i>target</i> +<i>usermodes</i></tt></p>
<p>Judging by these commands alone, you'd think they are identical. Both commands force a usermode change to occur. This is typically used by services to set +r on a user who has successfully identified. They differ in that SVS2MODE also sends the mode change to the user, while SVSMODE does not (hidden mode change).</p>
<p>SVSMODE and SVS2MODE also give special treatment to usermode +d. Rather than setting the deaf mode like you might expect, SVS(2)MODE +d allows services to change a user's services stamp (which is given in the NICK message). This could allow services to set the service stamp to an easily identifiable value that could then be used to say "hey, this person identified already". The syntax of this is: +d <i>newservicestamp</i> and can be combined with setting other usermodes as well. The deaf mode <b>can</b> be set by using +d without the service stamp parameter; however, in this case you <b>cannot</b> set the service stamp in the same SVS(2)MODE message.</p>
<p>SVSMODE and SVS2MODE also give special treatment to usermode +d. Rather than setting the deaf mode like you might expect, SVS(2)MODE +d allows services to change a user's services stamp (which is given in the NICK message). This could allow services to set the service stamp to an easily identifiable value that could then be used to say "hey, this person identified already". The syntax of this is: +d <i>newservice-identifier-token</i> and can be combined with setting other usermodes as well. The deaf mode <b>can</b> be set by using +d without the service stamp parameter; however, in this case you <b>cannot</b> set the service stamp in the same SVS(2)MODE message.</p>
<p><b>Note:</b> Do <b>NOT</b> use SVSMODE to remove IRCop status from a user. Use the SVSO command for that instead.</p>
<p>Alternatively, target can name a channel. In this case, the mode change parameter can consist of a - character, followed by any or all of: b, e, I, q, a, o, h, or v. These characters cause the corresponding lists to be cleared of all entries. For example: SVSMODE #channel -b removes ALL bans from #channel, and SVSMODE #channel -qaohv turns ALL users on #channel into normal users (removes all owner, admin, op, halfop, and voice status). In this case, the uplink will acknowledge with a MODE listing the bans, etc that were removed.</p>
<p>To completely clear a channel of all modes: MODE #channel -cfijklmnprstzACGMKLNOQRSTVu (plus any added by third-party module) followed by SVSMODE #channel -beIqaohv.</p>
+1
View File
@@ -2,6 +2,7 @@ VL Information (c) 2002 codemastr (Dominick Meglio) [codemastr@unrealircd.com]
Protocol Version
------------------------------------------------------------------------------------------------
2311 3.2.10
2310 3.2.9
2309 3.2.6, 3.2.7, 3.2.8
2308 3.2.5
+3 -4
View File
@@ -37,9 +37,8 @@ Upon successful completion you will also receive an @unrealircd.org
forwarder email address, and of course your name will be in the docs.
If you want to start translating a document, please send an email to
coders@lists.unrealircd.org and mention the language you are willing
to translate to.. You will then receive an email back saying you can
go ahead (or not). This is mainly to avoid multiple persons working
on the same translation.
syzop@unrealircd.com and mention the language you are willing to translate
to.. You will then receive an email back saying you can go ahead (or not).
This is mainly to avoid multiple persons working on the same translation.
=============================================================================
+11 -7
View File
@@ -17,19 +17,23 @@
</head>
<body>
<p style="background: #cc0000">NOTE: This documentation is about the <b>old
series</b> (UnrealIRCd 3.2.x).
If you are using UnrealIRCd 4 then check the
<a href="https://www.unrealircd.org/docs/UnrealIRCd_4_documentation">UnrealIRCd 4 documentation</a>
instead.</p>
<a href="unreal32docs.html">English</a> | German |
<a href="unreal32docs.es.html">Spanish</a> |
<a href="unreal32docs.hu.html">Hungarian</a> |
<a href="unreal32docs.fr.html">French</a> |
<a href="unreal32docs.gr.html">Greek</a> |
<a href="unreal32docs.nl.html">Dutch</a> |
<a href="unreal32docs.ru.html">Russian</a> |
<a href="unreal32docs.tr.html">Turkish</a>
<a href="unreal32docs.tr.html">Turkish</a> |
<a href="unreal32docs.es.html">Spanish</a>
<br><br>
<div align="center"><b><font size="7">UnrealIRCd</font></b><br>
<font size="4"><a href="http://www.unrealircd.com">http://www.unrealircd.com</a></font><br>
<font size="4">Version: 3.2.9-RC2</font><br>
<font size="4">Version: 3.2.10.5</font><br>
<b>Letztes Update dieses Handbuchs:</b> 2009-12-24</div>
<b>Head Coders:</b> Stskeeps / codemastr / Syzop / Luke<font face="Helvetica,Arial" size="-1">/
aquanight / WolfSage</font><br>
@@ -219,9 +223,9 @@ Bug gemeldet wird!</p></div>
</ul>
<li><b>Windows Versionen:</b>
<ul>
<li>Windows 2000 (Pro, Server, Advanced Server)
<li>WindowsXP (Home, Pro)
<li>Windows XP (Home, Pro)
<li>Windows 2003
<li>Windows 7
</ul>
<li><b>Getestete Architektueren (Prozessoren):</b>
<ul>
+1965 -1536
View File
File diff suppressed because it is too large Load Diff
+1836 -1642
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+180 -74
View File
@@ -20,20 +20,24 @@
<!-- $Id$ -->
<body>
<p style="background: #cc0000">NOTE: This documentation is about the <b>old
series</b> (UnrealIRCd 3.2.x).
If you are using UnrealIRCd 4 then check the
<a href="https://www.unrealircd.org/docs/UnrealIRCd_4_documentation">UnrealIRCd 4 documentation</a>
instead.</p>
English |
<a href="unreal32docs.de.html">German</a> |
<a href="unreal32docs.es.html">Spanish</a> |
<a href="unreal32docs.hu.html">Hungarian</a> |
<a href="unreal32docs.fr.html">French</a> |
<a href="unreal32docs.gr.html">Greek</a> |
<a href="unreal32docs.nl.html">Dutch</a> |
<a href="unreal32docs.ru.html">Russian</a> |
<a href="unreal32docs.tr.html">Turkish</a>
<a href="unreal32docs.tr.html">Turkish</a> |
<a href="unreal32docs.es.html">Spanish</a>
<br><br>
<div align="center"><b><font size="7">UnrealIRCd</font></b><br>
<font size="4"><a href="http://www.unrealircd.com">http://www.unrealircd.com</a></font><br>
<font size="4">Version: 3.2.9-RC2</font><br>
<b>Last doc update:</b> 2010-11-15</div>
<font size="4">Version: 3.2.10.5</font><br>
<b>Last doc update:</b> 2013-11-20</div>
<br>
<b>Head coder/maintainer:</b> Syzop<br>
<b>Coders:</b> binki<br>
@@ -69,7 +73,8 @@ English |
-- 3.16. <a href="#feature_nickchars">Nick Character Sets</a><br>
-- 3.17. <a href="#feature_cgiirc">CGI:IRC Support</a><br>
-- 3.18. <a href="#feature_timesync">Time Synchronization</a><br>
-- 3.19. <a href="#feature_other">Other features</a><br>
-- 3.19. <a href="#feature_authtypes">Authentication Types</a><br>
-- 3.20. <a href="#feature_other">Other features</a><br>
4. <a href="#configuringyourunrealircdconf">Configuring your unrealircd.conf
file</a><br>
---4.1. <a href="#configurationfileexplained">Configuration file explained</a><br>
@@ -108,7 +113,7 @@ English |
---4.34. <a href="#officialchannels">Official Channels Block</a><br>
---4.35. <a href="#spamfilter">Spamfilter Block</a><br>
---4.36. <a href="#cgiirc">Cgiirc Block</a><br>
---4.37. <a href="#setblock">Set Block -=- (networks/unrealircd.conf)</a><br>
---4.37. <a href="#setblock">Set Block</a><br>
---4.38. <a href="#filesblock">Files Block</a><br />
5. <a href="#addtlfiles">Additional Files</a><br>
6. <a href="#userchannelmodes">User & Channel Modes</a><br>
@@ -193,9 +198,9 @@ Windows:<br>
</ul>
<li><b>Windows version:</b>
<ul>
<li>Windows 2000 (Pro, Server, Advanced Server)
<li>Windows XP (Home, Pro)
<li>Windows 2003
<li>Windows 7
</ul>
<li><b>Architectures tested:</b>
<ul>
@@ -245,7 +250,7 @@ because otherwise you will not understand concepts such as 'cloaking', 'snomasks
<p>A cloaked host is generated by a cloaking module (you are required to have one loaded), currently there's only 1 module included:<br>
<b>cloak:</b> This is the official cloaking module since 3.2.1, it is much more secure than the old
algorithm, it uses md5 internally and requires you to have 3 set::cloak-keys:: consisting of mixed lowercase (a-z),
uppercase (A-Z) and digit (0-9) charachters [eg: "AopAS6WQH2Os6hfosh4SFJHs"]. See example.conf for an example.<br>
uppercase (A-Z) and digit (0-9) characters [eg: "AopAS6WQH2Os6hfosh4SFJHs"]. See example.conf for an example.<br>
<p>Cloak keys MUST be the same on ALL SERVERS in a network. Also cloak keys should be kept SECRET
because it's possible to decode the original host if you know the keys (which makes umode +x useless).</p>
<p>Hint: If you are on *NIX and have to create new cloak keys, you can run './unreal gencloak'
@@ -337,7 +342,7 @@ because otherwise you will not understand concepts such as 'cloaking', 'snomasks
If you then connect to 127.0.0.1 port 6667, your traffic will be encrypted and forwarded to irc.myserv.com
port 6697 (an SSL port).</p>
<p>You should also validate certificates when you connect to servers and not blindly accept them (like in the stunnel example)
else you are still vulnerable to "active sniffing" attacks (ssl redirects), that's however too offtopic
else you are still vulnerable to "active sniffing" attacks (ssl redirects), that's however too off-topic
to explain here (learn about SSL, don't ask us). [mIRC and xchat pop up a window asking you to allow/reject a certificate,
so that's good].</p></div>
<p><font size="+2"><b>3.9 - IPv6</b></font><a name="feature_ipv6"></a></p><div class="desc">
@@ -510,10 +515,21 @@ These bantypes introduce new criteria which can be used:<br>
Ex: <i>+e ~R:Nick</i> will allow Nick in the channel, regardless of other bans, if he identified to
NickServ and is using the nickname Nick.<br>
</td></tr>
<tr><td>~a</td><td>account</td><td>If a user is logged in to services with
this account name, then this ban will match.<br>
This is slightly different than ~R, in the sense that a user with nick ABC
may be logged in under account XYZ.<br>
Not all services packages support this, in which case you will have to use
~R instead.<br>
Ex: <i>+e ~a:SomeName</i> will allow the user(s) logged in to services under
account name SomeName to join the channel, regardless of bans.<br>
</td></tr>
</table>
<br>
You may stack extended bans from the 1st group with the 2nd, such as <i>+b ~q:~c:#lamers</i>, which
would quiet all users who have joined #lamers.<br>
Ban types from the second group may also be used for invite exceptions (+I),
such as <i>+I ~c:#trusted</i> and <i>+I ~a:accountname</i>.<br>
<br>
Modules can add other extended ban types.<br>
</p></div>
@@ -698,7 +714,79 @@ the IRCd will continue to boot regardlessly (should rarely happen).</p>
the <a href="#setblock">set documentation</a> for more information.</p>
</div>
<p><font size="+2"><b>3.19 - Other features</b></font><a name="feature_other"></a></p><div class="desc">
<p><font size="+2"><b>3.19 - Authentication Types</b></font><a name="feature_authtypes"></a></p><div class="desc">
<p>At various places in the configuration file, for example the <a
href="#operblock">oper block</a>, <a href="#allowblock">allow block</a> and
<a href="#linkblock">link block</a>, you can authenticate clients by password or other
means.<br>
You can specify the password as plaintext, but you can also specify an
authentication type.<br>
The following auth-types are available:<br>
<table border="0">
<TR><TD><b>Auth-type:</b></TD><TD><b>Description:</b></TD><TD><b>Dependencies:</b></TD><TD><b>How to generate:</b></TD></TR>
<TR><TD><b>crypt</b></TD><TD>UNIX crypt</TD><TD>Windows: OpenSSL required</TD><TD>/MKPASSWD crypt :password</TD></TR>
<TR><TD><b>md5</b></TD><TD>MD5 with salt</TD><TD>Always available</TD><TD>/MKPASSWD md5 :password</TD></TR>
<TR><TD><b>sha1</b></TD><TD>SHA1 with salt</TD><TD>OpenSSL required</TD><TD>/MKPASSWD sha1 :password</TD></TR>
<TR><TD><b>ripemd160</b></TD><TD>RIPEMD160 with salt</TD><TD>OpenSSL required</TD><TD>/MKPASSWD ripemd160 :password</TD></TR>
<TR><TD><b>sslclientcert</b></TD><TD>SSL Client certificate</TD><TD>OpenSSL required</TD><TD>Path to public certifcate .pem file.</TD></TR>
<TR><TD><b>sslclientcertfp</b></TD><TD>SSL Client certificate fingerprint</TD><TD>OpenSSL required</TD><TD>openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint</TD></TR>
</table>
The /MKPASSWD command can be used online as IRCOp. Alternatively, you can
use the command line interface from the shell: <i>./unreal mkpasswd hashtype
password</i>.<br>
Not all authentication types are available on all systems, see the
dependencies (prerequisites) in the table of above.<br>
<br>
<b>Example: MD5 hashed password in vhost block</b><br>
1. Say, you want to use the password <i>test</i> and want to use md5 hashed
passwords.<br>
If you are an IRCOp then you can simply type <i>/MKPASSWD md5 :test</i>.<br>
Alternatively, instead of IRC you can run the following command on the
shell: <i>./unreal mkpasswd md5 test</i>.<br>
Using either method, the outputted hashed password will look like <i>$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==</i>
(the exact string will vary!)<br>
2. Now, put this string in your vhost block and let UnrealIRCd know it's an
md5 hash. Example:
<pre>vhost {
vhost I.love.Tux;
from { userhost *@*; };
login Tux;
password "$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==" { md5; };
};</pre>
3. To use this vhost, type /VHOST Tux test<br>
<br>
<b>Example: Authentication by SSL Client certificates</b><br>
<tt>sslclientcert</tt> and <tt>sslclientcertfp</tt> are exceptional
auth-types which can be used to authenticate SSL users by their client
certificate.<br>
With these authentication methods you can be sure the user is using SSL and
is using the specified client certificate.<br>
Here's an example of how to use it for the oper block:<br>
1. Create an SSL client certificate if you don't have one already (search
the web for 'create ssl certificate' if you don't know how)<br>
2. Grab the SHA256 hash of the certificate by running:
<pre>openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint</pre>
3. In the configuration file, replace the original password (<i>test</i> in our example) with the hash
and specify the sslclientcertfp auth-type. Here's an example:<br>
<pre>oper test {
password "E7:4D:46:F1:9F:F4:68:F5:E8:E3:49:CC:28:5D:F9:65:85:BA:4F:16:B6:49:02:E3:34:E6:E7:6A:FE:76:A7:98" { sslclientcertfp; };
flags { global; can_override; };
class clients;
};</pre>
4. Rehash your server (/REHASH).<br>
5. Now, connect with your SSL client and make sure it uses your SSL client
certificate of step #2.<br>
6. You can now oper up with <i>/oper test x</i>. The password must still
be specified but may be anything (<i>x</i> in this example), it is ignored
as the SSL client certificate is used for authentication.<br>
7. Congratulations, you are now using the most secure authentication method
available in UnrealIRCd.<br>
<br>
Another very useful place to use <tt>sslclientcertfp</tt> is in <a href="#linkblock_passwordreceive">link::password-receive</a>
</p></div>
<p><font size="+2"><b>3.20 - Other features</b></font><a name="feature_other"></a></p><div class="desc">
<p>UnrealIRCd has a lot of features so not everything is covered here... You'll find that out by yourself.</p></div>
<p> </p>
@@ -985,6 +1073,7 @@ listen *:6601 {
userhost &lt;hostmask&gt;;
};
password &lt;password&gt; { &lt;auth-type&gt;; };
require-modes &lt;modes&gt;
class &lt;class-name&gt;;
flags &lt;flags&gt;;
flags {
@@ -1001,38 +1090,18 @@ listen *:6601 {
<p>The oper block allows you to assign IRC Operators for your server. The <b>oper::</b>
specifies the login name for the /oper. The <b>oper::from::userhost</b> is a user@host
mask that the user must match, you can specify more than one hostmask by creating
more than one oper::from::userhost.
more than one oper::from::userhost. The
optional <b>oper::require-modes</b> setting lets one specify modes
(such as <em>r</em> or <em>z</em>) that a user must have acquired
before being allowed to OPER. This might be used to require users
to register with nickserv or be using secure connections before
being able to become operators.
</p>
<p id="operblock_password">The <b>oper::password::</b> is the password the oper must specify.
<b>oper::password::auth-type</b> allows you to specify an authentication method
for this password. Don't specify <b>oper::password::auth-type</b> for plaintext password.
Valid auth-types are <tt>crypt</tt>, <tt>md5</tt>, <tt>sha1</tt>, <tt>ripemd160</tt>,
and <tt>sslclientcert</tt>. Specifying any one of these types means that the
value of <b>oper::password::</b> is a hash generated with
<a href="#cmd_mkpasswd">mkpasswd</a>.
</p>
<p id="operblock_password_sslclientcert">
<tt>sslclientcert</tt> is an exceptional auth-type. When this is
chosen as the auth-type, <b>oper::password::</b> should be a file
path (relative to UnrealIRCd's installation directory). The file
should be a PEM-encoded SSL certificate (the public certificate, not
a key). This specifies that only an IRC client that
<ol>
<li>is connected using SSL</li>
<li>presented the matching client certficate when connecting</li>
<li>has access to the private key associated with the certficiate file</li>
</ol>
may connect. Of course, this feature requires that UnrealIRCd be
compiled with SSL support. Also, as any SSL certificate's associated
key is much longer than a normal human's password and much more
random, this is the securest authentication option. To oper
up when you have specified a client SSL certificate as the oper's
password, just ensure that the client is set up correctly and issue
<pre>/oper &lt;name&gt; :</pre>. The <tt>sslclientcert</tt>
auth-type may also be used
for <a href="#linkblock_passwordreceive">link::password-receive</a>
to secure <a href="#linkblock">link block</a>s.
</ol>
Valid auth-types, as was as an example on how to use them with oper
blocks, can be found under <a href="#feature_authtypes">Authentication Types</a>.
</p>
<p>Please note that BOTH the password and login name are case sensitive.</p>
<p>The <b>oper::class</b> directive specifies the name of a preexisting (appears before
@@ -1352,7 +1421,7 @@ oper bobsmith {
global;
};
swhois "Example of a whois mask";
snomask frebWqFv;
snomask cFfkoSsqNG;
};
</pre></p>
<a name="operoverride"><b>Some little info about OperOverride:</b><br>
@@ -1371,9 +1440,8 @@ drpass {
die &lt;die-password&gt; { &lt;auth-type&gt;; };
};</pre></p>
<p>This block sets the /restart and /die passwords with drpass::restart and drpass::die
respectively. The drpass::restart:: and drpass::die:: allow you to specify the
type of authentication used by this item. The currently supported authentication
types are crypt, md5, and sha1, ripemd-160.</p>
respectively.
Instead of a plaintext password, you can also use other <a href="#feature_authtypes">Authentication Types</a>.</p>
<p>Example:</p>
<pre>
drpass {
@@ -1909,8 +1977,10 @@ vhost {
to be eligible for the vhost. You may specify more than one hostmask. The vhost::login
in the login name the user must enter and vhost::password is the password that
must be entered. The vhost::password:: allows you to specify the type of
authentication used by this item. The currently supported authentication types
are crypt, md5, and sha1, ripemd-160. Lastly vhost::swhois allows you to add an extra
authentication used by this item. See <a
href="#feature_authtypes">Authentication Types</a> for a list of available
types.
Lastly vhost::swhois allows you to add an extra
line to a users whois, exactly as it does in the Oper Block oper::swhois.</p>
<p>Example:<br>
<pre>
@@ -2031,12 +2101,9 @@ link &lt;server-name&gt; {
The password used for connecting to the remote server, must be plain-text.
</p>
<p id="linkblock_passwordreceive"><b>password-receive</b><br> The password used for validating
incoming links. This may be encrypted in the same manner
as <a href="#operblock_password"><b>oper::password</b></a>. It may,
notably, be set up to use
the <a href="#operblock_password_sslclientcert"><tt>sslclientcert</tt></a>
auth-type. In fact, this is strongly recommended as it is infinitely
more resilient against brute-force attacks.
incoming links. It is strongly recommended to use hashed passwords or
the <tt>sslclientcertfp</tt> auth-type. See <a href="#feature_authtypes">Authentication
Types</a> for more information.<br>
</p>
<p><b>hub vs leaf</b><br>
A hub has multiple servers linked to it, a leaf has only one link... to you.
@@ -2338,11 +2405,10 @@ Then, in your unrealircd.conf you add a cgiirc block:
<p id="setblock"><font class="block_section">4.37 - </font><font class="block_name">Set Block</font>
<font class="block_required">REQUIRED</font> <font class="block_old">(Previously known as unrealircd.conf/networks file)</font>
</p><div class="desc">
<p>The set file is what use to be our networks/unrealircd.conf and our networks
file. On single server networks, rather than having 3 files you can just put all
the set statements in the unrealircd.conf itself, on multi-server networks, I
recommend using a seperate networks file.</p>
<p>Now, if your server is on a network, chances are you will all basically use
<p>On single server networks, rather than having 3 files you can just put all
the set statements in the unrealircd.conf itself, on multi-server networks, we
recommend using a seperate networks file (see next).</p>
<p>If your server is on a network, chances are you will all basically use
the same Set settings. Therefore it makes more sense to have a network file,
which is loaded with an <a href="#includedirective">include</a> directive.
Below you will find all of the set directives available.</p>
@@ -2379,7 +2445,7 @@ set {
<p>Now if you wanted to make the set statements separate, say you wanted to set
your options in a single line.<br>
Example:<br>
set { options { hide-ulines; no-stealth; }; };<br>
set { options { hide-ulines; show-connect-info; }; };<br>
</p>
<p><font class="set">set::kline-address &lt;email-address&gt;;</font><br>
The email address that K:line questions should be sent to. This value must be
@@ -2503,6 +2569,10 @@ set {
<p><font class="set">set::options::allow-insane-bans;</font><br>
Allow insane broad bans like /GLINE *@*.xx. This makes it very easy to
accidentally ban everyone on your network, so use with great care!</p>
<p><font class="set">set::options::disable-cap;</font><br>
Disable IRC Client Capabilities Extensions (CAP). Note that this makes
SASL and various other features unavailable or harder for clients to
use.</p>
<p id="set_nopost_ban_action"><font class="set">set::nopost::ban-action</font> (requires <a href="#modules_m_nopost">m_nopost</a>)<br />
Action to take on a user if he tries to perform an HTTP POST command.
The allowed values are: kill, gline, gzline, kline, zline, shun, and tempshun.
@@ -2527,8 +2597,11 @@ set {
<p><font class="set">set::dns::retries &lt;number-of-retries&gt;;</font><br>
A numeric value specifying the number of times the DNS lookup will be retried
if failure occurs. (NOT IMPLEMENTED)</p>
<p><font class="set">set::dns::nameserver &lt;name-of-dns-server&gt;;</font><br>
Specifies the hostname of the server that will be used for DNS lookups. (NOT IMPLEMENTED)</p>
<p><font class="set">set::dns::nameserver &lt;name-of-dns-server&gt;;</font><br/>
Specifies the IP address of the server that will be used for DNS
lookups. Used only as a fallback for when c-ares is unable to guess
the nameservers (such as if /etc/resolv.conf is empty).
</p>
<p><font class="set">set::dns::bind-ip &lt;ip&gt;;</font><br>
Specifies the IP to bind to for the resolver, rarely ever needed.</p>
<p><font class="set">set::network-name &lt;name-of-network&gt;;</font><br>
@@ -2549,6 +2622,9 @@ set {
<p id="set-stats-server"><font class="set">set::stats-server &lt;server-name&gt;;</font><br>
Sets the name of the server on which the stats bot is located. If stats are
not run this value may be left out.</p>
<p id="set-sasl-server"><font class="set">set::sasl-server &lt;server-name&gt;;</font><br>
Sets the name of the server to which SASL authenticate messages should be
sent.</p>
<p><font class="set">set::help-channel &lt;network-help-channel&gt;;</font><br>
Sets the name of the help channel for this network.</p>
<p><font class="set">set::cloak-keys { &quot;key1&quot;; &quot;key2&quot;; &quot;key3&quot;; };</font><br>
@@ -2559,7 +2635,8 @@ set {
cloaking module you have loaded, other rules may apply.</p>
<p><font class="set">set::hiddenhost-prefix &lt;prefix-value&gt;;</font><br>
Defines the prefix that will be used on hiddenhosts (+x). This is usually three
or four letters representing the network name.</p>
or four letters representing the network name. Linked servers must have
the same hidden-host prefix for channel bans to function properly.</p>
<p><font class="set">set::hosts::local &lt;locop-host-name&gt;;</font><br>
Defines the hostname that will be assigned to local opers when they set +x. You may
optionally specify a username@host for this value.</p>
@@ -2666,6 +2743,16 @@ set {
If a spamfilter takes longer than this amount of milliseconds to execute
(1000ms = 1 second), then the spamfilter will be removed (default: 500).
See also <a href="#feature_spamfilter_slow">Slow Spamfilter Detection</a>.</p>
<p><font class="set">set::spamfilter::stop-on-first-match &lt;yes|no&gt;</font><br>
By default this is set to 'yes' which means that once a spamfilter
matches UnrealIRCd will take action immediately and any additional
(other) spamfilters will not be processed.<br>
When this is set to 'no' then after the first spamfilter match other
spamfilters will still be checked. All of these matches will be logged
and a message will go to IRCOps (snomask +S) for each one. The affected
user, however, will only see one spamfilter action (eg: block or kill)
which will be the spamfilter with the 'gravest action' (gzline is highest,
block and warn are lowest).</p>
<p><font class="set">set::check-target-nick-bans &lt;yes|no&gt;</font><br>
Whenever the user changes his/her nick, check if the NEW nick would be
banned. If so, do not allow the nickchange. Default is yes.</p>
@@ -2679,9 +2766,13 @@ AU). Requests to these servers are sent in parallel, fastest reply wins.</p>
Maximum time to wait for a time server reply. This is a value between 1 and 5, more is not possible
because it causes too much inaccuracy. This setting is 3 by default and there's probably
no good reason to change it.</p>
<p><font class="set">set::ping-cookie &lt;yes|no&gt;</font><br>
Send a challenge using PING, which clients respond to using PONG. This is helpful for
preventing blind HTTP-POST attacks and other things, as well as stopping spoofed TCP on
older operating systems with broken TCP stacks. The default is yes.</p>
<p><font class="set">set::pingpong-warning &lt;yes|no&gt;</font><br>
When NOSPOOF is enabled (usually on Windows), send a warning to each user to use
'/quote pong ..' if they are having problems connecting? The default is no.</p>
When set::ping-cookie is enabled (usually on Windows), send a warning to each user
to use '/quote pong ..' if they are having problems connecting? The default is no.</p>
<p><font class="set">set::watch-away-notification &lt;yes|no&gt;</font><br>
Allows you to enable/disable AWAY notification in WATCH. The default is yes.</p>
<p></p> </div>
@@ -2915,7 +3006,7 @@ files {
<td><div align="center"><b>Description</b></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><b>User Modes</b></div></td>
<td colspan="2" id="usermodes"><div align="center"><b>User Modes</b></div></td>
</tr>
<tr>
<td><div align="center">A</div></td>
@@ -2954,6 +3045,10 @@ files {
<td><div align="center">h</div></td>
<td>Available for help (HelpOp) (Set in OperBlock)</td>
</tr>
<tr>
<td><div style="text-align: center">I</div></td>
<td>Hide an oper's idle time (in /whois output) from regular users.</td>
</tr>
<tr>
<td><div align="center">i</div></td>
<td>Invisible (not shown in /who)</td>
@@ -3043,12 +3138,24 @@ to get more information on a command.</p>
<td>Changes your online nick name. Alerts others to the change of your nick<br></td>
<td>All</td>
</tr>
<tr>
<tr id="command_whois">
<td>whois &lt;nick&gt;</td>
<td>Displays information of user requested. Includes Full Name, Host, Channels
User is in, and Oper Status<br></td>
<td>All</td>
</tr>
<tr id="command_whois_nicknick">
<td>whois &lt;nick&gt; &lt;nick&gt;</td>
<td>
Performs a remote <a href="#command_whois">WHOIS</a>. If a
person is not on the same server as another person, a simple
WHOIS will not display all possible WHOIS responses. For
example, idle times are not shown in such a case. To request a
remote whois, issue a WHOIS with the remote user's nick as the
first and as the second arguments.
</td>
<td>All</td>
</tr>
<tr>
<td height="39">who &lt;mask&gt;</td>
<td>Who allows you to search for users. Masks
@@ -3160,7 +3267,7 @@ to get more information on a command.</p>
<td>All</td>
</tr>
<tr>
<td height="39">Watch +-&lt;nick&gt; +-&lt;nick&gt;<br></td>
<td height="39">Watch [+|-]&lt;nick&gt; [+|-]&lt;nick&gt;<br></td>
<td>Watch is a new notify-type system in UnrealIRCd which is both faster and
uses less network resources than any old-style notify system. The server
will send you a message when any nickname in your watch list logs on or
@@ -3267,6 +3374,10 @@ to get more information on a command.</p>
<td>Returns the IP address of the user in question.</td>
<td>All</td>
</tr>
<tr>
<td height="39">silence [+|-]&lt;nick&gt;<br></td>
<td>Ignores messages from a user or list of users at the Server itself.<br></td>
<td>All</td>
<tr>
<td height="39">oper &lt;userid&gt; &lt;password&gt;<br></td>
<td>Command to give a user operator status if they match an Oper Block<br></td>
@@ -3478,14 +3589,9 @@ to get more information on a command.</p>
</tr>
<tr id="cmd_mkpasswd">
<td height="36">mkpasswd &lt;auth-type&gt; &lt;password&gt;<br></td>
<td>Will encrypt &lt;password&gt; using the &lt;auth-type&gt; hashing method. Available hash methods:
<ul>
<li>crypt [<em>Windows support requires SSL</em>]</li>
<li>md5</li>
<li>sha1 [<em>requires SSL</em>]</li>
<li>ripemd160 [<em>requires SSL</em>]</li>
</ul>
<br></td>
<td>Will encrypt &lt;password&gt; using the &lt;auth-type&gt; hashing method.
See <a href="#feature_authtypes">Authentication Types</a> for available
hash methods.</td>
<td>IRCop</td>
</tr>
<tr>
+225 -126
View File
@@ -19,20 +19,24 @@
<!-- $Id$ -->
<body>
<p style="background: #cc0000">NOTE: This documentation is about the <b>old
series</b> (UnrealIRCd 3.2.x).
If you are using UnrealIRCd 4 then check the
<a href="https://www.unrealircd.org/docs/UnrealIRCd_4_documentation">UnrealIRCd 4 documentation</a>
instead.</p>
<a href="unreal32docs.html">English</a> |
<a href="unreal32docs.de.html">German</a> |
<a href="unreal32docs.es.html">Spanish</a> |
Hungarian |
<a href="unreal32docs.fr.html">French</a> |
<a href="unreal32docs.gr.html">Greek</a> |
<a href="unreal32docs.nl.html">Dutch</a> |
<a href="unreal32docs.ru.html">Russian</a> |
<a href="unreal32docs.tr.html">Turkish</a>
<a href="unreal32docs.tr.html">Turkish</a> |
<a href="unreal32docs.es.html">Spanish</a>
<br><br>
<div align="center"><b><font size="7">UnrealIRCd</font></b><br>
<font size="4"><a href="http://www.unrealircd.com/">http://www.unrealircd.com</a></font><br>
<font size="4">Verzió: 3.2.9-RC2</font><br>
<b>Utolsó dokumentáció frissítés:</b> 2010-11-15</div>
<font size="4">Verzió: 3.2.10.5</font><br>
<b>Utolsó dokumentáció frissítés:</b> 2013-11-20</div>
<br>
<b>Fõ fejlesztõ/karbantartó:</b> Syzop<br>
<b>Fejlesztõk:</b> binki<br>
@@ -60,16 +64,16 @@ Hungarian |
-- 3.7. <a href="#feature_opercmds">Operátori parancsok</a><br>
-- 3.8. <a href="#feature_ssl">SSL</a><br>
-- 3.9. <a href="#feature_ipv6">IPv6</a><br>
-- 3.10. <a href="#feature_ziplinks">Zip linkek</a><br>
-- 3.11. <a href="#feature_dyndns">Dinamikus DNS-sel/IP-vel linkelések támogatása</a><br>
-- 3.12. <a href="#feature_antiflood">Árasztásvédelmi lehetõségek</a><br>
-- 3.13. <a href="#feature_bantypes">Ban típusok</a><br>
-- 3.14. <a href="#feature_spamfilter">A spamszûrõ</a><br>
-- 3.15. <a href="#feature_cidr">CIDR</a><br>
-- 3.16. <a href="#feature_nickchars">Karakterkészletek nicknevekhez</a><br>
-- 3.17. <a href="#feature_cgiirc">CGI:IRC támogatás</a><br>
-- 3.18. <a href="#feature_timesync">Idõszinkronizáció</a><br>
-- 3.19. <a href="#feature_other">További jellegzetességek</a><br>
-- 3.10. <a href="#feature_dyndns">Dinamikus DNS-sel/IP-vel linkelések támogatása</a><br>
-- 3.11. <a href="#feature_antiflood">Árasztásvédelmi lehetõségek</a><br>
-- 3.12. <a href="#feature_bantypes">Ban típusok</a><br>
-- 3.13. <a href="#feature_spamfilter">A spamszûrõ</a><br>
-- 3.14. <a href="#feature_cidr">CIDR</a><br>
-- 3.15. <a href="#feature_nickchars">Karakterkészletek nicknevekhez</a><br>
-- 3.16. <a href="#feature_cgiirc">CGI:IRC támogatás</a><br>
-- 3.17. <a href="#feature_timesync">Idõszinkronizáció</a><br>
-- 3.18. <a href="#feature_authtypes">Hitelesítési típusok</a><br>
-- 3.19. <a href="#feature_other">További funkciók</a><br>
4. <a href="#configuringyourunrealircdconf">Az unrealircd.conf fájlod
beállítása</a><br>
---4.1. <a href="#configurationfileexplained">A konfigurációs formátumról</a><br>
@@ -108,7 +112,7 @@ Hungarian |
 ---4.34. <a href="#officialchannels">Official channels blokk</a><br>
 ---4.35. <a href="#spamfilter">Spamfilter blokk</a><br>
---4.36. <a href="#cgiirc">Cgiirc blokk</a><br>
---4.37. <a href="#setblock">Set blokk -=- (networks/unrealircd.conf)</a><br>
---4.37. <a href="#setblock">Set blokk</a><br>
---4.38. <a href="#filesblock">Files blokk</a><br />
5. <a href="#addtlfiles">További fájlok</a><br>
6. <a href="#userchannelmodes">Felhasználói és csatornamódok</a><br>
@@ -193,9 +197,9 @@ Windows:<br>
</ul>
<li><b>Windows verzió:</b>
<ul>
<li>Windows 2000 (Pro, Server, Advanced Server)
<li>Windows XP (Home, Pro)
<li>Windows 2003
<li>Windows 7
</ul>
<li><b>Tesztelt architektúrák:</b>
<ul>
@@ -263,12 +267,12 @@ mert m
</div>
<p><font size="+2"><b>3.3 - Snomaszkok</b></font><a name="feature_snomasks"></a></p><div class="desc">
<p>A snomaskok vagy szerverüzenet-maszkok (server notice mask) a felhasználói módok egy különleges fajtához tartozik, amelyekkel
<p>A snomaszkok vagy szerverüzenet-maszkok (server notice mask) a felhasználói módok egy különleges fajtához tartozik, amelyekkel
beállíthatod, hogy milyen típusú szerverüzeneteket szeretnél fogadni (leggyakrabban operátorok használják).</p>
<p>Ezek beállítására a /mode nickneved +s SNOMASZK parancs szolgál. Példa: /mode nickneved +s +cF<br>
Egyes snomaskok eltávolítására a következõhöz hasonló parancsot használj: /mode nickneved +s -c<br>
Vagy minden snomaskot törölhetsz a /mode nickneved -s paranccsal.</p>
<p>A jelenleg rendelkezésre álló snomaskok az alábbiak:<br>
Egyes snomaszkok eltávolítására a következõhöz hasonló parancsot használj: /mode nickneved +s -c<br>
Vagy minden snomaszkot törölhetsz a /mode nickneved -s paranccsal.</p>
<p>A jelenleg rendelkezésre álló snomaszkok az alábbiak:<br>
c - helyi kapcsolódások<br>
F - távoli kapcsolódások (kivéve U:line-os szerverekrõl)<br>
f - árasztásokról szóló értesítések<br>
@@ -283,9 +287,9 @@ mert m
s - egyéb szerverüzenetek [*]<br>
S - spamfilter értesítések<br>
o - /oper-elésekrõl szóló értesítések<br>
[*: ezt a snomaskot nem csak ircopok használhatják]<br>
[*: ezt a snomaszkot nem csak ircopok használhatják]<br>
</p>
<p>Beállíthatod, hogy milyen snomaskokat kapj meg automatikusan (set::snomask-on-connect) és melyeket operátorrá
<p>Beállíthatod, hogy milyen snomaszkokat kapj meg automatikusan (set::snomask-on-connect) és melyeket operátorrá
váláskor (set::snomask-on-oper, oper::snomask)</p>
<p>Alapértelmezésben, ha a felhasználó egyszerûen csak a +s módot állítja be, bizonyos snomaszkok lesznek beállítva. Közönséges felhasználóknak a +ks, operátoroknak a +kscfvGqo snomaszkok.</p></div>
@@ -345,19 +349,12 @@ mert m
Ehhez az OPR-ben kell, hogy legyen IPv6 támogatás, valamint az UnrealIRCd-ben is engedélyezned kell az IPv6 támogatást a ./Config-oláskor.<br>
</p><p>Bár a microsoftnak van egy kísérleti IPv6 megvalósítása w2k/XP-re, az UnrealIRCd azt (még) nem támogatja.</p></div>
<p><font size="+2"><b>3.10 - Zip linkek</b></font><a name="feature_ziplinks"></a></p><div class="desc">
<p>A zip linkek bekapcsolhatóak a szerver&lt;-&gt;szerver linkekben, a zlib használatával tömörít adatokat.
Megspórolhat 60-80% sávszélességet... Úgyhogy eléggé hasznos az alacsony sávszélességû linkekhez vagy olyanokhoz,
ahol nagy mennyiségû felhasználó van; sokat segíthet a linkeléskor, mert rengeteg adat küldõdik el a felhasználókról, csatornákról stb.</p>
<p>A zip link támogatással történõ fordításhoz válaszolj Yes-t a ./Config zlib-es kérdésében, valamint a konfigurációban állítsd be a
link::options::zip opciót (mindkét oldalon).</p></div>
<p><font size="+2"><b>3.11 - Dinamikus DNS-sel/IP-vel linkelések támogatása</b></font><a name="feature_dyndns"></a></p><div class="desc">
<p><font size="+2"><b>3.10 - Dinamikus DNS-sel/IP-vel linkelések támogatása</b></font><a name="feature_dyndns"></a></p><div class="desc">
<p>Az UnrealIRCd néhány (új) hasznos funkcióval segíti azokat a felhasználókat, akiknek dinamikus IP-jük van, és dinamikus DNS-t használnak
(mint a valami.dyndns.org). Ha két dinamikus DNS-sel rendelkezõ gépet linkelsz, állítsd be a link::options::nodnscache és a link::options::nohostcheck opciókat.
</p></div>
<p><font size="+2"><b>3.12 - Árasztásvédelmi lehetõségek</b></font><a name="feature_antiflood"></a></p><div class="desc">
<p><font size="+2"><b>3.11 - Árasztásvédelmi lehetõségek</b></font><a name="feature_antiflood"></a></p><div class="desc">
<p>
<b>Elfojtás</b><br>
Az elfojtás (throttling) egy módszer annak korlátozására, hogy egy felhasználó milyen gyorsan bonthatja a kapcsolatot
@@ -456,7 +453,7 @@ Y a m
a csatornára.
</p></div>
<p><font size="+2"><b>3.13 - Ban típusok</b></font><a name="feature_bantypes"></a></p><div class="desc">
<p><font size="+2"><b>3.12 - Ban típusok</b></font><a name="feature_bantypes"></a></p><div class="desc">
<p>
<b>Alapvetõ ban típusok és álcázott gazdanevek</b><br>
Az UnrealIRCd támogatja az olyan alapvetõ ban típusokat, mint amilyen a <i>+b nick!user@host</i>.<br>
@@ -502,22 +499,33 @@ Az al
<i>Pl.: +b ~c:#lamerek, +e ~c:@#megbizhatoak </i></td></tr>
<tr><td>~r</td><td>valós név</td><td>Ha egy felhasználó valós neve illik a banra, nem léphet be.<br>
<i>Pl.: ~r:*Stupid_bot_script*</i><br>
MEGJEGYZÉS: az aláhúzás ('_') mind a szóközre (' ') és az aláhúzásra ('_') is illik, így ez a ban illik a
'Stupid bot script v1.4'-re.</td></tr>
MEGJEGYZÉS: az aláhúzás ("_") mind a szóközre (" ") és az aláhúzásra ("_") is illik, így ez a ban illik a
"Stupid bot script v1.4"-re.</td></tr>
<tr><td>~R</td><td>regisztrált</td><td>Ha egy felhasználó azonosította magát a services-ben (általában a NickServnél),
és illeszkedik erre a nicknévre, akkor erre a banra is illeszkedik. Vagyis ez igazán csak a
ban felmentésekre jó (+e).<br>
Pl.: az <i>+e ~R:Nick</i> engedélyezi a belépést Nick számára, függetlenül más kitiltásoktól, amennyiben azonosította magát a NickServnél, és a Nick nevet használja.<br>
</td></tr>
<tr><td>~a</td><td>hozzáférés</td><td>Ha a felhasználó bejelentkezett a services-be ezzel
a hozzáférési névvel, ki lesz tiltva.<br>
Ez kicsit más, mint a ~R, olyan értelemben, hogy egy ABC nicknevû felhasználó
bejelentkezhet az XYZ hozzáférési név alatt.<br>
Nem minden services csomag támogatja ezt, ilyen helyzetben
az ~R használandó inkább.<br>
Pl.: az <i>+e ~a:ValamilyenNev</i> megengedi a belépést a csatornára olyan felhasználóknak, akik
a ValamilyenNev hozzáférési névvel jelentkeztek be a services-be, függetlenül a kitiltásoktól.<br>
</td></tr>
</table>
<br>
Halmozni is lehet az elsõ csoportbeli kiterjesztett banokat a második csoportbeliekkel, pl. a <i>+b ~q:~c:#lamers</i>
elnémít minden olyan felhasználót, aki a #lamers csatornára lépett be.<br>
A második csoportbeli ban típusokat felhasználhatjuk meghívási kivételekként is (+I),
például: <i>+I ~c:#megbizottak</i> és <i>+I ~a:hozzaferesinev</i>.<br>
<br>
Modulokkal további kiterjesztett ban típusok is bevezethetõk.<br>
</p></div>
<p><font size="+2"><b>3.14 - A spamszûrõ</b></font><a name="feature_spamfilter"></a></p><div class="desc">
<p><font size="+2"><b>3.13 - A spamszûrõ</b></font><a name="feature_spamfilter"></a></p><div class="desc">
<p>A spamszûrõ egy új rendszer a spamok, reklámok, férgek és egyéb dolgok leküzdésére. A csúnyaszórendszerhez
hasonló mûködésû, de több elõnye is van.</p>
<p>Spamszûrõk a /spamfilter paranccsal vehetõek fel, amely a következõ szintaktikát használja:<br>
@@ -551,7 +559,7 @@ Modulokkal tov
<tr><td>dccblock</td><td>megjelöli a felhasználót DCC blokkolásra (nem küldhet DCC-ket)</td></tr>
<tr valign="top"><td>viruschan</td><td>lelépteti a felhasználót minden csatornáról, belépteti a <tt>set::spamfilter::virus-help-channel</tt> csatornára, letilt minden parancsot,
kivéve a PONG-ot, az ADMIN-t és a <tt>set::spamfilter::virus-help-channel</tt> csatornára küldött üzeneteket/értesítéseket</td></tr>
<tr><td>warn</td><td>értesítést küld az IRCOpoknak (spamszûrõ snomask), és
<tr><td>warn</td><td>értesítést küld az IRCOpoknak (spamszûrõ snomaszk), és
tájékoztatja a felhasználót, hogy az üzenetét lehallgatták. További lépéseket
nem tesz, az üzenetet nem blokkolja.</td></tr>
</table></td></tr>
@@ -608,7 +616,7 @@ Jelenleg ez a funkci
</p>
</div>
<p><font size="+2"><b>3.15 - CIDR</b></font><a name="feature_cidr"></a></p><div class="desc">
<p><font size="+2"><b>3.14 - CIDR</b></font><a name="feature_cidr"></a></p><div class="desc">
<p>Az UnrealIRCd most már támogatja a CIDR-t is (Classless Interdomain Routing - osztálynélküli körzetek közti forgalomirányítás). A CIDR alkalmas
IP tartományok kitiltására. Az egyes ISP-knek (Internet Service Provider - internet-szolgáltató) CIDR használatával osztanak ki IP-ket, ezért azzal, hogy CIDR alapú kitiltásokat lehet beállítani,
egyszerûen kitilthatunk egy ISP-t. Az Unreal IPv4-re és IPv6-ra is támogatja a CIDR-t. CIDR maszkokat
@@ -618,7 +626,7 @@ a /kline, a /gline, a /zline, a /gzline
pl. 127.0.0.0/8 (illeszkedési tartománya 127.0.0.0 - 127.255.255.255) és fe80:0:0:123::/64 (illeszkedési tartománya
fe80:0:0:123:0:0:0:0 - fe80:0:0:123:ffff:ffff:ffff:ffff).</p></div>
<p><font size="+2"><b>3.16 - Karakterkészletek nicknevekhez</b></font><a name="feature_nickchars"></a></p><div class="desc">
<p><font size="+2"><b>3.15 - Karakterkészletek nicknevekhez</b></font><a name="feature_nickchars"></a></p><div class="desc">
<p>Az UnrealIRCd-nek most már megvan az a képessége, hogy meghatározzuk, milyen karakterkészleteket/nyelveket szeretnénk engedélyezni
a nicknevekben. Ezt a <b>set::allowed-nickchars</b> direktívával tehetjük meg.<br>
Egy táblázat az összes választási lehetõségrõl:<br>
@@ -675,14 +683,14 @@ enged
<pre>set { allowed-nickchars { chinese-simp; chinese-trad; }; };</pre>
</p></div>
<p><font size="+2"><b>3.17 - CGI:IRC támogatás</b></font><a name="feature_cgiirc"></a></p><div class="desc">
<p><font size="+2"><b>3.16 - CGI:IRC támogatás</b></font><a name="feature_cgiirc"></a></p><div class="desc">
<p>Az UnrealIRCd támogatja a CGI:IRC gazdanév hamisítást, ami azt jelenti, hogy megjelölhetünk bizonyos CGI:IRC
átjárókat "megbízhatóként", ezáltal az IRCd a felhasználók valódi gazdanevét/IP címét jeleníti meg mindenhol
az IRC-n, és nem a CGI:IRC átjáróét.</p>
<p>Lásd a <a href="#cgiirc">cgiirc blokkot</a> a beállításának hogyanjáról.</p>
</div>
<p><font size="+2"><b>3.18 - Idõszinkronizáció</b></font><a name="feature_timesync"></a></p><div class="desc">
<p><font size="+2"><b>3.17 - Idõszinkronizáció</b></font><a name="feature_timesync"></a></p><div class="desc">
<p>A pontos idõ nagyon fontos az IRC szervereken. Pontos idõ nélkül a csatornákon desynch problémák léphetnek fel, ártatlan
felhasználók kaphatnak kilövést, helytelenül jelenhetnek meg csatornák a /LIST-ben, egyszóval: óriási baj származhat belõle.</p>
<p>Az UnrealIRCd-nek van egy kis beépített idõszinkronizáció támogatása.
@@ -697,7 +705,79 @@ az IRCd ennek ellen
a <a href="#setblock">set leírását</a> további információkért.</p>
</div>
<p><font size="+2"><b>3.19 - További jellegzetességek</b></font><a name="feature_other"></a></p><div class="desc">
<p><font size="+2"><b>3.18 - Hitelesítési típusok</b></font><a name="feature_authtypes"></a></p><div class="desc">
<p>A konfigurációs fájl különbözõ pontjain, például az <a
href="#operblock">oper blokkban</a>, az <a href="#allowblock">allow blokkban</a> és
a <a href="#linkblock">link blokkban</a>, jelszóval vagy más módon hitelesíthetjük
a klienseket.<br>
Megadhatjuk a jelszót egyszerû szövegként, de megadhatunk egy
hitelesítési típust is.<br>
A következõ hitelesítési típusok állnak rendelkezésre:<br>
<table border="0">
<TR><TD><b>Hitelesítési típus:</b></TD><TD><b>Leírás:</b></TD><TD><b>Függõségek:</b></TD><TD><b>Hogyan generáljuk:</b></TD></TR>
<TR><TD><b>crypt</b></TD><TD>UNIX crypt</TD><TD>Windows: OpenSSL szükséges</TD><TD>/MKPASSWD crypt :jelszó</TD></TR>
<TR><TD><b>md5</b></TD><TD>sózott MD5</TD><TD>Mindig elérhetõ</TD><TD>/MKPASSWD md5 :jelszó</TD></TR>
<TR><TD><b>sha1</b></TD><TD>sózott SHA1</TD><TD>OpenSSL szükséges</TD><TD>/MKPASSWD sha1 :jelszó</TD></TR>
<TR><TD><b>ripemd160</b></TD><TD>sózott RIPEMD160</TD><TD>OpenSSL szükséges</TD><TD>/MKPASSWD ripemd160 :jelszó</TD></TR>
<TR><TD><b>sslclientcert</b></TD><TD>SSL kliens tanúsítvány</TD><TD>OpenSSL szükséges</TD><TD>A nyilvános tanúsítvány .pem fájl útvonala.</TD></TR>
<TR><TD><b>sslclientcertfp</b></TD><TD>SSL kliens tanúsítvány ujjlenyomat</TD><TD>OpenSSL szükséges</TD><TD>openssl x509 -in pem-fájl-neve.pem -sha256 -noout -fingerprint</TD></TR>
</table>
Az /MKPASSWD parancsot kiadhatjuk online IRC operátorként. Vagy másképpen,
használhatjuk a parancssori interfészt is a parancsértelmezõben: <i>./unreal mkpasswd hasítófüggvény-típus
jelszó</i>.<br>
Nem minden hitelesítési típus érhetõ el minden rendszeren, lásd
a függõségeket (elõfeltételeket) a fenti táblázatban.<br>
<br>
<b>Példa: MD5-tel hasított jelszó a vhost blokkban</b><br>
1. Tegyük fel, hogy a <i>teszt</i> jelszót akarjuk használni, és md5-tel hasított jelszavakat
akarunk használni.<br>
IRC operátorként egyszerûen beírhatjuk, hogy <i>/MKPASSWD md5 :teszt</i>.<br>
Vagy pedig, IRC helyett beírhatjuk a következõ parancsot
a parancssorban: <i>./unreal mkpasswd md5 teszt</i>.<br>
Bármelyik módszert is választjuk, a kapott hasított jelszó így fog kinézni: <i>$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==</i>
(a pontos sztring más lesz!)<br>
2. Most rakjuk bele ezt a sztringet a vhost blokkba, és adjuk az UnrealIRCd tudomására, hogy
ez egy md5-tel hasított kód. Példa:
<pre>vhost {
vhost En.Imadom.Tuxot;
from { userhost *@*; };
login Tux;
password "$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==" { md5; };
};</pre>
3. Ennek a vhostnak a használatához írjuk be, hogy /VHOST Tux teszt<br>
<br>
<b>Példa: Hitelesítés SSL kliens tanúsítvánnyal</b><br>
Az <tt>sslclientcert</tt> és a <tt>sslclientcertfp</tt> kivételes
hitelesítési típusok, amelyek az SSL felhasználókat hitelesítik a kliens
tanúsítványuk alapján.<br>
Ezekkel a hitelesítési módszerekkel biztosak lehetünk, hogy a felhasználó SSL-t használ, és
egy meghatározott kliens tanúsítványa van.<br>
Íme egy példa, hogyan használjuk egy oper blokkhoz:<br>
1. Készítsünk egy SSL kliens tanúsítványt, ha még nem rendelkezünk vele (keressünk
a weben az "ssl tanúsítvány készítése" kulcsszavakra, ha nem tudjuk, hogyan)<br>
2. Fogjuk a tanúsítvány SHA256-tal hasított kódját az alábbi futtatásával:
<pre>openssl x509 -in pem-fájl-neve.pem -sha256 -noout -fingerprint</pre>
3. A konfigurációs fájlban cseréljük ki az eredeti jelszót (<i>teszt</i> a mi példánkban) a hasított kóddal,
és adjuk meg az <code>sslclientcertfp</code> hitelesítési típust. Íme egy példa:<br>
<pre>oper teszt {
password "E7:4D:46:F1:9F:F4:68:F5:E8:E3:49:CC:28:5D:F9:65:85:BA:4F:16:B6:49:02:E3:34:E6:E7:6A:FE:76:A7:98" { sslclientcertfp; };
flags { global; can_override; };
class clients;
};</pre>
4. Töltsük újra a szerverbeállításokat (/REHASH)!<br>
5. Most kapcsolódjunk az SSL kliensünkkel, és gyõzõdjünk meg arról, hogy a második lépésbeli SSL kliens
tanúsítványt használjuk.<br>
6. Most már bejelentkezhetünk operátorként az <i>/oper teszt x</i> paranccsal. Jelszót továbbra is
meg kell adnunk, de bármi lehet (<i>x</i> ebben a példában), figyelmen kívül marad,
mivel benyújtjuk az SSL kliens tanúsítványt a hitelesítéshez.<br>
7. Gratulálunk, Ön most már az UnrealIRCd-ben elérhetõ legbiztonságosabb hitelesítési
típust használja!<br>
<br>
Egy másik nagyon hasznos hely, ahol az <tt>sslclientcertfp</tt> típust használhatjuk, az a <a href="#linkblock_passwordreceive">link::password-receive</a>
</p></div>
<p><font size="+2"><b>3.19 - További funkciók</b></font><a name="feature_other"></a></p><div class="desc">
<p>Az UnrealIRCd-nek rengeteg funkciója van, ezért itt nincs minden megemlítve... Rájössz majd magadtól is.</p></div>
<p> </p>
@@ -984,6 +1064,7 @@ listen *:6601 {
userhost &lt;hostmaszk&gt;;
};
password &lt;jelszó&gt; { &lt;hitelesítés-típusa&gt;; };
require-modes &lt;módok&gt;
class &lt;osztálynév&gt;;
flags &lt;flagek&gt;;
flags {
@@ -992,7 +1073,7 @@ listen *:6601 {
...
};
swhois &lt;whois info&gt;;
snomask &lt;snomask&gt;;
snomask &lt;snomaszk&gt;;
modes &lt;módok&gt;;
maxlogins &lt;szám&gt;;
};
@@ -1000,37 +1081,17 @@ listen *:6601 {
<p>Az oper blokkal IRC operátorokat állíthatsz be a szerveredhez. Az <b>oper::</b>
értéke adja meg az /oper-hez a bejelentkezõ nevet. Az <b>oper::from::userhost</b>
egy user@host maszk, amelyre a felhasználó kapcsolatának illenie kell. Megadhatsz
egynél több hostmaszkot is úgy, hogy több oper::from::userhost-ot használsz.
egynél több hostmaszkot is úgy, hogy több oper::from::userhost-ot használsz. A
nem kötelezõ <b>oper::require-modes</b> beállítással olyan módokat határozhatunk meg
(mint például az <em>r</em> vagy a <em>z</em>), amelyeket a felhasználónak meg kell szereznie
az OPER parancs használata elõtt. Ezt felhasználhatjuk arra, hogy megköveteljük a felhasználóktól,
hogy regisztráljanak a nickservvel, vagy használjanak biztonságos kapcsolatot
az operátorrá válás elõtt.
</p>
<p id="operblock_password">Az <b>oper::password::</b> az a jelszó, amit az operátornak meg kell adnia.
Az <b>oper::password::auth-type</b> segítségével megadhatjuk a hitelesítés módját ehhez a jelszóhoz. Ne adjunk meg <b>oper::password::auth-type</b>-ot egyszerû szöveg típusú jelszóhoz!
Érvényes hitelesítési típusok: <tt>crypt</tt>, <tt>md5</tt>, <tt>sha1</tt>, <tt>ripemd160</tt>
és <tt>sslclientcert</tt>. Bármelyiket is választjuk,
az <b>oper::password::</b> értéke egy hash, amit az
<a href="#cmd_mkpasswd">mkpasswd</a> segítségével generálunk.
</p>
<p id="operblock_password_sslclientcert">
Az <tt>sslclientcert</tt> egy kivételes hitelesítési típus. Amikor ezt
választjuk, az <b>oper::password::</b> értéke legyen egy fájl
útvonal (az UnrealIRCd telepítési célkönyvtárához relatívan), mely
tartalmaz egy PEM kódolású SSL tanúsítványt (a nyilvános tanúsítványt, nem
pedig egy kulcsot). Ezzel biztosíthatjuk, hogy csak olyan IRC kliens kapcsolódhasson, aki:
<ol>
<li>SSL-lel kapcsolódik,</li>
<li>benyújtja az egyezõ kliens tanúsítványt a kapcsolódáskor,</li>
<li>hozzáférése van a tanúsítványhoz tartozó privát kulcshoz.</li>
</ol>
Természetesen ez a funkció igényli, hogy az UnrealIRCd SSL támogatással
legyen fordítva. Továbbá, mivel az SSL tanúsítványokhoz tartozó jelszavak
mindig sokkal hosszabbak, mint egy normális emberi jelszó, és sokkal
véletlenszerûbbek is, ez a legbiztonságosabb hitelesítési lehetõség. Ahhoz,
hogy így jelentkezzünk be operátorként, miután a kliens SSL tanúsítványát
megadtuk operátori jelszóként, elég meggyõzõdni arról, hogy a kliens helyesen
lett beállítva, és adjuk ki az <pre>/oper &lt;név&gt; :</pre> parancsot. Az <tt>sslclientcert</tt>
hitelesítési típust felhasználhatjuk
a <a href="#linkblock_passwordreceive">link::password-receive</a>
direktívában is biztonságos <a href="#linkblock">link blokkokra</a>.
</ol>
Az érvényes hitelesítési típusok, mint ahogyan bemutattuk, hogyan használjuk õket oper
blokkokon, megtalálhatók a <a href="#feature_authtypes">Hitelesítési típusok</a> alatt.
</p>
<p>Megjegyzendõ, hogy MIND a bejelentkezõ név és jelszó a kis- és nagybetûkre érzékenyek.</p>
<p>Az <b>oper::class</b> direktíva meghatározza azt a már létezõ (a konfigurációban ezen blokk
@@ -1085,6 +1146,11 @@ listen *:6601 {
<td><div align="center">can_die</div></td>
<td>Használhatja a /die parancsot</td>
</tr>
<tr>
<td><div align="center">T</div></td>
<td><div align="center">can_tsctl</div></td>
<td>Használhatja a /tsctl parancsot</td>
</tr>
<tr>
<td><div align="center">R</div></td>
<td><div align="center">can_restart</div></td>
@@ -1323,7 +1389,7 @@ listen *:6601 {
<p>Az <b>oper::swhois</b> direktívával egy tetszõleges szövegû sorral egészítheted ki az operátor
whois információját. <font color=blue>[szabadon választható]</font></p>
<p>Az <b>oper::snomask</b> direktívával elõre beállíthatod, hogy az operátor milyen
szerverüzenet-maszkokat kapjon opereléskor. A rendelkezésre álló SNOMASKok listáját lásd a
szerverüzenet-maszkokat kapjon opereléskor. A rendelkezésre álló SNOMASZKok listáját lásd a
<a href="#feature_snomasks">3.3. szekcóban</a>. <font color=blue>[szabadon választható]</font></p>
<p>Az <b>oper::modes</b> direktívával elõre beállíthatod, hogy az operátor milyen módokat kapjon opereléskor.
 <font color=blue>[szabadon választható]</font></p>
@@ -1350,7 +1416,7 @@ oper bobsmith {
global;
};
swhois "Példa egy whois maszkra";
snomask frebWqFv;
snomask cFfkoSsqNG;
};
</pre></p>
<a name="operoverride"><b>Néhány információ az OperOverride-ról:</b><br>
@@ -1369,9 +1435,8 @@ drpass {
die &lt;leállítási-jelszó&gt; { &lt;hitelesítés-típusa&gt;; };
};</pre></p>
<p>Ez a blokk állítja be a /restart és /die jelszavakat rendre a drpass::restart és a drpass::die
direktívákkal. A drpass::restart:: és drpass::die:: lehetõséget ad a jelszavak
hitelesítési típusának meghatározására. A jelenleg támogatott hitelesítési típusok
a crypt, md5, sha1 és ripemd-160.</p>
direktívákkal.
Egyszerû szöveges jelszó helyett használhatunk más <a href="#feature_authtypes">Hitelesítési típusokat</a> is.</p>
<p>Példa:</p>
<pre>
drpass {
@@ -1826,7 +1891,7 @@ deny channel {
engedélyezett a belépés. Továbbá megadhatsz egy <b>deny::redirect</b> paramétert is. Ha megadod,
az ezen deny::channel blokkra illõ csatornákra belépni próbáló felhasználókat átirányítja
a deny::redirect csatornára. És van még egy <b>deny::warn</b> paraméter is, ami (ha "on" értékû) küld
egy operátori értesítést (az EYES snomaskra), ha a felhasználó belépéssel próbálkozik.
egy operátori értesítést (az EYES snomaszkra), ha a felhasználó belépéssel próbálkozik.
</p>
<p>Példa:</p>
<pre>
@@ -1907,8 +1972,10 @@ vhost {
illenie kell, hogy jogosult legyen a vhosthoz. Megadhatsz egynél több hostmaszkot is.
A vhost::login a felhasználó bejelentkezõ neve, és a vhost::password a hozzá tartozó jelszó,
amelyeket a felhasználónak be kell írnia. A vhost::password:: arra ad lehetõséget, hogy
meghatározd a jelszó kódolásának/hitelesítésének típusát. A jelenleg támogatott típusok a
crypt, md5, sha1 és ripemd-160. Végül a vhost::swhois egy kiegészítõ sort ad a felhaszná
meghatározd a jelszó kódolásának/hitelesítésének típusát. Lásd a <a
href="#feature_authtypes">Hitelesítési típusokat</a> a rendelkezésre ál
hitelesítési típusok listájához.
Végül a vhost::swhois egy kiegészítõ sort ad a felhasználó
whois adataiba, pontosan úgy, mint az oper blokk oper::swhois direktívájában.</p>
<p>Példa:<br>
<pre>
@@ -2014,7 +2081,7 @@ link &lt;szervern
<tr><td><i>1.2.3.4</i></td><td> közönséges IP</td></tr>
<tr><td><i>hub.blah.com</i></td><td> gazdanév: csak kimenõ kapcsolatokra, nem tud _beérkezõ_ kapcsolatokat
fogadni, amíg a link::options::nohostcheck nincs beállítva</td></tr>
<tr><td><i>*</i></td><td> KIMENÕ kapcsolatokra alkalmatlan, de bárhonnan fogad szerverkapcsolódást (a megfelelõ jelszóval)</td></tr>
<tr><td><i>*</i></td><td> KIMENõ kapcsolatokra alkalmatlan, de bárhonnan fogad szerverkapcsolódást (a megfelelõ jelszóval)</td></tr>
<tr><td><i>::ffff:1.2.3.4</i></td><td> ipv6-ról ipv4-re linkeléshez.</td></tr>
</table>
</p>
@@ -2028,12 +2095,9 @@ link &lt;szervern
A távoli szerverre kapcsolódáskor használt jelszó; egyszerû szövegnek kell lennie.
</p>
<p id="linkblock_passwordreceive"><b>password-receive</b><br> A beérkezõ linkek érvényesítéséhez
használt jelszó. Hasonló módon titkosítható, mint
az <a href="#operblock_password"><b>oper::password</b></a>.
Még az is megtehetõ, hogy
a <a href="#operblock_password_sslclientcert"><tt>sslclientcert</tt></a>
hitelesítési típust használjuk. Sõt, ez erõsen ajánlott is, mivel fényévekkel
jobban ellenáll a brute-force támadásoknak.
használt jelszó. Erõsen ajánlott a hasított jelszavak használata vagy
az <tt>sslclientcertfp</tt> hitelesítési típus. Lásd a <a href="#feature_authtypes">Hitelesítési
Típusokat</a> további információért.<br>
</p>
<p><b>hub vs leaf</b><br>
A hub egyszerre több szervert is linkelhet, míg a leafnek csak egy linkje lehet... hozzád.
@@ -2051,9 +2115,6 @@ link &lt;szervern
<p><b>class</b><br>
Megadja, melyik kapcsolati osztályba helyezzük a linkelt szervert. Ehhez gyakran egy külön szerver osztályt szokás használni.
</p>
<p><b>compression-level</b> (szabadon választható)<br>
Megadja a kapcsolat tömörítési szintjét (1-9). Csak akkor szokás használni, ha a link::options::zip be van állítva.
</p>
<p><b>ciphers</b> (szabadon választható)<br>
Meghatározza, milyen SSL kódoló/visszafejtõ algoritmusok (cipherek) legyenek használatban ehhez a linkhez. A rendelkezésre álló
algoritmusok listájának eléréséhez használd az `openssl ciphers` parancsot. Az algoritmusokat ":"-tal elválasztott felsorolásként add meg.
@@ -2335,17 +2396,16 @@ Majd az unrealircd.conf-ba tegy
<p id="setblock"><font class="block_section">4.37 - </font><font class="block_name">Set blokk</font>
<font class="block_required">KÖTELEZÕ</font> <font class="block_old">(Elõzõleg unrealircd.conf-ként ill. hálózati fájlként ismert)</font>
</p><div class="desc">
<p>A set fájl az, ami régebben a networks/unrealircd.conf-unk és a hálózati
fájlunk szokott lenni. Egyszerveres hálózatokon, inkább, mint hogy legyen 3 fájlod,
egyszerûen beillesztheted a set utasításokat az unrealircd.conf-ba, többszerveres
hálózatokon viszont még mindig ajánlott a hálózati fájl használata.</p>
<p>Ha a szervered egy hálózaton van, igen valószínû, hogy alapvetõen ugyanazokat
a Set beállításokat használjátok. Ezért van több értelme, hogy legyen egy hálózati fájlod,
amit betöltesz az <a href="#includedirective">include</a> direktívával.
Az alábbiakban megtalálod az összes rendelkezésre álló set direktívát.</p>
<p>Egyszerveres hálózatokon, inkább, mint hogy legyen 3 fájlunk, egyszerûen csak berakhatunk
minden set utasítást magába az unrealircd.conf-ba; míg a többszerveres hálózatokon
javasoljuk a külön hálózati fájl használatát (lásd lentebb).</p>
<p>Ha a szerverünk egy hálózaton van, igen valószínû, hogy alapvetõen ugyanazokat
a Set beállításokat használjuk. Ezért több értelme van, hogy legyen egy hálózati fájlunk,
amit betöltünk az <a href="#includedirective">include</a> direktívával.
Az alábbiakban megtaláljuk az összes rendelkezésre álló set direktívát.</p>
<p>Ebben a dokumentumban a beállításokra / direktívákra a &lt;blokknév&gt;::&lt;blokk-direktíva&gt;
formában hivatkozunk. Ez NEM az a formátum, amelyet beírhatsz a beállításfájlba!
Át KELL alakítanod az alábbi példa szerint. Azért jelenítjük meg õket ebben a formában,
formában hivatkozunk. Ez NEM az a formátum, amelyet beírhatunk a beállításfájlba!
Át KELL alakítanunk az alábbi példa szerint. Azért jelenítjük meg õket ebben a formában,
hogy könnyebben beszélhessünk róluk.</p>
<p>Szintaktika:<br>
<pre>
@@ -2373,10 +2433,10 @@ set {
global globalop.sajatnet.com;
};
};</pre></p>
<p>Ha most a set utasításokat el szeretnéd különíteni, mondjuk, egyetlen sorba akarnád írni
<p>Ha most a set utasításokat el szeretnénk különíteni, mondjuk, egyetlen sorba akarnánk írni
az opciókat, így nézne ki:<br>
Példa:<br>
set { options { hide-ulines; no-stealth; }; };<br>
set { options { hide-ulines; show-connect-info; }; };<br>
</p>
<p><font class="set">set::kline-address &lt;email-cím&gt;;</font><br>
Az az email cím, ahová küldhetõk a K:line-nal kapcsolatos kérdések. Ezt az értéket
@@ -2386,11 +2446,11 @@ set {
<p><font class="set">set::modes-on-connect &lt;+módok&gt;;</font><br>
Azok a módok, amelyek kapcsolódáskor lesznek beállítva a felhasználókon.</p>
<p><font class="set">set::snomask-on-connect &lt;+módok&gt;</font><br>
Azok a snomaskok, amelyek kapcsolódáskor lesznek beállítva a felhasználókon.</p>
Azok a snomaszkok, amelyek kapcsolódáskor lesznek beállítva a felhasználókon.</p>
<p><font class="set">set::modes-on-oper &lt;+módok&gt;;</font><br>
Azok a módok, amelyek /oper-eléskor lesznek beállítva a felhasználókon.</p>
<p><font class="set">set::snomask-on-oper &lt;+módok&gt;;</font><br>
Azok a snomaskok, amelyek /oper-eléskor lesznek beállítva a felhasználókon.</p>
Azok a snomaszkok, amelyek /oper-eléskor lesznek beállítva a felhasználókon.</p>
<p><font class="set">set::modes-on-join &lt;+módok&gt;;</font><br>
Azok a módok, amelyek akkor lesznek beállítva egy csatornán, amikor létrehozzák. Nem minden mód állítható be ezzel az utasítással. A +qaohvbeOAzlLk módok NEM állíthatóak be ezzel az utasítással.</p>
<p><font class="set">set::restrict-usermodes &lt;módok&gt;</font><br>
@@ -2417,7 +2477,7 @@ set {
Azon csatorná(k), ahová a felhasználó be lesz léptetve /oper-eléskor. Egynél több csatorna
megadásához használj vesszõvel elválasztott felsorolást.<br>
[Megjegyzés: ne felejts el idézõjeleket hozzátenni, pl. így: oper-auto-join "#csatorna";]</p>
<p><font class="set">set::anti-spam-quit-message-time &lt;idõérték&gt;;</font><br>
<p id="set::anti-spam-quit-message-time"><font class="set">set::anti-spam-quit-message-time &lt;idõérték&gt;;</font><br>
Egy idõérték annak az idõmennyiségnek a meghatározására, amennyit a felhasználónak el kell
tölteni a szerveren, hogy a /quit üzenete megjelenjen. Spamok megelõzésére használható.
Az idõérték egy numerikus sztring a napot jelentõ "d", az órát jelentõ "h", a percet jelentõ "m"
@@ -2492,7 +2552,7 @@ set {
Megjegyzendõ, hogy a lekérdezések elvégzése nélkül gazdanév alapú allow blokkjaid értelmüket vesztik.</p>
<p><font class="set">set::options::mkpasswd-for-everyone;</font><br>
Az /mkpasswd használatát mindenki számára engedélyezi, nem csak operátoroknak. Ezen parancs
nem-oper használatáról értesítést küld az EYES snomaskra.</p>
nem-oper használatáról értesítést küld az EYES snomaszkra.</p>
<p><font class="set">set::options::allow-part-if-shunned;</font><br>
Engedélyezi a shunolt felhasználóknak a /part használatát.</p>
<p><font class="set">set::options::fail-oper-warn;</font><br>
@@ -2500,6 +2560,10 @@ set {
<p><font class="set">set::options::allow-insane-bans;</font><br>
Engedélyt ad az olyan õrülten széles banokra is, mint a /GLINE *@*.xx. Ezzel nagyon könnyen elõfordulhat, hogy
véletlenül kitiltunk mindenkit a hálózatról, ezért csak nagyon óvatosan használjuk!</p>
<p><font class="set">set::options::disable-cap;</font><br>
Letiltja az IRC kliens képességek kiterjesztést (IRC Client Capabilities Extensions, CAP). Megjegyzendõ, hogy ez
elérhetetlenné teszi az SASL-t és más funkciókat, vagy megnehezíti a használatukat
a kliensek számára.</p>
<p id="set_nopost_ban_action"><font class="set">set::nopost::ban-action</font> (igényli az <a href="#modules_m_nopost">m_nopost</a> modult)<br />
Megmondja, mit tegyen az olyan felhasználókkal, akik HTTP POST parancsot próbálnak kiadni.
Az engedélyezett értékek: kill, gline, gzline, kline, zline, shun és tempshun.
@@ -2524,8 +2588,11 @@ set {
<p><font class="set">set::dns::retries &lt;próbálkozások-száma&gt;;</font><br>
Egy számérték, amely meghatározza, hányszor történjen újrapróbálkozás a DNS lekérdezésben,
ha hiba fordul elõ. (NINCS IMPLEMENTÁLVA)</p>
<p><font class="set">set::dns::nameserver &lt;dns-szerver-neve&gt;;</font><br>
Meghatározza a DNS lekérdezésekhez használt szerver gazdanevét. (NINCS IMPLEMENTÁLVA)</p>
<p><font class="set">set::dns::nameserver &lt;dns-szerver-neve&gt;;</font><br/>
Meghatározza a DNS lekérdezésekhez használt szerver IP címét.
Csak tartalék címként lesz felhasználva, amikor a c-ares képtelen
a névszerverek kitalálására (mint például ha az <code>/etc/resolv.conf</code> üres).
</p>
<p><font class="set">set::dns::bind-ip &lt;ip&gt;;</font><br>
Meghatározza azt az IP címet, amelyre bindeljen a szerver a lekérdezésekhez; a lehetõ legritkábban van szükség rá.</p>
<p><font class="set">set::network-name &lt;hálózat-neve&gt;;</font><br>
@@ -2546,6 +2613,9 @@ set {
<p id="set-stats-server"><font class="set">set::stats-server &lt;szervernév&gt;;</font><br>
Beállítja azon szerver nevét, ahol a statisztikai bot tartozkodik. Ha nem fut statisztikai szerver,
ez az érték kihagyható.</p>
<p id="set-sasl-server"><font class="set">set::sasl-server &lt;szervernév&gt;;</font><br>
Meghatározza annak a szervernek a nevét, amelyre legyenek küldve az SASL hitelesítési
üzenetek.</p>
<p><font class="set">set::help-channel &lt;hálózati-segélycsatorna&gt;;</font><br>
Beállítja e hálózat segélycsatornájának nevét.</p>
<p><font class="set">set::cloak-keys { &quot;kulcs1&quot;; &quot;kulcs2&quot;; &quot;kulcs3&quot;; };</font><br>
@@ -2556,7 +2626,8 @@ set {
függõen más szabályok lehetnek érvényben.</p>
<p><font class="set">set::hiddenhost-prefix &lt;elõtag&gt;;</font><br>
Meghatározza a rejtett (+x) gazdanevek elõtagját. Ez általában a hálózat nevét ábrázoló
három vagy négy betû.</p>
három vagy négy betû. Összekapcsolt szervereken kötelezõen legyen ugyanaz
a rejtett gazdanév elõtag a csatorna kitiltások helyes mûködése érdekében!</p>
<p><font class="set">set::hosts::local &lt;locop-gazdanév&gt;;</font><br>
Meghatározza azt a gazdanevet, amit a +x beállításakor kapnak a helyi operátorok.
Igény szerint megadható egy username@host ehhez az értékhez.</p>
@@ -2638,7 +2709,7 @@ set {
a +f [5j]:15 átalakul [5j#i10]:15-re. Alapértelmezés szerint a csatornamódok nem lesznek automatikusan törölve.</p>
<p><font class="set">set::modef-max-unsettime &lt;szám&gt;</font><br>
A +f csatornamódhoz használt törlési idõ legnagyobb megengedett hossza percekben (itt arról a törlési idõrõl van szó, amit
megadunk pl. a +f [5j#i&lt;IDÕ&gt;]:15 paraméterben). Ez egy 0 és 255 közötti érték. Az alapértelmezés 60 (= 1 óra).</p>
megadunk pl. a +f [5j#i&lt;IDõ&gt;]:15 paraméterben). Ez egy 0 és 255 közötti érték. Az alapértelmezés 60 (= 1 óra).</p>
<p><font class="set">set::ban-version-tkl-time &lt;idõérték&gt;</font><br>
Ha megadod az "action"-t (pl. zline, gline stb.) a ban version blokkban, itt beállíthatod,
mennyi idõre legyen az IP kitiltva. Az alapértelmezés 86400 (1 nap).</p>
@@ -2663,6 +2734,16 @@ set {
Ha egy spamszûrõ lefutása több ideig tart, mint a megadott ezredmásodpercek száma,
(1000ms = 1 másodperc), akkor a spamszûrõ le lesz törölve (alapérték: 500).
Lásd még: <a href="#feature_spamfilter_slow">Lassú spamszûrõk érzékelése</a>.</p>
<p><font class="set">set::spamfilter::stop-on-first-match &lt;yes|no&gt;</font><br>
Alapértelmezésben "yes" értékû, azaz amint egy spamszûrõ
illeszkedik, az UnrealIRCd azonnal intézkedik, és semmilyen további
(más) spamszûrõ nem lesz már feldolgozva.<br>
Abban az esetben, ha "no" értékre van állítva, az elsõ spamszûrõ illeszkedés után más
spamszûrõk továbbra is ellenõrizve lesznek. Minden ilyen illeszkedés naplózva lesz,
és az IRCOpok (+S snomaszk) mindegyikért kapnak egy üzenetet. Az érintett
felhasználók azonban csak egy spamszûrõ akciót fognak látni (pl.: blokkolás vagy kill),
mégpedig arra a spamszûrõre, amelyik a legsúlyosabb (gzline a legmagasabb,
a blokkolások és a figyelmeztetések a legalacsonyabbak).</p>
<p><font class="set">set::check-target-nick-bans &lt;yes|no&gt;</font><br>
Valahányszor a felhasználó nicknevet változtat, ellenõrzi, hogy az ÚJ név le van-e
tiltva. Ha igen, nem engedélyezi a nickváltást. Az alapértelmezés "yes".</p>
@@ -2676,8 +2757,12 @@ AU). A lek
Legfeljebb ennyi ideig vár az idõszerverek válaszára. Ez egy érték 1 és 5 között; több nem lehet,
mert túl nagy pontatlanságot okozna. Ez az érték alapértelmezésben 3, és nem valószínû, hogy
érdemes megváltoztatni.</p>
<p><font class="set">set::ping-cookie &lt;yes|no&gt;</font><br>
Felszólítja a klienseket egy PING paranccsal, hogy válaszoljanak PONG paranccsal. Ez arra jó, hogy
megóvja a szervert az ún. vak HTTP-POST támadásokatól és hasonlóktól, továbbá megállítsa az átejtõ szándékú TCP
forgalmat olyan operációs rendszereken, ahol a TCP verem törött. Az alapértelmezés "yes".</p>
<p><font class="set">set::pingpong-warning &lt;yes|no&gt;</font><br>
Ha a NOSPOOF engedélyezett (általában Windowson), küldjön egy figyelmeztetést minden felhasználónak, hogy
Ha a set::ping-cookie engedélyezett (általában Windowson), küldjön egy figyelmeztetést minden felhasználónak, hogy
használják a "/quote pong .." parancsot, ha kapcsolódási problémájuk van. Az alapértelmezés "no".</p>
<p><font class="set">set::watch-away-notification &lt;yes|no&gt;</font><br>
Engedélyezi vagy letiltja az AWAY értesítéseket a WATCH-ban. Az alapértelmezés "yes".</p>
@@ -2872,7 +2957,7 @@ files {
</tr>
<tr>
<td><div align="center">t</div></td>
<td>Csak csatorna operátorok állíthatnak be témát</td>
<td>Csak féloperátorok, csatorna operátorok vagy magasabb jogosultságúak állíthatnak be témát</td>
</tr>
</tr>
<tr>
@@ -2912,7 +2997,7 @@ files {
<td><div align="center"><b>Leírás</b></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><b>Felhasználói módok</b></div></td>
<td colspan="2" id="usermodes"><div align="center"><b>Felhasználói módok</b></div></td>
</tr>
<tr>
<td><div align="center">A</div></td>
@@ -2951,6 +3036,10 @@ files {
<td><div align="center">h</div></td>
<td>Segítségnyújtásra alkalmas (HelpOp) (az oper blokkban állítható be)</td>
</tr>
<tr>
<td><div style="text-align: center">I</div></td>
<td>Elrejti egy operátor tétlenségi idejét (a /whois kimenetbõl) a normál felhasználók elõl.</td>
</tr>
<tr>
<td><div align="center">i</div></td>
<td>Láthatatlan (nem jelenik meg a /who-ban)</td>
@@ -3040,12 +3129,24 @@ tov
<td>Megváltoztatja az online nick nevedet. Értesíti a többieket a nickváltásodról.<br></td>
<td>Mindenki</td>
</tr>
<tr>
<tr id="command_whois">
<td>whois &lt;nick&gt;</td>
<td>Információt jelenít meg a megadott felhasználóról. Tartalmazza a teljes nevet, gazdanevet,
csatornákat, amelyeken tartózkodik a felhasználó, és az operátori beosztást.<br></td>
<td>Mindenki</td>
</tr>
<tr id="command_whois_nicknick">
<td>whois &lt;nick&gt; &lt;nick&gt;</td>
<td>
Végrehajt egy távoli <a href="#command_whois">WHOIS</a> parancsot. Ha
egy személy nem ugyanazon a szerveren van, mint egy másik, a sima
WHOIS nem fog minden lehetséges WHOIS választ megjeleníteni.
Például, a tétlenségi idõ nem lesz mutatva ilyen esetben. Ahhoz, hogy
egy távoli whois-t kérjük, adjunk ki egy WHOIS parancsot a távoli felhasználó nicknevével
mint elsõ és második paraméterrel.
</td>
<td>Mindenki</td>
</tr>
<tr>
<td height="39">who &lt;maszk&gt;</td>
<td>A who felhasználók keresésére alkalmas. A maszk lehet:
@@ -3157,7 +3258,7 @@ tov
<td>Mindenki</td>
</tr>
<tr>
<td height="39">Watch +-&lt;nick&gt; +-&lt;nick&gt;<br></td>
<td height="39">Watch [+|-]&lt;nick&gt; [+|-]&lt;nick&gt;<br></td>
<td>A watch egy új értesítési rendszer az UnrealIRCd-ben, amely gyorsabb és kevesebb
hálózati erõforrást használ fel, mint bármely régi típusú változatok. A szerver
küld neked egy üzenetet, ha valamely felhasználó, amelynek a nickneve a watch
@@ -3264,6 +3365,10 @@ tov
<td>Visszaadja a megadott felhasználó IP címét.</td>
<td>Mindenki</td>
</tr>
<tr>
<td height="39">silence [+|-]&lt;nick&gt;<br></td>
<td>Figyelmen kívül hagyja egy felhasználónak vagy felhasználók listájának a szerveren keresztül küldött üzeneteit.<br></td>
<td>Mindenki</td>
<tr>
<td height="39">oper &lt;azonosító&gt; &lt;jelszó&gt;<br></td>
<td>Ez a parancs egy felhasználónak operátori beosztást ad, ha illik egy oper blokkra.<br></td>
@@ -3475,14 +3580,9 @@ tov
</tr>
<tr id="cmd_mkpasswd">
<td height="36">mkpasswd &lt;hitelesítés-típusa&gt; &lt;jelszó&gt;<br></td>
<td>Titkosítja a megadott &lt;jelszót&gt; a &lt;hitelesítés-típusa&gt; típusú hasító módszerrel. Lehetséges hasító módszerek:
<ul>
<li>crypt [<em>Windows alatti támogatáshoz SSL szükséges</em>]</li>
<li>md5</li>
<li>sha1 [<em>SSL-t igényel</em>]</li>
<li>ripemd160 [<em>SSL-t igényel</em>]</li>
</ul>
<br></td>
<td>Titkosítja a megadott &lt;jelszót&gt; a megadott &lt;hitelesítési-típusú&gt; hasító módszerrel.
Lásd a <a href="#feature_authtypes">Hitelesítési típusokat</a> a rendelkezésre álló
hasító módszerekhez.</td>
<td>IRCop</td>
</tr>
<tr>
@@ -3563,7 +3663,6 @@ tov
V - vhost - Elküldi a vhost blokkok listáját<br>
X - notlink - Listát küld azokról a szerverekrõl, amelyek jelenleg nincsenek linkelve<br>
Y - class - Elküldi a class blokkok listáját<br>
z - zip - Információt küld a zippel linkelt szerverek adattömörítésérõl (ha van ziplink támogatás)<br>
Z - mem - Információt küld a szerver memóriahasználatáról<br>
</td>
<td>Mindenki</td>
@@ -3704,8 +3803,8 @@ a /map-pel vagy a /links-szel. Teh
Ha történik egy szakadás (split), valaki még mindig láthatja, melyik szerver hová volt linkelve,
és ez érvényes még néhány más dologra is.<br>
<br>
<b>KÖZÖNSÉGES FELHASZNÁLÓK ÉS SNOMASKOK</b><br>
Van egy funkció, melyet nem ismernek széles körben; ez az, hogy közönséges felhasználók is beállíthatnak néhány korlátozott snomaskot,
<b>KÖZÖNSÉGES FELHASZNÁLÓK ÉS SNOMASZKOK</b><br>
Van egy funkció, melyet nem ismernek széles körben; ez az, hogy közönséges felhasználók is beállíthatnak néhány korlátozott snomaszkot,
mégpedig azt, hogy "+s +sk". Ezzel láthatnak olyan dolgokat, mint a beállítások újratöltése, killek és egyéb más üzenetek.<br>
Ennek letiltására használhatod a "set::restrict-usermodes"-t a következõképpen: <i>set { restrict-usermodes "s"; };</i>.<br>
File diff suppressed because it is too large Load Diff
+164 -70
View File
@@ -17,17 +17,25 @@
<!-- $Id$ -->
</head>
<body>
<A href="unreal32docs.html">English</A> | <A href="unreal32docs.de.html">German</A>
| <A href="unreal32docs.es.html">Spanish</A> | <A href="unreal32docs.hu.html">Hungarian</A>
| <A href="unreal32docs.fr.html">French</A> | <A href="unreal32docs.gr.html">Greek</A>
| <A href="unreal32docs.nl.html">Dutch</A> | Russian | <a href="unreal32docs.tr.html">
Turkish</a>
<p style="background: #cc0000">NOTE: This documentation is about the <b>old
series</b> (UnrealIRCd 3.2.x).
If you are using UnrealIRCd 4 then check the
<a href="https://www.unrealircd.org/docs/UnrealIRCd_4_documentation">UnrealIRCd 4 documentation</a>
instead.</p>
<A href="unreal32docs.html">English</A> |
<A href="unreal32docs.de.html">German</A> |
<A href="unreal32docs.hu.html">Hungarian</A> |
<A href="unreal32docs.fr.html">French</A> |
Russian |
<A href="unreal32docs.tr.html">Turkish</A> |
<A href="unreal32docs.es.html">Spanish</a>
<br>
<br>
<div align="center"><b><font size="7">UnrealIRCd</font></b><br>
<font size="4"><a href="http://www.unrealircd.com">http://www.unrealircd.com</a></font><br>
<font size="4">Âåðñèÿ: 3.2.9-RC2</font><br>
<b>Ïîñëåäíåå îáíîâëåíèå:</b> 2010-05-17</div>
<font size="4">Âåðñèÿ: 3.2.10.5</font><br>
<b>Ïîñëåäíåå îáíîâëåíèå:</b> 2013-04-05</div>
<br>
<b>Ãëàâíûå ïðîãðàììèñòû</b> Syzop<br>
<b>Ïðîãðàììèñòû:</b> binki<br>
@@ -68,7 +76,8 @@
íèêàõ</A><br>
-- 3.17. <A href="#feature_cgiirc">Ïîääåðæêà CGI:IRC</A><br>
-- 3.18. <a href="#feature_timesync">Ñèíõðîíèçàöèÿ âðåìåíè</a><br>
-- 3.19. <A href="#feature_other">Äðóãèå âîçìîæíîñòè</A><br>
-- 3.19. <a href="#feature_authtypes">Ñïîñîáû àóòåíòèôèêàöèè</a><br>
-- 3.20. <A href="#feature_other">Äðóãèå âîçìîæíîñòè</A><br>
4. <A href="#configuringyourunrealircdconf">Êîíôèãóðèðîâàíèå âàøåãî unrealircd.conf</A><br>
---4.1. <A href="#configurationfileexplained">Îáçîð ñòðóêòóðû êîíôèãóðàöèîííîãî
ôàéëà</A><br>
@@ -107,7 +116,7 @@
---4.34. <A href="#officialchannels">Áëîê Official Channels</A><br>
---4.35. <A href="#spamfilter">Áëîê Spamfilter</A><br>
---4.36. <A href="#cgiirc">Áëîê Cgiirc</A><br>
---4.37. <A href="#setblock">Áëîê Set -=- (networks/unrealircd.conf)</A><br>
---4.37. <A href="#setblock">Áëîê Set</A><br>
---4.38. <a href="#filesblock">Áëîê Files</a><br />
5. <A href="#addtlfiles">Äîïîëíèòåëüíûå ôàéëû</A><br>
6. <A href="#userchannelmodes">Ðåæèìû ïîëüçîâàòåëÿ è êàíàëà</A><br>
@@ -228,12 +237,12 @@
<li>
<b>Windows âåðñèè:</b>
<ul>
<li>
Windows 2000 (Pro, Server, Advanced Server)
<li>
Windows XP (Home, Pro)
<li>
Windows 2003
<li>
Windows 7
</li>
</ul>
<li>
@@ -734,10 +743,24 @@
ïðèìåíåíèå - â èñïîëüçîâàíèè äëÿ èñêëþ÷åíèé (+e).<br>
Ïðèìåð: <i>+e ~R:Nick</i> ïîçâîëÿåò Nick áûòü íà êàíàëå, íå ñìîòðÿ íà äðóãèå áàíû,
åñëè îí èäåíòèôèöèðîâàëñÿ íà NickServ è ïîëüçóåòñÿ íèêîì Nick.<br>
</td></tr>
</td></tr>
<tr>
<td>~a</td>
<td>àêêàóíò</td>
<td>Åñëè ïîëüçîâàòåëü çàëîãèíèëñÿ íà ñåðâèñàõ ñ óêàçàííûì àêêàóíòîì,
òî îí ïîïàä¸ò ïîä áàí<br>
Äàííûé áàí îòëè÷àåòñÿ îò ~R òåì, ÷òî ïîëüçîâàòåëü ñ íèêîì ABC ìîæåò áûòü çàëîãèíåí ïîä
àêêàóíòîì XYZ.<br>
Íå âñå ñåðâèñû (èìååòñÿ ââèäó ðàçëè÷íûå ïîñòàâùèêè) ïîääåðæèâàþò ýòî. Åñëè íå ïîääåðæèâàþò, èñïîëüçóéòå ~R.<br>
Ïðèìåð: <i>+e ~a:SomeName</i> ïîçâîëèò ïîëüçîâàòåëþ (-ëÿì), êîòîðûé çàëîãèíåí íà ñåðâèñàõ ïîä àêêàóíòîì
SomeName, çàéòè íà êàíàë, íå ñìîòðÿ íà áàíû.<br>
</td></tr>
</table>
Ìîæíî ñòåêèðîâàòü áàíû ïåðâîãî è âòîðîãî âèäà. Íàïðèìåð <i>+b ~q:~c:#lamers</i> çàñòàâèò ìîë÷àòü âñåõ, êòî ñèäèò íà #lamers.<br>
Ìîæíî ñòåêèðîâàòü áàíû ïåðâîãî è âòîðîãî âèäà. Íàïðèìåð <i>+b ~q:~c:#lamers</i> çàñòàâèò ìîë÷àòü âñåõ,
êòî ñèäèò íà #lamers.<br>
Áàíû èç âòîðîé ãðóïïû ìîãóò òàê æå èñïîëüçîâàòüñÿ äëÿ èñêëþ÷åíèé ïðèãëàøåíèé (+I),
íàïðèìåð âîò òàê <i>+I ~c:#trusted</i> è <i>+I ~a:accountname</i>.<br>
<br>
</p>
</div>
<p><font size="+2"><b>3.14 - Ñïàìôèëüòð</b></font><a name="feature_spamfilter"></a></p>
@@ -1180,7 +1203,68 @@
<p>Êîíôèãóðàöèÿ ñèíõðîíèçàöèè âðåìåíè (òàê æå è îòêëþ÷åíèå) ïðîèñõîäèò ïîñðåäñòâîì
áëîêà <b>set::timesynch</b>, ïîäðîáíîñòè â <a href="#setblock">äîêóìåíòàöèè</a>.</p>
</div>
<p><font size="+2"><b>3.19 - Äðóãèå âîçìîæíîñòè</b></font><a name="feature_other"></a></p>
<p><font size="+2"><b>3.19 - Ñïîñîáû àóòåíòèôèêàöèè</b></font><a name="feature_authtypes"></a></p><div class="desc">
<p> ðàçëè÷íûõ ìåñòàõ â êîíôèãóðàöèîííîì ôàéëå, íàïðèìåð â <a href="#operblock">áëîêå oper</a>,
<a href="#allowblock">áëîêå allow</a> è <a href="#linkblock">áëîêå link</a>, âû ìîæåòå àóòåíòèôèöèðîâàòü êëèåíòîâ
ïî ïàðîëþ èëè æå äðóãèìè ñïîñîáàìè.<br>
Âû ìîæåòå óêàçàòü ïàðîëü êàê â îòêðûòîì âèäå, òàê è ñ èñïîëüçîâàíèåì ðàçëè÷íûõ òèïîâ àóòåíòèôèêàöèè (Auth-type).<br>
Äîñòóïíû ñëåäóþùèå òèïû àóòåíòèôèêàöèè:<br>
<table border="0">
<TR><TD><b>Auth-type:</b></TD><TD><b>Îïèñàíèå:</b></TD><TD><b>Çàâèñèìîñòè:</b></TD><TD><b>Êàê ñãåíåðèðîâàòü:</b></TD></TR>
<TR><TD><b>crypt</b></TD><TD>UNIX crypt</TD><TD>Windows: íåîáõîäèì OpenSSL</TD><TD>/MKPASSWD crypt :ïàðîëü</TD></TR>
<TR><TD><b>md5</b></TD><TD>MD5 ñ ñîëüþ</TD><TD>Always available</TD><TD>/MKPASSWD md5 :ïàðîëü</TD></TR>
<TR><TD><b>sha1</b></TD><TD>SHA1 ñ ñîëüþ</TD><TD>íåîáõîäèì OpenSSL</TD><TD>/MKPASSWD sha1 :ïàðîëü</TD></TR>
<TR><TD><b>ripemd160</b></TD><TD>RIPEMD160 ñ ñîëüþ</TD><TD>íåîáõîäèì OpenSSL</TD><TD>/MKPASSWD ripemd160 :ïàðîëü</TD></TR>
<TR><TD><b>sslclientcert</b></TD><TD>Ñåðòèôèêàò SSL êëèåíòà</TD><TD>íåîáõîäèì OpenSSL</TD><TD>Ïóòü ê ôàéëó ïóáëè÷íîãî ñåðòèôèêàòà .pem.</TD></TR>
<TR><TD><b>sslclientcertfp</b></TD><TD>Îòïå÷àòîê ñåðòèôèêàòà SSL êëèåíòà</TD><TD>íåîáõîäèì OpenSSL</TD><TD>openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint</TD></TR>
</table>
Êîìàíäà /MKPASSWD äîñòóïíà îíëàéí IRCOp. Âìåñòî íå¸ ìîæíî èñïîëüçîâàòü êîìàíäó
ïðÿìî èç øåëë: <i>./unreal mkpasswd òèï-õýøà ïàðîëü</i>.<br>
Íå âñå ñïîñîáû àóòåíòèôèêàöèè äîñòóïíû íà âñåõ ñèñòåìàõ, ñìîòðèòå çàâèñèìîñòè èç òàáëèöû âûøå.<br>
<br>
<b>Ïðèìåð: Õýøèðîâàííûé MD5 ïàðîëü â áëîêå vhost</b><br>
1. Âû õîòèòå èñïîëüçîâàòü ïàðîëü <i>test</i> è õîòèòå èñïîëüçîâàòü õýø md5.<br>
Åñëè âû îïåðàòîð (IRCOp), òî âû ìîæåòå ïðîñòî ââåñòè òàêóþ êîìàíäó <i>/MKPASSWD md5 :test</i>.<br>
Òàê æå, ìîæåòå ýòî ñäåëàòü èç øåëëà: <i>./unreal mkpasswd md5 test</i>.<br>
 ëþáîì ñëó÷àå, âû ïîëó÷èòå ïàðîëü âèäà <i>$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==</i>
(ïîëó÷åííûé ðåçóëüòàò ìîæåò îòëè÷àòüñÿ!)<br>
2. Òåïåðü äîáàâüòå ïîëó÷åííûé ðåçóëüòàò â âàø áëîê vhost è óêàæèòå, ÷òî ýòî õýø md5.<br>
Ïðèìåð:
<pre>vhost {
vhost I.love.Tux;
from { userhost *@*; };
login Tux;
password "$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==" { md5; };
};</pre>
3. ×òîáû èñïîëüçîâàòü ýòîò vhost, ââåäèòå /VHOST Tux test<br>
<br>
<b>Ïðèìåð: Àóòåíòèôèêàöèÿ êëèåíòà ïî ñåðòèôèêàòàì SSL</b><br>
<tt>sslclientcert</tt> è <tt>sslclientcertfp</tt> èñêëþ÷èòåëüíûå ñïîñîáû àóòåíòèôèêàöèè, êîòîðûå ïîçâîëÿþò
àóòåíòèôèöèðîâàòü SSL ïîëüçîâàòåëåé ïî èõ ñåðòèôèêàòàì.<br>
Èñïîëüçóÿ ýòè ìåòîäû, óáåäèòåñü, ÷òî ïîëüçîâàòåëè èñïîëüçóþò SSL è óêàçàííûé ïîëüçîâàòåëüñêèé ñåðòèôèêàò.<br>
Âîò ïðèìåð, êàê ìîæíî ýòî èñïîëüçîâàòü â áëîêå oper:<br>
1. Ñîçäàéòå ñåðòèôèêàò SSL, åñëè ó âàñ åãî íåò (ïîèùèòå â google 'create ssl certificate', åñëè âû íå çíàåòå êàê)<br>
2. Ïîëó÷èòå õýø SHA256 ñåðòèôèêàòà èñïîëüçóÿ êîìàíäó:
<pre>openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint</pre>
3. Â êîíôèãóðàöèîííîì ôàéëå çàìåíèòå èñõîäíûé ïàðîëü (â íàøåì ïðèìåðå ýòî <i>test</i>) íà õýø è
óêàæèòå ñïîñîá àóòåíòèôèêàöèè â sslclientcertfp. Âîò ïðèìåð:<br>
<pre>oper test {
password "E7:4D:46:F1:9F:F4:68:F5:E8:E3:49:CC:28:5D:F9:65:85:BA:4F:16:B6:49:02:E3:34:E6:E7:6A:FE:76:A7:98" { sslclientcertfp; };
flags { global; can_override; };
class clients;
};</pre>
4. Ïåðå÷èòàéòå ôàéë êîíôèãóðàöèè ñåðâåðà (/REHASH).<br>
5. Òåïåðü ïîäêëþ÷èòåñü ïî SSL è óáåäèòåñü ÷òî âàø êëèåíò èñïîëüçóåò SSL ñåðòèôèêàò èç øàãà #2.<br>
6. Òåïåðü âû ìîæåòå ïîëó÷èòü ïðàâà îïåðàòîðà êîìàíäîé <i>/oper test x</i>. Ïàðîëü ïî ïðåæíåìó íóæíî óêàçàòü, íî îí ìîæåò
áûòü àáñîëþòíî ëþáûì (<i>x</i> â ýòîì ïðèìåðå), òàê êàê îí èãíîðèðóåòñÿ è èñïîëüçóåòñÿ äëÿ àóòåíòèôèêàöèè êëèåíòñêèé ñåðòèôèêàò SSL.<br>
7. Ïîçäðàâëÿþ, òåïåðü âû èñïîëüçóåòå ñàìûé áåçîïàñíûé ìåòîä àóòåíòèôèêàöèè, äîñòóïíûé â UnrealIRCd.<br>
<br>
Åù¸ îäíî âåñüìà ïîëåçíîå ïðèìåíåíèå äëÿ èñïîëüçîâàíèÿ <tt>sslclientcertfp</tt> íàõîäèòñÿ â
<a href="#linkblock_passwordreceive">link::password-receive</a>
</p></div>
<p><font size="+2"><b>3.20 - Äðóãèå âîçìîæíîñòè</b></font><a name="feature_other"></a></p>
<div class="desc">
<p>UnrealIRCd èìååò ìíîæåñòâî äðóãèõ âîçìîæíîñòåé, íå âñå èç êîòîðûõ òóò
ðàñêðûòû... Âû ìîæåòå íàéòè èõ â äðóãîì ìåñòå ñàìîñòîÿòåëüíî.</p>
@@ -1533,6 +1617,7 @@ allow {
userhost &lt;õîñòìàñêà&gt;;
};
password &lt;ïàðîëü&gt; { &lt;òèï-àóòåíòèôèêàöèè&gt;; };
require-modes &lt;ðåæèìû&gt;
class &lt;èìÿ-êëàññà&gt;;
flags &lt;ôëàãè&gt;;
flags {
@@ -1550,37 +1635,17 @@ allow {
<p>Áëîê oper ïîçâîëÿåò íàçíà÷èòü IRC-îïåðàòîðîâ íà âàøåì ñåðâåðå. <b>oper::</b> îïðåäåëÿåò
ëîãèí êîìàíäû /oper. <b>oper::from::userhost</b> - ýòî user@host ìàñêà, ïîä
êîòîðóþ äîëæåí ïîïàäàòü ïîëüçîâàòåëü. Âû ìîæåòå îïðåäåëèòü áîëåå, ÷åì îäíó
õîñòìàñêó â oper::from::userhost.
õîñòìàñêó â oper::from::userhost. Îïöèîíàëüíî ìîæíî óñòàíîâèòü <b>oper::require-modes</b>
äëÿ îïðåäåë¸ííûõ ðåæèìîâ (òàêèõ êàê <em>r</em> èëè <em>z</em>), êîòîðûå íåîáõîäèìû
÷òîáû áûëè ó ïîëüçîâàòåëÿ ïåðåä òåì, êàê îí áû ñòàë îïåðàòîðîì. Óêàçàâ äàííûå ðåæèìû,
ìû ïîòðåáóåì îò ïîëüçîâàòåëÿ áûòü çàðåãèñòðèðîâàííûì íà nickserv èëè èñïîëüçîâàòü áåçîïàñíîå
ïîäêëþ÷åíèå ïåðåä òåì, êàê ñòàíîâèòüñÿ îïåðàòîðîì.
</P>
<p id="operblock_password"><b>oper::password</b> - ïàðîëü, êîòîðûé äîëæåí óêàçàòü ïîëüçîâàòåëü.
<b>oper::password::auth-type</b> ïîçâîëÿåò âàì óêàçàòü ìåòîä àóòåíòèôèêàöèè äëÿ ýòîãî ïàðîëÿ.
Åñëè âû èñïîëüçóåòå ïàðîëè îòêðûòûì òåêñòîì, òî íå óêàçûâàéòå îïöèþ <b>oper::password::auth-type</b>.
Êîððåêòíûå ìåòîäû àóòåíòèôèêàöèè: <tt>crypt</tt>, <tt>md5</tt>, <tt>sha1</tt>,
<tt>ripemd160</tt> è <tt>sslclientcert</tt>. Óêàçàíèå ëþáîãî èç ýòèõ ìåòîäîâ îçíà÷àåò, ÷òî
çíà÷åíèå <b>oper::password::</b> ÿâëÿåòñÿ ñãåíåðèðîâàííûì õýøåì (hash) ïðè ïîìîùè
<a href="#cmd_mkpasswd">mkpasswd</a>.
</p>
<p id="operblock_password_sslclientcert">
<tt>sslclientcert</tt> èñêëþ÷èòåëüíûé òèï àâòîðèçàöèè. Åñëè îí óêàçàí â êà÷åñòâå àâòîðèçàöèè,
òî <b>oper::password::</b> äîëæåí ïûòü ïóò¸ì ê ôàéëó (îòíîñèòåëüíî äèðåêòîðèè
óñòàíîâëåííîãî UnrealIRCd). Ôàéë äîëæåí ïðåäñòàâëÿòü ñîáîé PEM-çàêîäèðîâàííûé
ñåðòèôèêàò SSL (åñòåñòâåííî ïóáëè÷íûé ñåðòèôèêàò, íå êëþ÷).
Ýòî çíà÷èò, ÷òî òîëüêî êëèåíò IRC
<ol>
<li>ïîäêëþ÷¸í ÷åðåç SSL</li>
<li>ïðåäîñòàâèë ñîîòâåòñòâóþùèé ñåðòèôèêàò êëèåíòà âî âðåìÿ ïîäêëþ÷åíèÿ</li>
<li>èìååò äîñòóï ê ïðèâàòíîìó êëþ÷ó äëÿ äàííîãî ñåðòèôèêàòà</li>
</ol>
ìîæåò ïîëó÷èòü îïåðàòîðà. Åñòåñòâåííî, ÷òî ýòà îïöèÿ òðåáóåò ïîääåðæêè SSL â UnrealIRCd.
Òàê æå ó÷òèòå, ÷òî ëþáîé êëþ÷, àññîöèèðîâàííûé ñ ñåðòèôèêàòîì SSL ãîðàçäî äëèííåå
íîðìàëüíîãî ÷åëîâå÷åñêîãî ïàðîëÿ è ãîðàçäî áîëåå ñëó÷àåí, ÷åì ñàìàÿ áåçîïàñíåéøàÿ îïöèÿ
àóòåíòèôèêàöèè. Äëÿ òîãî, ÷òîáû ïîëó÷èòü îïåðàòîðà, âû äîëæíû óêàçàòü êëèåíòñêèé
ñåðòèôèêàò SSL êàê ïàðîëü îïåðàòîðà, óáåäèòüñÿ, ÷òî IRC êëèåíò íàñòðîåí ïðàâèëüíî, ââåñòè
<pre>/oper &lt;name&gt; :</pre>.
Àâòîðèçàöèÿ <tt>sslclientcert</tt> ìîæåò èñïîëüçîâàòüñÿ òàê æå è äëÿ
<a href="#linkblock_passwordreceive">link::password-receive</a>
â ñåêöèè <a href="#linkblock">link block</a>.
</ol>
Äîñòóïíûå ìåòîäû àóòåíòèôèêàöèè, à òàê æå ïðèìåðû èõ èñïîëüçîâàíèÿ â áëîêå oper, ìîæíî íàéòè â
<a href="#feature_authtypes">Ìåòîäàõ àóòåíòèôèêàöèè</a>.
</p>
<p>Çàìå÷àíèå: ëîãèí è ïàðîëü ÐÅÃÈÑÒÐÎÇÀÂÈÑÈÌÛ.</p>
<p><b>oper::class</b> äèðåêòèâà îïðåäåëÿåò èìÿ óæå ñóùåñòâóþùåãî (â
@@ -2038,7 +2103,7 @@ allow {
global;
};
swhois "Ïðèìåð ìàñêè whois";
snomask frebWqFv;
snomask cFfkoSsqNG;
};
</pre>
<P></P>
@@ -2065,9 +2130,9 @@ allow {
};</pre>
<P></P>
<p>Äàííûé áëîê óñòàíàâëèâàåò ïàðîëè íà êîìàíäû /restart è /die ñ äèðåêòèâàìè
drpass::restart è drpass::die. drpass::restart:: è drpass::die:: ïîçâîëÿþò
óñòàíîâèòü òèï àóòåíòèôèêàöèè äëÿ èõ èñïîëüçîâàíèÿ. Òèïû àóòåíòèôèêàöèè,
ïîääåðæèâàåìûå íà òåêóùèé ìîìåíò: crypt, md5, sha1 è ripemd-160.</p>
drpass::restart è drpass::die.
Äîñòóïíûå ìåòîäû àóòåíòèôèêàöèè, à òàê æå ïðèìåðû èõ èñïîëüçîâàíèÿ, ìîæíî íàéòè â
<a href="#feature_authtypes">Ìåòîäàõ àóòåíòèôèêàöèè</a></p>
<p>Ïðèìåð:</p>
<pre>drpass {
restart "ß-î÷åíü-ëþáëþ-ïåðåçàïóñêè";
@@ -2702,9 +2767,10 @@ deny channel {
vhost::from::userhost ñîäåðæèò ìàñêó â âèäå user@host, ïîä êîòîðóþ äîëæåí
ïîïàäàòü ïîëüçîâàòåëü, ÷òîáû ïîëó÷èòü âèðòóàëüíûé õîñò. Ìîæíî çàäàòü íåñêîëüêî
õîñòìàñîê. vhost::login - ëîãèí è vhost::password - ïàðîëü, êîòîðûå äîëæíû áûòü
ââåäåíû ïîëüçîâàòåëåì. vhost::password:: ïîçâîëÿåò îïðåäåëèòü òèï
àóòåíòèôèêàöèè äëÿ åãî èñïîëüçîâàíèÿ. Ïîääåðæèâàþòñÿ ñëåäóþùèå òèïû: crypt,
md5, sha1 è ripemd-160. È íàïîñëåäîê, vhost::swhois ïîçâîëÿåò äîáàâèòü ñòðîêó â
ââåäåíû ïîëüçîâàòåëåì.
Äîñòóïíûå ìåòîäû àóòåíòèôèêàöèè, à òàê æå ïðèìåðû èõ èñïîëüçîâàíèÿ, ìîæíî íàéòè â
<a href="#feature_authtypes">Ìåòîäàõ àóòåíòèôèêàöèè</a>.
È íàïîñëåäîê, vhost::swhois ïîçâîëÿåò äîáàâèòü ñòðîêó â
èíôîðìàöèþ î ïîëüçîâàòåëå (whois), áåç íåîáõîäèìîñòè äîáàâëÿòü åãî â áëîê Oper
oper::swhois.</p>
<p>Ïðèìåð:<br>
@@ -2856,9 +2922,10 @@ deny channel {
</p>
<p id="linkblock_passwordreceive"><b>password-receive</b><br>
Ïàðîëü äëÿ ïðîâåðêè âõîäÿùèõ ñîåäèíåíèé, ìîæåò áûòü çàøèôðîâàí êàê è
<a href="#operblock_password"><b>oper::password</b></a>. Òàê æå ìîæíî
óñòàíîâèòü àâòîðèçàöèþ <a href="#operblock_password_sslclientcert"><tt>sslclientcert</tt></a>.
Ôàêòè÷åñêè, ñàìûé ðåêîìåíäóåìûé òèï àâòîðèçàöèè ñàìûé ðåêîìåíäóåìûé òèï àâòîðèçàöèè - ïåðåáîðà ïàðîëÿ.
<a href="#operblock_password"><b>oper::password</b></a>. Î÷åíü ðåêîìåíäóåòñÿ èñïîëüçîâàòü
àóòåíòèôèêàöèþ õýøèðîâàííûìè ïàðîëÿìè èëè òèïîì àóòåíòèôèêàöèè <tt>sslclientcertfp</tt>.
Ñìîòðèòå <a href="#feature_authtypes">Ìåòîäàõ àóòåíòèôèêàöèè</a> äëÿ áîëåå ïîäðîáíîé
èíôîðìàöèè.
</p>
<P><b>hub vs leaf</b><br>
Õàá ïîçâîëÿåò ñîåäèíåíèÿ ñ íåñêîëüêèìè ñåðâåðàìè, à ëèñò - òîëüêî ñ îäíèì.
@@ -3192,9 +3259,7 @@ cgiirc {
èçâåñòåí êàê unrealircd.conf/networks)</font>
</p>
<div class="desc">
<p>Äàííûé áëîê ñîäåðæèò íàñòðîéêè âàøåé irc-ñåòè, îí ìîæåò ðàçìåùàòüñÿ êàê â
unrealircd.conf, òàê è â îòäåëüíîì ôàéëå (ñì. äèðåêòîðèþ networks). Åñëè ñåòü
ñîñòîèò èç îäíîãî ñåðâåðà, ïðîùå áóäåò âìåñòî ñîçäàíèÿ îòäåëüíîãî ôàéëà âñå
<p>Åñëè ñåòü ñîñòîèò èç îäíîãî ñåðâåðà, ïðîùå áóäåò âìåñòî ñîçäàíèÿ îòäåëüíîãî ôàéëà âñå
íàñòðîéêè ïîìåñòèòü â unrealircd.conf, îäíàêî åñëè ñåòü ìíîãîñåðâåðíàÿ,
ðåêîìåíäîâàíî èñïîëüçîâàòü îòäåëüíûé ôàéë ñ íàñòðîéêàìè ñåòè è çàãðóæàòü åãî ñ
ïîìîùüþ äèðåêòèâû <A href="#includedirective">include</A>.</p>
@@ -3229,7 +3294,7 @@ cgiirc {
<P></P>
<p>Åñëè íåîáõîäèìî ðàçäåëèòü áëîêè set, ìîæíî çàïèñàòü îïöèè â îäíó ñòðîêó.<br>
Ïðèìåð:<br>
set { options { hide-ulines; no-stealth; }; };<br>
set { options { hide-ulines; show-connect-info; }; };<br>
</p>
<p><font class="set">set::kline-address &lt;àäðåñ-email&gt;;</font><br>
Àäðåñ ýëåêòðîííîé ïî÷òû, êîòîðûé áóäåò âûäàâàòüñÿ âñåì ïîëüçîâàòåëÿì, ïîïàâøèì
@@ -3381,6 +3446,10 @@ cgiirc {
<p><font class="set">set::options::allow-insane-bans;</font><br>
Ïîçâîëÿåò áàíèòü ïî óêàçàííîé ìàñêå, íàïðèìåð /GLINE *@*.xx. Ïîçâîëÿåò ëåãêî è
íåïðèíóæä¸ííî çàáàíèòü ëþáîãî â âàøåé ñåòè, ïîýòîìó èñïîëüçóéòå îñòîðîæíî!</p>
<p><font class="set">set::options::disable-cap;</font><br>
Îòêëþ÷àåò ðàñøèðåíèÿ âîçìîæíîñòåé êëèåíòà IRC (IRC Client Capabilities Extensions (CAP)).
Òîëüêî ó÷òèòå, ÷òî ýòî âëèÿåò íà SASL è äðóãèå ôè÷è (ìîãóò ïåðåñòàòü ðàáîòàòü èëè
çàòðóäíåíû â èñïîëüçîâàíèè).</p>
<p id="set_nopost_ban_action"><font class="set">set::nopost::ban-action</font> (òðåáóåò ìîäóëÿ <a href="#modules_m_nopost">m_nopost</a>)<br />
Äåéñòâèå, ïðèìåíÿåìîå ê ïîëüçîâàòåëþ, åñëè îí ïûòàåòñÿ âûïîëíèòü êîìàíäó HTTP POST.
Äîïóñòèìûå çíà÷åíèÿ: kill, gline, gzline, kline, zline, shun, tempshun.
@@ -3425,6 +3494,8 @@ cgiirc {
<p id="set-stats-server"><font class="set">set::stats-server &lt;èìÿ-ñåðâåðà&gt;;</font><br>
Óñòàíàâëèâàåò èìÿ ñåðâåðà, ãäå íàõîäèòñÿ áîò ñòàòèñòèêè. Åñëè ñòàòèñòèêà íå
çàïóùåíà, ìîæíî îñòàâèòü çíà÷åíèå ïóñòûì.</p>
<p id="set-sasl-server"><font class="set">set::sasl-server &lt;èìÿ-ñåðâåðà&gt;;</font><br>
Óñòàíàâëèâàåò èìÿ ñåðâåðà, êóäà áóäóò îòñûëàòüñÿ ñîîáùåíèÿ àóòåíòèôèêàöèè SASL.</p>
<p><font class="set">set::help-channel &lt;êàíàë-ïîìîùè&gt;;</font><br>
Óñòàíàâëèâàåò íàçâàíèå êàíàëà ïîìîùè.</p>
<p><font class="set">set::cloak-keys { "êëþ÷1"; "êëþ÷2"; "êëþ÷3"; };</font><br>
@@ -3437,7 +3508,8 @@ cgiirc {
äðóãèìè.</p>
<p><font class="set">set::hiddenhost-prefix &lt;çíà÷åíèå-ïðåôèêñà&gt;;</font><br>
Îïðåäåëÿåò ïðåôèêñ, êîòîðûé èñïîëüçóåòñÿ äëÿ çàøèôðîâàííûõ õîñòîâ (+x). Îáû÷íî
ýòî 3 èëè 4 áóêâû, ïðåäñòàâëÿþùèå íàçâàíèå ñåòè.</p>
ýòî 3 èëè 4 áóêâû, ïðåäñòàâëÿþùèå íàçâàíèå ñåòè. Ó âñåõ ñåðâåðîâ â ñåòè ýòîò ïðåôèêñ
äîëæåí áûòü îäèíàêîâûì, ýòî íåîáõîäèìî äëÿ ïðàâèëüíîé ðàáîòû áàíîâ íà êàíàëàõ.</p>
<p><font class="set">set::hosts::local &lt;õîñò-ëîêàëüíîãî-îïåðàòîðà&gt;;</font><br>
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí ëîêàëüíûì îïåðàòîðàì ïðè óñòàíîâêå íà
íèõ ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
@@ -3445,7 +3517,8 @@ cgiirc {
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí ãëîáàëüíûì îïåðàòîðàì ïðè óñòàíîâêå íà
íèõ ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
<p><font class="set">set::hosts::coadmin &lt;õîñò-ïîìîùíèêà-àäìèíèñòðàòîðà&gt;;</font><br>
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí ïîìîùíèêàì àäìèíèñòðàòîðà ïðè óñòàíîâêå
Ó âñåõ ñåðâåðîâ â ñåòè ýòîò ïðåôèêñ
äîëæåí áûòü îäèíàêîâûì, ýòî íåîáõîäèìî äëÿ ïðàâèëüíîé ðàáîòû áàíîâ íà êàíàëàõ. Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí ïîìîùíèêàì àäìèíèñòðàòîðà ïðè óñòàíîâêå
íà íèõ ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
<p><font class="set">set::hosts::admin &lt;õîñò-àäìèíèñòðàòîðà&gt;;</font><br>
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí àäìèíèñòðàòîðàì ïðè óñòàíîâêå íà íèõ
@@ -3579,8 +3652,13 @@ cgiirc {
Ìàêñèìàëüíîå âðåìÿ îæèäàíèÿ îòâåòà îò ñåðâåðà. Ïåðåìåííàÿ, ïðèíèìàþùàÿ çíà÷åíèå
îò 1 äî 5 (íåò ñìûñëà âåëè÷èíû áîëüøåé, ò.ê. âîçíèêíåò ïîãðåøíîñòü). Ïî
óìîë÷àíèþ óñòàíîâëåíî â 3 è, ïî áîëüøîìó ñ÷¸òó, íåò ñìûñëà ìåíÿòü ýòî çíà÷åíèå.</p>
<p><font class="set">set::ping-cookie &lt;yes|no&gt;</font><br>
Ïîñûëàåò çàïðîñ, èñïîëüçóÿ PING, íà êîòîðûé êëèåíòû îòâå÷àþò, èñïîëüçóÿ PONG.
Î÷åíü ïîëåçíî äëÿ ïðåäîòâðàùåíèÿ ñëåïûõ àòàê HTTP-POST è äðóãèõ âåùåé,
òàêèõ êàê ñïóô TCP íà ñòàðûõ îïåðàöèîííûõ ñèñòåìàõ ñî ñëîìàííûì TCP-ñòåêîì.
Ïî óìîë÷àíèþ âêëþ÷åíî (yes).</p>
<p><font class="set">set::pingpong-warning &lt;yes|no&gt;</font><br>
Êîãäà âêëþ÷¸í NOSPOOF (îáû÷íî â ÎÑ Windows), òî îí ïîñûëàåò ïðåäóïðåæäåíèå
Êîãäà âêëþ÷¸í set::ping-cookie (îáû÷íî â ÎÑ Windows), òî îí ïîñûëàåò ïðåäóïðåæäåíèå
êàæäîìó ïîëüçîâàòåëþ èñïîëüçîâàòü '/quote pong ..', åñëè îí èìååò ïðîáëåìû ñ
ïîäêëþ÷åíèåì. Ïî óìîë÷àíèþ îòêëþ÷åíî (no).</p>
<p><font class="set">set::watch-away-notification &lt;yes|no&gt;</font><br>
@@ -3923,7 +4001,7 @@ files {
</td>
</tr>
<tr>
<td colSpan="2">
<td colSpan="2" id="usermodes">
<div align="center"><b>Ðåæèìû ïîëüçîâàòåëÿ</b></div>
</td>
</tr>
@@ -3982,6 +4060,12 @@ files {
</td>
<td>Äîñòóïåí äëÿ ïîìîùè (îïåðàòîð ïîìîùè) (óñòàíàâëèâàåòñÿ â áëîêå Oper)</td>
</tr>
<tr>
<td>
<div style="text-align: center">I</div>
</td>
<td> Ñêðûâàåò îò îáû÷íûõ ïîëüçîâàòåëåé âðåìÿ ïðîñòîÿ (â /whois).</td>
</tr>
<tr>
<td>
<div align="center">i</div>
@@ -4119,12 +4203,22 @@ files {
</td>
<td>Âñå</td>
</tr>
<tr>
<tr id="command_whois">
<td>whois &lt;íèê&gt;</td>
<td>Îòîáðàæàåò èíôîðìàöèþ î ïîëüçîâàòåëå, âêëþ÷àÿ ïîëíîå èìÿ, õîñò, êàíàëû, íà
êîòîðûõ íàõîäèòñÿ ïîëüçîâàòåëü è ñòàòóñ îïåðàòîðà<br>
</td>
<td>Âñå</td>
</tr>
<tr id="command_whois_nicknick">
<td>whois &lt;íèê&gt; &lt;íèê&gt;</td>
<td> Èñïîëíÿåò óäàë¸ííóþ êîìàíäó <a href="#command_whois">WHOIS</a>. Åñëè ïîëüçîâàòåëü
íàõîäèòñÿ íà äðóãîì ñåðâåðå, ÷åì òîò ÷åëîâåê, îò êîãî îí ïûòàåòñÿ ïîëó÷èòü èíôîðìàöèþ
(WHOIS), òî äàëåêî íå âñå äàííûå îòîáðàçÿòñÿ. Ê ïðèìåðó, íå îòîáðàçèòñÿ âðåìÿ ïðîñòîÿ
ïîëüçîâàòåëÿ. ×òîáû âûïîëíèòü óäàë¸ííî êîìàíäó WHOIS, íåîáõîäèìî íèê ïîëüçîâàòåëÿ
óêàçàòü êàê àðãóìåíò äâàæäû.
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">who &lt;ìàñêà&gt;</td>
@@ -4255,7 +4349,7 @@ files {
<td>Âñå</td>
</tr>
<tr>
<td height="39">Watch +-&lt;íèê&gt; +-&lt;íèê&gt;<br>
<td height="39">Watch [+|-]&lt;íèê&gt; [+|-]&lt;íèê&gt;<br>
</td>
<td>Watch - ýòî íîâàÿ ñèñòåìà óâåäîìëåíèé â UnrealIRCd, êîòîðàÿ ðàáîòàåò áûñòðåå è
ìåíüøå íàãðóæàåò ñåòü, ÷åì ñòàðàÿ. Ñåðâåð ïîñûëàåò âàì ñîîáùåíèå, êîãäà ëþáîé
@@ -4384,6 +4478,11 @@ files {
<td>Âîçâðàùàåò IP àäðåñ ïîëüçîâàòåëÿ.</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">silence [+|-]&lt;íèê&gt;<br></td>
<td>Èãíîðèðóåò ñîîáùåíèÿ îò ïîëüçîâàòåëÿ èëè ñïèñêà ïîëüçîâàòåëåé íà ñòîðîíå ñåðâåðà.<br></td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">oper &lt;ïîëüçîâàòåëü&gt; &lt;ïàðîëü&gt;<br>
</td>
@@ -4652,14 +4751,9 @@ files {
</tr>
<tr id="cmd_mkpasswd">
<td height="36">mkpasswd &lt;òèï&gt; &lt;ïàðîëü&gt;<br></td>
<td>Øèôðóåò &lt;ïàðîëü&gt; èñïîëüçóÿ &lt;òèï&gt; õýøèðîâàíèÿ. Äîñòóïíûå ìåòîäû õýøèðîâàíèÿ:
<ul>
<li>crypt [<em>äëÿ Windows íåîáõîäèìà ïîääåðæêà SSL</em>]</li>
<li>md5</li>
<li>sha1 [<em>íåîáõîäèì SSL</em>]</li>
<li>ripemd160 [<em>íåîáõîäèì SSL</em>]</li>
</ul>
<br></td>
<td>Øèôðóåò &lt;ïàðîëü&gt; èñïîëüçóÿ &lt;òèï&gt; õýøèðîâàíèÿ.
Ñìîòðè <a href="#feature_authtypes">òèïû àóòåíòèôèêàöèè</a> äëÿ
äîñòóïíûõ ìåòîäîâ õýøèðîâàíèÿ.</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
+205 -85
View File
@@ -32,27 +32,31 @@ PRE {
<!-- $Id$ -->
<META content="MSHTML 6.00.2900.2180" name=GENERATOR>
</HEAD>
<BODY><A
<BODY>
<p style="background: #cc0000">NOTE: This documentation is about the <b>old
series</b> (UnrealIRCd 3.2.x).
If you are using UnrealIRCd 4 then check the
<a href="https://www.unrealircd.org/docs/UnrealIRCd_4_documentation">UnrealIRCd 4 documentation</a>
instead.</p>
<A
href="unreal32docs.html">English</A> | <A
href="unreal32docs.de.html">German</A> |
<A
href="unreal32docs.es.html">Spanish</A> |
<A
href="unreal32docs.hu.html">Hungarian</A>
|
<A href="unreal32docs.fr.html">French</A>
|
<A href="unreal32docs.gr.html">Greek</A>
| <A
href="unreal32docs.nl.html">Dutch</A> |
<A
href="unreal32docs.ru.html">Russian</A> |
Turkish
<A href="unreal32docs.ru.html">Russian</A>
|
<a href="unreal32docs.tr.html">Turkish</a>
|
<a href="unreal32docs.es.html">Spanish</a>
<BR><BR>
<DIV align=center><B><FONT size=7>UnrealIRCd</FONT></B><BR><FONT size=4><A
href="http://www.unrealircd.com/">http://www.unrealircd.com/</A></FONT><BR><FONT
size=4>Version: 3.2.9-RC2</FONT><BR><B>En Son Güncelleme:</B>
2010-11-15</DIV><BR>
size=4>Version: 3.2.10.5</FONT><BR><B>En Son Güncelleme:</B>
2013-11-20</DIV><BR>
<B>Baş Kodlayıcı/Devam Ettiren:</b> Syzop<br>
<b>Kodlayıcılar:</b> binki<br>
<b>Önceki Kodlayıcılar &amp; Katkıda bulunanlar:</b> Stskeeps, codemastr, Luke, aquanight,
@@ -60,7 +64,7 @@ WolfSage, McSkaf, Zogg,
NiQuiL, assyrian, chasm, DrBin, llthangel, Griever, nighthawk<br>
<b><strong>Belgeleme</strong>:</b> CKnight^ (ilk belgeleyen), Syzop (yeniden yazan), codemastr, ve daha çok katkıda bulunanlar<br>
<B>Önceki Çevirmenler:</B> oepidus (tt`), Strathmore (Timaeus) - irc.trsohbet.com<br>
<B>Türkçe Çeviri:</B> <a href="mailto:diablo@unrealircd.org">Diablo</a><br>
<B>Türkçe Çeviri:</B> <a href="mailto:diablo@unrealircd.org">Diablo (Serkan Sepetci)</a><br>
<P>Bu dökümanı görüntüleyebilmeniz için aşağıda listelenmiş olan
tarayıcılardan birine sahip olmanız gerekir. Güncellenmiş dökümanlara <A
href="http://www.vulnscan.org/UnrealIRCd/unreal32docs.tr.html">http://www.vulnscan.org/UnrealIRCd/unreal32docs.tr.html</A>
@@ -120,7 +124,9 @@ href="#feature_nickchars">Nick
Karakter Grupları</A><BR>-- 3.17. <A
href="#feature_cgiirc">CGI:IRC
Desteği</A><BR>-- 3.18. <A
href="#feature_timesync">Zaman Senkronizasyonu</A><BR>-- 3.19. <A
href="#feature_timesync">Zaman Senkronizasyonu</A><BR>
-- 3.19. <a href="#feature_authtypes">Kimlik Doğrulama Türleri</a><BR>
-- 3.20. <A
href="#feature_other">Diğer özellikler</A><BR>4. <A
href="#configuringyourunrealircdconf">unrealircd.conf dosyasının
konfigürasyonu</A><BR>---4.1. <A
@@ -290,9 +296,9 @@ Sistemleri:</B><BR>
<LI>Solaris (9, 10) </LI></UL>
<LI><B>Windows versiyonları:</B>
<UL>
<LI>Windows 2000 (Pro, Server, Advanced Server)
<LI>Windows XP (Home, Pro)
<LI>Windows 2003 </LI></UL>
<LI>Windows 2003
<LI>Windows 7 </LI></UL>
<LI><B>Test Edilmiş Mimariler:</B>
<UL>
<LI>ia32 (i386, i486, i586, i686)
@@ -606,20 +612,15 @@ al
<TD>eski +f'de olduğu gibi kullanıcı-başına
mesaj/notice. kullanıcı atılır veya
banlanır.</TD></TR></TBODY></TABLE>
<P>&nbsp; Örnek: <PRE><FONT color=green>*** ChanOp sets mode: +f
[20j,50m,7n]:15</FONT>
<P>&nbsp; Örnek: <PRE><FONT color=green>*** ChanOp sets mode: +f [20j,50m,7n]:15</FONT>
&lt;ChanOp&gt; lalala
<FONT color=green>*** Evil1 (~fdsdsfddf@Clk-17B4D84B.blah.net) has joined
#test
<FONT color=green>*** Evil1 (~fdsdsfddf@Clk-17B4D84B.blah.net) has joined #test
*** Evil2 (~jcvibhcih@Clk-3472A942.xx.someispcom) has joined #test
*** Evil3 (~toijhlihs@Clk-38D374A3.aol.com) has joined #test
*** Evil4 (~eihjifihi@Clk-5387B42F.dfdfd.blablalba.be) has joined
#test</FONT>
*** Evil4 (~eihjifihi@Clk-5387B42F.dfdfd.blablalba.be) has joined #test</FONT>
-- snip XX lines --
<FONT color=green>*** Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has
joined #test</FONT>
<FONT color=brown>-server1.test.net:#test *** Channel joinflood detected
(limit is 20 per 15 seconds), putting +i</FONT>
<FONT color=green>*** Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has joined #test</FONT>
<FONT color=brown>-server1.test.net:#test *** Channel joinflood detected (limit is 20 per 15 seconds), putting +i</FONT>
<FONT color=green>*** server1.test.net sets mode: +i</FONT>
&lt;Evil2&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
&lt;Evil12&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
@@ -627,8 +628,7 @@ joined #test</FONT>
&lt;Evil10&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
&lt;Evil8&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
-- snip XX lines --
<FONT color=brown>-server1.test.net:#test *** Channel msg/noticeflood
detected (limit is 50 per 15 seconds), putting +m</FONT>
<FONT color=brown>-server1.test.net:#test *** Channel msg/noticeflood detected (limit is 50 per 15 seconds), putting +m</FONT>
<FONT color=green>*** server1.test.net sets mode: +m</FONT>
<FONT color=green>*** Evil1 is now known as Hmmm1</FONT>
<FONT color=green>*** Evil2 is now known as Hmmm2</FONT>
@@ -638,8 +638,7 @@ detected (limit is 50 per 15 seconds), putting +m</FONT>
<FONT color=green>*** Evil6 is now known as Hmmm6</FONT>
<FONT color=green>*** Evil7 is now known as Hmmm7</FONT>
<FONT color=green>*** Evil8 is now known as Hmmm8</FONT>
<FONT color=brown>-server1.test.net:#test *** Channel nickflood detected
(limit is 7 per 15 seconds), putting +N</FONT>
<FONT color=brown>-server1.test.net:#test *** Channel nickflood detected(limit is 7 per 15 seconds), putting +N</FONT>
<FONT color=green>*** server1.test.net sets mode: +N</FONT>
</PRE>Gerçekte daha karışık, daha komplike bir şekil alabilir:<BR>Ayrı ayrı
belirtmek yerine, flood tiplerini başka bir
@@ -771,15 +770,24 @@ Bu ban tipleri kullan
NOT: ('_') Karakteri (' ') karakterine denk gelir ve dolayısı ile ('_') karekteri, bu ban
'Stupid bot script v1.4' ile eşleşir.</td></tr>
<tr><td>~R</td><td>registered</td><td>Eğer bir kullanıcı kendini servislere tanıtmışsa
(Genellikle NickServ) ve nicki eşleşiyorsa bu ban da eşleşir. Yani bu ban çeşidi yalnızca ban yollarında
(Genellikle NickServ) ve nicki eşleşiyorsa bu ban ile eşleşecektir. Yani bu ban çeşidi yalnızca ban yollarında
geçerlidir (+e).<br>
Örnek: <i>+e ~R:Nick</i> Nick veya rumuzlu kullanıcının diğer banlarına bakılmaksızın eğer kendini NickServ'e tanıtmışsa
kanalda bulunmasına izin verir.<br>
</td></tr>
<tr><td>~a</td><td>account</td><td>Eğer bir kullanıcı, hesap adı ile Servislere oturum açması halinde bu ban ile eşleşecektir.<br>
Bu ~R' den biraz daha farklı olduğunu, yani nicki ABC olan bir kullanıcı hesabı XYZ altında kaydedilebilir anlamındadır.<br>
Tüm Servisler bu paketleri desteklemez.Bu durumda, bunun yerine ~R kullanmak zorundadır.<br>
Örnek: <i>+e ~a:SomeName</i> Servislerden oturum sağlayan "SomeName" hesap adı altında kullanıcı(lar)
ne olursa olsun kanala girişi yasaklanacaktır.<br>
</td></tr>
</table>
<br>
Sen 1. gruptan olan banları 2. bir grupa yönlendirebilirsin <i>+b ~q:~c:#lamers</i>, yapılan ban, 'Quiet' olan bütün kullanıcıları #lamers kanalına girmelerini sağlayacaktır.<br>
<br>
Ban tipleri ikinci grup arasından invite (+I) durumları için kullanılabilirler.
Örneğin; <i>+I ~c:#trusted</i> ve <i>+I ~a:accountname</i>.<br>
<br>
Modüllerden başka ban tipleri de ekleyebilirsiniz.<br>
</p></div>
<P><FONT size=+2><B>3.14 - Spamfilter</B></FONT><A
@@ -1199,12 +1207,92 @@ al
daha fazla
bilgi için <A
href="#setblock">set dökümanına</A> bakın..</P></DIV>
<P><FONT size=+2><B>3.19 - Diğer Özellikler</B></FONT><A
name=feature_other></A></P>
<DIV class=desc>
<P>UnrealIRCd buraya sığamayacak kadar çok özelliğe
sahiptir... Bu özellikleri kendiniz bulacaksınız.</P></DIV>
<P></P>
<p><font size="+2"><b>3.19 - Kimlik Doğrulama Türleri</b></font><a name="feature_authtypes"></a></p>
<div class="desc">
<p>Yapılandırma dosyası çeşitli yerlerinde, örneğin <a
href="#operblock">oper block</a>, <a href="#allowblock">allow block</a> ve
<a href="#linkblock">link block</a>, gibi diğer yollarla şifreleyerek kullanıcı kimliğini doğrulayabilirsiniz.
<br>Düz metin olarak şifre belirleyebilirsiniz, ama aynı zamanda bir kimlik doğrulama türünü belirtebilirsiniz.<br>
Mevcut auth tipleri aşağıdaki gibidir:<br>
<table border="0">
<TR>
<TD><b>Auth-tipi:</b></TD>
<TD><b>Tanımlama:</b></TD>
<TD><b>Destek Dosyaları:</b></TD><TD><b>Nasıl oluşturlur:</b></TD></TR>
<TR><TD><b>crypt</b></TD><TD>UNIX crypt</TD>
<TD>Windows:OpenSSL gerekir </TD>
<TD>/MKPASSWD crypt :şifre</TD>
</TR>
<TR><TD><b>md5</b></TD>
<TD>MD5 ile </TD>
<TD><DIV id="gt-res-content" closure_uid_7ss8mw="163">
<DIV dir="ltr" closure_uid_7ss8mw="162"><SPAN id="result_box" lang="tr" closure_uid_7ss8mw="123" c="4" a="undefined" Uc="null"><SPAN closure_uid_7ss8mw="764" Uc="null">Her zaman kullanılabilir</SPAN></SPAN></DIV>
</DIV></TD><TD>/MKPASSWD md5 :şifre</TD>
</TR>
<TR><TD><b>sha1</b></TD>
<TD>SHA1 ile </TD>
<TD>OpenSSL gerekir</TD>
<TD>/MKPASSWD sha1 :şifre</TD>
</TR>
<TR><TD><b>ripemd160</b></TD>
<TD>RIPEMD160 ile </TD>
<TD>OpenSSL gerekir</TD>
<TD>/MKPASSWD ripemd160 :şifre</TD>
</TR>
<TR><TD><b>sslclientcert</b></TD>
<TD>SSL Kullanıcı sertifikası </TD>
<TD>OpenSSL gerekir</TD>
<TD>Genel .pem uzantılı sertifika dosyası.</TD>
</TR>
<TR><TD><b>sslclientcertfp</b></TD>
<TD>SSL Kullanıcı sertifikası parmak izi </TD>
<TD>OpenSSL gerekir</TD>
<TD>openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint</TD></TR>
</table>
/MKPASSWD komutunu sadece IRCOp 'lar kullanabilir. Alternatif olarak, shell komut satırı arabirimini kullanabilirsiniz: <i>./unreal mkpasswd hashtipi şifre
</i>.<br>
Tüm kimlik doğrulama türleri tüm sistemlerde bulunmaz, yukarıdaki tabloda destek dosyalarına (önkoşullara) bakınınız.<br>
<br>
<b>Örnek: MD5 methodu vhost bloğunda parolayı şifreler.</b><br>
1. Farzet, sen şifreni <i>test</i> olarak kullanmak istiyorsun ve md5 hash
olarak şifreleyeceksin.<br>
Eğer IRCOp iseniz bunu basitçe yazabilirsiniz <i>/MKPASSWD md5 :test</i>.<br>
Alternatif olarak, IRC yerine aşağıdaki komutu shellinizde çalıştırabilirsiniz: <i>./unreal mkpasswd md5 test</i>.<br>
Bu yöntemlerden birini kullanarak, çıktılanan hashed parolası gibi görünecektir. <i>$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==</i>
(dizeyi değişecektir!)<br>
2. Şimdi, elimizde bir md5 hash şifresi var bunu UnrealIRCd satırına bildirerek<br>
vhost dizesine koyacağız. Örnek:
<pre>vhost {
vhost I.love.Tux;
from { userhost *@*; };
login Tux;
password "$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==" { md5; };
};</pre>
3. Bu vhostu kullanmak için <i>/VHOST Tux test</i> yazınız.
<br>
<b>Örnek: SSL kullanıcı sertifikaları ile kimlik doğrulama</b><br>
<tt>sslclientcert</tt> ve <tt>sslclientcertfp</tt> kendi kullanıcı sertifikası SSL kullanıcıların kimliğini doğrulamak için kullanılan olağanüstü auth-tipi vardır.<br>
Bu kimlik doğrulama yöntemleri ile kullanıcı SSL kullanarak ve belirtilen kullanıcı sertifikası kullanarak emin olabilirsiniz.<br>
İşte oper bloğunun nasıl kullanılacağını gösteren bir örnek:<br>
1. Eğer SSL kullanıcı sertifikası yoksa bir tane oluşturabilirsiniz (Eğer bilmiyorsanız, 'ssl sertifikası oluşturmak' yazarak nasıl oluşturacağınız hakkında web'de arama yapabilirsiniz.)<br>
2. SHA256 hash methodunu çalıştırarak hızlıca sertifikanızı alabilirsiniz:
<pre>openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint</pre>
3. Yapılandırma dosyasında, orjinal parolayı (<i>test</i> örneğimizdeki gibi) sslclientcertfp auth-tipini belirterek değiştiriniz. İşte bir örnek:<br>
<pre>oper test {
password "E7:4D:46:F1:9F:F4:68:F5:E8:E3:49:CC:28:5D:F9:65:85:BA:4F:16:B6:49:02:E3:34:E6:E7:6A:FE:76:A7:98" { sslclientcertfp; };
flags { global; can_override; };
class clients;
};</pre>
<p>4. Sunucun yenileniyor (/REHASH).<br>
5. Şimdi, SSL istemci ile bağlandığına emin olun ve SSL istemci sertifikası için bu adımı kullanın #2.<br>
6. <i>/oper test x</i> yaparak operliğe yükseleceksin. (örnekte <i>x</i>) şifresi gibi parola hala belirtilmelidir. Bu yüzden SSL istemci sertifikası kimlik doğrulaması için bunu göz ardı edilir.<br>
7. Tebrikler, artık UnrealIRCd'nin mevcut en güvenli kimlik doğrulama yöntemi kullanıyorsunuz.<br>
<br>
<tt>sslclientcertfp</tt> <a href="#linkblock_passwordreceive">link::password-receive</a> gibi yararlı başka yerlerde kullanabilirsiniz.</p>
<p><FONT size=+2><B>3.20 - Diğer Özellikler</B></FONT></p>
</div>
<DIV class=desc><P>UnrealIRCd buraya sığamayacak kadar çok özelliğe
sahiptir... Bu özellikleri kendiniz bulacaksınız</P></DIV>
<P><FONT size=+2><B>4.0 - unrealircd.conf dosyasının
konfigürasyonu</B></FONT>
<A name=configuringyourunrealircdconf></A></P>
@@ -1215,7 +1303,7 @@ boot
etmeyi deneyebilirsiniz ve daha sonra geniş olarak konfigürasyon dosyasını
inceleyebilirsiniz, veya adım adım ana kısımları öğrenebilirsiniz ki bu
tercih
edilen yoldur. ;P. Eğer bir sorunla karşılaşırsanız, yardım istemeden önce
edilen yoldur. Eğer bir sorunla karşılaşırsanız, yardım istemeden önce
yazımınızı (syntax), klavuzu ve <A
href="http://www.vulnscan.org/UnrealIRCd/faq/">FAQ</A>
kısmını kontrol edin.</P></DIV>
@@ -1573,6 +1661,7 @@ name=operblock></A>
userhost &lt;hostmaskesi&gt;;
};
password &lt;şifre&gt; { &lt;auth-tipi&gt;; };
require-modes &lt;modeler&gt;;
class &lt;class-ismi&gt;;
flags &lt;flaglar&gt;;
flags {
@@ -1587,20 +1676,23 @@ name=operblock></A>
};
</PRE>
<P></P>
<P>Oper bloğu IRC Operatörleri atamanızı sağlar. <B>oper::</B> kısmı /oper
kullanımında ki login ismini
belirtir. <B>oper::from::userhost</B> kısmı ile
belirtilecek kullanıcı@host maskesi kullanıcının eşleşeceği maskedir, burada
birden çok oper::from::userhost belirtebilirsiniz. <B>oper::password</B>
kısmında belirttiğiniz şifre ise
kullanıcının belirteceği şifredir, oper::password:: kısmında ise bu şifre
için
bir auth metodu belirtebilirsiniz, kullanılan auth tipleri: crypt, md5 ve
sha1,
ripemd-160. Eğer düz-metin bir şifre kullanmak istiyorsanız bu alt bloğu
kullanmayın.</P>
<p>Oper bloğu IRC Operatörleri atamanızı sağlar. <b>oper::</b>
bölümü /oper kullanımında ki login ismini belirtir.
<b>oper::from::userhost</b> bölümü ile
belirtilecek kullanıcı@host maskesi kullanıcının eşleşeceği maskedir. Burada
birden çok oper::from::userhost belirtebilirsiniz.
<b>oper::require-modes</b> Opsiyonel ayar olarak tek modları belirlemenizi sağlar.
(örneğin <em>r</em> veya <em>z</em>) kullanıcı OPER izini verilmeden
önce bu modlara sahip olmalıdır. Bu modlar kullanıcıların nickserv kayıt veya önce güvenli
bağlantılarını kullanarak olmasını gerektirecek şekilde kullanılmış olması gerekir.
</p>
<p id="operblock_password"><b>oper::password::</b> bölümünde belirttiğiniz şifre ise
kullanıcının belirteceği şifredir. <b>oper::password::auth-type</b> bölümünde ise bu şifre
için bir auth metodu belirtebilirsiniz. Eğer düz metin bir şifre kullanmak istiyorsanız
<b>oper::password::auth-type</b> bloğunu kullanmayın. Geçerli auth-tiplerini, oper blokları ile ve bunları nasıl kullanıldığını görmek için <a href="#feature_authtypes">Kimlik Doğrulama Türleri</a>.
</p>
<P>Lütfen login ismi kısmının ve şifre kısmının büyük-küçük
harfe duyarlı olduğunu unutmayın</P>
harfe duyarlı olduğunu unutmayın.</P>
<P><B>oper::class</B> yönergesinde ise
oper bloğunun kullanacağı daha önceden anlatılmış olan class ismi
belirtilir.</P>
@@ -1965,7 +2057,7 @@ ba
global;
};
swhois "Example of a whois mask";
snomask frebWqFv;
snomask cFfkoSsqNG;
};
</PRE>
<P></P><A name=operoverride><B>OperOverride hakkında kısa bir
@@ -1993,10 +2085,7 @@ name=drpassblock></A>
};</PRE>
<P></P>
<P>Bu blok ile /restart ve /die şifrelerini drpass::restart
ve drpass::die yönergeleriyle belirtebilirsiniz. drpass::restart:: ve
drpass::die:: kısımları bu şifreler için auth tipini belirtmenize olanak
verir.
Geçerli auth tipleri: crypt, md5 ve sha1, ripemd-160.</P>
ve drpass::die yönergeleriyle belirtebilirsiniz. Ayrıca bunun yerine, bir düz metin parola kullanabilirsiniz <a href="#feature_authtypes">Kimlik Doğrulama Türleri</a>.</p>
<P>Örnek:</P><PRE>drpass {
restart "I-love-to-restart";
die "die-you-stupid";
@@ -2686,9 +2775,8 @@ gereken login ismini, vhost::password y
gereken
şifreyi belirtebilirsiniz. vhost::password:: yönergesi ile belirtilen şifre
için
auth tipini de belirtebilirsiniz. Geçerli auth tipleri: crypt, md5, and
sha1,
ripemd-160. Son olarak vhost::swhois yönergesi, vhost kullanacak
auth tipini de belirtebilirsiniz. Mevcut <a
href="#feature_authtypes">Kimlik Doğrulama Türleri</a> listesine bakınız. Son olarak vhost::swhois yönergesi, vhost kullanacak
kullanıcının
whois bilgisine ekstra bir satır eklemenize olanak sağlar, kullanımı ise
oper::swhois yönergesindeki kullanım şekli ile aynıdır.</P>
@@ -2829,14 +2917,10 @@ kullan
192.168.0.1) , hemen hemen neredeyse hiç kullanılmaz. </P>
<P><B>port</B><BR>Link için bağlantı portu. </P>
<P><B>password-connect</B><BR>Uzak sunucuya bağlanmak için gerekli olan
şifre, sade-metin
şeklinde olmalı. </P>
şifre, düz metin şeklinde olmalı. </P>
<P><B>password-receive</B><BR>Gelen linkleri doğrulamak (onaylamak) için
gerekli şifre.
Geçerli metodların biri ile yeniden şifrelenebilir.(geçerli metodlar: crypt,
md5, sha1, ripemd-160). Şifre olarak sade-metin belirtmek için auth-tipi
parametresini kullanmayın. Bu şifre genellikle uzak sunucuya bağlanmak için
gerekli olan şifre ile aynıdır. </P>
gerekli şifredir.
<tt>sslclientcertfp</tt> auth-tipi şifreler kullanılması şiddetle tavsiye edilir. Daha fazla bilgi için <a href="#feature_authtypes">Kimlik Doğrulama Türleri</a> bakınız.<br> </P>
<P><B>hub vs leaf</B><BR>Birçok sunucunun linklendiği sunucu bir hubdur,
leaf ise
tek bir linke sahiptir...Bir sunucu ya hubdur, yada leafdir, bu 2 seçeneği
@@ -3204,7 +3288,7 @@ belirtilebilir.<BR>
<P></P>
<P>Eğer set ifadelerini ayırmak istiyorsanız, aşağıdaki
formatı kullanabilirsiniz.<BR>Örnek:<BR>set { options { hide-ulines;
no-stealth; }; };<BR></P>
show-connect-info; }; };<BR></P>
<P><FONT class=set>set::kline-address
&lt;email-adresi&gt;;</FONT><BR>Burada iletişim için,
K:line'lar ile ilgili soruların/sorunların gönderileceği, email adresi
@@ -3407,6 +3491,8 @@ g
<p><font class="set">set::options::allow-insane-bans;</font><br>
Anlamsız /GLINE *@*.xx gibi geniş banlara izin verir. Bu yüzden yanlışlıkla ağınızdaki
herkesi yasaklar! Böylece büyük bir özenle kullanmaya gerek duyabilirsiniz.</p>
<p><font class="set">set::options::disable-cap;</font><br>
IRC Client Yetenekler uzantıları devre dışı bırakır (CAP). Bu SASL ve çeşitli diğer özellikleri kullanılamaz ve istemciler için kullanmanın daha zor olduğunu unutmayın.</p>
<p id="set_nopost_ban_action"><font class="set">set::nopost::ban-action</font> (gerekli <a href="#modules_m_nopost">m_nopost</a>)<br />
Kullanıcı HTTP POST komutu gerçekleştirmek için çalışırsa, kullanıcıya belirtilen eylem uygulanır.
İzin verilen değerler: kill, gline, gzline, kline, zline, shun, ve tempshun.
@@ -3436,10 +3522,9 @@ saat ve 3 dakikay
&lt;deneme-sayısı&gt;;</FONT><BR>
DNS cozumlenmesinin basarisiz
olmasi durumda DNS cozumlemesinin kac kez tekrarlanacagini belirtir. (TAMAMLANMADI)</P>
<P><FONT class=set>set::dns::nameserver
&lt;dns-sunucu-ismi&gt;;</FONT><BR>DNS aramalarında kullanılacak, sunucunun
hostname'ini
belirtir. (TAMAMLANMADI)</P>
<p><font class="set">set::dns::nameserver &lt;dns-sunucu-ismi&gt;;</font><br/>
DNS aramalarında kullanılacak sunucunun
IP adresini belirtir. C-ares tahmin edemediği zaman son çare olarak sadece nameserverler kullanılır. (/etc/resolv.conf boşsa eğer)</P>
<P><FONT class=set>set::dns::bind-ip
&lt;ip&gt;;</FONT><BR>Çözümleyici için bağlanılacak IP'yi
belirtir, genellikle belirtilmeye gerek duyulmaz.</P>
@@ -3458,13 +3543,14 @@ ad
Varsayılan IPv6 clone algılama maskesi. Görmek için;
<a href="#allowblock_ipv6clonemask">allow::ipv6-clone-mask</a>. Bu ayarın varsayılan değeri 64'dür.</p>
<p id="set-stats-server"><FONT class=set>set::services-server
&lt;sunucu-ismi&gt;;</FONT><BR>Servisler sunucusunun ismini belirtir.
Gereklidir, eğer
servis sunucunuz yoksa, services.sizinaginiz.com gibi bir sunucu ismi
belirtmeniz gerekir.</P>
&lt;sunucu-ismi&gt;;</FONT><BR>Servisler sunucusunun adı belirtilir.
Eğer servis sunucunuz yoksa, services.sizinaginiz.com gibi bir sunucu adı
belirtmeniz gerekir.(GEREKLI)</P>
<p id="set-sasl-server"><font class="set">set::sasl-server &lt;sunucu-ismi&gt;;</font><br>
SASL kimlik mesajlarının gönderilmesi için gereken sunucunun adını ayarlar.</p>
<P><FONT class=set>set::stats-server
&lt;sunucu-ismi&gt;;</FONT><BR>Stats sunucusu botlarının
yerleştirileceği sunucu ismini belirtir. Eğer stats sunucunuz yoksa burayı
yerleştirileceği sunucu adını belirtir. Eğer stats sunucunuz yoksa burayı
belirtmeyebilirsiniz.</P>
<P><FONT class=set>set::help-channel
&lt;ağ-yardım-kanalı&gt;;</FONT><BR>Ağınız için yardım
@@ -3483,7 +3569,8 @@ edin.</P>
<P><FONT class=set>set::hiddenhost-prefix
&lt;önek-değeri&gt;;</FONT><BR>Gizlenmiş hostlara eklenecek (+x) öneki
belirtmenize olanak
sağlar. Burada genellikle ağ ismini simgeleyen 3 veya 4 harf belirtilir.</P>
sağlar. Burada genellikle ağ ismini simgeleyen 3 veya 4 harf belirtilir.
Bağlantılı sunucularda kanal banlarının düzgün çalışması için aynı hidden-host önekine sahip olmalıdır.</P>
<P><FONT class=set>set::hosts::local
&lt;locop-hostu&gt;;</FONT><BR>Yerel operatör statüsüne
erişen bir kullanıcının alacağı hostu belirtmenize olanak sağlar. İsteğe
@@ -3658,6 +3745,16 @@ belirtilebilir.
Eğer bir spamfilterin, uygulanması için milisaniyelerin bu miktarından daha uzun olursa
(1000ms = 1 saniye) sonra spamfilter silinir. (varsayılan: 500).
Ayrıca görmek için; <a href="#feature_spamfilter_slow">Yavaş Spamfilter Algılama</a>.</p>
<p><font class="set">set::spamfilter::stop-on-first-match &lt;yes|no&gt;</font><br>
Varsayılan 'yes' olarak ayarlandığında, eşleşmiş olan spamfilterler
UnrealIRCd tarafından harekete alınacak ve herhangi bir (diğer) spamfilter eklendiğinde
uygulamaya alınacak anlamına gelir.<br>
Bu 'hayır' olarak ayarlandığında ise önceden eklenmiş spamfilterler kontrol edilmeyecek
fakat sonradan eklenmiş spamfilterler hala kontrol edilecektir. Tüm bu eşleşmelerin hepsi
kaydedilir ve her bir eşleşme için tüm IRCop'lara (snomask + S) mesaj gidecektir. Sadece bir
spamfilter eylemi göreceksiniz ki ancak kullanıcı bundan etkilenecektir. (örn: block veya kill)
Spamfilter ile herhangi bir ciddi eylemde ise en yüksek GZLINE, en düşük ise block olarak
uyarmak gerekir.</p>
<P><FONT class=set>set::check-target-nick-bans
&lt;yes|no&gt;</FONT><BR>
Kullanıcı(lar) nick(ler)ini değiştirdiği zaman,
@@ -3685,8 +3782,12 @@ belirtmenize olanak sa
belirtilmelidir,
beşten büyük sayılar belirtilemez. Varsayılan değeri 3tür ve eğer iyi bir
sebebiniz yoksa bunu değiştirmeyin.</P>
<p><font class="set">set::ping-cookie &lt;yes|no&gt;</font><br>
Kullanıcılara PING kullanarak cevabın PONG olarak gönderilmesini sağlar. Bu HTTP-POST saldırıları
ve diğer şeylerin yanı sıra kırık TCP yığınları ile eski işletim sistemlerinde
sahte TCP'i durdurmak ve önlemek için yararlıdır. Varsayılan değeri yes'dir.</p>
<p><font class="set">set::pingpong-warning &lt;yes|no&gt;</font><br>
NOSPOOF özelliği aktif iken (genellikle Windows), bağlanırken sorun yasayan her kullanıcıya '/quote pong ..' uyarısının
set::ping-cookie özelliği aktif iken (genellikle Windows), bağlanırken sorun yasayan her kullanıcıya '/quote pong ..' uyarısının
gönderilmesini ya da gönderilmemesini sağlar. Varsayılan değeri no'dur.</p>
<p><font class="set">set::watch-away-notification &lt;yes|no&gt;</font><br>
WATCH içerisindeki AWAY bildirimini açmanızı/kapatmanızı sağlar. Varsayılan değeri yes'dir.</p>
@@ -3963,7 +4064,7 @@ name=userchannelmodes></A> </FONT></B></P>
<DIV align=center><B
>Açıklama</B></DIV></TD></TR>
<TR>
<TD colSpan=2>
<TD colspan="2" id="usermodes">
<DIV align=center><B>Kullanıcı
Modları</B></DIV></TD></TR>
<TR>
@@ -4010,6 +4111,10 @@ engeller</TD></TR>
<DIV align=center>h</DIV></TD>
<TD>Yardim görevlisi statüsü verir.(HelpOp)(Oper
Bloğunda belirtilir)</TD></TR>
<TR>
<TD><div style="text-align: center">I</div></TD>
<TD>Oper'lerin boş (idle) zamanlarını (/whois'de) normal kullanıcılardan gizler.</TD>
</TR>
<TR>
<TD>
<DIV align=center>i</DIV></TD>
@@ -4122,12 +4227,23 @@ komut hakk
bütün kanallarda rumuzunuzun değişimi haber verilir<BR
></TD>
<TD>Herkes</TD></TR>
<TR>
<TR id="command_whois">
<TD>whois &lt;nick&gt;</TD>
<TD>Belirtilen nick için; kullanıcı ismi, host,
bulunduğu kanallar vs. gibi bilgileri görüntüler<BR
></TD>
<TD>Herkes</TD></TR>
<tr id="command_whois_nicknick">
<td>whois &lt;nick&gt; &lt;nick&gt;</td>
<td>
Uzak bir <a href="#command_whois">WHOIS</a> gerçekleştirir. Eğer bir kişi
başka bir kişi olarak aynı sunucuda değilse, basit bir WHOIS
bütün WHOIS yanıtlarını göstermeyecektir. Örneğin,
idle (boş) zamanlar, bu olayda gösterilmez. Uzak bir whois istemek için,
ilk olarak ve ikinci argüman olarak uzak kullanıcının nicki ile bir WHOIS verir.
</td>
<td>Herkes</td>
</tr>
<TR>
<TD height=39>who &lt;maske&gt;</TD>
<TD>Kullanıcılarla ilgili bilgileri gösterir. Maske
@@ -4241,7 +4357,7 @@ atman
olursunuz.<BR></TD>
<TD>Herkes</TD></TR>
<TR>
<TD height=39>Watch +-&lt;nick&gt; +-&lt;nick&gt;<BR
<TD height=39>Watch [+|-]&lt;nick&gt; [+|-]&lt;nick&gt;<BR
></TD>
<TD>Watch UnrealIRCd 'de yeni bir uyarı sistemidir.
Bu sistem eski-stil uyarı sistemine nazaran daha hızlıdır ve ağ
@@ -4367,6 +4483,10 @@ olarak
></TD>
<TD>Belirtilen nickin IP Adres bilgisini gösterir.</TD>
<TD>Herkes</TD></TR>
<TR>
<TD height="39">silence [+|-]&lt;nick&gt;<br></TD>
<TD>Belirtilen kullanıcıların size mesaj atmaması için ekler, kaldırır veya listeler<br></TD>
<TD>Herkes</TD>
<TR>
<TD height=39>oper &lt;kullanıcı adı&gt;
&lt;şifre&gt;<BR></TD>
@@ -4625,9 +4745,9 @@ IRC
<TR>
<TD height=36>mkpasswd &lt;şifre&gt;<BR
></TD>
<TD>Sade metin halindeki bir şifreyi,
unrealircd.conf'a eklemek için, yeniden şifreler (encrypt)<BR
></TD>
<TD>Düz metin halindeki bir şifreyi,
unrealircd.conf'a eklemek için, yeniden şifreler (encrypt). Mevcut şifreleme
<a href="#feature_authtypes">Kimlik Doğrulama Türleri</a> methodlarına bakınız.</td>
<TD>IRC Operatörler</TD></TR>
<TR>
<TD height=36>tsctl offset +/- &lt;zaman&gt;<BR
@@ -4729,8 +4849,8 @@ g
içeriği görüntülenir<BR>X - notlink - Link bloğunda
var olan fakat henüz linki gerçekleşmemiş sunucular listesi
görüntülenir<BR>Y - class - Class bloğu içeriği
görüntülenir<BR>z - zip - SZiplinked sunucular
hakkında ki sıkıştırma bilgisi görüntülenir<BR>Z -
görüntülenir<BR>z - zip - Zip bağlantılı sunucular
hakkında ki sıkıştırma bilgisi görüntülenir. (zip bağlantı desteği ile derlendiği takdirde)<BR>Z -
mem - Bellek kullanım bilgisi görüntülenir<BR></TD>
<TD>Herkes</TD></TR>
<TR>
Binary file not shown.
+15 -5
View File
@@ -98,7 +98,7 @@ help Umodes {
" N = Is a Network Administrator";
" C = Is a Co Administrator";
" -";
" d = Makes it so you can not receive channel PRIVMSGs (Deaf)";
" d = Only receive channel PRIVMSGs starting with a bot command character (Deaf)";
" g = Can read & send to GlobOps, and LocOps";
" h = Available for Help (Help Operator)";
" i = Invisible (Not shown in /WHO searches)";
@@ -114,6 +114,7 @@ help Umodes {
" B = Marks you as being a Bot";
" G = Filters out all Bad words in your messages with <censored>";
" H = Hide IRCop status in /WHO and /WHOIS. (IRC Operators only)";
" I = Hide an oper's idle time (in /whois output) from regular users.";
" R = Allows you to only receive PRIVMSGs/NOTICEs from registered (+r) users";
" S = For Services only. (Protects them)";
" T = Prevents you from receiving CTCPs";
@@ -161,11 +162,11 @@ help Chmodes {
" -";
" A = Server/Net Admin only channel (settable by Admins)";
" b <nick!ident@host> = Bans the nick!ident@host from the channel [h]";
" (For more info on extended bantypes, see /HELPOP EXTBANS)";
" c = Block messages containing mIRC color codes [o]";
" C = No CTCPs allowed in the channel [o]";
" e <nick!ident@host> = Overrides a ban for matching users [h]";
" f <floodparams> = Flood protection (for more info see /HELPOP CHMODEF) [o]";
" (For more info on extended bantypes, see /HELPOP EXTBANS)";
" G = Filters out all Bad words in messages with <censored> [o]";
" i = A user must be invited to join the channel [h]";
" I <nick!ident@host> = Overrides +i for matching users [h]";
@@ -241,11 +242,20 @@ help ExtBans {
" | | Will allow Nick in the channel, regardless of other ";
" | | bans, if he identified to NickServ and is using the ";
" | | nickname Nick. ";
" ----------------------------------------------------------------------------------";
" | | If a user is logged in to services with this account ";
" | | name, then this ban will match. ";
" | | This is slightly different than ~R, in the sense that ";
" ~a | account | a user with nick ABC may be logged in under account XYZ.";
" | | Not all services packages support this, in which case ";
" | | you will have to use ~R instead. ";
" | | Example: +e ~a:Name ";
" ==------------------------------------------------------------------------------==";
" -";
"You may stack extended bans from the 1st group with the 2nd.";
"Example: +b ~q:~c:#lamers";
"The above would quiet all users who have joined #lamers.";
"You may stack extended bans from the first group with the second group.";
"For example +b ~q:~c:#lamers would quiet all users who have joined #lamers.";
"Bans from the second group may also be used for invite exceptions (+I),";
"such as +I ~c:#trusted and +I ~a:accountname.";
};
help Chmodef {
+2
View File
@@ -30,6 +30,7 @@ typedef struct {
#define AUTHTYPE_SHA1 3
#define AUTHTYPE_SSL_CLIENTCERT 4
#define AUTHTYPE_RIPEMD160 5
#define AUTHTYPE_SSL_CLIENTCERTFP 6
/* md5 is always available and enabled as of Unreal3.2.1 */
#define AUTHENABLE_MD5
@@ -37,6 +38,7 @@ typedef struct {
#define AUTHENABLE_SHA1
#define AUTHENABLE_SSL_CLIENTCERT
#define AUTHENABLE_RIPEMD160
#define AUTHENABLE_SSL_CLIENTCERTFP
/* OpenSSL provides a crypt() */
#ifndef AUTHENABLE_UNIXCRYPT
#define AUTHENABLE_UNIXCRYPT
+4 -2
View File
@@ -265,7 +265,8 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
/* Server-Server PROTOCTL -Stskeeps
* Please check send_proto() for more. -- Syzop
* This is the FIRST line only, please check send_proto() for more. -- Syzop
* Also take MAXPARA into account !
*/
#define PROTOCTL_SERVER "NOQUIT" \
" TOKEN" \
@@ -278,7 +279,8 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
" NS" \
" SJB64" \
" TKLEXT" \
" NICKIP"
" NICKIP" \
" ESVID"
#ifdef _WIN32
/*
+10
View File
@@ -70,6 +70,16 @@
#undef NO_FDLIST
/*
* Defining this will enable poll() usage instead of select().
* This is the default on *NIX as of 3.2.10.
* On Windows this would require Vista or newer so we stick with
* select for now.
*/
#ifndef _WIN32
#define USE_POLL
#endif
/*
* Defining this will allow all ircops to see people in +s channels
* By default, only net/tech admins can see this
+16
View File
@@ -42,6 +42,7 @@ struct zNetwork {
char *x_prefix_quit;
char *x_helpchan;
char *x_stats_server;
char *x_sasl_server;
};
enum UHAllowed { UHALLOW_ALWAYS, UHALLOW_NOCHANS, UHALLOW_REJOIN, UHALLOW_NEVER };
@@ -82,6 +83,7 @@ struct zConfiguration {
unsigned mkpasswd_for_everyone:1;
unsigned allow_insane_bans;
unsigned allow_part_if_shunned:1;
unsigned disable_cap:1;
unsigned check_target_nick_bans:1;
unsigned use_egd : 1;
long host_timeout;
@@ -156,6 +158,7 @@ struct zConfiguration {
char *spamexcept_line;
long spamfilter_detectslow_warn;
long spamfilter_detectslow_fatal;
int spamfilter_stop_on_first_match;
int maxbans;
int maxbanlength;
int timesynch_enabled;
@@ -168,6 +171,7 @@ struct zConfiguration {
#ifdef INET6
unsigned short default_ipv6_clone_mask;
#endif /* INET6 */
int ping_cookie;
};
#ifndef DYNCONF_C
@@ -200,7 +204,11 @@ extern MODVAR aConfiguration iConf;
#define SHOWCONNECTINFO iConf.show_connect_info
#define OPER_ONLY_STATS iConf.oper_only_stats
#define ANTI_SPAM_QUIT_MSG_TIME iConf.anti_spam_quit_message_time
#ifdef HAVE_RAND_EGD
#define USE_EGD iConf.use_egd
#else
#define USE_EGD 0
#endif
#define EGD_PATH iConf.egd_path
#define ircnetwork iConf.network.x_ircnetwork
@@ -217,6 +225,7 @@ extern MODVAR aConfiguration iConf;
#define hidden_host iConf.network.x_hidden_host
#define helpchan iConf.network.x_helpchan
#define STATS_SERVER iConf.network.x_stats_server
#define SASL_SERVER iConf.network.x_sasl_server
#define iNAH iConf.network.x_inah
#define prefix_quit iConf.network.x_prefix_quit
#define SSL_SERVER_CERT_PEM (iConf.x_server_cert_pem ? iConf.x_server_cert_pem : "server.cert.pem")
@@ -263,6 +272,8 @@ extern MODVAR aConfiguration iConf;
#define ALLOW_PART_IF_SHUNNED iConf.allow_part_if_shunned
#define DISABLE_CAP iConf.disable_cap
#define BAN_VERSION_TKL_TIME iConf.ban_version_tkl_time
#define SILENCE_LIMIT (iConf.silence_limit ? iConf.silence_limit : 15)
@@ -273,6 +284,7 @@ extern MODVAR aConfiguration iConf;
#define SPAMFILTER_EXCEPT iConf.spamexcept_line
#define SPAMFILTER_DETECTSLOW_WARN iConf.spamfilter_detectslow_warn
#define SPAMFILTER_DETECTSLOW_FATAL iConf.spamfilter_detectslow_fatal
#define SPAMFILTER_STOP_ON_FIRST_MATCH iConf.spamfilter_stop_on_first_match
#define CHECK_TARGET_NICK_BANS iConf.check_target_nick_bans
@@ -303,6 +315,7 @@ struct SetCheck {
unsigned has_dont_resolve:1;
unsigned has_mkpasswd_for_everyone:1;
unsigned has_allow_part_if_shunned:1;
unsigned has_disable_cap:1;
unsigned has_ssl_egd:1;
unsigned has_ssl_server_cipher_list :1;
unsigned has_dns_timeout:1;
@@ -376,6 +389,7 @@ struct SetCheck {
unsigned has_network_name:1;
unsigned has_default_server:1;
unsigned has_services_server:1;
unsigned has_sasl_server:1;
unsigned has_hosts_global:1;
unsigned has_hosts_admin:1;
unsigned has_hosts_local:1;
@@ -398,9 +412,11 @@ struct SetCheck {
unsigned has_options_mkpasswd_for_everyone:1;
unsigned has_options_allow_insane_bans:1;
unsigned has_options_allow_part_if_shunned:1;
unsigned has_options_disable_cap:1;
int cgiirc_type; /* cheat :( */
unsigned has_cgiirc_hosts:1;
unsigned has_cgiirc_webpass:1;
unsigned has_ping_cookie:1;
};
+10 -4
View File
@@ -130,7 +130,7 @@ ConfigItem_cgiirc *Find_cgiirc(char *username, char *hostname, char *ip, CGIIRCT
ConfigItem_ban *Find_ban(aClient *, char *host, short type);
ConfigItem_ban *Find_banEx(aClient *,char *host, short type, short type2);
ConfigItem_vhost *Find_vhost(char *name);
ConfigItem_deny_channel *Find_channel_allowed(char *name);
ConfigItem_deny_channel *Find_channel_allowed(aClient *cptr, char *name);
ConfigItem_alias *Find_alias(char *name);
ConfigItem_help *Find_Help(char *command);
int AllowClient(aClient *cptr, struct hostent *hp, char *sockhost, char *username);
@@ -167,7 +167,7 @@ extern MODVAR int R_do_dns, R_fin_dns, R_fin_dnsc, R_fail_dns,
R_do_id, R_fin_id, R_fail_id;
#endif
extern inline aCommand *find_Command(char *cmd, short token, int flags);
extern 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);
@@ -274,6 +274,7 @@ extern void start_auth(aClient *);
extern void read_authports(aClient *);
extern void send_authports(aClient *);
extern void set_channel_mlock(aClient *, aClient *, aChannel *, const char *, int);
extern void restart(char *);
extern void server_reboot(char *);
@@ -285,7 +286,7 @@ extern int send_queued(aClient *);
extern void sendto_locfailops(char *pattern, ...) __attribute__((format(printf,1,2)));
extern void sendto_connectnotice(char *nick, anUser *user, aClient *sptr, int disconnect, char *comment);
extern void sendto_serv_butone_nickcmd(aClient *one, aClient *sptr, char *nick, int hopcount,
long lastnick, char *username, char *realhost, char *server, long servicestamp, char *info, char *umodes,
long lastnick, char *username, char *realhost, char *server, char *svid, char *info, char *umodes,
char *virthost);
extern void sendto_message_one(aClient *to, aClient *from, char *sender,
char *cmd, char *nick, char *msg);
@@ -308,6 +309,7 @@ extern void sendto_serv_butone_quit(aClient *, char *, ...) __attribute__((forma
extern void sendto_serv_butone_sjoin(aClient *, char *, ...) __attribute__((format(printf,2,3)));
extern void sendto_serv_sjoin(aClient *, char *, ...) __attribute__((format(printf,2,3)));
extern void sendto_common_channels(aClient *, char *, ...) __attribute__((format(printf,2,3)));
extern void sendto_common_channels_local_butone(aClient *, int, char *, ...) __attribute__((format(printf,3,4)));
extern void sendto_channel_butserv(aChannel *, aClient *, char *, ...) __attribute__((format(printf,3,4)));
extern void sendto_match_servs(aChannel *, aClient *, char *, ...) __attribute__((format(printf,3,4)));
extern void sendto_match_butone(aClient *, aClient *, char *, int,
@@ -343,7 +345,7 @@ extern int exit_client(aClient *, aClient *, aClient *, char *);
extern void initstats(), tstats(aClient *, char *);
extern char *check_string(char *);
extern char *make_nick_user_host(char *, char *, char *);
extern inline char *make_nick_user_host_r(char *namebuf, char *nick, char *name, char *host);
extern char *make_nick_user_host_r(char *namebuf, char *nick, char *name, char *host);
extern char *make_user_host(char *, char *);
extern int parse(aClient *, char *, char *);
extern int do_numeric(int, aClient *, aClient *, int, char **);
@@ -446,6 +448,7 @@ extern MODVAR long UMODE_SETHOST; /* 0x40000000 used sethost */
extern MODVAR long UMODE_STRIPBADWORDS; /* 0x80000000 */
extern MODVAR long UMODE_HIDEWHOIS; /* hides channels in /whois */
extern MODVAR long UMODE_NOCTCP; /* blocks all ctcp (except dcc and action) */
extern MODVAR long UMODE_HIDLE; /* hides oper idle times */
extern MODVAR long AllUmodes, SendUmodes;
extern MODVAR long SNO_KILLS;
@@ -667,6 +670,7 @@ extern Spamfilter *unreal_buildspamfilter(char *s);
extern char *our_strcasestr(char *haystack, char *needle);
extern int spamfilter_getconftargets(char *s);
extern void remove_oper_snomasks(aClient *sptr);
extern void remove_oper_modes(aClient *sptr);
extern char *spamfilter_inttostring_long(int v);
extern int check_channelmask(aClient *, aClient *, char *);
extern aChannel *get_channel(aClient *cptr, char *chname, int flag);
@@ -805,3 +809,5 @@ extern void free_pending_net(aClient *sptr);
extern aPendingNet *find_pending_net_by_numeric_butone(int numeric, aClient *exempt);
extern aClient *find_pending_net_duplicates(aClient *cptr, aClient **srv, int *numeric);
extern aClient *find_non_pending_net_duplicates(aClient *cptr);
extern MODVAR char serveropts[];
extern MODVAR char *IsupportStrings[];
+1
View File
@@ -660,6 +660,7 @@ int CallCmdoverride(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, ch
#define HOOKTYPE_LOCAL_NICKPASS 50
#define HOOKTYPE_PACKET 51
#define HOOKTYPE_HANDSHAKE 52
#define HOOKTYPE_AWAY 53
/* Hook return values */
#define HOOK_CONTINUE 0
+2 -7
View File
@@ -49,11 +49,6 @@
#else
#define MYTOKEN_ZIP ""
#endif
#if defined(NOSPOOF)
#define MYTOKEN_NOSPOOF "/NOSPF"
#else
#define MYTOKEN_NOSPOOF ""
#endif
#if !defined(EXTCMODE)
#define MYTOKEN_EXTCMODE "/NOEXTC"
#else
@@ -93,12 +88,12 @@
#ifdef UNREALCORE
char our_mod_version[] = BASE_VERSION PATCH1 PATCH2 PATCH3 PATCH4 PATCH6 PATCH7 PATCH8 PATCH9 \
MYTOKEN_SSL MYTOKEN_ZIP MYTOKEN_NOSPOOF MYTOKEN_EXTCMODE MYTOKEN_JOINTHROTTLE \
MYTOKEN_SSL MYTOKEN_ZIP MYTOKEN_EXTCMODE MYTOKEN_JOINTHROTTLE \
MYTOKEN_NOFLDAWAY MYTOKEN_NEWCHF MYTOKEN_INET6;
unsigned int our_compiler_version = GCCVER;
#else
DLLFUNC char Mod_Version[] = BASE_VERSION PATCH1 PATCH2 PATCH3 PATCH4 PATCH6 PATCH7 PATCH8 PATCH9 \
MYTOKEN_SSL MYTOKEN_ZIP MYTOKEN_NOSPOOF MYTOKEN_EXTCMODE MYTOKEN_JOINTHROTTLE \
MYTOKEN_SSL MYTOKEN_ZIP MYTOKEN_EXTCMODE MYTOKEN_JOINTHROTTLE \
MYTOKEN_NOFLDAWAY MYTOKEN_NEWCHF MYTOKEN_INET6;
DLLFUNC unsigned int compiler_version = GCCVER;
#endif
+3
View File
@@ -297,6 +297,9 @@
#define MSG_EOS "EOS"
#define TOK_EOS "ES"
#define MSG_MLOCK "MLOCK"
#define TOK_MLOCK "ML"
#define MAXPARA 15
extern int m_error();
+17
View File
@@ -53,6 +53,8 @@
#define ERR_NOSUCHSERVICE 408
#define ERR_NOORIGIN 409
#define ERR_INVALIDCAPCMD 410
#define ERR_NORECIPIENT 411
#define ERR_NOTEXTTOSEND 412
#define ERR_NOTOPLEVEL 413
@@ -180,6 +182,9 @@
#define RPL_LISTEND 323
#define RPL_CHANNELMODEIS 324
#define RPL_CREATIONTIME 329
#define RPL_WHOISLOGGEDIN 330 /* ircu/charybdis-family --nenolod */
#define RPL_NOTOPIC 331
#define RPL_TOPIC 332
#define RPL_TOPICWHOTIME 333
@@ -365,9 +370,21 @@
#define RPL_WHOISSECURE 671
#define ERR_MLOCKRESTRICTED 742
#define ERR_CANNOTDOCOMMAND 972
#define ERR_CANNOTCHANGECHANMODE 974
#define ERR_STARTTLS 691
#define RPL_LOGGEDIN 900
#define RPL_LOGGEDOUT 901
#define ERR_NICKLOCKED 902
#define RPL_SASLSUCCESS 903
#define ERR_SASLFAIL 904
#define ERR_SASLTOOLONG 905
#define ERR_SASLABORTED 906
#define ERR_SASLALREADY 907
#define ERR_NUMERICERR 999
+1
View File
@@ -52,6 +52,7 @@ EVENT(htm_calc);
EVENT(e_check_fdlists);
EVENT(garbage_collect);
EVENT(loop_event);
EVENT(deprecated_notice);
/* support.c */
char *my_itoa(int i);
+16 -6
View File
@@ -109,6 +109,9 @@
/* Define if you have pstat */
#undef HAVE_PSTAT
/* Define if the libcrypto has RAND_egd */
#undef HAVE_RAND_EGD
/* Define if you have setproctitle */
#undef HAVE_SETPROCTITLE
@@ -172,9 +175,6 @@
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
/* Define to 1 if you have the `vsyslog' function. */
#undef HAVE_VSYSLOG
/* Define if you want IPv6 enabled */
#undef INET6
@@ -241,9 +241,6 @@
/* Define if you do not have the index function. */
#undef NOINDEX
/* Define if you want spoof protection */
#undef NOSPOOF
/* Define to 1 if your system has no in6addr_any. */
#undef NO_IN6ADDR_ANY
@@ -355,6 +352,19 @@
/* Define if you have the <unistd.h> header file. */
#undef UNISTDH
/* Generation version number (e.g.: 3 for Unreal3*) */
#undef UNREAL_VERSION_GENERATION
/* Major version number (e.g.: 2 for Unreal3.2*) */
#undef UNREAL_VERSION_MAJOR
/* Minor version number (e.g.: 1 for Unreal3.2.1) */
#undef UNREAL_VERSION_MINOR
/* Version suffix such as a beta marker or release candidate marker. (e.g.:
-rc2 for unrealircd-3.2.9-rc2) */
#undef UNREAL_VERSION_SUFFIX
/* Define if you have libcurl installed to get remote includes and MOTD
support */
#undef USE_LIBCURL
+3 -3
View File
@@ -1,6 +1,6 @@
extern SSL_CTX * ctx;
extern SSL_CTX *ctx_server;
extern SSL_CTX *ctx_client;
extern MODVAR SSL_CTX *ctx;
extern MODVAR SSL_CTX *ctx_server;
extern MODVAR SSL_CTX *ctx_client;
extern SSL_METHOD *meth;
extern void init_ssl();
+58 -23
View File
@@ -69,7 +69,10 @@
#include "channel.h"
#if defined(_MSC_VER)
/* needed to workaround a warning / prototype/dll inconsistency crap */
#define vsnprintf unrl_vsnprintf
#endif
extern MODVAR int sendanyways;
@@ -171,6 +174,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define NICKLEN 30
#define USERLEN 10
#define REALLEN 50
#define SVIDLEN 30
#define TOPICLEN 307
#define CHANNELLEN 32
#define PASSWDLEN 48 /* was 20, then 32, now 48. */
@@ -367,6 +371,12 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define PROTO_NAMESX 0x4000 /* Send all rights in NAMES output */
#define PROTO_CLK 0x8000 /* Send cloaked host in the NICK command (regardless of +x/-x) */
#define PROTO_UHNAMES 0x10000 /* Send n!u@h in NAMES */
#define PROTO_CLICAP 0x20000 /* client capability negotiation in process */
#define PROTO_STARTTLS 0x40000 /* client supports STARTTLS */
#define PROTO_SASL 0x80000 /* client is doing SASL */
#define PROTO_AWAY_NOTIFY 0x100000 /* client supports away-notify */
#define PROTO_ACCOUNT_NOTIFY 0x200000 /* client supports account-notify */
#define PROTO_MLOCK 0x400000 /* server supports MLOCK */
/*
* flags macros.
@@ -396,6 +406,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define IsAnOper(x) ((x)->umodes & (UMODE_OPER|UMODE_LOCOP))
#define IsARegNick(x) ((x)->umodes & (UMODE_REGNICK))
#define IsRegNick(x) ((x)->umodes & UMODE_REGNICK)
#define IsLoggedIn(x) (IsRegNick(x) || (x->user && (*x->user->svid != '*') && !isdigit(*x->user->svid))) /* registered nick (+r) or just logged into services (may be -r) */
#define IsRegNickMsg(x) ((x)->umodes & UMODE_RGSTRONLY)
#define IsNoCTCP(x) ((x)->umodes & UMODE_NOCTCP)
#define IsWebTV(x) ((x)->umodes & UMODE_WEBTV)
@@ -449,11 +460,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#ifdef USE_SSL
#define IsSSL(x) IsSecure(x)
#endif
#ifdef NOSPOOF
#define IsNotSpoof(x) ((x)->nospoof == 0)
#else
#define IsNotSpoof(x) (1)
#endif
#define GetHost(x) (IsHidden(x) ? (x)->user->virthost : (x)->user->realhost)
#define GetIP(x) ((x->user && x->user->ip_str) ? x->user->ip_str : (MyConnect(x) ? Inet_ia2p(&x->ip) : NULL))
@@ -802,7 +809,15 @@ struct User {
Link *silence; /* chain of silence pointer blocks */
Link *dccallow; /* chain of dccallowed entries */
char *away; /* pointer to away message */
u_int32_t servicestamp; /* Services' time stamp variable */
/*
* svid: a value that is assigned by services to this user record.
* in previous versions of Unreal, this was strictly a timestamp value,
* which is less useful in the modern world of IRC where nicks are grouped to
* accounts, so it is now a string.
*/
char svid[SVIDLEN + 1];
signed char refcnt; /* Number of times this block is referenced */
unsigned short joined; /* number of channels joined */
char username[USERLEN + 1];
@@ -1020,9 +1035,7 @@ struct Client {
short lastsq; /* # of 2k blocks when sendqueued called last */
dbuf sendQ; /* Outgoing message queue--if socket full */
dbuf recvQ; /* Hold for data incoming yet to be parsed */
#ifdef NOSPOOF
u_int32_t nospoof; /* Anti-spoofing random number */
#endif
int proto; /* ProtoCtl options */
long sendM; /* Statistics: protocol messages send */
long sendK; /* Statistics: total k-bytes send */
@@ -1062,6 +1075,11 @@ struct Client {
TS cputime;
#endif
char *error_str; /* Quit reason set by dead_link in case of socket/buffer error */
char sasl_agent[NICKLEN + 1];
unsigned char sasl_out;
unsigned char sasl_complete;
u_short sasl_cookie;
};
@@ -1128,18 +1146,18 @@ struct _configflag_tld
#define CONF_BAN_TYPE_AKILL 1
#define CONF_BAN_TYPE_TEMPORARY 2
#define BAN_ACT_KILL 1
#define BAN_ACT_TEMPSHUN 2
#define BAN_ACT_SHUN 3
#define BAN_ACT_KLINE 4
#define BAN_ACT_ZLINE 5
#define BAN_ACT_GLINE 6
#define BAN_ACT_GZLINE 7
/* below are pretty much spamfilter only */
#define BAN_ACT_BLOCK 8
#define BAN_ACT_DCCBLOCK 9
#define BAN_ACT_VIRUSCHAN 10
#define BAN_ACT_WARN 11
/* Ban actions. These must be ordered by severity (!) */
#define BAN_ACT_GZLINE 1100
#define BAN_ACT_GLINE 1000
#define BAN_ACT_ZLINE 900
#define BAN_ACT_KLINE 800
#define BAN_ACT_SHUN 700
#define BAN_ACT_KILL 600
#define BAN_ACT_TEMPSHUN 500
#define BAN_ACT_VIRUSCHAN 400
#define BAN_ACT_DCCBLOCK 300
#define BAN_ACT_BLOCK 200
#define BAN_ACT_WARN 100
#define CRULE_ALL 0
@@ -1214,7 +1232,7 @@ struct _configitem_oper {
anAuthStruct *auth;
ConfigItem_class *class;
ConfigItem *from;
unsigned long modes;
unsigned long modes, require_modes;
long oflags;
int maxlogins;
};
@@ -1367,14 +1385,14 @@ struct _configitem_deny_version {
struct _configitem_deny_channel {
ConfigItem *prev, *next;
ConfigFlag flag;
char *channel, *reason, *redirect;
char *channel, *reason, *redirect, *class;
unsigned char warn;
};
struct _configitem_allow_channel {
ConfigItem *prev, *next;
ConfigFlag flag;
char *channel;
char *channel, *class;
};
struct _configitem_allow_dcc {
@@ -1429,9 +1447,21 @@ struct _configitem_alias_format {
regex_t expr;
};
/**
* In a rehash scenario, conf_include will contain all of the included
* configs that are actually in use. It also will contain includes
* that are being processed so that the configuration may be updated.
* INCLUDE_NOTLOADED is set on all of the config files that are being
* loaded and unset on already-loaded files. See
* unload_loaded_includes() and load_includes().
*/
#define INCLUDE_NOTLOADED 0x1
#define INCLUDE_REMOTE 0x2
#define INCLUDE_DLQUEUED 0x4
/**
* Marks that an include was loaded without error. This seems to
* overlap with the INCLUDE_NOTLOADED meaning(?). --binki
*/
#define INCLUDE_USED 0x8
struct _configitem_include {
@@ -1442,6 +1472,8 @@ struct _configitem_include {
char *url;
char *errorbuf;
#endif
char *included_from;
int included_from_line;
};
struct _configitem_help {
@@ -1615,6 +1647,7 @@ struct Channel {
#ifdef JOINTHROTTLE
aJFlood *jflood;
#endif
char *mode_lock;
char chname[1];
};
@@ -1818,6 +1851,8 @@ extern MODVAR char *gnulicense[];
#define PARTFMT ":%s PART %s"
#define PARTFMT2 ":%s PART %s :%s"
#define isexcept void
#ifdef USE_SSL
#include "ssl.h"
#endif
+1 -1
View File
@@ -144,7 +144,7 @@ extern char *rindex(char *, char);
/*
* Mac OS X Tiger Support (Intel Only)
*/
#if defined(macosx) || (defined(__APPLE__) && defined(__MACH__))
#if defined(macosx) || defined(__APPLE__)
#define OSXTIGER
#endif
+25
View File
@@ -0,0 +1,25 @@
/** Standard include for all UnrealIRCd modules.
* This should normally provide all of UnrealIRCd's functionality
* (that is publicly exposed anyway).
*/
#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "proto.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"
#ifdef _WIN32
#include "version.h"
#endif
+24 -16
View File
@@ -7,6 +7,16 @@
#ifndef __versioninclude
#define __versioninclude 1
/*
* Utility macros to convert version number constants to strings.
* Delayed expansion requires two macros to work. See:
*
* $ info '(cpp) Stringification'
*/
#define _macro_to_str(n) #n
#define macro_to_str(n) _macro_to_str(n)
/*
* Mark of settings
*/
@@ -29,30 +39,28 @@
* Also don't forget to bump the protocol version every release.
*/
/** These UNREAL_VERSION_* macros can be used so (3rd party) modules
/**
* The following code concerns UNREAL_VERSION_GENERATION,
* UNREAL_VERSION_MAJOR, and UNREAL_VERSION_MINOR.
*
* These UNREAL_VERSION_* macros can be used so (3rd party) modules
* can easily distinguish versions.
*
* They are set during ./configure, so update ./configure.ac's AC_INIT
* line upon a new release.
*/
/** The generation version number (eg: 3 for Unreal3*) */
#define UNREAL_VERSION_GENERATION 3
/** The major version number (eg: 2 for Unreal3.2*) */
#define UNREAL_VERSION_MAJOR 2
/** The minor version number (eg: 1 for Unreal3.2.1), negative numbers for unstable/alpha/beta */
#define UNREAL_VERSION_MINOR 9
/** Year + week of the year (ISO week number, with Monday as first day of week)
* Can be useful if the above 3 versionids are insufficient for you (eg: you want to support CVS).
* This is updated automatically on the CVS server every Monday. so don't touch it.
*/
#define UNREAL_VERSION_TIME 201120
#define UNREAL_VERSION_TIME 201430
#define UnrealProtocol 2310
#define PATCH1 "3"
#define PATCH2 ".2"
#define PATCH3 ".9"
#define PATCH4 "-rc2"
#define UnrealProtocol 2311
#define PATCH1 macro_to_str(UNREAL_VERSION_GENERATION)
#define PATCH2 "." macro_to_str(UNREAL_VERSION_MAJOR)
#define PATCH3 "." macro_to_str(UNREAL_VERSION_MINOR)
#define PATCH4 UNREAL_VERSION_SUFFIX
#define PATCH5 ""
#define PATCH6 ""
#define PATCH7 ""
+13 -6
View File
@@ -44,12 +44,6 @@
#undef TIMES_2
#undef GETRUSAGE_2
#define HAVE_ALLOCA
/* vc 2005 */
#if defined(_MSC_VER) && _MSC_VER >= 1400
# define HAVE_VSNPRINTF
# define HAVE_SNPRINTF
# define snprintf _snprintf
#endif
#define SPATH "."
#define DPATH "."
#define NO_U_TYPES
@@ -73,4 +67,17 @@
#define intptr_t long
#endif
/* Generation version number (e.g.: 3 for Unreal3*) */
#define UNREAL_VERSION_GENERATION 3
/* Major version number (e.g.: 2 for Unreal3.2*) */
#define UNREAL_VERSION_MAJOR 2
/* Minor version number (e.g.: 1 for Unreal3.2.1) */
#define UNREAL_VERSION_MINOR 10
/* Version suffix such as a beta marker or release candidate marker. (e.g.:
-rc2 for unrealircd-3.2.9-rc2) */
#define UNREAL_VERSION_SUFFIX ".7"
#endif
+11 -3
View File
@@ -107,7 +107,7 @@ TRE_LIB=/LIBPATH:"$(TRE_LIB_DIR)"
!IFDEF USE_REMOTEINC
CURLCFLAGS=/D USE_LIBCURL
CURLOBJ=SRC/URL.OBJ
CURLLIB=libcurl_imp.lib
CURLLIB=libcurl.lib
!IFDEF LIBCURL_INC_DIR
LIBCURL_INC=/I "$(LIBCURL_INC_DIR)"
!ENDIF
@@ -219,7 +219,8 @@ MOD_FILES=SRC/MODULES/L_COMMANDS.C SRC/MODULES/M_CHGHOST.C SRC/MODULES/M_SDESC.C
SRC/MODULES/M_WATCH.C SRC/MODULES/M_PART.C SRC/MODULES/M_JOIN.C \
SRC/MODULES/M_MOTD.C SRC/MODULES/M_OPERMOTD.C SRC/MODULES/M_BOTMOTD.C \
SRC/MODULES/M_LUSERS.C SRC/MODULES/M_NAMES.C SRC/MODULES/M_SVSNOLAG.C \
SRC/MODULES/M_STARTTLS.C SRC/MODULES/M_NOPOST.C SRC/MODULES/M_ISSECURE.C
SRC/MODULES/M_STARTTLS.C SRC/MODULES/M_NOPOST.C SRC/MODULES/M_ISSECURE.C SRC/MODULES/M_CAP.C \
SRC/MODULES/M_SASL.C
DLL_FILES=SRC/MODULES/M_CHGHOST.DLL SRC/MODULES/M_SDESC.DLL SRC/MODULES/M_SETIDENT.DLL \
SRC/MODULES/M_SETNAME.DLL SRC/MODULES/M_SETHOST.DLL SRC/MODULES/M_CHGIDENT.DLL \
@@ -256,7 +257,8 @@ DLL_FILES=SRC/MODULES/M_CHGHOST.DLL SRC/MODULES/M_SDESC.DLL SRC/MODULES/M_SETIDE
SRC/MODULES/M_MOTD.DLL SRC/MODULES/M_OPERMOTD.DLL SRC/MODULES/M_BOTMOTD.DLL \
SRC/MODULES/M_LUSERS.DLL SRC/MODULES/M_NAMES.DLL SRC/MODULES/M_SVSNOLAG.DLL \
SRC/MODULES/M_STARTTLS.DLL \
SRC/MODULES/M_NOPOST.DLL SRC/MODULES/M_ISSECURE.DLL \
SRC/MODULES/M_NOPOST.DLL SRC/MODULES/M_ISSECURE.DLL SRC/MODULES/M_CAP.DLL \
SRC/MODULES/M_SASL.DLL \
SRC/MODULES/CLOAK.DLL
@@ -825,6 +827,12 @@ src/modules/m_nopost.dll: src/modules/m_nopost.c $(INCLUDES)
src/modules/m_issecure.dll: src/modules/m_issecure.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_issecure.c $(MODLFLAGS)
src/modules/m_cap.dll: src/modules/m_cap.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_cap.c $(MODLFLAGS)
src/modules/m_sasl.dll: src/modules/m_sasl.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sasl.c $(MODLFLAGS)
dummy:
-28
View File
@@ -1,28 +0,0 @@
/*
* 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";
};
};
-23
View File
@@ -1,23 +0,0 @@
/*
* AXEnet (irc.axenet.org) Network Configuration File
* --------------------------------------------------
*/
set {
network-name "Axenet";
default-server "irc.axenet.org";
services-server "services.axenet.org";
stats-server "stats.axenet.org";
help-channel "#axenethelp";
hiddenhost-prefix "axe";
prefix-quit "Quit:";
hosts {
local "locop.axenet.org";
global "ircop.axenet.org";
coadmin "coadmin.axenet.org";
admin "admin.axenet.org";
servicesadmin "csop.axenet.org";
netadmin "netadmin.axenet.org";
host-on-oper-up "on";
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Bunker7.net Network Configuration File
* -----------------------------------------
* Added-at: 17 August 1999 12:34 CT
* Author: Rogue
* E-Mail: rogue@bunker7.net
* $Id$
*-----------------------------------------
*/
set {
network-name "bunker7";
default-server "irc.bunker7.net";
services-server "services.bunker7.net";
stats-server "stats.bunker7.net";
help-channel "#bunker7";
hiddenhost-prefix "bunker7";
prefix-quit "Quit:";
hosts {
local "local.bunker7.net";
global "global.bunker7.net";
coadmin "coadmin.bunker7.net";
admin "admin.bunker7.net";
servicesadmin "sadm.bunker7.net";
netadmin "netadmin.bunker7.net";
host-on-oper-up "off";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* BuRnNET (irc.burncycl.net) Network Configuration File
* --------------------------------------------------
* Added-at: 03 April 2001 03:31
* Author: BuRnCycL
* Email: burncycl@burncycl.net
* -----------------------------------------
*/
set {
network-name "BuRnNET";
default-server "irc.burncycl.net";
services-server "services.burncycl.net";
stats-server "stats.burncycl.net";
help-channel "#help";
hiddenhost-prefix "hide";
prefix-quit "Quit:";
hosts {
local "locop.burncycl.net";
global "oper.burncycl.net";
coadmin "coadmin.burncycl.net";
admin "admin.burncycl.net";
servicesadmin "csop.burncycl.net";
netadmin "netadmin.burncycl.net";
host-on-oper-up "on";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* CaboNet (irc.cabonet.org) Network Configuration File
* --------------------------------------------------
* Added-at: 03 February 2001 15:38
* Author: Nandin
* Email: nandin@cabonet.org
* -----------------------------------------
*/
set {
network-name "CaboNet";
default-server "irc.cabonet.org";
services-server "services.cabonet.org";
stats-server "stats.cabonet.org";
help-channel "#cabonet";
hiddenhost-prefix "cnet";
prefix-quit "Quit:";
hosts {
local "local.cabonet.org";
global "oper.cabonet.org";
coadmin "coadmin.cabonet.org";
admin "admin.cabonet.org";
servicesadmin "csop.cabonet.org";
netadmin "netadmin.cabonet.org";
host-on-oper-up "on";
};
};
-25
View File
@@ -1,25 +0,0 @@
/*
* Added-at: 25 november 2000 17:35 GMT
* Author: Highlander (J.S. Morrison)
* E-Mail: highlander@chatcrap.com
* $Id$
*/
set {
network-name "ChatCrap";
default-server "irc.chatcrap.com";
services-server "services.cabonet.org";
stats-server "stats.chatcrap.com";
help-channel "#operhelp";
hiddenhost-prefix "chatcrap";
prefix-quit "Quit:";
hosts {
local "locop.chatcrap.com";
global "ircop.chatcrap.com";
coadmin "coadmin.chatcrap.com";
admin "admin.chatcrap.com";
servicesadmin "serviceop.chatcrap.com";
netadmin "netadmin.chatcrap.com";
host-on-oper-up "on";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* ChatUniverse (irc.chatuniverse.net) Network Configuration File
* --------------------------------------------------
* Added-at: 16 March 2001 13:02
* Author: PeTrArChY
* Email: bradbury@rebeldev.net
* -----------------------------------------
*/
set {
network-name "ChatUniverse";
default-server "irc.chatuniverse.net";
services-server "services.chatuniverse.net";
stats-server "stats.chatuniverse.net";
help-channel "#chatuniverse";
hiddenhost-prefix "CU";
prefix-quit "Quit:";
hosts {
local "locop.chatuniverse.net";
global "oper.chatuniverse.net";
coadmin "coadmin.chatuniverse.net";
admin "admin.chatuniverse.net";
servicesadmin "csop.chatuniverse.net";
netadmin "netadmin.chatuniverse.net";
host-on-oper-up "on";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* 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;
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* 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;
};
};
-18
View File
@@ -1,18 +0,0 @@
set {
network-name "DigitalIRC.Net";
default-server "irc.digitalirc.net";
services-server "Services.DigitalIRC.Net";
stats-server "Statistics.DigitalIRC.com";
help-channel "#Digitalirc";
hiddenhost-prefix "NN";
prefix-quit "Quit:";
hosts {
local "LocOper.DigitalIRC.Net";
global "Oper.DigitalIRC.Net";
coadmin "NetAdmin.DigitalIRC.Net";
admin "Admin.DigitalIRC.Net";
servicesadmin "ServicesOp.DigitalIRC.Net";
netadmin "NetAdmin.DigitalIRC.Net";
host-on-oper-up "off";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* 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;
};
};
-18
View File
@@ -1,18 +0,0 @@
set {
network-name "DragonWings";
default-server "irc.dragonwings.org";
services-server "saturn.dragonwings.org";
stats-server "stats.dragonwings.org";
help-channel "#DragonWings";
hiddenhost-prefix "dw";
prefix-quit "Quit:";
hosts {
local "locop.dragonwings.org";
global "ircop.dragonwings.org";
coadmin "coadmin.dragonwings.org";
admin "admin.dragonwings.org";
servicesadmin "serviceop.dragonwings.org";
netadmin "netadmin.dragonwings.org";
host-on-oper-up "off";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* 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;
};
};
-23
View File
@@ -1,23 +0,0 @@
/*
* German-Elite (irc.german-elite.net) Network Configuration File
* -----------------------------------------
*/
set {
network-name "German-Elite";
default-server "irc.german-elite.net";
services-server "services.german-elite.net";
stats-server "stats.german-elite.net";
help-channel "#german-elite";
hiddenhost-prefix "GE";
prefix-quit "Quit:";
hosts {
local "locop.german-elite.net";
global "ircop.german-elite.net";
coadmin "coadmin.german-elite.net";
admin "admin.german-elite.net";
servicesadmin "csop.german-elite.net";
netadmin "netadmin.german-elite.net";
host-on-oper-up "on";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* Network Configuration File Template
* -----------------------------------------
* Added-at: August 2000
* Author: Anonymos
* E-Mail: Anonymos@Global-IRC.de
* $Id$
*/
set {
network-name "Global";
default-server "IRC.Global-IRC.de";
services-server "Service.Global-IRC.de";
stats-server "Stats.Global-IRC.de";
help-channel "#Global-IRC-World";
hiddenhost-prefix "GL-IRC";
prefix-quit "Quit:";
hosts {
local "Local-IRC-OP.Global-IRC.de";
global "Global-IRC-OP.Global-IRC.de";
coadmin "CoAdmin.Global-IRC.de";
admin "ServerAdmin.Global-IRC.de";
servicesadmin "ServiceAdmin.Global-IRC.de";
netadmin "NetworkAdmin.Global-IRC.de";
host-on-oper-up "on";
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Global-IRC.net Network Configuration File
* -----------------------------------------
* Added-at: 14 July 1999 00:00 GMT
* Author: Stskeeps (Carsten Munk)
* E-Mail: stskeeps@global-irc.net
* $Id$
* -----------------------------------------
*/
set {
network-name "Global-IRC";
default-server "irc.global-irc.net";
services-server "services.global-irc.net";
stats-server "stats.global-irc.net";
help-channel "#Global";
hiddenhost-prefix "global";
prefix-quit "Quit:";
hosts {
local "locop.global-irc.net";
global "ircop.global-irc.net";
coadmin "coadmin.global-irc.net";
admin "admin.global-irc.net";
servicesadmin "serviceop.global-irc.net";
netadmin "netadmin.global-irc.net";
host-on-oper-up "off";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* GlobalChat (irc.Globalchat.ca) Network Configuration File
* --------------------------------------------------
* Added-at: 13 March 2001 19:38
* Author: WebbyBoy
* Email: nykoo@singnet.com
* -----------------------------------------
*/
set {
network-name "GlobalChat";
default-server "irc.Globalchat.ca";
services-server "services.globalchat.ca";
stats-server "services.globalchat.ca";
help-channel "#help";
hiddenhost-prefix "GC";
prefix-quit "Quit:";
hosts {
local "Locop.AsiaCom.GlobalChat.ca";
global "Oper.AsiaCom.GlobalChat.ca";
coadmin "CoAdmin.AsiaCom.GlobalChat.ca";
admin "Admin.AsiaCom.GlobalChat.ca";
servicesadmin "Csop.AsiaCom.GlobalChat.ca";
netadmin "NetAdmin.AsiaCom.GlobalChat.ca";
host-on-oper-up "on";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* 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;
};
};
-18
View File
@@ -1,18 +0,0 @@
set {
network-name "Infinity-IRC.org";
default-server "irc.infinity-irc.org";
services-server "services.infinity-irc.org";
stats-server "stats.infinity-irc.org";
help-channel "#Infinity";
hiddenhost-prefix "Infinity";
prefix-quit "Quit:";
hosts {
local "LOCop.Infinity-IRC.org";
global "IRCop.Infinity-IRC.org";
coadmin "IRCop-CoAdmin.Infinity-IRC.org";
admin "IRCop-Admin.Infinity-IRC.org";
servicesadmin "IRCop-ServiceAdmin.Infinity-IRC.org";
netadmin "IRCop-NetAdmin.Infinity-IRC.org";
host-on-oper-up "on";
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* 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";
netadmin "netadmin.ircsystems.net";
host-on-oper-up "off";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* Isno (irc.isno.net) Network Configuration File
* --------------------------------------------------
* Added-at: 11 mars 2001 22:05
* Author: Shad
* Email: olivier@isno.net
* -----------------------------------------
*/
set {
network-name "Isno";
default-server "irc.isno.net";
services-server "services.isno.net";
stats-server "stats.isno.net";
help-channel "#aide";
hiddenhost-prefix "isno";
prefix-quit "Quit:";
hosts {
local "locop.phazenet.com";
global "oper.isno.net";
coadmin "coadmin.isno.net";
admin "admin.isno.net";
servicesadmin "csop.isno.net";
netadmin "netadmin.isno.net";
host-on-oper-up "off";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* 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;
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* LCIrc (irc.lcirc.net) Network Configuration File
*
* Added-at: 16 June 2001 11:22
* Author: RaYmAn
* Email: rayman@skumler.net
*/
set {
network-name "LCIrc";
default-server "irc.lcirc.net";
services-server "services.lcirc.net";
stats-server "stats.lcirc.net";
help-channel "#lcirc";
hiddenhost-prefix "lcirc";
hosts {
local "locop.lcirc.net";
global "oper.lcirc.net";
coadmin "coadmin.lcirc.net";
admin "admin.lcirc.net";
servicesadmin "csop.lcirc.net";
netadmin "netadmin.lcirc.net";
host-on-oper no;
};
};
-250
View File
@@ -1,250 +0,0 @@
#!/bin/sh
# makenet v1.0 - generates a network file for UnrealIRCd
#
# you may freely use this file with any other program as
# long as the credits remain intact
#
# (c) 2000 codemastr (Dominick Meglio) and the UnrealIRCd Team
VERSION="2.2"
DATE=`date "+%d %B %Y %H:%M"`
FILE="mynet.network"
EXISTS="y"
NICK="MyNick"
EMAIL="me@mynet.org"
NETWORK="My IRC Network"
DEFSERV="irc.mynet.org"
SERVICES_NAME="services.mynet.org"
OPER_HOST="oper.mynet.org"
ADMIN_HOST="admin.mynet.org"
LOCOP_HOST="locop.mynet.org"
CSOP_HOST="csop.mynet.org"
NETADMIN_HOST="netadmin.mynet.org"
COADMIN_HOST="coadmin.mynet.org"
HIDDEN_HOST="hide"
NETDOMAIN="mynet.org"
HELPCHAN="#help"
STATS_SERVER="stats.mynet.org"
INAH="1"
SUBMIT="y"
# Checking out how to specify not to make a new line with the current OS
c=''
n=''
2>/dev/null
if [ "`eval echo -n 'a'`" = "-n a" ]; then
c='\c'
else
n='-n'
fi
clear
echo "Welcome to the UnrealIRCd network file generator"
echo "If you need help to set the IRCd up,"
echo "mail unreal-support@lists.sourceforge.net or ask"
echo "at IRC: /server irc.ircsystems.net, /join #unrealircd"
echo ""
echo "For any sake, read Unreal.nfo and read doc/faq before asking"
echo "questions"
echo "[Enter to Begin]"
read cc
echo ""
echo "What do you want your network file to be called?"
echo $n "[$FILE] -> $c"
read cc
if [ ! -z $cc ]; then
FILE="$cc"
fi
if [ -f $FILE ]; then
echo ""
echo "$FILE already exists do you want to override it?"
echo $n "[$EXISTS] -> $c"
read cc
if [ ! -z $cc ]; then
EXISTS="$cc"
fi
case "$EXISTS" in
[Nn]*)
exit
;;
*)
;;
esac
fi
echo ""
echo "What is your IRC nickname?"
echo $n "[$NICK] -> $c"
read cc
if [ ! -z $cc ]; then
NICK="$cc"
fi
echo ""
echo "What is your email address?"
echo $n "[$EMAIL] -> $c"
read cc
if [ ! -z $cc ]; then
EMAIL="$cc"
fi
echo ""
echo "What is the name of your IRC network?"
echo $n "[$NETWORK] -> $c"
read cc
if [ ! -z "$cc" ]; then
NETWORK="$cc"
fi
echo ""
echo "What is the default server for your network?"
echo $n "[$DEFSERV] -> $c"
read cc
if [ ! -z $cc ]; then
DEFSERV="$cc"
fi
echo ""
echo "What is the name of your services server?"
echo $n "[$SERVICES_NAME] -> $c"
read cc
if [ ! -z $cc ]; then
SERVICES_NAME="$cc"
fi
echo ""
echo "What is the virtual host opers will get when they oper up?"
echo $n "[$OPER_HOST] -> $c"
read cc
if [ ! -z $cc ]; then
OPER_HOST="$cc"
fi
echo ""
echo "What is the virtual host services opers will get when they oper up?"
echo $n "[$CSOP_HOST] -> $c"
read cc
if [ ! -z $cc ]; then
CSOP_HOST="$cc"
fi
echo ""
echo "What is the virtual host admins will get when they oper up?"
echo $n "[$ADMIN_HOST] -> $c"
read cc
if [ ! -z $cc ]; then
ADMIN_HOST="$cc"
fi
echo ""
echo "What is the virtual host local opers will get when they oper up?"
echo $n "[$LOCOP_HOST] -> $c"
read cc
if [ ! -z $cc ]; then
LOCOP_HOST="$cc"
fi
echo ""
echo "What is the virtual host coadmins will get when they oper up?"
echo $n "[$COADMIN_HOST] -> $c"
read cc
if [ ! -z $cc ]; then
COADMIN_HOST="$cc"
fi
echo ""
echo "What is the virtual host netadmins will get when they oper up?"
echo $n "[$NETADMIN_HOST] -> $c"
read cc
if [ ! -z $cc ]; then
NETADMIN_HOST="$cc"
fi
echo ""
echo "What do you want the prefix for the hidden hosts to be?"
echo $n "[$HIDDEN_HOST] -> $c"
read cc
if [ ! -z $cc ]; then
HIDDEN_HOST="$cc"
fi
echo ""
echo "What is your network's domain name?"
echo $n "[$NETDOMAIN] -> $c"
read cc
if [ ! -z $cc ]; then
NETDOMAIN="$cc"
fi
echo ""
echo "What is your network's help channel?"
echo $n "[$HELPCHAN] -> $c"
read cc
if [ ! -z $cc ]; then
HELPCHAN="$cc"
fi
echo ""
echo "What is the name of your stats server?"
echo $n "[$STATS_SERVER] -> $c"
read cc
if [ ! -z $cc ]; then
STATS_SERVER="$cc"
fi
echo ""
echo "Do you want oper's hosts to be changed on /oper?"
echo "1 = yes 0 = no"
echo $n "[$INAH] -> $c"
read cc
if [ ! -z $cc ]; then
INAH="$cc"
fi
# write the actual conf
cat > $FILE << __EOF__
/*
* $NETWORK ($DEFSERV) Network Configuration File
*
* Added-at: $DATE
* Author: $NICK
* Email: $EMAIL
*/
set {
network-name "$NETWORK";
default-server "$DEFSERV";
services-server "$SERVICES_NAME";
stats-server "$STATS_SERVER";
help-channel "$HELPCHAN";
hiddenhost-prefix "$HIDDEN_HOST";
hosts {
local "$LOCOP_HOST";
global "$OPER_HOST";
coadmin "$COADMIN_HOST";
admin "$ADMIN_HOST";
servicesadmin "$CSOP_HOST";
netadmin "$NETADMIN_HOST";
__EOF__
if [ "$INAH" = "1" ]; then
echo " host-on-oper-up yes;" >> $FILE
fi
if [ "$INAH" = "0" ]; then
echo " host-on-oper-up no;" >> $FILE
fi
echo " };" >> $FILE
echo "};" >> $FILE
__EOF__
echo ""
echo "" >> ../unrealircd.conf
echo "// Added by makenet $DATE" >> ../unrealircd.conf
echo "include \"networks/$FILE\";" >> ../unrealircd.conf
echo "All done. I have added \"include \"networks/$FILE\"; to your unrealircd.conf"
echo "You might want to edit it if you have done makenet before"
echo "Thank you for choosing UnrealIRCd"
exit
-38
View File
@@ -1,38 +0,0 @@
/* Networks index file - do not touch please
* Please report outdated entries to unreal-networks@lists.sourceforge.net
*
* NOTE: These networks are in no way affiliated with UnrealIRCd other than the fact
* that they use it. The UnrealIRCd Team takes no responsibility for the content
* of these networks.
*/
networks/awesomechristians.network: Awesome Christians Chat Network (http://www.awesomechristians.com)
networks/axenet.network ..........: AXEnet (http://www.axenet.org)
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/chatcrap.network ........: ChatCrap (http://www.chatcrap.com)
networks/chatuniverse.network ....: ChatUniverse (http://www.chatuniverse.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/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/icechat.network .........: IceChat (http://www.icechat.net)
networks/infinity.network ........: Infinity-IRC.org (http://www.infinity-irc.org)
networks/isno.network ............: Isno (http://www.isno.net)
networks/l33t-irc.network ........: L33T-IRC (http://www.l33t-irc.com)
networks/lcirc.network ...........: LCIrc (http://www.lcirc.net)
networks/outsiderz.network .......: Outsiderz (http://www.outsiderz.com)
networks/phazenet.network ........: PhazeNet (http://www.phazenet.com)
networks/stormdancing.network ....: StormDancing (http://www.stormdancing.net)
networks/thainet.network .........: Thai IRC Network
networks/unitedirc-org.network ...: Unitedirc (http://www.unitedirc.org)
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)
-26
View File
@@ -1,26 +0,0 @@
*
* Outsiderz.com (irc.Outsiderz.com) Network Configuration File
*
* Added-at: 29 January 2002 07:35
* Author: DrDeath
* Email: DrDeath@hotmail.com
*/
set {
network-name "Outsiderz.com";
default-server "irc.Outsiderz.com";
services-server "services.outsiderz.com";
stats-server "stats.outsiderz.com";
help-channel "#Outsiderz";
hiddenhost-prefix "Outsiderz";
hosts {
local "LocOP.Outsiderz.com";
global "IrcOP.Outsiderz.com";
coadmin "CoAdmin.Outsiderz.com";
admin "Admin.Outsiderz.com";
servicesadmin "CsOP.Outsiderz.com";
netadmin "NetAdmin.Outsiderz.com";
host-on-oper-up yes;
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* PhazeNet (irc.phazenet.com) Network Configuration File
* --------------------------------------------------
* Added-at: 01 March 2001 02:00
* Author: Lady_Rusty
* Email: ladyrusty@phazenet.com
* -----------------------------------------
*/
set {
network-name "PhazeNet";
default-server "irc.phazenet.com";
services-server "services.phazenet.com";
stats-server "stats.phazenet.com";
help-channel "#services";
hiddenhost-prefix "PhazeNet";
prefix-quit "Quit:";
hosts {
local "locop.phazenet.com";
global "oper.phazenet.com";
coadmin "coadmin.phazenet.com";
admin "admin.phazenet.com";
servicesadmin "csop.phazenet.com";
netadmin "netadmin.phazenet.com";
host-on-oper-up "on";
};
};
-20
View File
@@ -1,20 +0,0 @@
set {
network-name "tormdancing.Net";
default-server "irc.stormdancing.net";
services-server "Services.Stormdancing.Net";
stats-server "stats.ircnet.org";
help-channel "#Help";
hiddenhost-prefix "Stormdancing";
prefix-quit "Quit:";
hosts {
local "LocOp.Stormdancing.Net";
global "IRCop.Stormdancing.Net";
coadmin "CoAdmin.Stormdancing.Net";
admin "Admin.Stormdancing.Net";
servicesadmin "ServiceOp.Stormdancing.Net";
netadmin "NetAdmin.Stormdancing.Net";
host-on-oper-up "on";
};
};
-20
View File
@@ -1,20 +0,0 @@
set {
network-name "IRC"; // sets the name of your network
default-server "irc.ircnet.org"; // sets the address of your default server (like irc.dal.net)
services-server "services.ircnet.org"; // sets the name of your services server
stats-server "stats.ircnet.org"; // sets the name of your stats server
help-channel "#IRC"; // sets the name of your help channel
hiddenhost-prefix "mpx"; // sets the prefix for the hidden hosts
prefix-quit "Quit:"; // sets the first word to be used in a quit message
hosts {
local "locop.ircnet.org"; // sets the host to be given to locops
global "ircop.ircnet.org"; // sets the host to be given to global ops
coadmin "coadmin.ircnet.org"; // sets the host to be given to coadmins
admin "admin.ircnet.org"; // sets the host to be given to admins
servicesadmin "serviceop.ircnet.org"; // sets the host to be given to services admins
netadmin "netadmin.ircnet.org"; // sets the host to be given to netadmins
host-on-oper-up "off"; // sets whether to assign the hosts on oper up
};
};
-18
View File
@@ -1,18 +0,0 @@
set {
network-name "Thai IRC Network";
default-server "irc.thai.com";
services-server "services.thai.com";
stats-server "stats.thai.com";
help-channel "#Services";
hiddenhost-prefix "ThaiNet";
prefix-quit "Quit:";
hosts {
local "locop.thai.com";
global "ircop.thai.com";
coadmin "coadmin.thai.com";
admin "admin.thai.com";
servicesadmin "serviceop.thai.com";
netadmin "netadmin.thai.com";
host-on-oper-up "on";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* Unitedirc (irc.unitedirc.org) Network Configuration File
*
* Added-at: 09 May 2001 12:25
* Author: sjowie
* Email: sjowie@unitedirc.org
*/
set {
network-name "Unitedirc";
default-server "irc.unitedirc.org";
services-server "cservices.unitedirc.org";
stats-server "stats.unitedirc.org";
help-channel "#help";
hiddenhost-prefix "unhide";
hosts {
local "locop.unitedirc.org";
global "oper.unitedirc.org";
coadmin "coadmin.unitedirc.prg";
admin "admin.unitedirc.org";
servicesadmin "csop.unitedirc.org";
netadmin "netadmin.unitedirc.org";
host-on-oper yes;
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Unreal-Team () Network Configuration File
* --------------------------------------------------
* Added-at: 14 July 1999 00:00 GMT
* Author: Stskeeps (Carsten Munk)
* E-Mail: stskeeps@tspre.org
* $Id$
* -----------------------------------------
*/
set {
network-name "TESTnet";
default-server "irc.testnet.ircsystems.net";
services-server "services.testnet.ircsystems.net";
stats-server "stats.testnet.ircsystems.net";
help-channel "#testnet";
hiddenhost-prefix "unreal";
prefix-quit "Quit:";
hosts {
local "locop.testnet.ircsystems.net";
global "ircop.testnet.ircsystems.net";
coadmin "coadmin.testnet.ircsystems.net";
admin "admin.testnet.ircsystems.net";
servicesadmin "csops.testnet.ircsystems.net";
netadmin "netadmin.testnet.ircsystems.net";
host-on-oper-up "on";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* wazZza (irc.wazzza.org) Network Configuration File
* --------------------------------------------------
* Added-at: 08 april 2001 18:33
* Author: [ripper]
* Email: ripper@wazzza.org
* -----------------------------------------
*/
set {
network-name "wazZza";
default-server "irc.wazzza.org";
services-server "services.wazzza.org";
stats-server "stats.wazzza.org";
help-channel "#help";
hiddenhost-prefix "wazzza";
prefix-quit "Quit:";
hosts {
local "locop.wazzza.org";
global "oper.wazzza.org";
coadmin "coadmin.wazzza.org";
admin "admin.wazzza.org";
servicesadmin "csop.wazzza.org";
netadmin "netadmin.wazzza.org";
host-on-oper-up "on";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* x-irc.net (irc.x-irc.net) Network Configuration File
*
* Added-at: 14 July 2001 19:40
* Author: TheDarkOne
* Email: admin@x-irc.net
*/
set {
network-name "x-irc.net";
default-server "irc.x-irc.net";
services-server "services.x-irc.net";
stats-server "stats.x-irc.net";
help-channel "#x-irc";
hiddenhost-prefix "x-irc";
hosts {
local "locop.x-irc.net";
global "globop.x-irc.net";
coadmin "coadmin.x-irc.net";
admin "admin.x-irc.net";
servicesadmin "csop.x-irc.net";
netadmin "netadmin.x-irc.net";
host-on-oper no;
};
};
-25
View File
@@ -1,25 +0,0 @@
/*
* ZiRC (irc.zirc.org) Network Configuration File
*
* Added-at: 18 June 2001 11:29
* Author: BaTmAn
* Email: BaTmAn@UnrealIRCd.org
*/
set {
network-name "ZiRC";
default-server "irc.zirc.org";
services-server "services.zirc.org";
stats-server "stats.zirc.org";
help-channel "#ZiRC";
hiddenhost-prefix "ZiRC";
hosts {
local "staff.zirc.org";
global "staff.zirc.org";
coadmin "staff.zirc.org";
admin "staff.zirc.org";
servicesadmin "staff.zirc.org";
netadmin "staff.zirc.org";
host-on-oper yes;
};
};
+3 -3
View File
@@ -60,7 +60,7 @@ all: build
build: ircd mods
custommodule:
cd modules; $(MY_MAKE) MODULEFILE=$(MODULEFILE) 'EXLIBS=$(EXLIBS)' custommodule
+cd modules; $(MY_MAKE) MODULEFILE=$(MODULEFILE) 'EXLIBS=$(EXLIBS)' custommodule
ircd: $(OBJS)
$(CC) $(CFLAGS) $(CRYPTOLIB) -o ircd $(OBJS) $(LDFLAGS) $(IRCDLIBS) $(CRYPTOLIB)
@@ -83,12 +83,12 @@ mods:
@if [ ! -r modules ] ; then \
echo "You havent done cvs update -P -d"; \
fi
cd modules; $(MY_MAKE) all
+cd modules; $(MY_MAKE) all
version.c: version.c.SH ../Changes
$(SHELL) version.c.SH
version.o: version.c ../include/version.h
version.o: version.c $(INCLUDES)
$(CC) $(CFLAGS) -c version.c
parse.o: parse.c $(INCLUDES)
+55 -1
View File
@@ -57,6 +57,9 @@ anAuthStruct MODVAR AuthTypes[] = {
{"ripemd160", AUTHTYPE_RIPEMD160},
/* sure, this is ugly, but it's our fault. -- Syzop */
{"ripemd-160", AUTHTYPE_RIPEMD160},
#endif
#ifdef AUTHENABLE_SSL_CLIENTCERTFP
{"sslclientcertfp", AUTHTYPE_SSL_CLIENTCERTFP},
#endif
{NULL, 0}
};
@@ -148,6 +151,13 @@ int Auth_CheckError(ConfigEntry *ce)
}
}
}
if ((type == AUTHTYPE_PLAINTEXT) && (strlen(ce->ce_vardata) > PASSWDLEN))
{
config_error("%s:%i: passwords length may not exceed %d",
ce->ce_fileptr->cf_filename, ce->ce_varlinenum, PASSWDLEN);
return -1;
}
return 1;
}
@@ -460,11 +470,24 @@ int Auth_Check(aClient *cptr, anAuthStruct *as, char *para)
extern char *crypt();
#endif
#ifdef AUTHENABLE_SSL_CLIENTCERT
#if defined(AUTHENABLE_SSL_CLIENTCERT) || defined(AUTHENABLE_SSL_CLIENTCERTFP)
X509 *x509_clientcert = NULL;
#endif
#ifdef AUTHENABLE_SSL_CLIENTCERT
X509 *x509_filecert = NULL;
FILE *x509_f = NULL;
#endif
#ifdef AUTHENABLE_SSL_CLIENTCERTFP
unsigned int n;
unsigned int i;
unsigned int j;
unsigned int k;
unsigned char md[EVP_MAX_MD_SIZE];
char hex[EVP_MAX_MD_SIZE * 2 + 1];
char hexc[EVP_MAX_MD_SIZE * 3 + 1];
char hexchars[16] = "0123456789abcdef";
const EVP_MD *digest = EVP_sha256();
#endif
if (!as)
return 1;
@@ -535,6 +558,37 @@ int Auth_Check(aClient *cptr, anAuthStruct *as, char *para)
X509_free(x509_clientcert);
X509_free(x509_filecert);
return 2;
#endif
#ifdef AUTHENABLE_SSL_CLIENTCERTFP
case AUTHTYPE_SSL_CLIENTCERTFP:
if (!para)
return -1;
if (!cptr->ssl)
return -1;
x509_clientcert = SSL_get_peer_certificate((SSL *)cptr->ssl);
if (!x509_clientcert)
return -1;
if (!X509_digest(x509_clientcert, digest, md, &n)) {
X509_free(x509_clientcert);
return -1;
}
j = 0;
k = 0;
for (i=0; i<n; i++) {
hex[j++] = hexchars[(md[i] >> 4) & 0xF];
hex[j++] = hexchars[md[i] & 0xF];
hexc[k++] = hexchars[(md[i] >> 4) & 0xF];
hexc[k++] = hexchars[md[i] & 0xF];
hexc[k++] = ':';
}
hex[j] = '\0';
hexc[--k] = '\0';
if (strcasecmp(as->data, hex) && strcasecmp(as->data, hexc)) {
X509_free(x509_clientcert);
return -1;
}
X509_free(x509_clientcert);
return 2;
#endif
}
return -1;
+23 -1
View File
@@ -813,7 +813,7 @@ int can_send(aClient *cptr, aChannel *chptr, char *msgtext, int notice)
return (CANNOT_SEND_NOPRIVMSGS);
lp = find_membership_link(cptr->user->channel, chptr);
if ((chptr->mode.mode & MODE_MODREG) && !op_can_override(cptr) && !IsRegNick(cptr) &&
if ((chptr->mode.mode & MODE_MODREG) && !op_can_override(cptr) && !IsLoggedIn(cptr) &&
(!lp
|| !(lp->flags & (CHFL_CHANOP | CHFL_VOICE | CHFL_CHANOWNER |
CHFL_HALFOP | CHFL_CHANPROT))))
@@ -1416,6 +1416,8 @@ void sub1_from_channel(aChannel *chptr)
#ifdef JOINTHROTTLE
cmodej_delchannelentries(chptr);
#endif
if (chptr->mode_lock)
MyFree(chptr->mode_lock);
if (chptr->topic)
MyFree(chptr->topic);
if (chptr->topic_nick)
@@ -1863,3 +1865,23 @@ char m;
}
}
#endif
/* set_channel_mlock()
*
* inputs - client, source, channel, params
* output -
* side effects - channel mlock is changed / MLOCK is propagated
*/
void set_channel_mlock(aClient *cptr, aClient *sptr, aChannel *chptr, const char *newmlock, int propagate)
{
if (chptr->mode_lock)
MyFree(chptr->mode_lock);
chptr->mode_lock = (newmlock != NULL) ? strdup(newmlock) : NULL;
if (propagate)
{
sendto_serv_butone_token(cptr, cptr->name, MSG_MLOCK, TOK_MLOCK, "%B %s :%s",
chptr->creationtime, chptr->chname,
BadPtr(chptr->mode_lock) ? "" : chptr->mode_lock);
}
}
+27 -25
View File
@@ -109,7 +109,7 @@ static int parse_v6_netmask(const char *text, struct IN_ADDR *addr, short int *b
else if (c == '*')
{
/* Error: there was a ::, or it is not the last segment */
if (finsert >= 0 || *(p + 1) || dp == 0 || *(p - 1) != ':')
if (finsert >= 0 || *(p + 1) || dp == 0 || (p == text) || (*(p - 1) != ':'))
return HM_HOST;
bits = dp * 16;
}
@@ -191,34 +191,36 @@ static int parse_v4_netmask(const char *text, struct IN_ADDR *addr, short int *b
digits[n++] = text;
for (p = text; (c = *p); p++)
{
if (c >= '0' && c <= '9') /* empty */
;
else if (c == '.')
{
if (n >= 4) /* Error: More than four sections */
else if (c == '.')
{
if (n >= 4) /* Error: More than four sections */
return HM_HOST;
digits[n++] = p + 1;
}
else if (c == '*')
{
if (*(p + 1) || (p == text) || *(p - 1) != '.') /* Error: * is not at the end
* or not its own section */
return HM_HOST;
bits = (n - 1) * 8;
break;
}
else if (c == '/')
{
char *after;
bits = strtoul(p + 1, &after, 10);
if (bits < 0 || *after) /* Error: Invalid number or not end */
return HM_HOST;
if (bits > n * 8) /* Error: More than the bits given */
return HM_HOST;
break;
}
else /* Error: Illegal character */
return HM_HOST;
digits[n++] = p + 1;
}
else if (c == '*')
{
if (*(p + 1) || n == 0 || *(p - 1) != '.') /* Error: * is not at the end
* or not its own section */
return HM_HOST;
bits = (n - 1) * 8;
break;
}
else if (c == '/')
{
char *after;
bits = strtoul(p + 1, &after, 10);
if (!bits || *after) /* Error: Invalid number or not end */
return HM_HOST;
if (bits > n * 8) /* Error: More than the bits given */
return HM_HOST;
break;
}
else /* Error: Illegal character */
return HM_HOST;
if (n < 4 && bits == 0)
bits = n * 8;
+1
View File
@@ -222,5 +222,6 @@ void SetupEvents(void)
EventAddEx(NULL, "cmodej_cleanup_structs", 60, 0, cmodej_cleanup_structs, NULL);
#endif
EventAddEx(NULL, "unrealdns_removeoldrecords", 15, 0, unrealdns_removeoldrecords, NULL);
EventAddEx(NULL, "deprecated_notice", (86400*7)-(3600*8), 0, deprecated_notice, NULL);
UnlockEventSystem();
}
+28 -1
View File
@@ -511,6 +511,26 @@ char *ban = banin+3;
return 0;
}
/** Account bans */
char *extban_modea_conv_param(char *para)
{
char *mask;
static char retbuf[NICKLEN + 4];
strlcpy(retbuf, para, sizeof(retbuf)); /* truncate */
if (!strcmp(retbuf+3, "0"))
return NULL; /* ~a:0 would mean ban all non-regged, but we already have +R for that. */
return retbuf;
}
int extban_modea_is_banned(aClient *sptr, aChannel *chptr, char *banin, int type)
{
char *ban = banin+3;
if (!stricmp(ban, sptr->user->svid))
return 1;
return 0;
}
void extban_init(void)
{
ExtbanInfo req;
@@ -533,9 +553,9 @@ void extban_init(void)
req.conv_param = extban_conv_param_nuh;
#else
req.conv_param = extban_conv_param_nuh_or_extban;
req.is_ok = extban_is_ok_nuh_extban;
#endif
req.is_banned = extban_modej_is_banned;
req.is_ok = extban_is_ok_nuh_extban;
req.options = EXTBOPT_ACTMODIFIER;
ExtbanAdd(NULL, req);
@@ -573,6 +593,13 @@ void extban_init(void)
req.options = EXTBOPT_INVEX;
ExtbanAdd(NULL, req);
memset(&req, 0, sizeof(ExtbanInfo));
req.flag = 'a';
req.conv_param = extban_modea_conv_param;
req.is_banned = extban_modea_is_banned;
req.options = EXTBOPT_INVEX;
ExtbanAdd(NULL, req);
/* When adding new extbans, be sure to always add a prior memset like above
* so you don't "inherit" old options (we are 2005 and the 20 nanoseconds
* per-boot/rehash is NOT EXACTLY a problem....) -- Syzop.

Some files were not shown because too many files have changed in this diff Show More