Jason Volk
bcbf701f5e
fixup! configure.ac: Add -ffriend-injection to CXXFLAGS.
2017-03-20 04:31:14 -07:00
Jason Volk
065395d274
configure.ac: Remove legacy function checks.
2017-03-10 18:18:12 -08:00
Jason Volk
b592b69b86
What is the Matrix? Control.
2017-03-10 17:51:18 -08:00
Jason Volk
8895bb57c3
configure.ac: Fix arguments to tools/buildjs.
2016-11-25 19:23:48 -08:00
Jason Volk
f54c4215b4
ircd::ctx: Add queue: amalgam of a standard queue container with a dock.
2016-11-13 16:32:42 -08:00
Jason Volk
cf71fd5c5e
configure.ac: Place linkages for -lpthread -latomic.
2016-11-13 16:29:45 -08:00
Jason Volk
b289c63b99
ircd::js: Improve the exception translation.
2016-11-13 16:29:45 -08:00
Jason Volk
dffb39f8cc
ircd::js: Add string utf conversions; improve string related.
2016-11-13 16:29:44 -08:00
Jason Volk
95068c7d06
Introduce Mozilla SpiderMonkey.
2016-10-25 01:55:50 -07:00
Jason Volk
36d8f3384b
fixup! ircd::db: Add database interface. Support RocksDB.
2016-10-11 03:30:11 -07:00
Jason Volk
4bf52e93b3
configure.ac: -Wformat-security on GCC only.
2016-09-27 17:29:06 -07:00
Jason Volk
5df4bf6da2
ircd::db: Add database interface. Support RocksDB.
2016-09-27 02:20:42 -07:00
Jason Volk
6115671122
configure.ac: Boost.DLL is new in 1.61.
2016-09-26 16:06:56 -07:00
Jason Volk
5b607b5b1f
configure.ac: Add __int128 support.
2016-09-21 16:29:28 -07:00
Jason Volk
249ba02faa
Introduce userspace contexts.
2016-09-09 16:17:36 -07:00
Jason Volk
9e027b2212
configure.ac: Clarify specific spirit headers (avoid deprecation for spirit.hpp)
2016-09-09 16:17:03 -07:00
Jason Volk
1df1545a3c
configure.ac: Support boost::spirit parser framework.
2016-09-09 16:17:02 -07:00
Jason Volk
12c836dc6e
Rip out libltdl.
2016-09-09 16:17:02 -07:00
Jason Volk
5aeeb73e20
ircd: Introduce ASIO; stub for signal handling and console UI.
2016-09-09 16:17:02 -07:00
Jason Volk
9d0a959bb5
MAPI IV. This iteration leverages the C++11 standardized RTTI.
...
* Simplifies the export declarations for module developers. While
MAPI III utilized a flexible key-value vector to eliminate positional
arguments in a header initializer, now the developer simply makes
a list of pointers to what they want to export for injection into
IRCd. Example:
mapi::header IRCD_MODULE
{
"mymod",
"My module adds a command, a hook, and a CLICAP",
&my_cmdtab,
&some_hook,
&clicaptab
};
* Distributes the handlers for items passed to the above vector.
Anyone can add a type-handler to the module system from anywhere in IRCd
(and other modules?) When your type is encountered a handler is called
providing the symbol name to read out of the module. Example in parser.cc:
mods::add_loader<Message>([]
(mod &loading, const std::string &symbol)
{
auto &msg(get<Message>(loading, symbol));
add_command(msg.name, msg);
});
2016-09-09 16:17:01 -07:00
Jason Volk
638db81e09
configure.ac: Support boost::filesystem / boost::dll.
2016-09-09 16:17:01 -07:00
Jason Volk
3ebde4ab50
Convert umodes to mode_lease mechanism.
2016-09-09 16:17:01 -07:00
Jason Volk
b5d4fef865
configure.ac: -Woverloaded-virtual -Wnon-virtual-dtor -Wnoexcept
2016-09-09 16:17:00 -07:00
Jason Volk
f7dc872592
configure.ac: Test targets for experimental std::string_view.
2016-08-25 02:07:11 -07:00
Jason Volk
096f7b9ff7
clang: -Wno-mismatched-tags
2016-08-20 19:30:33 -07:00
Jason Volk
d9abfc3955
Include time and iomanip standard library headers.
2016-08-20 19:30:33 -07:00
Jason Volk
a789f0d0ed
Readd missing compile-time information as a CPPDEFINE.
2016-08-20 19:30:33 -07:00
Jason Volk
61b517ca3c
Precompile and remove most include directives. Notes:
...
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."
Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.
Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00
Jason Volk
7d3e1e49a5
configure.ac: Fix CPPDEFINE error and improve boost check.
...
Require at least 1.56 for now... Testing of older versions is
needed once librb is replaced and we know what's needed.
2016-08-19 22:39:34 -07:00
Jason Volk
0e62b5a91a
Add PIC/PCH condition in stdinc.h.
2016-08-13 02:43:41 -07:00
Jason Volk
1ffc492c7f
Don't care about missing declarations.
2016-08-13 02:43:41 -07:00
William Pitcock
34a33a07d0
configure: fix ENABLE_FHS_PATHS being enabled when it shouldn't
2016-07-30 21:25:34 -05:00
William Pitcock
95b4dff0c6
configure: boost_linkage should be shared when using system boost
2016-07-30 20:42:39 -05:00
William Pitcock
f8e09c38dc
configure: more cleanups
2016-07-30 20:05:09 -05:00
William Pitcock
e108151c20
configure: use AX_BOOST macros when not building built-in boost
2016-07-30 19:56:01 -05:00
Jason Volk
1eb7d4f319
configure.ac: Use stddef.h as dead header.
...
/dev/null cannot be used on windows, and /dev/null appears as modified
dependency when checking the PCH.
2016-07-25 00:54:38 -07:00
Jason Volk
530faa46a4
Add --with-included-boost=shared because it is not going to be installed.
2016-07-25 00:54:38 -07:00
Jason Volk
649561f79f
configure.ac: adjust version to meet integral targets.
2016-07-25 00:54:38 -07:00
Jason Volk
02119375b1
Add --disable-pch configuration option.
2016-07-23 19:40:18 -07:00
Jason Volk
983f0bc154
Fix configure.ac macro expression.
2016-07-23 19:40:18 -07:00
Jason Volk
404239eb60
Build system cleanup.
2016-07-22 19:46:28 -07:00
Jason Volk
5ed274e082
m4: Add macro argument to pass an SD-6 feature test number.
...
This test against the __cplusplus #define value allows for a more
granular feature test.
2016-07-22 19:46:28 -07:00
Jason Volk
e7e7f8ff9f
Convert bison.
...
NOTE: This only has "C" linkage right now.
2016-07-22 19:46:27 -07:00
Jason Volk
748faeb264
Improve warnings.
2016-07-22 19:46:27 -07:00
Jason Volk
834964c659
Convert IRCd to C++
...
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -07:00
Jason Volk
ea53aab823
Refactor repository layout.
...
* librb is no longer a separately configured subproject.
* charybdis is now a standalone directory with a binary.
* Include path layout now requires a directory ircd/ rb/ etc.
2016-07-21 20:51:02 -07:00
Jason Volk
b903059075
Autotools preparation for GNU++14.
...
Files with the suffix .cpp will automatically integrate.
2016-07-19 22:38:56 -07:00
William Pitcock
2be307e059
configure: check for PCRE2
2016-06-25 23:42:00 -05:00
William Pitcock
499f3437c7
configure: 5 now
2016-06-25 22:30:58 -05:00
William Pitcock
998b6ec513
stage for charybdis 4-beta1.
2016-04-30 19:58:14 -05:00
William Pitcock
caebeeca95
wsockd: add skeleton for future websockets helper (ref #78 )
2016-03-25 21:04:22 -05:00
William Pitcock
80a0125f36
configure: define ENABLE_FHS_PATHS if built with --enable-fhs-paths, this will disable the path relocation code
2016-03-24 18:55:30 -05:00
Matt Ullman
2e45f5d808
Cleanup more BSD-isms
2016-03-23 22:37:52 -04:00
Matt Ullman
35472d0f1f
automake: Fix typo in compiler flag
2016-03-22 16:51:06 -04:00
William Pitcock
8978ab4efa
configure: add same msys check here
2016-03-20 22:17:52 -05:00
William Pitcock
570bbefb54
configure: remove old check for socklen_t. ircd uses rb_socklen_t for a long time.
2016-03-20 04:40:14 -05:00
William Pitcock
3c27591e9d
configure: move mingw check down a bit
2016-03-20 02:11:06 -05:00
William Pitcock
3f97a5c529
configure: check for MINGW
2016-03-20 02:07:06 -05:00
William Pitcock
b45a2f351e
configure: check -lws2_32 for socket() too
2016-03-20 00:11:06 -05:00
Elizabeth Myers
fe4224394e
Can IGNORE_BOGUS_TS at the behest of @kaniini and @jilest
2016-03-19 18:55:13 -05:00
Elizabeth Myers
cca418c9b7
Add --enable-ignore-bogus-ts flag.
...
This hoists the option out of config.h.
2016-03-18 15:02:59 -05:00
Elizabeth Myers
0e99e13a71
configure: add ENABLE_OPER_CHGHOST flag
2016-03-18 14:57:08 -05:00
Elizabeth Myers
07554369bd
Detect stdbool.h and add conformant shims if it isn't available
...
Charybdis requires C99 already, so it's high time we start using
stdbool. I've converted a few pieces of code already.
A lot of the old code that uses YES/NO should probably be updated too
because that's fucking hideous.
2016-03-08 04:54:04 -06:00
Elizabeth Myers
34dbd2d49b
Makefile.am: make git serno generation a little nicer.
2016-03-07 05:15:35 -06:00
William Pitcock
c83f2f5e12
rename libratbox to librb, since its pretty modified anyway
2016-03-06 02:30:20 -06:00
William Pitcock
7fc8787332
autogen: minor tweaks
2016-03-05 17:51:28 -06:00
William Pitcock
c678fbc08b
ircd: remove broken USE_IODEBUG_HOOKS knob and related code
2016-02-20 12:02:49 -06:00
Valerii Iatsko
5203cba5ce
Remove libratbox's snprintf.c, update related ircd code
2016-02-10 02:25:32 +01:00
Valerii Iatsko
9258de810b
ircd: configure: require C99 compiler
2016-02-09 10:41:37 -06:00
Valerii Iatsko
b79edd3e79
ircd: configure.ac: remove trailing whitespaces
2016-02-09 10:41:37 -06:00
Simon Arlott
173a2f4dda
configure: make TOPICLEN warn on >390, not >=390
...
Configuring --with-topiclen=390 outputs a warning that TOPICLEN
has been limited to 390, but that's what was requested.
2016-02-09 10:41:37 -06:00
Simon Arlott
d5ef3fd3b6
autoconf: Quote AC_LANG_PROGRAM when used within AC_*_IFELSE
...
AC_LANG_PROGRAM needs to be quoted when used within AC_*_IFELSE:
https://lists.gnu.org/archive/html/bug-autoconf/2011-04/msg00017.html
This fixes the following warnings:
$ autoreconf
configure.ac:298: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from...
configure.ac:298: the top level
configure.ac:593: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...
../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...
configure.ac:593: the top level
...
configure.ac:309: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from...
configure.ac:309: the top level
...
2016-02-09 10:41:37 -06:00
William Pitcock
e575ed5193
libratbox: disable the block allocator, but keep it as a stub for now
2016-01-08 07:16:23 -06:00
William Pitcock
190a59706e
configure: no more small-net
2016-01-08 07:09:47 -06:00
William Pitcock
9e45a5ca19
buildsystem: further cleanup
2016-01-08 07:01:00 -06:00
William Pitcock
f0718c93d5
configure: use correct path for libltdl
2016-01-08 06:50:01 -06:00
Aaron Jones
d8c4154da2
Fix LTDL conditional, remove some unnecessary and/or ugly configure tests
2016-01-07 17:15:55 +00:00
Aaron Jones
eec2776c6c
Fix some autotools discrepancies, disable SQLite threading code
2016-01-07 16:58:28 +00:00
William Pitcock
0d73e7db9c
authd: add skeleton
2016-01-06 02:31:11 -06:00
William Pitcock
2a19fc3f57
general: remove last vestiges of static modules support (this hasn't ever actually worked...)
2016-01-06 01:28:20 -06:00
William Pitcock
46fded53d4
update buildsystem artifacts
2016-01-06 01:16:49 -06:00
William Pitcock
c52df12552
buildsystem: convert to automake + libtool
2016-01-05 21:20:25 -06:00
William Pitcock
f26219863a
begin 3.6 development
2016-01-05 20:15:10 -06:00
William Pitcock
1ce6270904
charybdis 3.5.0.
2016-01-05 19:49:18 -06:00
William Pitcock
3b1e0380ce
charybdis 3.5.0 rc1.
2015-03-08 15:26:31 -05:00
William Pitcock
9f09e25b63
charybdis 3.5.0-test1.
2015-03-01 01:09:34 -06:00
William Pitcock
7585af0f3b
configure: move some OS X toolchain checks around ( closes #40 )
2015-02-16 15:55:36 -06:00
Jilles Tjoelker
6573fa4c74
configure: Restore libratbox build.
...
This fixes building from scratch.
2014-06-05 22:12:19 +02:00
Lee Starnes
a5471f2483
configure: use pkg-config for sqlite
2014-06-01 15:50:47 -04:00
Lee Starnes
cf1001a739
configure: fix linking with shared sqlite on *BSD
2014-05-31 22:56:12 -04:00
Lee Starnes
a6ef3156ec
configure: use --with-shared-sqlite instead of --enable-shared-sqlite
2014-05-31 21:14:09 -04:00
Lee Starnes
74ab6be094
bandb: make Makefile work with BSD make again
2014-05-29 17:53:43 -04:00
Lee Starnes
497e30a0bb
configure: add --enable-shared-sqlite option
...
When --enable-shared-sqlite is used, charybdis will be compiled with a shared
sqlite library if it is available.
2014-05-29 13:11:29 -04:00
Rylee Elise Fowler
1870e06ad3
autotools: fix typo relating to ban db
2014-01-31 11:03:54 -05:00
Antoine Beaupré
14048b96b0
rename genssl.sh to genssl
2013-06-05 01:49:19 -04:00
Jilles Tjoelker
c2a0843d26
Bump version on master to 3.5.0-dev.
2012-04-22 23:03:46 +02:00
Nathan Phillip Brink
6929cd012b
Fix typo User' =>
Use'.
2012-03-03 03:30:34 +00:00
Nathan Phillip Brink
634d4aad72
Fix inconsistency between --sysconfdir and --with-confdir, deprecate --with-confdir.
...
The inconsistency was created in
c74836dc4a
where genssl.sh.in was made
to use sysconfdir while the IRCd and buildsystem still used confdir.
2012-03-02 01:11:42 +00:00
Nathan Phillip Brink
c74836dc4a
Add explicit support for being installed into a system triggered with --enable-fhs-paths.
...
Add two mechanism for avoiding name-collisions in a system-wide
installation of charybdis. The ssld and bandb daemons, intended to be
directly used by ircd and not the user, install into libexec when
--enable-fhs-paths is set. For binaries which are meant to be in PATH
(bindir), such as ircd and viconf, there is now an option
--with-program-prefix=progprefix inspired by automake. If the user
specifies --with-program-prefix=charybdis, the ircd binary is named
charybdisircd when installed.
Add support for saving the pidfile to a rundir and storing the ban
database in localstatedir instead of in sysconfdir. This is, again,
conditional on --enable-fhs-paths.
Fix(?) genssl.sh to always write created SSL key/certificate/dh
parameters to the sysconfdir specified during ./configure. The
previous behavior was to assume that the user ran genssl.sh after
ensuring that his current working directory was either sysconfdir or a
sibling directory of sysconfdir.
2012-03-01 02:41:09 +00:00
William Pitcock
a949ab1a1c
configure: set version to charybdis 3.4.0-dev
2012-02-04 04:14:20 -06:00
Jilles Tjoelker
ca8ff4830b
Force nicklen (all flavours) to be at least 9.
2011-11-29 23:41:18 +01:00
Jilles Tjoelker
b225bf93b7
Change default --with-nicklen to 31, like atheme-services.
2011-11-29 23:32:10 +01:00
William Pitcock
b583faf970
Add support for customizing the usable nick length.
...
This adds a new ISUPPORT token, NICKLEN_USABLE which is strictly an informative value.
NICKLEN is always the maximum runtime NICKLEN supported by the IRCd, as other servers may
have their own usable NICKLEN settings. As NICKLEN_USABLE is strictly informative, and
NICKLEN is always the maximum possible NICKLEN, any clients which depend on NICKLEN for
memory preallocation will be unaffected by runtime changes to NICKLEN_USABLE.
The default NICKLEN is 50; the default serverinfo::nicklen in the config file is set to
30, which is the NICKLEN presently used on StaticBox.
2011-11-29 16:10:21 -06:00
William Pitcock
f5493691ed
branding: if CUSTOM_BRANDING is defined, display charybdis version in /info
...
(based on ircd-seven rebrand patch)
2011-05-08 09:06:19 -05:00
William Pitcock
b6d0720c1c
configure: Add --with-custom-branding and --with-custom-version options.
2011-05-08 08:55:32 -05:00
William Pitcock
bf98590ac6
Charybdis 3.3.0.
2010-09-28 13:46:09 -05:00
William Pitcock
c3665aa9dc
Kill unsupported modules directory.
2010-08-23 17:03:37 -05:00
William Pitcock
fe5746222d
Charybdis 3.3.x development cycle begins.
2010-02-27 15:26:42 -06:00
William Pitcock
8fde8d897e
Set autoconf version to 3.2.0.
2010-02-17 23:12:17 -06:00
William Pitcock
734ce253df
Link bandb to build.
2010-01-07 16:51:09 -06:00
William Pitcock
e9dd977ec3
Update trunk to 3.2 (non-release).
2010-01-07 16:02:50 -06:00
Jilles Tjoelker
f9a9ffacc1
Remove some warning that will not be fixed.
2009-02-22 00:45:41 +01:00
Jilles Tjoelker
dc396efea9
-Wbad-function-cast is stupid.
2009-02-22 00:02:51 +01:00
Jilles Tjoelker
2723453983
Bump version to 3.1.0.
2009-02-08 21:11:33 +01:00
Jilles Tjoelker
f173c7d864
Check that --with-nicklen was passed a numeric value.
...
ircd-ratbox r26144 (androsyn)
2008-10-19 17:27:35 +02:00
Valery V Yatsko
108f730f58
forgot to remove check for cygwin from configure.ac
2008-08-16 22:50:22 +04:00
Valery V Yatsko
d3faa80afe
removed cygwin check from configure.ac
2008-08-16 22:45:09 +04:00
Valery V Yatsko
ec86417cee
ircd-ratbox -> charybdis
2008-08-16 22:38:13 +04:00
Jilles Tjoelker
c0e90a8ed5
Fix another bad cache variable name.
2008-06-03 20:50:50 +02:00
Jilles Tjoelker
686735a1d3
Bump version on trunk to 3.1.
2008-05-18 23:34:39 +02:00
Jilles Tjoelker
794816af01
Check for the -rpath linker flag.
...
This makes it build on MacOS X which neither
supports nor needs this flag.
2008-05-17 17:46:37 +02:00
Jilles Tjoelker
d99faa427b
Bump version to 3.0.1.
2008-05-13 23:22:57 +02:00
William Pitcock
4a466cb340
charybdis 3.0.0
2008-04-25 14:56:35 -05:00
William Pitcock
045da06897
3.0.0-RC1.
2008-04-21 17:17:31 -05:00
William Pitcock
4753926822
charybdis 3.0-beta1
2008-04-15 21:32:25 -05:00
Jilles Tjoelker
3f479d3b67
Remove pagesize check from configure.
...
It is unused, and not a good thing to compile this in.
2008-04-11 17:57:01 +02:00
Jilles Tjoelker
53f95e8c84
Remove SOCKADDR_IN_HAS_LEN check, libratbox does it for us.
2008-04-11 17:47:30 +02:00
Jilles Tjoelker
97199fb332
Make --enable-warnings work again, and make the warnings a bit more sensible.
2008-04-09 18:28:47 +02:00
William Pitcock
7cc51d0449
Remove servlink, it's functionality is now provided by ssld.
2008-04-06 13:38:55 -05:00
Valery Yatsko
d261b578f4
Added ssld to Makefile.in and configure.ac.
2008-04-06 14:50:29 +04:00
Valery Yatsko
7c6292028a
Just notice in configure that user could use gmake too (only gmake allowed on some of my hostings).
2008-04-06 00:15:59 +04:00
Valery Yatsko
ccda6e3fc5
Replacing legacy IPV6 define with RB_IPV6 (which is included in libratbox's config.h).
2008-04-05 20:57:30 +04:00
William Pitcock
036df6dd5d
3.0alpha1
2008-04-02 20:47:05 -05:00
Valery Yatsko
54ac8b60a1
Reverting some changed related not to moving on libratbox3 but using ratbox3 source!
2008-04-02 19:37:50 +04:00
Valery Yatsko
adbbdec52f
forward configure.ac changes
2008-04-02 17:02:07 +04:00
Valery Yatsko
ce923338da
FD_HEAP_SIZE added, needed to fix ircd.c compilation
2008-04-02 05:40:02 +04:00
Valery Yatsko
bc5f6d5bce
AWAY_HEAP_SIZE added to configure.ac - just another part of ratbox3 away system port.
2008-04-02 05:29:16 +04:00
Valery Yatsko
81af5bcb39
libcharybdis includes gone.
2008-04-02 02:39:19 +04:00
Valery Yatsko
4e2fd62140
btw, gmake is useful too for compiling this.
2008-04-02 02:23:11 +04:00
Valery Yatsko
f27f348b1e
Removed from configure.ac too.
2008-04-02 02:19:55 +04:00
William Pitcock
db13786793
Pull in libratbox from ircd-ratbox-3.0.0beta1 and integrate into the build system.
2008-04-01 11:52:26 -05:00
Jilles Tjoelker
33b310b376
Make the epoll check work more reliably.
...
Submitted by spb.
2007-12-13 00:43:31 +01:00
William Pitcock
f13494df72
Remove --disable-shared-modules configure option.
...
It should have been removed when we removed the rest of that code.
2007-12-08 13:38:28 -06:00
William Pitcock
b74f0f586d
this should be 2.3.0
2007-12-02 10:17:40 -06:00
jilles
88cb7f9965
[svn] Version bump on trunk to 2.3.
2007-06-10 09:14:03 -07:00
nenolod
686ebf4149
[svn] - remove "ASM hashing code" from the configure overview
2007-05-06 19:53:54 -07:00
nenolod
1b4cfad88d
[svn] - river's ports.c from old charybdis trunk
2007-04-03 02:57:53 -07:00
nenolod
5e12fb1089
[svn] - remove broken ports stuff and devpoll stuff.
2007-04-03 02:50:56 -07:00
nenolod
6c8cbf341b
[svn] - remove x86-optimized hash code.
2007-04-03 02:37:03 -07:00
nenolod
631ef23987
[svn] - remove the rest of the MAX_CLIENTS stuff. change kqueue implementation accordingly. (needs testing)
2007-04-03 02:31:11 -07:00