summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/BUGS17
-rw-r--r--docs/COPYING339
-rw-r--r--docs/DEFCON111
-rw-r--r--docs/FAQ423
-rw-r--r--docs/INSTALL177
-rw-r--r--docs/MODULES110
-rw-r--r--docs/MYSQL97
-rw-r--r--docs/NEWS92
-rw-r--r--docs/README307
9 files changed, 1673 insertions, 0 deletions
diff --git a/docs/BUGS b/docs/BUGS
new file mode 100644
index 000000000..cbf2d5bad
--- /dev/null
+++ b/docs/BUGS
@@ -0,0 +1,17 @@
+Reported Bugs from Mantis: http://www.anope.org/bug
+===================================================
+
+.- Strange Segfault on expiring nicknames. Almost arbitrary, very hard
+ to reproduce.
+
+.- Clone detection can give false warnings if a user connects and then
+ signs off several times in rapid succession. Clone detection also
+ goes off wrongly if a server links and has a number of clients from
+ the same hostname.
+
+.- If there is absolutely no activity on your network, Services may delay
+ timed events (nick kills, database saving, etc.) until the next message
+ comes in from Services' uplink server.
+
+.- Modules will not work on OpenBSD machines, due to limitations on libdl.
+
diff --git a/docs/COPYING b/docs/COPYING
new file mode 100644
index 000000000..a43ea2126
--- /dev/null
+++ b/docs/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/docs/DEFCON b/docs/DEFCON
new file mode 100644
index 000000000..1b7b169de
--- /dev/null
+++ b/docs/DEFCON
@@ -0,0 +1,111 @@
+Anope DefCon
+------------
+
+Introduction:
+
+ Anope 1.6 onwards supports a unique protection mechanism based on the
+ military "Defense Readiness Condition" (DefCon) system. It is based on
+ 5 levels of defense readiness defined as:
+
+ DEFCON5 Normal peacetime readiness
+ DEFCON4 Increased intelligence and security readiness
+ DEFCON3 Increase in force readiness
+ DEFCON2 Further increase in force readiness
+ DEFCON1 Maximum force readiness.
+
+ These are configurable levels that mandates what actions Anope should
+ take in case of emergency and change in readiness status.
+
+ It is used to prevent abuse to both Services, and the ircd on which they
+ are running. Also to protect the users, primarily in the event of Clones
+ and/or FloodBOT attacks.
+
+Installation:
+
+ The DefCon system is part of Anope's core,
+
+ The DefCon system has to be configured on your services.conf file to
+ be enabled. All directives are optional unless they depend on what
+ options you enable for each level. Look for the "DefCon configuration"
+ section on your services.conf file for more information.
+
+ Make sure you restart Anope after changing the DefCon configuration
+ directives.
+
+Configuration:
+
+ Pre-defined DefCon actions:
+
+ No new channel registrations 1
+ No New Nick Registrations 2
+ No MLOCK changes 4
+ Force Chan Mode 8
+ Use Reduced Session Limit 16
+ KILL any new clients trying to connect 32
+ Services will ignore everyone but opers 64
+ Services will silently ignore everyone but opers 128
+ AKILL all new clients trying to connect 256
+ No new memos sent to block memoserv attacks 512
+
+ These are the values used to determine each defcon setting, are set via:
+
+ DefCon1 XX
+ DefCon2 XX
+ DefCon3 XX
+ DefCon4 XX
+
+ To set the desired value, you simply add the value of the numbers together
+ and place that as your DefCon# setting. For instance:
+
+ Say you wish to set:
+
+ No Channel Registrations, No Nickname Registrations and Services Ignoring
+ everyone except for Operators. You would do this by:
+
+ 1 + 2 + 128 (Each value listed above is added together)
+ Giving: 131
+
+ You would then place this as which ever Defcon setting you want:
+
+ DefCon1 131
+
+ The recommended default values are safe to use on any network.
+
+Usage:
+
+ Anope starts up in DEFCON5 (normal readiness). To change the Defcon level
+ in action use:
+
+ /msg OperServ DEFCON 1|2|3|4|5
+
+Example:
+
+ Place the network on DEFCON4:
+
+ /msg OperServ DEFCON 4
+
+ *** Global -- from OperServ: dengel Changed the DEFCON level to 4
+
+ -OperServ- Services are now at DEFCON 4
+ -OperServ- * No new channel registrations
+ -OperServ- * No new nick registrations
+ -OperServ- * No MLOCK changes
+ -OperServ- * Use the reduced session limit of 5
+
+ -Global- The Defcon Level is now at Level: 4
+
+ Restore normal readiness:
+
+ /msg OperServ DEFCON 5
+
+ *** Global -- from OperServ: dengel Changed the DEFCON level to 5
+
+ -OperServ- Services are now at DEFCON 5
+
+ -Global- Services are now back to normal, sorry for any inconvenience
+
+Support:
+
+ You might get DefCon support by posting on our online forum, or maybe on
+ our #anope channel at /server irc.anope.org.
+
diff --git a/docs/FAQ b/docs/FAQ
new file mode 100644
index 000000000..014d3a34d
--- /dev/null
+++ b/docs/FAQ
@@ -0,0 +1,423 @@
+ Frequently Asked Questions (FAQ) concerning Anope
+ =================================================
+
+Index:
+
+ 1. What is Anope?
+
+ 2. Where can I find Anope?
+
+ 3. Does Anope run under Windows?
+
+ 4. Can I send you questions without reading the FAQ, INSTALL or
+ README files?
+
+ 5. When I run "make", I get an error message like "missing separator",
+ "Unassociated shell command", "Unexpected end of line seen", etc.
+
+ 6. I get an error like "Makefile.inc not found".
+
+ 7. I typed "./services" at the command line, but nothing happened!
+
+ 8. I need support for the XYZ protocol.
+
+ 9. Whenever I start Anope, I get a message on my IRC server saying
+ "connection refused" or something similar, and Anope gives an error
+ message from the server saying "Closing Link: ...".
+
+10. My IRC server is giving me messages like "Connection to
+ services.whatever.net[127.0.0.1] activated" and then "Access denied --
+ no N line". Why?
+
+11. When I say "/connect services.*", it doesn't work!
+
+12. Anope complains in the logfile about being unable to load the
+ default language.
+
+13. Anope always dies after about five minutes, saying "FATAL ERROR!
+ Can't back up nick.db".
+
+14. Anope starts up okay, but if I try to register a nickname, it comes
+ back with "Sorry, registration failed."
+
+15. Anope crashed with a segmentation fault.
+
+16. Anope's channel mode setting doesn't work. I can't set modes with
+ OperServ, and every time ChanServ tries to set a mode, my server
+ reverses the change.
+
+17. Using the OperServ JUPE command results in server messages like
+ "Server juped.server introduced by non-hub server services.my.net".
+
+18. I can't use the ADMIN command to add Services admins--it tells me
+ "Permission denied."
+
+19. When I add an AKILL, the users matching it don't get killed.
+
+20. Anope reports (via /stats u or /msg OperServ STATS) a different
+ number of users online than I get from doing /lusers.
+
+21. Anope ignored the SET SUCCESSOR setting and deleted a channel when
+ the founder expired.
+
+22. Trying to use OperServ gives me "Access denied", but my nick is in the
+ ServicesRoot directive and is registered, and I've identified for my
+ nick.
+
+23. Anope spricht kein Deutsch!, etc. (Anope doesn't speak my
+ language!)
+
+24. I selected a language other than English, but sometimes Anope sends
+ responses in English instead.
+
+25. I've found a bug that's not mentioned here or in the
+ BUGS files. What should I do?
+
+26. Your Services program doesn't do XYZ like DALnet Services. What's
+ wrong?
+
+27. I've got a great new idea for Anope. Do you want it?
+
+28. Examples of features I have been asked about and why we won't add (or
+ haven't yet added) them--so don't ask us about them.
+
+29. How do I add bots to BotServ?
+
+30. When I used the OperServ RAW command, Anope and/or my network
+ crashed, or did weird things! Please fix this bug!
+
+31. I would like to have the list of the differents RAW on operserv
+
+32. I can't get /OS UMODES and /OS SVSNICK do not work!
+
+33. What is a Super-Admin? How does it work? Why might it not work?
+
+---------------------------------------------------------------------------
+
+1. What is Anope?
+
+ Anope is a set of services for IRC networks. See the README
+ file for more information. And in case you were wondering,
+ Anope is Epona spelt backwards :)
+
+
+2. Where can I find Anope?
+
+ The latest version can always be found at the official Anope
+ distribution site:
+
+ http://www.anope.org/
+
+ New version announcements can also be found at http://anope.zero.org/
+ in the Announcement section.
+
+
+3. Does Anope run under Windows?
+
+ Well... not officialy. Bu there is a cygwin based patch that makes
+ Anope work on Windows. Note, however, that some features might not
+ work, and you should take that into consideration when answering
+ the questions of ./configure (i.e. MySQL, Modules).
+
+ You can obtain a pre-build copy of Anope for Windoes from
+ http://www.wircds.net/ although we have "blessed" that port,
+ we do not provide support for it. If you can't get it work,
+ go to wIRCds.net forum.
+
+ If you feel capable of taking ownership of an official windows
+ port, and to keep it current, please let the current Development
+ team know.
+
+
+4. Can I send you questions without reading the FAQ, INSTALL or README
+ files?
+
+ No. If you don't read those files, your messages will most probably
+ be ignored. We don't mean to be rude, but if we took the time
+ to write down some documentation, we'd expect you to take some
+ time to read it.
+
+
+5. When I run "make", I get an error message like "missing separator",
+ "Unassociated shell command", "Unexpected end of line seen", etc.
+
+ Your make program isn't compatible with the Makefile for Anope.
+ The Makefile was designed to work with GNU make, and as such may
+ not work on other systems' "make" programs. If you get an error
+ from "make", obtain GNU make from ftp://prep.ai.mit.edu/pub/gnu/
+ (or wherever you prefer) and use it instead of your system's
+ default "make". Note that GNU make may already be installed on
+ your system; try using the command "gmake" instead of "make".
+
+ The make programs bundled with SunOS/Solaris and FreeBSD have been
+ reported not to work; you will need to use GNU make on these
+ systems.
+
+6. I get an error like "Makefile.inc not found".
+
+ You forgot to run the configure script first. See the INSTALL file
+ for compilation instructions.
+
+
+7. I typed "./services" at the command line, but nothing happened!
+
+ Anope puts itself in the background when it starts, so you get
+ your shell prompt right back. Meanwhile, Anope will continue
+ setting up, then connect to the IRC server specified in
+ services.conf (or on the command line). If it doesn't connect, you
+ probably specified the wrong server type when running the configure
+ script. (Also make sure that you are actually running one of the
+ supported servers. There are a gazillion different variations on
+ the basic IRC protocol out there, and I have neither the time nor
+ the desire to add support for them.)
+
+ The recommended server, under which Epona (the original code base
+ used by Anope) was developed, is Bahamut. DreamForge 4.6.7 will also
+ work fine, but it's a bit obsolete nowadays. Derivatives of Bahamut
+ and DreamForge may also work, if they don't change the server<->server
+ protocol too much; contact their authors for more information.
+ Most people, though, are running Anope with UnrealIRCd, UltimateIRCd
+ or Bahamut.
+
+ As always, you can check the log file (services.log by default) for
+ error messages.
+
+
+8. I need support for the XYZ protocol.
+
+ Hang in there! We are working on making Anope protocol independent.
+ It should show up sometime soon... more details to follow.
+
+
+9. Whenever I start Anope, I get a message on my IRC server saying
+ "connection refused" or something similar, and Anope gives an error
+ message from the server saying "Closing Link: ...".
+
+ See seection 3 of the INSTALL file.
+
+
+10. My IRC server is giving me messages like "Connection to
+ services.whatever.net[127.0.0.1] activated" and then "Access denied --
+ no N line". Why?
+
+ This is typically caused by including a port number in the C:line
+ for services, which tells your server to try to autoconnect to it
+ (depending on the class (Y:line) settings). This is not what you
+ want, because Anope will connect to the server itself, but does
+ not listen for servers to connect to it. The solution is to remove
+ the port number from the C:line.
+
+
+11. When I say "/connect services.*", it doesn't work!
+
+ Of course not. RTFM (Read The Fine Manual), and see the previous
+ answer.
+
+
+12. Anope complains in the logfile about being unable to load the
+ default language.
+
+ You forgot to run "make install".
+
+13. Anope always dies after about five minutes, saying "FATAL ERROR!
+ Can't back up nick.db".
+
+ Make sure that the user Anope runs as has write access to the
+ data directory, and that the data directory actually exists (the
+ latter shouldn't be a problem if you ran the configure script).
+ This means Anope needs write and execute permission on the data
+ directory itself and execute permission on every parent directory
+ of the data directory.
+
+
+14. Anope starts up okay, but if I try to register a nickname, it comes
+ back with "Sorry, registration failed."
+
+ Make sure you've selected the correct IRC server type in the
+ configure script; see question 9 for details.
+
+
+15. Anope crashed with a segmentation fault.
+
+ See if you can reproduce this by doing a certain sequence of
+ things. If so, please report it to us (see part 6 of README file). If
+ not, you're probably out of luck; if you like, you can report it to
+ us anyway, but chances are it won't get fixed if we don't have
+ instructions on reproducing it. If you do have such a problem, you
+ may find the crontab utility useful for dealing with it.
+
+ Also, see the DumpCore directive in the configuration file. It allows
+ Anope to dump its core whenever it's segfaulting, usually calling it
+ core and placing it into Anope's main directory.
+ Open up gdb by issuing the following command at your shell:
+ gdb services core
+ (of course replacing 'core' with the name of the core if different)
+ and type 'bt' at the gdb prompt. After that, send us the output you
+ got and keep the core file in a safe place, in case we need it to
+ dig deeper into the problem.
+
+16. Anope's channel mode setting doesn't work. I can't set modes with
+ OperServ, and every time ChanServ tries to set a mode, my server
+ reverses the change.
+
+ Make sure EVERY servers on your network has a U: line for Services in
+ ircd.conf, for example:
+
+ U:services.whatever.net:*:*
+
+
+17. Using the OperServ JUPE command results in server messages like
+ "Server juped.server introduced by non-hub server services.my.net".
+
+ Services' uplink must have an H: line for Services in the
+ ircd.conf file, which looks something like:
+
+ H:*::services.whatever.net
+
+
+18. I can't use the ADMIN command to add Services admins--it tells me
+ "Permission denied."
+
+ Did you define yourself as the Services root? You need to insert
+ your nickname in the ServicesRoot directive in services.conf.
+
+
+19. When I add an AKILL, the users matching it don't get killed.
+
+ Use the AkillOnAdd configuration directive.
+
+
+20. Anope reports (via /stats u or /msg OperServ STATS) a different
+ number of users online than I get from doing /lusers.
+
+ Anope doesn't count its own pseudo-clients (NickServ, ChanServ,
+ etc.) in its user count.
+
+
+21. Anope ignored the SET SUCCESSOR setting and deleted a channel when
+ the founder expired.
+
+ Normally, this is because the successor had too many channels
+ registered; in this case, you will see an entry in the log file
+ like the following:
+
+ [date] Successor (SuccessorNick) of channel #somechannel owns too
+ many channels, deleting channel #somechannel
+
+ If you don't get a message like this or you can verify that the
+ successor wasn't running into the channel limit, please report it
+ using the bug-reporting procedure below (see section 6 of the
+ README file).
+
+
+22. Trying to use OperServ gives me "Access denied", but my nick is in the
+ ServicesRoot directive and is registered, and I've identified for my
+ nick.
+
+ You need to be opered (i.e. user mode +o) to access OperServ.
+
+
+23. Anope spricht kein Deutsch!, etc. (Anope doesn't speak my
+ language!)
+
+ See section 5 of the README file.
+
+
+24. I selected a language other than English, but sometimes Anope sends
+ responses in English instead.
+
+ Some language files are not complete--in other words, they don't
+ have a translation of every message Anope uses, but only some of
+ them. In this case, the missing messages will be displayed in
+ English. You can either wait for the primary translator to provide
+ us with a translation, or do the translation yourself and send us
+ the messages translated into your language.
+
+
+25. I've found a bug that's not mentioned here or in the README or
+ BUGS files. What should I do?
+
+ See section 6 of the README file.
+
+
+26. Your Services program doesn't do XYZ like DALnet (or other) Services.
+ What's wrong?
+
+ Nothing is wrong, except your expectations. Anope is a
+ completely different program from that used on DALnet; they are
+ similar in concept only.
+
+
+27. I've got a great new idea for Services. Do you want it?
+
+ We are always interested in hearing new ideas. HOWEVER, do not
+ expect your proposal to be in the next Anope release for sure.
+ As a rule, we usually don't add anything that can be equivalently
+ done by other means, or that we consider totally useless; see below
+ for examples of things we don't plan to add.
+
+ Our general intent is for Anope to provide as much functionality
+ as possible--while staying as lean as possible. So features which
+ are arguably beneficial will tend to be added, while features of
+ limited or no benefit or which can be equally provided by something
+ else already in use will tend to be passed over.
+
+ If you'd like to give us your idea, you can go to our website at
+ http://www.anope.org/ and add it as a Feature Request on our Bug
+ Tracking System. Or, if unsure, you can discuss it on our online
+ Forum, in the Ideas and Suggestions section.
+
+28. Examples of features we have been asked about and why we won't add (or
+ haven't yet added) them--so don't ask us about them:
+
+ - An option to make ChanServ stay in some/all registered channels:
+ we see absolutely no necessity for this feature, since BotServ
+ already does this anyway.
+
+ - A "current time" field in NickServ and ChanServ INFO displays:
+ Most people have clocks of some sort either on their computer
+ screens or on their walls (or both), and all IRC servers, as well
+ as Services, have a command to return the server's current time.
+ Thus a current-time field in INFO displays would simply take up
+ extra space for no reason.
+
+
+29. How do I add bots to BotServ?
+
+ Read /msg BotServ HELP and /msg BotServ HELP BOT.
+
+30. When I used the OperServ RAW command, Anope and/or my network
+ crashed, or did weird things! Please fix this bug!
+
+ "That's not a bug, it's a feature."
+
+ Have you ever typed /msg OperServ HELP RAW? It's clearly stated
+ there that this command is dangerous and that its use may result
+ in very bad things.
+
+ And that's why this command has been disabled by default. If you
+ enabled and used it, YOU'RE ON YOUR OWN. All help requests will
+ be ignored, even if the problem happens not immediately.
+
+
+31. I would like to have the list of the differents RAW on operserv
+
+ If you have to ask, you should not be messing with RAW :)
+
+
+32. I can't get /OS UMODES and /OS SVSNICK do not work!
+
+ Make sure you the USE_OSSVS is defined on config.h. Since these
+ are very controversial commands, they are turned off by default.
+ Then, make clean ; make ; make install
+
+
+33. What is a Super-Admin? How does it work? Why might it not work?
+
+ Super-Admin's have extra privileges, including being founder on
+ all channels. It must be activated on a per user basis and is
+ only available to Services Admins and Services Roots.
+ It is set using OperServ and is not persistent.
+ It only works if SuperAdmin is uncommented in the services
+ configuration file. This is commented by default.
+ Read /msg OperServ HELP SET SUPERADMIN for further help.
diff --git a/docs/INSTALL b/docs/INSTALL
new file mode 100644
index 000000000..c3a165538
--- /dev/null
+++ b/docs/INSTALL
@@ -0,0 +1,177 @@
+ANOPE INSTALLATION INSTRUCTIONS
+===============================
+
+Table of contents
+-----------------
+ 1. Installing Anope
+ 2. Upgrading Anope
+ 3. Setting up the IRCd
+ 4. Starting Anope
+ 5. Setting up a crontab
+
+You should also read the README and FAQ files!
+
+1. Installing Anope
+-------------------
+
+IMPORTANT NOTE: it is not recommended to use (and therefore install)
+Anope as root. Use an unprivileged user instead -- the one you're
+using for the ircd or a dedicated one will be good enough.
+
+The very first thing you need to do is to get the Anope package
+(if not already done). You can find it at the following place:
+
+ http://www.anope.org/
+
+Next, unpack the package in your home directory, and go into the
+created directory.
+
+Now type ./configure to start the configuration script. It will
+ask you a few questions, and figure out how to compile Anope on
+your system. If you are unsure about the answer to a question,
+use the default value.
+
+NOTE: although you may specify different binary and data paths,
+ it is RECOMMENDED that you use the same value for both.
+
+You can now type make to compile Anope. If there are errors in the
+Makefile, *try to use gmake* instead. If it still doesn't work, you
+(or the system administrator if it's a shell) must install GNU
+make. You may find it at ftp://prep.ai.mit.edu/pub/gnu/.
+
+Now type make install (or gmake install; see above). This will
+install all the needed files in the paths you specified with the
+configure script, and setup file permissions. You should ensure
+that the data directory is not accessible by other users, as malicious
+users may cause troubles on your network if passwords are not
+encrypted, or read the memos of any user.
+
+If you see errors during this process, please mail us with the
+*complete* error output, and don't forget to mention your OS,
+compiler and C library versions.
+
+Now go into the data directory (by default, ~/services). Copy the
+example.conf file to services.conf, and open the latter with your
+favourite text editor. It contains all the configuration
+directives Anope will use at startup. Read the instructions contained
+in the file carefully. Using the default values is NOT a good idea,
+and will most likely not work!
+
+If you need help, you should subscribe to the Anope mailing list and
+mail there to get help from other users. See the README file for more
+information.
+
+
+2. Upgrading Anope
+------------------
+
+If you got a .diff file and want to patch the old Anope sources with it, do
+the following:
+ * Copy the .diff file into the root Anope sources directory.
+ * Type patch -p1 <file.diff
+
+To upgrade Anope, just follow the installation instructions described in
+section 1. There are however a few specific guidelines:
+
+ * IMPORTANT: Back up your old databases!
+ * If you are upgrading to a new major release, ALWAYS restart a
+ fresh configuration file from example.conf.
+
+
+3. Setting up the IRCd
+----------------------
+
+Services acts as an IRC server with pseudo-clients on it. To link
+them to your network, you'll need to add some lines in the ircd.conf
+of their hub server (as stated in the RemoteServer configuration
+directive).
+
+For samples below we'll take Services.LocalHost.Net as the name of
+the Services (as stated in the ServerName configuration directive).
+
+First, the C/N lines, that allow Services to link. They also need a
+Y:line to work correctly.
+
+Y:27:180:0:0:4000000
+C:127.0.0.1:mypass:Services.LocalHost.Net::30
+N:127.0.0.1:mypass:Services.LocalHost.Net::30
+
+mypass is the same password you mentionned in the RemoteServer
+configuration directive. 127.0.0.1 is the IP from which Services
+connect from (linking in localhost is the most efficient way
+to run Services).
+
+Then, you have to set-up an U:line, that will allow Services to
+change channel modes, topics, and much more without being opped
+in the channel.
+
+U:Services.LocalHost.Net:*:*
+
+NOTE: if you have more than one server in your network, this line
+MUST be added on ALL servers, or things won't work.
+
+Finally, you'll need to add an H:line, to make the OperServ JUPE
+command work correctly.
+
+H:*::Services.LocalHost.Net
+
+Don't forget to /rehash to apply changes.
+
+A new trend in ircd configuration is popping all over the place,
+good examples are the latest Hybrid and Unreal, which use a more
+"readable" for of configuration. For those, use something like:
+
+link Services.LocalHost.Net
+{
+ username *;
+ hostname localhost;
+ bind-ip *;
+ port 6667;
+ hub *;
+ password-connect "mypass";
+ password-receive "mypass";
+ class servers;
+};
+
+
+4. Starting Anope
+-----------------
+
+Go into the directory where binaries were installed (by default,
+~/services). Type ./services to launch Anope.
+
+If there are syntax errors in the configuration file they will be
+displayed on the screen. Correct them until there are no errors
+anymore. A successful startup won't generate any message.
+
+Give to Services at least one minute to link to your network, as
+certain IRCds on some OSes may be really slow for the link process.
+If nothing happens then, it is probably a configuration problem.
+Try to launch Anope with ./services -debug -nofork to see any errors
+that it encounters, and try to correct them.
+
+If you need help to solve errors, feel free to subscribe to the
+Anope mailing list and ask there. See the README file for details.
+
+
+5. Setting up a crontab
+-----------------------
+
+A crontab entry will allow you to check periodically whether Anope
+is still running, and restart it if not. You'll need to have
+Anope binaries and data installed in the same directory for this to
+work without modification.
+
+First rename the example.chk script that is in Anope path (by default,
+~/services) to services.chk and edit it. You'll need to modify the
+CONFIGURATION part of the file. Then ensure that the file is marked as
+executable by typing chmod +x services.chk, and try to launch the script
+to see if it works (Anope must not be running when you do this ;).
+
+When this is done, you'll have to add the crontab entry. Type crontab -e.
+This will open the default text editor with the crontab file. Enter the
+following (with correct path):
+*/5 * * * * /home/ircd/services/services.chk >/dev/null 2>&1
+The */5 at the beginning means "check every 5 minutes". You may replace
+the 5 with other another number if you want (but less than 60).
+Save and exit, and it's installed.
diff --git a/docs/MODULES b/docs/MODULES
new file mode 100644
index 000000000..84467cc92
--- /dev/null
+++ b/docs/MODULES
@@ -0,0 +1,110 @@
+Anope Modules
+-------------
+
+Introduction:
+
+ Anope 1.6 onwards supports external modules. External modules are pieces
+ of code that can be attached to a running Anope process dynamically. These
+ modules can serve several purposes, and perform all kind of operations to
+ enhance your network.
+
+Installation:
+
+ 1. You need to configure Anope to be compiled with module support. To
+ do so you must run ./configure and answer "Yes" when asked for
+ Module Support, and selecting a folder where your modules will live
+ in (the default path is safe for most people).
+
+ Notes:
+
+ * Modules are not supported on the following platforms: OpenBSD, Windows.
+ * You might need to run "make distclean" prior to running ./configure
+
+ 2. Compile Anope as usual. The gmake process will now compile module
+ support into Anope, and compile the default sample modules, and/or
+ any other module located on the "modules" folder.
+
+ 3. Install Anope as usual. The install process will place the compiled
+ modules in their runtime location, making them available for loading.
+
+ 4. Start or restart services to make use of the new Anope executable.
+
+Usage:
+
+ All module manipulation commands are done through OperServ. These are:
+
+ MODLOAD Load a module
+ MODUNLOAD Un-Load a module
+ MODLIST List loaded modules
+ MODINFO Info about a loaded module
+
+ These commands available to Service Roots only.
+
+ You can also load (and pre-load) Modules automatically by loading them
+ on startup. To do so, edit your services.conf file and change the values
+ of "ModuleAutoload" and "ModuleDelayedAutoload" to include the modules
+ you want to load every time Anope starts.
+
+Example:
+
+ /msg OperServ modload hs_moo
+ *** Global -- from OperServ: dengel loaded module hs_moo
+ -OperServ- Module hs_moo loaded
+
+ /msg OperServ modinfo hs_moo
+ -OperServ- Module: hs_moo Version: 1.1 Author: Anope loaded: Mar 21 10:54:37 2004 CLT
+ -OperServ- Providing command: /msg HostServ moo
+
+ /msg HostServ moo
+ -HostServ- MOO! - This command was loaded via a module!
+
+ /msg OperServ modunload hs_moo
+ *** Global -- from OperServ: dengel unloaded module hs_moo
+ -OperServ- Module hs_moo unloaded
+
+ /msg HostServ moo
+ -HostServ- Unknown command moo. "/msg HostServ HELP" for help.
+
+ * Note that the name of the module file is "hs_moo.c", yet we load
+ and reference the module as "hs_moo" only. By naming convention
+ modules have an abreviated service name they attach to (hs_ for
+ HostServ, cs_ for ChanServ, etc) followed by a descriptive keyword.
+
+More Modules:
+
+ Anope ships with two sample modules that only ilustrates some of the
+ implemented module capabilities. They don't really do much or anything
+ useful.
+
+ You can download more useful modules from http://www.anope.org/ or from
+ our interim modules development website http://modules.anope.org/. Just
+ grab the module file (usualy with a .c extension). Place the module
+ file on your compile "modules" folder. The same folder that contain both
+ hs_moo.c and catserv.c module files.
+
+ The new modules need to be compiled and installed before you can make
+ use of them:
+
+ 1. Change directories to your compile "modules" folder.
+ 2. Run ./configure
+ 3. Run make
+ 4. Run make install
+
+ You can now use /msg OperServ MODLOAD to load the new modules.
+
+Support:
+
+ The Anope team is not responsible or liable for any unofficial module
+ (i.e. anything other than what was released with the Anope package).
+
+ Use modules at your own risk, and make sure you get them from a
+ reputable source. You might get module support by contacting the module
+ author, posting on our online forum, or maybe on our #anope channel
+ at /server irc.anope.org.
+
+Developers:
+
+ Please take a look at:
+
+ * http://geniusdex.dezeserver.nl/anope
+
diff --git a/docs/MYSQL b/docs/MYSQL
new file mode 100644
index 000000000..088b5c07a
--- /dev/null
+++ b/docs/MYSQL
@@ -0,0 +1,97 @@
+Anope MySQL Support
+-------------------
+
+Introduction:
+
+ Anope 1.6 onwards supports MySQL databases. On Anope 1.6.0 only PHASE 1
+ has been implemented. Since the next phases require major changes in the
+ core, we decided to save it for 2.0. However, having your db's easily
+ accessible on your website is still a great feature.
+
+ PHASE 1:Anope will be able to save all it's databases to MySQL. It will
+ happen in conjuction with the current FFF databases. This first step is
+ nothing more than a MySQL dump of the databases (i.e. read-only), since
+ Anope will not (for now) read from Mysql. (COMPLETED)
+
+ PHASE 2:The next step is load the databases from mysql, being able to
+ replace the FFF completely as an archive method (since all changes to
+ the mysql db would be lost on the next Services save). All, while keeping
+ FFF intact. This is still not the final goal, but it's a milestone.
+
+ PHASE 3:The next step, and most convoluted of all (since we'll need to
+ modify pretty much all the source) is to load/save (SELECT/INSERT) data
+ in realtime. That way the mysql db could be modified externaly (web?).
+ Again, the FFF will be kept intact.
+
+Requirements:
+
+ 1. MySQL server version 3.23.32 or greater
+ 2. MySQL libs and development files (usualy called mysql-dev).
+ 3. A MySQL user account
+ 4. A MySQL database
+
+Installation:
+
+ 1. You need to configure Anope to be compiled with MySQL support. To
+ do so you must run ./configure and answer "Yes" when asked for
+ MySQL Support.
+
+ Notes:
+
+ * MySQL is not supported on the following platforms: Windows.
+ * You might need to run "make distclean" prior to running ./configure
+
+ 2. Compile Anope as usual. The gmake process will now compile MySQL
+ support into Anope.
+
+ 3. Install Anope as usual.
+
+Configuration:
+
+ 1. Run bin/mydbgen to help on the schema creation and adjustments.
+
+ 2. Edit services.conf and add your mysql data to the MySQL configuration
+ block.
+
+ 3. Start or restart services to make use of the new Anope executable.
+
+Security:
+
+ To add a layer of security you have the option of encrypting or encoding
+ all passwords for nicks and chans. Use the "MysqlSecure" directive on your
+ services.conf file to enable it. The availabe storage methods are:
+
+ #MysqlSecure "" or MysqlSecure ""
+
+ Disables security. All passwords will be saved on the MySQL database
+ as clear text, with no encryption or encoding. FASTEST
+
+ MysqlSecure "des"
+
+ Encrypts all passwords using a unix DES encription. This is a one way
+ encryption algorithm. You can only validate it agains another DES
+ encrypted string, using the same "salt" (the first two characters of
+ the encrypted string). FAST
+
+ MysqlSecure "md5"
+
+ Calculates an MD5 128-bit checksum for the password. The value is
+ returned as a 32-digit hex number that may be used as a hash key.
+ SLOW
+
+ MysqlSecure "sha"
+
+ Calculates an SHA 160-bit checksum for the password. The value is
+ returned as a 40-digit hex number. SLOWEST
+
+ MysqlSecure "mykey"
+
+ Encodes the passwords using "mykey" as the encryption password. It
+ produces a binary string and can be decoded using the MySQL builtit
+ function DECODE(crypt_str,mykey). VARIABLE
+
+ Caveat: Keep in mind that this if you use any method other than clear
+ text, services will need to encrypt/encode every single password on
+ every database save. On large networks, it may impact responsiveness
+ during the saves.
+
diff --git a/docs/NEWS b/docs/NEWS
new file mode 100644
index 000000000..f6aabec87
--- /dev/null
+++ b/docs/NEWS
@@ -0,0 +1,92 @@
+Highlighted News in Anope 1.6
+=============================
+ * Fixed various exploits and vulverabilities.
+ * Fixed various language typos and inconsistencies.
+ * Improved ignore system.
+ * Improved ./configure script.
+ * Removed all compile warning fixed.
+ * Converted HelpServ into a proper service.
+ * Added external module support.
+ * Added Defense Condition (DEFCON) System.
+ * Added MySQL support for mirroring databases.
+ * Added multi-server configuration.
+ * Added multi-domain /OS GLOBAL support.
+ * Added combined +oq +oa +ha +va on net-joins.
+ * Added support for ircd changes and upgrades.
+ * Added HostSetters configuration directive.
+ * Added /OS STAFF command.
+ * Added /OS SVSNICK command.
+ * Added /OS CHANKILL command.
+ * Added /MS STAFF command.
+ * Added /NS UPDATE command.
+ * Added /MS SENDALL command.
+ * Added /NS GETMAIL command.
+ * Added /HS DELALL command.
+ * Added /HS LIST command with pattern matching.
+ * New support scripts and tools.
+ * New ircd support, complete list: DreamForge 4.6.7, Bahamut 1.4.27,
+ UnrealIRCd 3.1.1, UltimateIRCd 2.8.2,
+ UltimateIRCd 3.0.0, Hybrid IRCd 7.0
+ ViagraIRCd 1.3.x, PTlink 6.15.0
+ * New Language files, complete list: cat.l, de.l, en_us.l, es.l, fr.l,
+ gr.l, it.l, nl.l, pt.l, ru.l, tr.l
+
+Highlighted News in Anope 1.4
+=============================
+
+After the change from Epona to Anope
+------------------------------------
+ * New Italian Language file
+ * Added support for UltimateIRCd 3.0 and later
+ * Services realtime logging to a channel
+ * SuperAdmin directive for access to "super" commands.
+ * Ban system is now exception aware.
+ * HostServ for hostname masquarading.
+ * Smarter XOP System.
+ * Email verification/handshake upon registration.
+ * Services can now /ignore users.
+ * Smarter memo notification for channels.
+ * Channel can be SUSPENDed instead of FORBIDen.
+
+Before the change from Epona to Anope
+-------------------------------------
+ * HostServ for networks that support them.
+ * UnrealIRCd support has been rewritten, it is now fully
+ working (hopefully) and officially supported again.
+ * Added support for UltimateIRCd 2.8.2 and later.
+ * A multi-threaded proxy detector that can scan Wingates,
+ SOCKS 4/5 and HTTP proxies on ports 3128 and 8080. Don't use
+ it if you have not been authorized to use it by your system
+ administrator!
+ * The ChanServ AOP/SOP/VOP commands, and, on networks that
+ support halfops, the HOP command, have been added. They
+ allow a more user-friendly control of channel privileges.
+ * Use of services IDs that allow an user to be automatically
+ identified after a split (if he was identified before the split)
+ in a secure way. This also saves lots of bandwidth.
+ * Services' default language can now be set in services.conf.
+ * The OperServ RANDOMNEWS command provides an easy way to show
+ network news in a random manner without flooding your users
+ with them (one news per connection).
+ * The BotServ SET PRIVATE option allows services admins to
+ make the bot usable by IRC operators only.
+ * The OperServ SQLINE command allows you to forbid nick masks
+ and even channel masks with the latest Bahamut.
+ * The ChanServ AKICK STICK command allows akicks to be permanently
+ kept on channel.
+ * The ChanServ SET TOPIC command has been renamed to TOPIC, and
+ a new BAN command has been added. They both have their own
+ associated levels.
+ * A SET PEACE command has been added to ChanServ. It prevents
+ users to use pejorative services commands (DEOP, KICK, ...)
+ on users with greater or equal levels.
+
+Networks using Bahamut must upgrade to Bahamut 1.4.27 or later,
+while networks using UnrealIRCd must upgrade to Unreal 3.1.1.
+
+For the full changes, see the Changes file.
+
+For announcements and discussions about Anope, subscribe to the mailing
+list by sending an e-mail to epona-request@epona.org with "subscribe"
+in the body (quotes excluded). You can then post to the mailing list
+by sending an e-mail to epona@epona.org.
diff --git a/docs/README b/docs/README
new file mode 100644
index 000000000..36950b3a0
--- /dev/null
+++ b/docs/README
@@ -0,0 +1,307 @@
+Anope -- a set of IRC services for IRC networks
+===============================================
+
+Anope is 2003-2004 Anope Team <info@anope.org>
+Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
+Based on Services 1996-1999 Andrew Church <achurch@dragonfire.net>.
+
+This program is free but copyrighted software; see the file COPYING for
+details.
+
+Information about Anope may be found at http://www.anope.org/
+Information about Epona may be found at http://www.epona.org/
+Information about Services may be found at http://www.ircservices.za.net/
+
+TABLE OF CONTENTS
+-----------------
+ 1. Credits
+ 2. Presentation
+ 3. Installation
+ 4. Command line options
+ 5. Messages translation
+ 6. Contact and mailing list
+
+1. CREDITS
+----------
+
+Anope is based on Lara's Epona version 1.4.14.
+Epona is based on Andy Church's IRC Services version 4.3.3.
+
+The original credits:
+ Mauritz Antunes -- Portuguese translation
+ Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
+ Andrew Kempe <theshadow@shadowfire.org> -- news system
+ <d.duca@eurcom.net> -- Italian translation
+ <mikado@holyfire.com> -- Turkish translation
+ Andrew Kempe <theshadow@shadowfire.org> -- session limiting
+Epona credits:
+ lara <lara@pegsoft.net> -- Main coding
+ CafeiN <oytuny@yahoo.com> -- Turkish translation
+ Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
+ Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
+ Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
+ chemical <chemical@musicplay.de> -- German translation
+ shine <dh@shinewelt.de> -- German translation
+ Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
+ Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
+ Eva Dachs <evadachs@terra.es> -- Catalan translation
+ Toni Perez <toni.perez@aujac.org> -- Catalan translation
+ Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
+ Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
+Anope credits:
+ Adam Kramer <ribosome@anope.org>
+ Alvaro Toledo <atoledo@keldon.org>
+ Björn Stiddien <keeper@anope.org>
+ Daniel Engel <dane@zero.org>
+ David <dv@diboo.net>
+ David Narayan <jester@phrixus.net>
+ David Robson <rob@anope.org>
+ Daniele Nicolucci <jollino@sogno.net>
+ Florian Schulze <certus@anope.org>
+ JH <jh@irc-chat.net>
+ Joris Vink <joris@anope.org>
+ Lucas Nussbaum <lucas@lucas-nussbaum.net>
+ Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
+ Trystan .S Lee <trystan@anope.org>
+ openglx <openglx@brasnerd.com.br>
+Anope Translations:
+ GeniousDex (nl.l)
+ Oleg Nikolaev aka Isot <isot@complife.ru> (ru.l)
+ Stuff <the.stuff@gmx.de> (de.l)
+ DrStein (es.l)
+
+
+2. PRESENTATION
+---------------
+
+Anope is a set of Services for IRC networks that allows users to
+manage their nicks and channels in a secure and efficient way, and
+administrators to manage their network with powerful tools.
+
+Currently available services are:
+
+ * NickServ, a powerful nickname manager that users can use to
+ protect themselves against nick stealing. Each user has its
+ own nickname group, that allows him to register as many nicks as
+ he needs while still being able to take profit of his privileges
+ and to modify his nick configuration. NickServ also has an optional
+ password retrieval feature.
+
+ * ChanServ, a powerful channel manager that helps users to administer
+ their channels in a totally customizable way. ChanServ has an internal
+ list of privilegied users and banned users that controls accesses
+ on a per-channel basis. It eliminates all takeover problems,
+ because of its powerful op/unban/invite and even mass deop and mass
+ kick functions.
+
+ * MemoServ, an helpful companion that allows sending short messages
+ to offline users, that they can then read when they come online
+ later.
+
+ * BotServ, an original service that allows users to get a permanent,
+ friendly bot on their channels in an easy way. Each bot can be
+ configured to monitor the channels against floods, repetitions,
+ caps writing, swear, and take appropriate actions. It also can
+ handle user-friendly commands (!op,!deop,!voice,!devoice,!kick,...),
+ say a short greet message when an user joins a channel, and even
+ "take over" ChanServ actions such as auto-opping users, saying the
+ entry notice, and so on. This service can be disabled if you
+ want to save some bandwidth.
+
+ * OperServ, the IRCops' and IRC admins' black box, that allows them
+ to manage the list of network bans (also known as AKILL (DALnet) or
+ GLINE (Undernet)), to configure messages displayed to users when
+ they log on, to set modes and to kick users from any channel,
+ to send notices quickly to the entire network, and much more!
+
+ * HostServ, a neat service that allows users to show custom
+ vHosts (virtual hosts) instead of their real IP address; this only
+ works on deamons supporting ip cloaking, such as UnrealIRCd and
+ UltimateIRCd.
+
+ * HelpServ, a skeleton service used to serve help files.
+
+Anope currently works with:
+ - DreamForge 4.6.7
+ - Bahamut 1.4.27 or later
+ - UnrealIRCd 3.1.1 or later (including 3.2)
+ - UltimateIRCd 2.8.2 or later (including 3.0.0)
+ - ViagraIRCd 1.3 or later
+ - Hybrid 7 or later
+ - PTlink 6.15 or later
+
+Anope could also work with some of the deamons derivated by the ones
+listed above.
+
+
+3. INSTALLATION
+---------------
+
+See the INSTALL file.
+
+
+4. COMMAND LINE OPTIONS
+-----------------------
+
+ Normally, Anope can be run simply by invoking the "services"
+executable. Anope will then use the defaults specified in the
+services.conf file, and connect to the specified uplink server.
+Alternatively, any of the following command-line options can be specified
+to change the default values:
+
+ -remote server[:port] Connect to the specified server
+ -local host -or- Connect from the specified address (e.g.
+ [host]:[port] for multihomed servers)
+ -name servername Our server name (e.g. services.some.net)
+ -desc string Description of us (e.g. SomeNet Services)
+ -user username Username for Services' nicks (e.g. services)
+ -host hostname Hostname for Services' nicks (e.g. esper.net)
+ -dir directory Directory containing Services' data files
+ (e.g. /usr/local/lib/services)
+ -log filename Services log filename (e.g. services.log)
+ -update secs How often to update databases (in seconds)
+ -expire secs How often to check for nick/channel
+ expiration (in seconds)
+
+ Additionally, the following command-line options can be used to modify
+the behavior of Anope:
+
+ -debug Enable debugging mode--more info sent to log
+ (give option more times for more info)
+ -readonly Enable read-only mode--no changes to
+ databases allowed, .db files and log
+ not written
+ -skeleton Enable skeleton mode--like read-only mode,
+ but only OperServ is available
+ -nofork Do not fork after startup; log messages will
+ be written to terminal (as well as to
+ the log file if not in read-only mode)
+ -forceload Try to load as much of the databases as
+ possible, even if errors are encountered
+ -noexpire Expiration routines won't be run at all
+ -logchan Startup with logchan enabled
+
+ Upon starting, Anope will parse its command-line parameters, open
+its logfile, then (assuming the -nofork option is not given) detach itself
+and run in the background. If Anope encounters a problem reading the
+database files or cannot connect to its uplink server, it will terminate
+immediately; otherwise, it will run until the connection is terminated (or
+a QUIT, SHUTDOWN, or RESTART command is sent--see OperServ's help). In the
+case of an error, an appropriate error message will be written to the log
+file.
+
+ If Anope is run with the "-readonly" command-line option, it can
+serve as a "backup" to the full version of services. A "full" version of
+services (run without -readonly) will automatically reintroduce its
+pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will
+not, thus allowing full services to be brought up at any time without
+disrupting the network (and without having to take backup services down
+beforehand).
+
+ If Anope is run with the "-skeleton" command-line option, it will
+not try to load the nickname or channel databases, and will respond with
+"service is inactive" messages to any commands sent to NickServ, ChanServ,
+MemoServ or BotServ. This can be useful as an emergency stopgap measure
+when the main copy of Anope cannot be started.
+
+ The "-debug" option is useful if you find or suspect a problem in
+Anope. Giving it once on the command line will cause all traffic to and
+from services as well as some other debugging information to be recorded in
+the log file; if you send a bug report, PLEASE include an excerpt from the
+log file WITH DEBUGGING ACTIVE--I cannot emphasize enough how important
+this is to tracking down problems. (You can also enable debugging while
+Services is running using OperServ's SET DEBUG command.) If you repeat the
+-debug option more than once, the debugging level will be increased, which
+provides more detailed information but may also slow Anope down
+considerably and make the log file grow dramatically faster (in particular,
+at debug level 4 a message is written to the log for every character
+received from the server). In general, a debug level of 1 is sufficient
+for the coding team to be able to trace a problem, because all network
+traffic is included and we can usually reproduce the problem.
+
+ The "-forceload" option is provided to attempt recovery of data from
+corrupted or truncated databases. Normally, if Anope encounters an
+error writing to a database file, it will attempt to restore the original
+version of the file and report an error to the logfile and through WALLOPS.
+However, if this should fail (which normally should not happen), or if
+Anope is terminated abruptly e.g. by kill -9 or a power failure, then
+one or more of the databases may be corrupt. Normally, this will cause
+Anope to abort the next time you try to run it; however, if you give
+the -forceload option to Anope, it will instead read as much as it can,
+then skip to the next database. For obvious reasons, it's recommended to
+keep backup copies of your databases in case something does happen (since
+Anope will stop at the first error even with -forceload, meaning you
+lose any data after that).
+
+
+5. MESSAGES TRANSLATIONS
+------------------------
+
+Anope has a powerful option in NickServ allowing users to choose what
+language it must use when sending messages to users. Messages
+are stored in language files (located in the lang directory).
+
+Anope is currently provided with eleven languages: Catalan, Dutch, English,
+French, German, Greek, Italian, Portuguese, Russian, Spanish and
+Turkish. If you want to translate Anope messages into another language,
+follow the following instructions:
+
+ * Copy the lang/en_us.l file to a meaningful name (for example, if
+ you would like to translate messages in Spanish, you would
+ rename it to es.l).
+ * Edit the file with your favourite text editor. Carefully read
+ the instructions given at the top of the file, and start
+ translating the whole file. The file is big so make sure you have
+ some coffee available. ;) Try to avoid the use of English words
+ as much as possible. If the new language contains only a few 'special'
+ characters, try and use latin representations of it, if possible.
+ Remember that most clients are only capable of handling the
+ ISO-8859-1 charset. Of course, if you are translating Anope to a
+ language with a totally different charset, such as Russian, feel free
+ to use the one that suites it best (and the one that is in use by
+ most speakers of that language ;).
+ * When this is done, you have two solutions: either patch Services
+ source code so they take in account the new language file (basically,
+ you'll have to modify lang/Makefile, language.c and maybe services.h),
+ or send us the translated file so we can make the patch and
+ include your language in the next Anope release.
+ * Note that there is a language tool on bin/langtool.pl that can aid
+ the verification process on newly created language files. Try to use
+ it before you submit a language file.
+
+When new major releases come out, you'll not have to retranslate the whole
+file; the Changes.lang file will help you to know which messages were
+added, modified or deleted.
+
+If you did a language file translation, and want to let others use it,
+please send it to dev@anope.org (don't forget to mention clearly your
+(nick)name, your e-mail and the language name). You'll of course get full
+credit for it, and will even get future final major releases before anyone
+else to complete the translation!... ;)
+
+
+6. CONTACT
+---------------------------
+
+* For announcements and discussions about Anope, please visit our Portal
+and Forums at http://www.anope.org/ make sure you register yourself and
+your netowrk to get full benefits.
+
+* If you read the documentation carefully, and didn't find the answer
+to your question, feel free to post on the website forums or join our
+irc channel (irc.anope.org #anope). Once you join our Support channel,
+just type "? report" for instructions on how to report a Bug. Be as
+precise as possible when asking a question, because we have no extraordinary
+powers and can't guess things if they aren't provided. The more precise you
+are, the sooner you'll be likely to get an answer.
+
+* If you think you found a bug, add it to the bug tracking system on our
+website (http://www.anope.org) and - again - be as precise as possible. Also
+say whether the bug happens always or under what circumstances, and anything
+that could be useful to track your bug down. If you wrote a patch, send it
+over. :)
+
+* We do *not* support Windows versions of Anope. You must seek support from
+the website you downloaded the Windows port from. Anope Services was never
+meant to run on Windows... it might in the future, but for the time being
+you are on your own. And for Mac fans... Anope runs like a champ on OSX.