Comparing some git repos with each other
Find a file
Keith Buck dceac3e4fb conf parsing: Fix memory leaks and clean up code a bit.
Charybdis currently leaks about 45-50k per configuration parse,
including every rehash. This change plugs these leaks by properly
iterating through all conf_parm_t structures to seek all strings that
should be freed and also by freeing the conf_parm_t structures
themselves.

These leaks have been present since the original rewrite of the
configuration parsing system in ircd-ratbox r11953.

Additionally, this change also cleans up and documents the parsing code
a bit.
2014-02-28 17:35:51 +00:00
bandb bantool: Close .conf files when done reading. 2014-02-23 22:10:34 +01:00
doc doc/ts6-protocol: Document ETB message (EOPMOD capab). 2014-02-22 17:45:42 +01:00
extensions extensions/mkpasswd: Do not leak /dev/random fd. 2014-02-23 22:18:44 +01:00
help help: Fix some required oper privileges. 2013-11-22 23:41:15 +01:00
include conf parsing: Fix memory leaks and clean up code a bit. 2014-02-28 17:35:51 +00:00
libratbox libratbox: Abort if the restart callback returns. 2014-02-28 00:53:13 +01:00
modules SIGNON: Do not send uninitialized data if login name starts with '*'. 2014-02-28 15:48:07 +01:00
scripts release: Use git instead of hg for version number in tarballs. 2012-04-22 19:08:33 +02:00
src conf parsing: Fix memory leaks and clean up code a bit. 2014-02-28 17:35:51 +00:00
ssld ssld: force the control buffer to be unsigned bytes except in special circumstances 2014-02-08 18:40:35 +00:00
testsuite Add conf files to be used for automated testing. 2008-08-09 15:38:31 +02:00
tools Just use 4k RSA certificates while at it 2013-11-19 00:59:08 +01:00
.gitignore rename genssl.sh to genssl 2013-06-05 01:49:19 -04:00
.indent.pro [svn] - the new plan: 2007-01-24 22:40:21 -08:00
.mailmap Add a Git .mailmap 2013-01-02 01:46:36 +02:00
aclocal.m4 Detect a potential infinite loop in ./configure in AC_DEFINE_DIR. 2012-03-02 01:51:30 +00:00
configure Rerun autoconf for genssl change. 2013-06-08 13:46:02 +02:00
configure.ac autotools: fix typo relating to ban db 2014-01-31 11:03:54 -05:00
CREDITS Update my email address 2013-04-27 05:17:05 -05:00
GIT-Access GIT-Access: Our repos are on github now, so let's say so. 2012-08-20 06:25:21 -04:00
INSTALL INSTALL: Fix documentation for assert configure options. 2013-11-27 09:23:29 +00:00
install-sh [svn] - the new plan: 2007-01-24 22:40:21 -08:00
LICENSE [svn] - the new plan: 2007-01-24 22:40:21 -08:00
Makefile.in Fix inconsistency between --sysconfdir and --with-confdir, deprecate --with-confdir. 2012-03-02 01:11:42 +00:00
NEWS Add first cut at NEWS for 3.4. 2012-03-24 13:52:28 +01:00
README.FIRST Add notice about ECC/ECDHE in OpenSSL. 2013-09-03 14:23:13 +02:00
TODO Back out chanroles. 2011-07-07 21:24:14 -04:00

******************************* IMPORTANT *************************************

  *********** Note for those who dont bother reading docs *****************
  * - Reading INSTALL is now a must, as the old DPATH is now specified    *
  *   when configure is run.                                              *
  *   You now need to ./configure --prefix="/path/to/install/it"          *
  *   to specify the path that will be installed with your ircd!          *
  *************************************************************************

  ALSO, IF YOU ARE UPGRADING YOUR CURRENT SOURCE TREE, AND YOU TRY TO BUILD
  IN IT WITHOUT PERFORMING AT LEAST 'make clean', THINGS _WILL_ BREAK.  IT IS
  RECOMMENDED THAT YOU RUN 'make distclean' AND THEN RERUN './configure'!

******************************* REQUIREMENTS **********************************

Necessary Requirements:

- A supported platform (look below)

- A working dynamic load library.

- A working lex.  Solaris /usr/ccs/bin/lex
  appears to be broken, on this system flex
  should be used.


Feature Specific Requirements:

- For SSL Clients, SSL Challenge controlled OPER feature, and encrypted server links,
  a working OpenSSL library or GnuTLS library.  CHALLENGE is not supported on GnuTLS
  yet.

- For encrypted oper and (optional) server passwords, a working DES, MD5, or SHA library
  implementing crypt().
  
- For ECDHE, OpenSSL 1.0.0 or newer is required. RHEL/Fedora and derivatives like CentOS
  will need to compile OpenSSL from source, as ECC/ECDHE-functionality is removed from
  the OpenSSL package in these distributions.

*******************************************************************************

- To report bugs in charybdis, visit us at irc.atheme.org #charybdis

- See the INSTALL document for info on configuring and compiling
  charybdis.

- Please read doc/index.txt to get an overview of the current documentation.

- The files, /etc/services, /etc/protocols, and /etc/resolv.conf, SHOULD be
  readable by the user running the server in order for ircd to start with
  the correct settings.  If these files are wrong, charybdis will try to use
  127.0.0.1 for a resolver as a last-ditch effort.

- FREEBSD USERS: if you are compiling with ipv6 you may experience
  problems with ipv4 due to the way the socket code is written.  To
  fix this you must: "sysctl net.inet6.ip6.v6only=0"

- SOLARIS USERS: this code appears to tickle a bug in older gcc and 
  egcs ONLY on 64-bit Solaris7.  gcc-2.95 and SunPro C on 64bit should
  work fine, and any gcc or SunPro compiled on 32bit.

- DARWIN AND MACOS X USERS: You must be using at least the December 2001
  Development Tools from Apple to build charybdis with shared modules.
  Before then you MUST disable shared modules, as we do not have the proper
  flags for cc(1) prior to that point to produce shared modules.

- SUPPORTED PLATFORMS: this code should compile without any warnings on:
    FreeBSD 6.x/7.x,
    Gentoo & Gentoo Hardened ~x86/~amd64/~fbsd
    Fedora 8/9 / CentOS 4/5 / Redhat Enterprise 5
    Debian Etch, 
    OpenSuSE 10/11,
    OpenSolaris 2008.x?
    Solaris 10 sparc.
  
  Please let us know if you find otherwise.  
  It probably does not compile on AIX, IRIX or libc5 Linux.

- TESTED PLATFORMS:  The code has been tested on the following platforms, and
  is known to run properly.
  FreeBSD 6.x/7.x
  Linux glibc-2.6, glibc-2.7
  Solaris 2.6/7/8
  OpenBSD 2.8
  NetBSD 1.4

- Please read NEWS for information about what is in this release.

- Other files recommended for reading: BUGS, INSTALL