Hello community,
here is the log from the commit of package epic
checked in at Wed Jan 10 19:02:42 CET 2007.
--------
--- epic/epic.changes 2006-01-25 21:35:44.000000000 +0100
+++ /mounts/work_src_done/STABLE/epic/epic.changes 2007-01-10 18:25:03.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Jan 10 18:21:56 CET 2007 - max@suse.de
+
+- Update to version 2.6 to fix a crash when torturing epic
+ with ircfuzz (#154621).
+- Updaye help to version 20050315.
+
+-------------------------------------------------------------------
Old:
----
epic4-2.2-config.diff
epic4-2.2.tar.bz2
epic4-help-20040801.tar.bz2
New:
----
epic4-2.6.tar.bz2
epic4-config.patch
epic4-help-20050315.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ epic.spec ++++++
--- /var/tmp/diff_new_pack.k13429/_old 2007-01-10 19:02:21.000000000 +0100
+++ /var/tmp/diff_new_pack.k13429/_new 2007-01-10 19:02:21.000000000 +0100
@@ -1,28 +1,28 @@
#
-# spec file for package epic (Version 2.2)
+# spec file for package epic (Version 2.6)
#
-# Copyright (c) 2004 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# Please submit bugfixes or comments via http://www.suse.de/feedback/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: epic
-License: BSD
+License: BSD License and BSD-like
Group: Productivity/Networking/IRC
Provides: ircii epic4 irciihlp
Obsoletes: ircii epic4 irciihlp
Autoreqprov: on
-Version: 2.2
+Version: 2.6
Release: 1
Summary: Enhanced Programmable ircII Client
URL: http://www.epicsol.org
Source0: epic4-%version.tar.bz2
-Source1: epic4-help-20040801.tar.bz2
-Patch: epic4-%version-config.diff
+Source1: epic4-help-20050315.tar.bz2
+Patch: epic4-config.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -37,7 +37,7 @@
EPIC Software Labs
%prep
-%setup -n epic4-%version -a 1
+%setup -q -n epic4-%version -a 1
%patch -p1
%build
@@ -63,6 +63,10 @@
%_mandir/man1/*
%changelog -n epic
+* Wed Jan 10 2007 - max@suse.de
+- Update to version 2.6 to fix a crash when torturing epic
+ with ircfuzz (#154621).
+- Updaye help to version 20050315.
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Dec 15 2004 - mmj@suse.de
++++++ epic4-2.2.tar.bz2 -> epic4-2.6.tar.bz2 ++++++
++++ 3878 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/acconfig.h new/epic4-2.6/acconfig.h
--- old/epic4-2.2/acconfig.h 2003-11-23 00:29:22.000000000 +0100
+++ new/epic4-2.6/acconfig.h 2006-10-20 00:25:27.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: acconfig.h,v 1.25 2003/11/22 23:29:22 jnelson Exp $
+ * @(#)$Id: acconfig.h,v 1.26 2006/10/19 22:25:27 jnelson Exp $
*/
/*
@@ -320,3 +320,9 @@
/* Define this if you have atoq() */
#undef HAVE_ATOQ
+/* Define this if you have finite() */
+#undef HAVE_FINITE
+
+/* Define this if you have isfinite() */
+#undef HAVE_ISFINITE
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/configure.in new/epic4-2.6/configure.in
--- old/epic4-2.2/configure.in 2004-01-31 17:28:32.000000000 +0100
+++ new/epic4-2.6/configure.in 2006-10-20 00:25:27.000000000 +0200
@@ -4,9 +4,9 @@
dnl thanks to the screen 3.3 configure.in for giving me examples to
dnl work from and steal ;)
dnl
-dnl @(#)$Id: configure.in,v 1.39 2004/01/31 16:28:32 crazyed Exp $
+dnl @(#)$Id: configure.in,v 1.40 2006/10/19 22:25:27 jnelson Exp $
-AC_REVISION($Revision: 1.39 $)dnl
+AC_REVISION($Revision: 1.40 $)dnl
AC_INIT(source/irc.c)
AC_CONFIG_HEADER(include/defs.h)
@@ -214,6 +214,8 @@
AC_CHECK_FUNC(atoll, AC_DEFINE(HAVE_ATOLL),)
AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL),)
AC_CHECK_FUNC(atoq, AC_DEFINE(HAVE_ATOQ),)
+AC_CHECK_FUNC(finite, AC_DEFINE(HAVE_FINITE),)
+AC_CHECK_FUNC(isfinite, AC_DEFINE(HAVE_ISFINITE),)
AC_HEADER_STDC
AC_HEADER_TIME
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/COPYRIGHT new/epic4-2.6/COPYRIGHT
--- old/epic4-2.2/COPYRIGHT 2003-03-26 08:04:45.000000000 +0100
+++ new/epic4-2.6/COPYRIGHT 2006-11-17 00:48:10.000000000 +0100
@@ -3,7 +3,7 @@
* Copyright (c) 1991, 1992 Troy Rollo.
* Copyright (c) 1992-1996 Matthew Green.
* Copyright � 1994 Jake Khuon.
- * Copyright � 1993, 2003 EPIC Software Labs.
+ * Copyright � 1993, 2006 EPIC Software Labs.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/doc/SILLINESS new/epic4-2.6/doc/SILLINESS
--- old/epic4-2.2/doc/SILLINESS 2004-12-14 06:09:57.000000000 +0100
+++ new/epic4-2.6/doc/SILLINESS 2006-11-17 00:48:14.000000000 +0100
@@ -76,3 +76,5 @@
epic4-2.1.2 (726) Canoodling
epic4-2.1.3 (728) Defenestration
epic4-2.2 (730) Blatherskite
+epic4-2.4 (745) Languish
+epic4-2.6 (750) Plebiscite
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/include/alist.h new/epic4-2.6/include/alist.h
--- old/epic4-2.2/include/alist.h 2003-07-10 15:08:56.000000000 +0200
+++ new/epic4-2.6/include/alist.h 2006-02-16 07:14:09.000000000 +0100
@@ -47,13 +47,13 @@
if (s[0] != 0)
{
if (s[1] == 0)
- x = (stricmp_table[(int)s[0]] << 24),
+ x = (stricmp_table[(int)(unsigned char)s[0]] << 24),
*mask = 0xff000000;
else if (s[2] == 0)
- x = ((stricmp_table[(int)s[0]] << 24) | (stricmp_table[(int)s[1]] << 16)),
+ x = ((stricmp_table[(int)(unsigned char)s[0]] << 24) | (stricmp_table[(int)(unsigned char)s[1]] << 16)),
*mask = 0xffff0000;
else
- x = ((stricmp_table[(int)s[0]] << 24) | (stricmp_table[(int)s[1]] << 16) | (stricmp_table[(int)s[2]] << 8) | stricmp_table[(int)s[3]]),
+ x = ((stricmp_table[(int)(unsigned char)s[0]] << 24) | (stricmp_table[(int)(unsigned char)s[1]] << 16) | (stricmp_table[(int)(unsigned char)s[2]] << 8) | stricmp_table[(int)(unsigned char)s[3]]),
(*mask = 0xffffff00 | (s[3] ? 0xff : 0x00));
}
else
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/include/config.h new/epic4-2.6/include/config.h
--- old/epic4-2.2/include/config.h 2003-12-26 20:14:49.000000000 +0100
+++ new/epic4-2.6/include/config.h 2006-06-18 19:33:51.000000000 +0200
@@ -45,6 +45,16 @@
#define DEFAULT_SERVER "localhost irc.efnet.net irc.undernet.org irc.dal.net"
/*
+ * Maildir support is experimental in EPIC4. More complete support is
+ * available in EPIC5, including support for switching back and forth
+ * between mbox and maildir at runtime. For now, you must pick one or
+ * the other at compile time.
+ * 0 - Mail checking for mbox
+ * 1 - Mail checking for maildir
+ */
+#define MAIL_CHECKING_TYPE 0
+
+/*
* This is an experimental feature to thwart infinite recursion. It is not
* very sophisticated so it's not turned on by default. In the future I
* will probably do something less lame.
@@ -402,6 +412,7 @@
#define DEFAULT_LOGFILE "irc.log"
#define DEFAULT_MAIL 2
#define DEFAULT_MAIL_INTERVAL 60
+/* #define DEFAULT_MAIL_TYPE "mbox" */
#define DEFAULT_MAX_RECONNECTS 4
#define DEFAULT_METRIC_TIME 0
#define DEFAULT_MODE_STRIPPER 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/include/defs.h.in new/epic4-2.6/include/defs.h.in
--- old/epic4-2.2/include/defs.h.in 2003-11-23 00:33:01.000000000 +0100
+++ new/epic4-2.6/include/defs.h.in 2006-10-20 00:25:29.000000000 +0200
@@ -273,6 +273,12 @@
/* Define this if you have atoq() */
#undef HAVE_ATOQ
+/* Define this if you have finite() */
+#undef HAVE_FINITE
+
+/* Define this if you have isfinite() */
+#undef HAVE_ISFINITE
+
/* The number of bytes in a long long. */
#undef SIZEOF_LONG_LONG
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/include/irc_std.h new/epic4-2.6/include/irc_std.h
--- old/epic4-2.2/include/irc_std.h 2004-10-06 02:22:05.000000000 +0200
+++ new/epic4-2.6/include/irc_std.h 2006-11-13 04:52:04.000000000 +0100
@@ -49,15 +49,16 @@
/*
* Everybody needs these INET headers...
*/
-#ifdef USE_SOCKS5
-# include
-#endif
-# include
+#include
#include
#include
#ifdef HAVE_NETDB_H
#include
#endif
+#ifdef USE_SOCKS5
+# define INCLUDE_PROTOTYPES
+# include
+#endif
/*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/include/log.h new/epic4-2.6/include/log.h
--- old/epic4-2.2/include/log.h 2003-07-22 23:12:53.000000000 +0200
+++ new/epic4-2.6/include/log.h 2005-04-10 16:58:41.000000000 +0200
@@ -12,9 +12,9 @@
FILE *do_log (int, const char *, FILE **);
void logger (const void *);
void set_log_file (const void *);
- void add_to_log (FILE *, unsigned, const unsigned char *, int, const char *);
+ void add_to_log (FILE *, long, const unsigned char *, int, const char *);
BUILT_IN_COMMAND(logcmd);
- void add_to_logs (int, int, const char *, int, const char *);
+ void add_to_logs (long, int, const char *, int, const char *);
char * logctl (char *);
#endif /* _LOG_H_ */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/include/mail.h new/epic4-2.6/include/mail.h
--- old/epic4-2.2/include/mail.h 2003-07-22 23:12:53.000000000 +0200
+++ new/epic4-2.6/include/mail.h 2006-06-18 19:33:51.000000000 +0200
@@ -15,5 +15,6 @@
void mail_systimer (void);
void set_mail_interval (const void *);
void set_mail (const void *);
+ void set_mail_type (const void *);
#endif /* _MAIL_H_ */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/include/socks5p.h new/epic4-2.6/include/socks5p.h
--- old/epic4-2.2/include/socks5p.h 1970-01-01 01:00:00.000000000 +0100
+++ new/epic4-2.6/include/socks5p.h 2006-11-13 04:52:04.000000000 +0100
@@ -0,0 +1,39 @@
+/*
+ * socks5p.h -- Compatability shim for , public domain
+ *
+ * If you #define INCLUDE_PROTOTYPES, then socks5 will try to
+ * #include "socks5p.h" which isn't installed normally. But on amd64,
+ * we *must* have prototypes to get functions ilke localtime() correct.
+ * So this file provides the limited set of things necessary to make
+ * #define INCLUDE_PROTOTYPES work with
+ */
+#ifndef __socks5p_h__
+#define __socks5p_h__
+
+#include
+
+#ifndef P
+#define P(x) x
+#endif
+
+#ifndef LIBPREFIX
+#ifdef USE_SOCKS4_PREFIX
+#define LIBPREFIX(x) R ## x
+#else
+#define LIBPREFIX(x) SOCKS ## x
+#endif
+#endif
+
+#ifndef IORETTYPE
+#define IORETTYPE int
+#endif
+
+#ifndef IOPTRTYPE
+#define IOPTRTYPE void *
+#endif
+
+#ifndef IOLENTYPE
+#define IOLENTYPE size_t
+#endif
+
+#endif /* __socks5p_h__ */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/include/vars.h new/epic4-2.6/include/vars.h
--- old/epic4-2.2/include/vars.h 2003-12-26 20:14:49.000000000 +0100
+++ new/epic4-2.6/include/vars.h 2006-06-18 19:33:51.000000000 +0200
@@ -93,6 +93,7 @@
LOG_REWRITE_VAR,
MAIL_VAR,
MAIL_INTERVAL_VAR,
+ /* MAIL_TYPE_VAR, */
MANGLE_INBOUND_VAR,
MANGLE_LOGFILES_VAR,
MANGLE_OUTBOUND_VAR,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/KNOWNBUGS new/epic4-2.6/KNOWNBUGS
--- old/epic4-2.2/KNOWNBUGS 2004-12-03 18:24:11.000000000 +0100
+++ new/epic4-2.6/KNOWNBUGS 2006-11-17 00:48:10.000000000 +0100
@@ -9,33 +9,29 @@
THE CHANGELOG SINCE THE LAST RELEASE:
-------------------------------------
-* Fix bug with TOGGLE_STOP_SCREEN for Brian Feldman
-* Fix bug with not redrawing help window for Zlonix
-* Fix bug with not being able to bind character 255 for Zlonix
-* Fix bug with indent > screen / 3 truncating to 0 for BlackJac
-* Implement "unique id" support for ircnet (042 numeric)
-* You can /nick 0 or /nick for ircnet.
-* You can use $servertctl([SET|GET] <refnum> UNIQUE_ID) for ircnet.
-* Allow /userhost <uniqueid> for ircnet.
-* Allow 'epic 0 <servername>' for ircnet.
-* Increase buffer for %F (and %{1}F) from 80 bytes to 2k for fudd.
-* Avoid NULL deref on brok^H^H^H^Hempty numeric replies.
-* Add %{2}W and %{3}W from epic5 for blackjac.
-* Fix $stripcrap(ALL,-<type> ...) from epic5 for blackjac.
-* Add support for +e and +I numeric replies for efnet.
-* Fix a compile error when doing password protection (bug 12)
-* When creating the 'epic' symlink, use a relative path for jm. (bug 9)
-* Fix compile warning for alloca on freebsd-current for blackjac. bleh.
-* Fix color bleeding with color changes in middle of long words that wrap.
-* Fix $logctl().
-* Also fix a bug with % followed by \ i wildcard patterns.
-* Change mangling so ANSI turns off ALL_OFF unless all attributes are on
-* Fix brain-damage per above.
-* Fix space-related panic. See UPDATES for all the gruesome details.
-* Add ALT_CHAR to the list of things that can be mangled.
-* Fix wording of default messages for 347 and 349 numerics.
-* Fix column alignment for /timer list.
-* Fix add_to_window() to stop runaway recursion through /set output_rewrite.
-* Fix bug in expand_alias() -- all output must be privileged_yell()!
-* Change /on send_to_server so it can't be hooked recursively.
-* Use 'numeric' not 'current_numeric' in the numeric handler, doh!
+* Fix null deref when you do /window flush while not in hold mode.
+* Fix /away -all
+* Fix /window <refnum> scroll_[backwards|forwards]
+* Fix 353 numeric so channels w/o users on ratbox aren't "odd"
+* Fix problems with translation, particular for zlonix.
+* A tab between [ref] and pattern in /ignore is visually jarring. Use space.
+* Fix problems with LOG_REWRITE and window refnum -1.
+* Fix bug with deleting user-created bind functions (wd)
+* Fix 'get_local_server_port', add $serverctl(GET * LOCALPORT). (fudd)
+* Fix /while et al to not do LOCAL_COPY within an infinite loop, from epic5.
+* Fix error messages when you /exec -direct asdf, from epic5.
+* Add more gracious support for unique id's and nickname 0, from epic5.
+* Fix output from exec to go to correct server
+* Fix two 64-bit pointer errors (one in dcc.c, and one in who.c)
+* Fix refresh_a_screen() to not pass NULL to recalculate_windows().
+* Fix crash caused by out of bounds numeric (only bug found by ircfuzz!)
+* Fix two more larnification bugs found by ircfuzz.
+* Release epic4-2.4 (Languish)
+* Fix crash caused by /NICK <unique id> on ircnet.
+* Add support for maildir mail boxes, which must be selected at compile time.
+* Add a missing cast for printf when sending a dcc handshake.
+* Support isfinite() for hpux/c99 alongside finite() for bsd.
+* Fix bug where SIGCHLD can be blocked and never unblocked.
+* Fixes to support socks5 again, at least on freebsd.
+* Fix crash with $xdebug() with no arguments.
+* Release epic4-2.6 (Plebiscite)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/commands.c new/epic4-2.6/source/commands.c
--- old/epic4-2.2/source/commands.c 2004-11-10 04:20:35.000000000 +0100
+++ new/epic4-2.6/source/commands.c 2005-02-08 17:28:56.000000000 +0100
@@ -1,4 +1,4 @@
-/* $EPIC: commands.c,v 1.84 2004/11/10 03:20:35 jnelson Exp $ */
+/* $EPIC: commands.c,v 1.85 2005/02/08 16:28:56 jnelson Exp $ */
/*
* commands.c -- Stuff needed to execute commands in ircII.
* Includes the bulk of the built in commands for ircII.
@@ -398,7 +398,7 @@
arg = args;
while (*arg && !isspace(*arg))
arg++;
- if (arg)
+ if (*arg)
*arg++ = 0;
if (0 == my_strnicmp(args+1, "A", 1)) /* all */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/dcc.c new/epic4-2.6/source/dcc.c
--- old/epic4-2.2/source/dcc.c 2004-02-21 00:40:22.000000000 +0100
+++ new/epic4-2.6/source/dcc.c 2006-10-20 00:25:29.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: dcc.c,v 1.91 2004/02/20 23:40:22 jnelson Exp $ */
+/* $EPIC: dcc.c,v 1.93 2006/10/19 22:25:29 jnelson Exp $ */
/*
* dcc.c: Things dealing client to client connections.
*
@@ -1000,7 +1000,7 @@
send_ctcp(CTCP_PRIVMSG, dcc->user, CTCP_DCC,
"%s %s %s %s %ld",
type, url_name, p_host, p_port,
- dcc->filesize);
+ (long)dcc->filesize);
/*
* Tell the user we sent out the request
@@ -1111,7 +1111,7 @@
if (dcc->flags & DCC_QUOTED)
{
- int len = strlen(text);
+ size_t len = strlen(text);
text = dequote_it(text, &len);
writeval = write(dcc->socket, text, len);
new_free(&text);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/debug.c new/epic4-2.6/source/debug.c
--- old/epic4-2.2/source/debug.c 2003-07-10 15:08:56.000000000 +0200
+++ new/epic4-2.6/source/debug.c 2006-11-17 00:44:19.000000000 +0100
@@ -1,4 +1,4 @@
-/* $EPIC: debug.c,v 1.12 2003/07/10 13:08:56 jnelson Exp $ */
+/* $EPIC: debug.c,v 1.13 2006/11/16 23:44:19 jnelson Exp $ */
/*
* debug.c -- controll the values of x_debug.
*
@@ -34,6 +34,7 @@
#include "irc.h"
#include "ircaux.h"
#include "output.h"
+#include "functions.h"
unsigned long x_debug = 0;
@@ -149,5 +150,5 @@
malloc_strcat_c(&ret, opts[cnt].command, &clue);
}
- return ret;
+ RETURN_MSTR(ret);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/exec.c new/epic4-2.6/source/exec.c
--- old/epic4-2.2/source/exec.c 2003-12-04 23:59:03.000000000 +0100
+++ new/epic4-2.6/source/exec.c 2006-10-20 00:25:29.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: exec.c,v 1.24 2003/12/04 22:59:03 crazyed Exp $ */
+/* $EPIC: exec.c,v 1.27 2006/10/19 22:25:29 jnelson Exp $ */
/*
* exec.c: handles exec'd process for IRCII
*
@@ -554,6 +554,9 @@
}
my_args[cnt] = NULL;
execvp(my_args[0], my_args);
+
+ printf("*** Error running program \"%s\": %s\n",
+ args, strerror(errno));
}
/*
@@ -565,13 +568,14 @@
flag = empty_string;
execl(shell, shell, flag, name, NULL);
+
+ printf("*** Error running program \"%s %s\": %s\n",
+ shell, args, strerror(errno));
}
/*
* Something really died if we got here
*/
- printf("*** Error starting shell \"%s\": %s\n",
- shell, strerror(errno));
_exit(-1);
break;
}
@@ -778,9 +782,9 @@
int ofs;
ofs = from_server;
+ from_server = proc->server;
if (proc->refnum)
- from_server = proc->server;
- message_to(proc->refnum);
+ message_to(proc->refnum);
proc->counter++;
while (len > 0 && (exec_buffer[len] == '\n' ||
@@ -857,6 +861,8 @@
*/
if (wanted != -1 && pid == wanted)
{
+ unblock_signal(SIGCHLD);
+
if (WIFEXITED(status))
return WEXITSTATUS(status);
if (WIFSTOPPED(status))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/functions.c new/epic4-2.6/source/functions.c
--- old/epic4-2.2/source/functions.c 2004-11-10 04:20:35.000000000 +0100
+++ new/epic4-2.6/source/functions.c 2006-06-18 19:33:51.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: functions.c,v 1.155 2004/11/10 03:20:35 jnelson Exp $ */
+/* $EPIC: functions.c,v 1.156 2006/06/18 17:33:51 jnelson Exp $ */
/*
* functions.c -- Built-in functions for ircII
*
@@ -2855,7 +2855,7 @@
*/
pad = stringlen + ((fieldsize - stringlen) / 2);
padc = (char *)new_malloc(pad + 1);
- snprintf(padc, pad + 1, "%*s", pad, word); /* Right justify it */
+ snprintf(padc, pad + 1, "%*s", (int)pad, word); /* Right justify it */
return padc;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/if.c new/epic4-2.6/source/if.c
--- old/epic4-2.2/source/if.c 2003-12-15 19:36:44.000000000 +0100
+++ new/epic4-2.6/source/if.c 2005-06-04 06:15:27.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: if.c,v 1.25 2003/12/15 18:36:44 jnelson Exp $ */
+/* $EPIC: if.c,v 1.26 2005/06/04 04:15:27 jnelson Exp $ */
/*
* if.c: the IF, WHILE, FOREACH, DO, FE, FEC, and FOR commands for IRCII
*
@@ -301,9 +301,10 @@
will_catch_break_exceptions++;
will_catch_continue_exceptions++;
+ newexp = alloca(strlen(exp) + 2);
while (1)
{
- newexp = LOCAL_COPY(exp);
+ strlcpy(newexp, exp, strlen(exp) + 1);
ptr = parse_inline(newexp, subargs, &args_used);
if (check_val(ptr) != whileval)
break;
@@ -755,9 +756,10 @@
will_catch_break_exceptions++;
will_catch_continue_exceptions++;
+ lameeval = alloca(strlen(evaluation) + 2);
while (1)
{
- lameeval = LOCAL_COPY(evaluation);
+ strlcpy(lameeval, evaluation, strlen(evaluation) + 1);
blah = parse_inline(lameeval, subargs, &argsused);
if (!check_val(blah))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/ignore.c new/epic4-2.6/source/ignore.c
--- old/epic4-2.2/source/ignore.c 2003-10-28 06:53:57.000000000 +0100
+++ new/epic4-2.6/source/ignore.c 2005-04-03 17:36:08.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: ignore.c,v 1.14 2003/10/28 05:53:57 jnelson Exp $ */
+/* $EPIC: ignore.c,v 1.15 2005/04/03 15:36:08 jnelson Exp $ */
/*
* ignore.c: handles the ingore command for irc
*
@@ -664,12 +664,12 @@
{
if (!expiring)
{
- say("[%d]\t%s:\t%s (%s)", item->refnum, item->nick,
+ say("[%d] %s:\t%s (%s)", item->refnum, item->nick,
get_ignore_types(item, 1), item->reason);
}
else
{
- say("[%d]\t%s:\t%s (%s) (%f seconds left)",
+ say("[%d] %s:\t%s (%s) (%f seconds left)",
item->refnum, item->nick,
get_ignore_types(item, 1), item->reason,
time_to_expire);
@@ -679,12 +679,12 @@
{
if (!expiring)
{
- say("[%d]\t%s:\t%s", item->refnum, item->nick,
+ say("[%d] %s:\t%s", item->refnum, item->nick,
get_ignore_types(item, 1));
}
else
{
- say("[%d]\t%s:\t%s (%f seconds left)", item->refnum,
+ say("[%d] %s:\t%s (%f seconds left)", item->refnum,
item->nick, get_ignore_types(item, 1),
time_to_expire);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/ircaux.c new/epic4-2.6/source/ircaux.c
--- old/epic4-2.2/source/ircaux.c 2004-11-10 04:20:35.000000000 +0100
+++ new/epic4-2.6/source/ircaux.c 2006-10-20 00:25:29.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: ircaux.c,v 1.108 2004/11/10 03:20:35 jnelson Exp $ */
+/* $EPIC: ircaux.c,v 1.109 2006/10/19 22:25:29 jnelson Exp $ */
/*
* ircaux.c: some extra routines... not specific to irc... that I needed
*
@@ -2188,7 +2188,13 @@
sval = strtod(sub, &endptr);
/* Numbers that cause exceptional conditions in strtod() are true */
- if (errno == ERANGE || !finite(sval))
+ if (errno == ERANGE
+#if defined(HAVE_FINITE)
+ || finite(sval) == 0
+#elif defined(HAVE_INFINITE)
+ || isfinite(sval) == 0
+#endif
+ )
return 1;
/*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/irc.c new/epic4-2.6/source/irc.c
--- old/epic4-2.2/source/irc.c 2004-12-14 06:10:02.000000000 +0100
+++ new/epic4-2.6/source/irc.c 2006-11-17 00:48:41.000000000 +0100
@@ -1,4 +1,4 @@
-/* $EPIC: irc.c,v 1.727 2004/12/14 05:10:02 jnelson Exp $ */
+/* $EPIC: irc.c,v 1.748 2006/11/16 23:48:41 jnelson Exp $ */
/*
* ircII: a new irc client. I like it. I hope you will too!
*
@@ -40,19 +40,19 @@
/*
* irc_version is what $J returns, its the common-name for the version.
*/
-const char irc_version[] = "EPIC4-2.2";
-const char useful_info[] = "epic4 2 2 0";
+const char irc_version[] = "EPIC4-2.6";
+const char useful_info[] = "epic4 2 6 0";
/*
* internal_version is what $V returns, its the integer-id for the
* version, and corresponds to the date of release, YYYYMMDD.
*/
-const char internal_version[] = "20041213";
+const char internal_version[] = "20061116";
/*
* In theory, this number is incremented for every commit.
*/
-const unsigned long commit_id = 730;
+const unsigned long commit_id = 750;
/*
* As a way to poke fun at the current rage of naming releases after
@@ -60,7 +60,7 @@
* reality, I have decided to start doing that with EPIC. These names
* are intentionally and maliciously silly. Complaints will be ignored.
*/
-const char ridiculous_version_name[] = "Blatherskite";
+const char ridiculous_version_name[] = "Plebiscite";
#define __need_putchar_x__
#include "status.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/keys.c new/epic4-2.6/source/keys.c
--- old/epic4-2.2/source/keys.c 2004-07-24 02:02:31.000000000 +0200
+++ new/epic4-2.6/source/keys.c 2005-04-20 06:07:02.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: keys.c,v 1.31 2004/07/24 00:02:31 jnelson Exp $ */
+/* $EPIC: keys.c,v 1.32 2005/04/20 04:07:02 wd Exp $ */
/*
* keys.c: Keeps track of what happens whe you press a key.
*
@@ -101,25 +101,42 @@
return bp;
}
+
+static void remove_bound_keys(struct Key *, struct Binding *);
void remove_binding (char *name) {
struct Binding *bp;
if (!name)
- return;
+ return;
bp = (struct Binding *)remove_from_list((List **)&binding_list, name);
if (bp) {
- new_free(&bp->name);
- if (bp->alias)
- new_free(&bp->alias);
- if (bp->filename)
- new_free(&bp->filename);
- new_free(&bp);
+ /* be sure to remove any keys bound to this binding first */
+ remove_bound_keys(head_keymap, bp);
+
+ new_free(&bp->name);
+ if (bp->alias)
+ new_free(&bp->alias);
+ if (bp->filename)
+ new_free(&bp->filename);
+ new_free(&bp);
}
return;
}
+static void remove_bound_keys (struct Key *map, struct Binding *binding) {
+ int c;
+
+ for (c = 0; c <= KEYMAP_SIZE - 1;c++) {
+ if (map[c].bound == binding)
+ map[c].bound = NULL;
+ if (map[c].map)
+ remove_bound_keys(map[c].map, binding);
+ }
+}
+
+
struct Binding *find_binding (const char *name) {
if (!name)
return NULL;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/log.c new/epic4-2.6/source/log.c
--- old/epic4-2.2/source/log.c 2004-02-21 00:40:23.000000000 +0100
+++ new/epic4-2.6/source/log.c 2005-04-10 16:58:41.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: log.c,v 1.14 2004/02/20 23:40:23 jnelson Exp $ */
+/* $EPIC: log.c,v 1.15 2005/04/10 14:58:41 jnelson Exp $ */
/*
* log.c: handles the irc session logging functions
*
@@ -172,7 +172,7 @@
* add_to_log: add the given line to the log file. If no log file is open
* this function does nothing.
*/
-void add_to_log (FILE *fp, unsigned winref, const unsigned char *line, int mangler, const char *rewriter)
+void add_to_log (FILE *fp, long winref, const unsigned char *line, int mangler, const char *rewriter)
{
char *local_line;
size_t size;
@@ -216,7 +216,7 @@
int args_flag;
/* First, create the $* list for the expando */
- snprintf(argstuff, 10240, "%u %s", winref, local_line);
+ snprintf(argstuff, 10240, "%ld %s", winref, local_line);
/* Now expand the expando with the above $* */
prepend_exp = expand_alias(rewriter, argstuff,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/logfiles.c new/epic4-2.6/source/logfiles.c
--- old/epic4-2.2/source/logfiles.c 2004-10-25 17:08:02.000000000 +0200
+++ new/epic4-2.6/source/logfiles.c 2005-04-10 16:58:41.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: logfiles.c,v 1.23 2004/10/25 15:08:02 jnelson Exp $ */
+/* $EPIC: logfiles.c,v 1.24 2005/04/10 14:58:41 jnelson Exp $ */
/*
* logfiles.c - General purpose log files
*
@@ -682,7 +682,7 @@
}
/****************************************************************************/
-void add_to_logs (int winref, int servref, const char *target, int level, const char *orig_str)
+void add_to_logs (long winref, int servref, const char *target, int level, const char *orig_str)
{
Logfile *log;
int i;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/mail.c new/epic4-2.6/source/mail.c
--- old/epic4-2.2/source/mail.c 2003-10-31 09:19:24.000000000 +0100
+++ new/epic4-2.6/source/mail.c 2006-06-18 19:33:51.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: mail.c,v 1.14 2003/10/31 08:19:24 crazyed Exp $ */
+/* $EPIC: mail.c,v 1.15 2006/06/18 17:33:51 jnelson Exp $ */
/*
* mail.c -- a gross simplification of mail checking.
* Only unix maildrops (``mbox'') are supported.
@@ -293,6 +293,268 @@
}
}
+/************************************************************************/
+/* MAILDIR SUPPORT */
+/************************************************************************/
+static char * maildir_path = (char *) 0;
+static time_t maildir_last_changed = 0;
+
+
+/*
+ * init_maildir_checking: Look for the user's maildir
+ *
+ * Return value:
+ * 1 if a maildir was found.
+ * 0 if a maildir was not found.
+ */
+static int init_maildir_checking (void)
+{
+ Filename tmp_maildir_path;
+ const char * maildir;
+ const char * envvar;
+
+ envvar = "MAILDIR";
+ if (!(maildir = getenv(envvar)))
+ {
+ envvar = "MAIL";
+ if (!(maildir = getenv(envvar)))
+ {
+ say("Can't find your maildir -- Both your MAILDIR "
+ "and MAIL environment variables are unset.");
+ set_int_var(MAIL_VAR, 0);
+ return 0;
+ }
+ }
+
+ if (!file_exists(maildir))
+ {
+ say("The file in your %s environment variable "
+ "does not exist.", envvar);
+ set_int_var(MAIL_VAR, 0);
+ return 0;
+ }
+
+ if (!isdir(maildir))
+ {
+ say("The file in your %s environment variable "
+ "is not a directory.", envvar);
+ set_int_var(MAIL_VAR, 0);
+ return 0;
+ }
+
+ strlcpy(tmp_maildir_path, maildir, sizeof(Filename));
+ strlcat(tmp_maildir_path, "/new", sizeof(Filename));
+ if (!file_exists(tmp_maildir_path) || !isdir(tmp_maildir_path))
+ {
+ say("The directory in your %s environment variable "
+ "does not contain a sub-directory called 'new'",
+ envvar);
+ set_int_var(MAIL_VAR, 0);
+ return 0;
+ }
+
+ maildir_path = malloc_strdup(tmp_maildir_path);
+ maildir_last_changed = -1;
+ return 1;
+}
+
+static int deinit_maildir_checking (void)
+{
+ new_free(&maildir_path);
+ maildir_last_changed = -1;
+ return 0;
+}
+
+/*
+ * maildir_count -- return the number of emails in an maildir.
+ *
+ * Return value:
+ * The number of emails in an maildir, done by counting the files.
+ */
+static int maildir_count (void)
+{
+ int count = 0;
+ DIR * dir;
+
+ if ((dir = opendir(maildir_path)))
+ {
+ while (readdir(dir) != NULL)
+ count++;
+ closedir(dir);
+ count -= 2; /* Don't count . or .. */
+ }
+
+ return count;
+}
+
+/*
+ * poll_maildir_status -- See if a maildir has changed since last time.
+ *
+ * Returns 0 if there is no mail.
+ * Returns 1 if there is mail but the maildir hasn't changed.
+ * Returns 2 if there is mail and the maildir has changed (need to recount)
+ */
+static int poll_maildir_status (void *ptr)
+{
+ Stat sb;
+ Stat * stat_buf;
+
+ if (ptr)
+ stat_buf = (Stat *)ptr;
+ else
+ stat_buf = &sb;
+
+ if (!maildir_path)
+ if (!init_maildir_checking())
+ return 0; /* Can't find maildir */
+
+ /* If there is no mailbox, there is no mail! */
+ if (stat(maildir_path, stat_buf) == -1)
+ return 0;
+
+ /*
+ * If the mailbox has been written to (either because new
+ * mail has been appended or old mail has been disposed of
+ */
+ if (stat_buf->st_ctime > maildir_last_changed)
+ return 2;
+
+ /* There is mail, but it's not new. */
+ return 1;
+}
+
+static void update_mail_level1_maildir (void)
+{
+ int status;
+ Stat stat_buf;
+
+ status = poll_maildir_status(&stat_buf);
+
+ /* There is no mail */
+ if (status == 0)
+ {
+ if (mail_last_count_str)
+ new_free(&mail_last_count_str);
+ }
+ /* Mailbox changed. */
+ else if (status == 2)
+ {
+ int count_new = maildir_count();
+
+ /* There is no mail */
+ if (count_new == 0)
+ {
+ if (mail_last_count_str)
+ new_free(&mail_last_count_str);
+ }
+
+ /* Maildir changed. */
+ if (count_new > mail_last_count)
+ {
+ /* Tell the user that they have new mail. */
+ if (!mail_latch)
+ {
+ mail_latch++;
+ if (do_hook(MAIL_LIST, "You have new email"))
+ {
+ int lastlog_level =
+ set_lastlog_msg_level(LOG_CRAP);
+ say("You have new email.");
+ set_lastlog_msg_level(lastlog_level);
+ }
+ mail_latch--;
+ }
+
+ malloc_strcpy(&mail_last_count_str, empty_string);
+ }
+
+ /*
+ * Mark the last time we checked mail, and revoke the
+ * "count", so it must be regened by /set mail 2.
+ */
+ maildir_last_changed = stat_buf.st_ctime;
+ mail_last_count = count_new;
+ }
+}
+
+static void update_mail_level2_maildir (void)
+{
+ Stat stat_buf;
+ int status;
+ int count;
+
+ status = poll_maildir_status(&stat_buf);
+
+ /* There is no mail */
+ if (status == 0)
+ {
+ mail_last_count = 0;
+ if (mail_last_count_str)
+ new_free(&mail_last_count_str);
+ }
+
+ /* If our count is invalid or there is new mail, recount mail */
+ else if (status == 2 || (!mail_last_count_str || !*mail_last_count_str))
+ {
+ /* So go ahead and recount the mails in maildir */
+ count = maildir_count();
+
+ if (count == 0)
+ new_free(&mail_last_count_str);
+ else
+ {
+ malloc_sprintf(&mail_last_count_str, "%d", count);
+
+ /*
+ * If there is new mail, or if we're switching to
+ * /set mail 2, tell the user how many emails there are.
+ */
+ if (count > mail_last_count)
+ {
+ /* This is to avoid $0 in /on mail being wrong. */
+ if (mail_last_count < 0)
+ mail_last_count = 0;
+
+ if (!mail_latch)
+ {
+ mail_latch++;
+ if (do_hook(MAIL_LIST, "%d %d",
+ count - mail_last_count, count))
+ {
+ int lastlog_level =
+ set_lastlog_msg_level(LOG_CRAP);
+ say("You have new email.");
+ set_lastlog_msg_level(lastlog_level);
+ }
+ mail_latch--;
+ }
+ }
+
+ maildir_last_changed = stat_buf.st_ctime;
+ mail_last_count = count;
+ }
+ }
+}
+
+static void update_mail_level3_maildir (void)
+{
+ struct utimbuf ts;
+ Stat stat_buf;
+ int status;
+
+ status = poll_maildir_status(&stat_buf);
+
+ update_mail_level2_maildir();
+ if (status == 2)
+ {
+ /* XXX Ew. Evil. Gross. */
+ ts.actime = stat_buf.st_atime;
+ ts.modtime = stat_buf.st_mtime;
+ utime(maildir_path, &ts); /* XXX Ick. Gross */
+ }
+}
+
+
/**************************************************************************/
struct mail_checker {
const char * name;
@@ -309,9 +571,14 @@
update_mail_level2_mbox,
update_mail_level3_mbox,
deinit_mbox_checking },
+ { "MAILDIR", init_maildir_checking,
+ update_mail_level1_maildir,
+ update_mail_level2_maildir,
+ update_mail_level3_maildir,
+ deinit_maildir_checking },
{ NULL, NULL, NULL, NULL, NULL, NULL }
};
-struct mail_checker *checkmail = &mail_types[0];
+struct mail_checker *checkmail = &mail_types[MAIL_CHECKING_TYPE];
/**************************************************************************/
const char * check_mail (void)
@@ -373,3 +640,8 @@
cursor_to_input();
}
+void set_mail_type (const void *stuff)
+{
+ /* EPIC4 cannot switch mailbox types (yet) */
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/numbers.c new/epic4-2.6/source/numbers.c
--- old/epic4-2.2/source/numbers.c 2004-12-03 18:24:11.000000000 +0100
+++ new/epic4-2.6/source/numbers.c 2006-02-14 01:53:45.000000000 +0100
@@ -1,4 +1,4 @@
-/* $EPIC: numbers.c,v 1.67 2004/12/03 17:24:11 jnelson Exp $ */
+/* $EPIC: numbers.c,v 1.69 2006/02/14 00:53:45 jnelson Exp $ */
/*
* numbers.c: handles all those strange numeric response dished out by that
* wacky, nutty program we call ircd
@@ -183,6 +183,10 @@
/* All numerics must have a target (our nickname) */
if (!comm || !*comm)
{ rfc1459_odd(from, comm, ArgList); return; }
+ numeric = atol(comm);
+ if (numeric < 0 || numeric > 999)
+ { rfc1459_odd(from, comm, ArgList); return; }
+
if (!(target = ArgList[0]))
{ rfc1459_odd(from, comm, ArgList); return; }
ArgList++;
@@ -193,7 +197,6 @@
else
message_from(NULL, LOG_CRAP);
- numeric = atol(comm);
current_numeric = -numeric; /* must be negative of numeric! */
/*
@@ -1320,7 +1323,7 @@
if (!(channel = ArgList[1]))
{ rfc1459_odd(from, comm, ArgList); goto END; }
if (!(line = ArgList[2]))
- { rfc1459_odd(from, comm, ArgList); goto END; }
+ { line = empty_string; }
/* This is only for when the user joined the channel */
if (channel_is_syncing(channel, from_server))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/output.c new/epic4-2.6/source/output.c
--- old/epic4-2.2/source/output.c 2003-10-10 08:22:39.000000000 +0200
+++ new/epic4-2.6/source/output.c 2005-10-23 05:52:07.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: output.c,v 1.10 2003/10/10 06:22:39 jnelson Exp $ */
+/* $EPIC: output.c,v 1.11 2005/10/23 03:52:07 jnelson Exp $ */
/*
* output.c: handles a variety of tasks dealing with the output from the irc
* program
@@ -83,7 +83,10 @@
*/
void refresh_screen (char dumb, char *dumber)
{
- refresh_a_screen(current_window->screen);
+ if (current_window && current_window->screen)
+ refresh_a_screen(current_window->screen);
+ else
+ refresh_a_screen(main_screen);
}
void refresh_a_screen (Screen *screen)
@@ -92,7 +95,7 @@
term_clear_screen();
if (screen != main_screen || term_resize())
- recalculate_windows(current_window->screen);
+ recalculate_windows(screen);
else
redraw_all_windows();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/server.c new/epic4-2.6/source/server.c
--- old/epic4-2.2/source/server.c 2004-08-07 21:54:55.000000000 +0200
+++ new/epic4-2.6/source/server.c 2006-06-17 06:11:18.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: server.c,v 1.111 2004/08/07 19:54:55 jnelson Exp $ */
+/* $EPIC: server.c,v 1.114 2006/06/17 04:11:18 jnelson Exp $ */
/*
* server.c: Things dealing with that wacky program we call ircd.
*
@@ -2172,7 +2172,8 @@
if (!(s = get_server(refnum)))
return 0;
- if (!inet_ntostr((SA *)&s->remote_sockname, NULL, 0, p_port, 12, 0))
+ if (is_server_open(refnum))
+ if (!inet_ntostr((SA *)&s->remote_sockname, NULL, 0, p_port, 12, 0))
return atol(p_port);
return s->port;
@@ -2186,7 +2187,8 @@
if (!(s = get_server(refnum)))
return 0;
- if (!inet_ntostr((SA *)&s->remote_sockname, NULL, 0, p_port, 12, 0))
+ if (is_server_open(refnum))
+ if (!inet_ntostr((SA *)&s->local_sockname, NULL, 0, p_port, 12, 0))
return atol(p_port);
return 0;
@@ -2323,14 +2325,18 @@
{
n = LOCAL_COPY(nick);
+ /* If changing to our Unique ID, the default nickname is 0 */
id = get_server_unique_id(refnum);
- if ((id && my_stricmp(n, id)) && strcmp(n, "0"))
- {
+ if (id && !my_stricmp(nick, id))
+ malloc_strcpy(&s->d_nickname, zero);
+ else
+ {
if (!(n = check_nickname(n, 1)))
reset_nickname(refnum);
+ else
+ malloc_strcpy(&s->d_nickname, n);
}
- malloc_strcpy(&s->d_nickname, n);
malloc_strcpy(&s->s_nickname, n);
}
@@ -2351,15 +2357,23 @@
void accept_server_nickname (int refnum, const char *nick)
{
Server *s;
+ const char *id;
if (!(s = get_server(refnum)))
return;
+ /* We always accept whatever the server says our new nick is */
malloc_strcpy(&s->nickname, nick);
- malloc_strcpy(&s->d_nickname, nick);
new_free(&s->s_nickname);
s->fudge_factor = 0;
+ /* Change our default nickname to our new nick, or 0 for unique id's */
+ id = get_server_unique_id(refnum);
+ if (id && !my_stricmp(nick, id))
+ malloc_strcpy(&s->d_nickname, zero);
+ else
+ malloc_strcpy(&s->d_nickname, nick);
+
if (refnum == primary_server)
strlcpy(nickname, nick, sizeof nickname);
@@ -2633,7 +2647,6 @@
IACCESSOR(v, max_cached_chan_size)
SACCESSOR(chan, invite_channel, NULL)
SACCESSOR(nick, last_notify_nick, NULL)
-SACCESSOR(id, unique_id, NULL)
SACCESSOR(nick, joined_nick, NULL)
SACCESSOR(nick, public_nick, NULL)
SACCESSOR(nick, recv_nick, NULL)
@@ -2645,6 +2658,21 @@
SACCESSOR(cookie, cookie, NULL)
SACCESSOR(ver, version_string, NULL)
+GET_SATTRIBUTE(unique_id, NULL)
+void set_server_unique_id (int servref, const char * id)
+{
+ Server *s;
+
+ if (!(s = get_server(servref)))
+ return;
+
+ malloc_strcpy(&s->unique_id , id);
+ if (id && s->d_nickname && !my_stricmp(id, s->d_nickname))
+ malloc_strcpy(&s->d_nickname, zero);
+}
+
+
+
GET_IATTRIBUTE(operator)
void set_server_operator (int refnum, int flag)
{
@@ -3015,6 +3043,9 @@
} else if (!my_strnicmp(listc, "PORT", len)) {
num = get_server_port(refnum);
RETURN_INT(num);
+ } else if (!my_strnicmp(listc, "LOCALPORT", len)) {
+ num = get_server_local_port(refnum);
+ RETURN_INT(num);
} else if (!my_strnicmp(listc, "QUIT_MESSAGE", len)) {
ret = get_server_quit_message(refnum);
RETURN_STR(ret);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/translat.c new/epic4-2.6/source/translat.c
--- old/epic4-2.2/source/translat.c 2003-07-22 23:12:54.000000000 +0200
+++ new/epic4-2.6/source/translat.c 2005-04-03 17:36:08.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: translat.c,v 1.4 2003/07/22 21:12:54 jnelson Exp $ */
+/* $EPIC: translat.c,v 1.5 2005/04/03 15:36:08 jnelson Exp $ */
/*
* translat.c: Stuff for handling character translation tables
* and a digraph entry facility. Support an international IRC!
@@ -120,7 +120,7 @@
void translate_from_server (unsigned char *string)
{
- char *ptr;
+ unsigned char *ptr;
for (ptr = string; *ptr; ptr++)
*ptr = transToClient[(unsigned)*ptr];
@@ -129,7 +129,7 @@
void translate_to_server (unsigned char *string)
{
- char *ptr;
+ unsigned char *ptr;
for (ptr = string; *ptr; ptr++)
*ptr = transFromClient[(unsigned)*ptr];
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/vars.c new/epic4-2.6/source/vars.c
--- old/epic4-2.2/source/vars.c 2004-11-10 04:20:35.000000000 +0100
+++ new/epic4-2.6/source/vars.c 2006-06-18 19:33:51.000000000 +0200
@@ -1,4 +1,4 @@
-/* $EPIC: vars.c,v 1.48 2004/11/10 03:20:35 jnelson Exp $ */
+/* $EPIC: vars.c,v 1.49 2006/06/18 17:33:51 jnelson Exp $ */
/*
* vars.c: All the dealing of the irc variables are handled here.
*
@@ -194,6 +194,7 @@
{ "LOG_REWRITE", STR_TYPE_VAR, 0, 0, NULL, NULL, 0, 0 },
{ "MAIL", INT_TYPE_VAR, DEFAULT_MAIL, 0, NULL, set_mail, 0, 0 },
{ "MAIL_INTERVAL", INT_TYPE_VAR, DEFAULT_MAIL_INTERVAL, 0, NULL, set_mail_interval, 0, 0 },
+ /* { "MAIL_TYPE", STR_TYPE_VAR, 0, 0, NULL, set_mail_type, 0, 0 }, */
{ "MANGLE_INBOUND", STR_TYPE_VAR, 0, 0, NULL, set_mangle_inbound, 0, 0 },
{ "MANGLE_LOGFILES", STR_TYPE_VAR, 0, 0, NULL, set_mangle_logfiles, 0, 0 },
{ "MANGLE_OUTBOUND", STR_TYPE_VAR, 0, 0, NULL, set_mangle_outbound, 0, 0 },
@@ -349,6 +350,7 @@
set_string_var(HIGHLIGHT_CHAR_VAR, DEFAULT_HIGHLIGHT_CHAR);
set_string_var(LASTLOG_LEVEL_VAR, DEFAULT_LASTLOG_LEVEL);
set_string_var(LOG_REWRITE_VAR, NULL);
+ /* set_string_var(MAIL_TYPE_VAR, DEFAULT_MAIL_TYPE); */
set_string_var(MANGLE_INBOUND_VAR, NULL);
set_string_var(MANGLE_LOGFILES_VAR, NULL);
set_string_var(MANGLE_OUTBOUND_VAR, NULL);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/who.c new/epic4-2.6/source/who.c
--- old/epic4-2.2/source/who.c 2004-08-07 21:54:55.000000000 +0200
+++ new/epic4-2.6/source/who.c 2006-02-16 07:14:09.000000000 +0100
@@ -1,4 +1,4 @@
-/* $EPIC: who.c,v 1.30 2004/08/07 19:54:55 jnelson Exp $ */
+/* $EPIC: who.c,v 1.32 2006/02/16 06:14:09 jnelson Exp $ */
/*
* who.c -- The WHO queue. The ISON queue. The USERHOST queue.
*
@@ -635,6 +635,9 @@
{
WhoEntry *new_w = who_queue_top(refnum);
+ if (!(ArgList[0]))
+ { rfc1459_odd(from, comm, ArgList); return; }
+
if (!new_w)
{
new_w = get_new_who_entry();
@@ -663,6 +666,9 @@
WhoEntry *new_w = who_queue_top(refnum);
char buffer[1025];
+ if (!(ArgList[0]))
+ { rfc1459_odd(from, comm, ArgList); return; }
+
PasteArgs(ArgList, 0);
if (who_whine)
@@ -851,8 +857,7 @@
for (item = s->ison_queue; item; item = item->next, count++)
{
- yell("[%d] [%s] [%#x]", count, item->ison_asked,
- (unsigned)item->line);
+ yell("[%d] [%s] [%p]", count, item->ison_asked, item->line);
}
}
@@ -913,6 +918,8 @@
void ison_returned (int refnum, const char *from, const char *comm, const char **ArgList)
{
IsonEntry *new_i = ison_queue_top(refnum);
+ if (!(ArgList[0]))
+ { rfc1459_odd(from, comm, ArgList); return; }
if (!new_i)
{
@@ -1166,6 +1173,9 @@
char *ptr;
char *results;
+ if (!(ArgList[0]))
+ { rfc1459_odd(from, comm, ArgList); return; }
+
if (!top)
{
yell("### Please don't /quote a server command that returns the 302 numeric.");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/source/window.c new/epic4-2.6/source/window.c
--- old/epic4-2.2/source/window.c 2004-05-28 17:32:33.000000000 +0200
+++ new/epic4-2.6/source/window.c 2005-02-23 05:23:57.000000000 +0100
@@ -1,4 +1,4 @@
-/* $EPIC: window.c,v 1.95 2004/05/28 15:32:33 jnelson Exp $ */
+/* $EPIC: window.c,v 1.97 2005/02/23 04:23:57 jnelson Exp $ */
/*
* window.c: Handles the organzation of the logical viewports (``windows'')
* for irc. This includes keeping track of what windows are open, where they
@@ -5011,7 +5011,12 @@
Display *curr_line, *next_line;
int count;
- curr_line = window->holding_top_of_display;
+ if (!(curr_line = window->holding_top_of_display))
+ {
+ say("/WINDOW FLUSH doesn't do anything unless you're in hold mode");
+ return 0;
+ }
+
for (count = 1; count < window->display_size; count++)
{
if (curr_line == window->display_ip)
@@ -5217,9 +5222,9 @@
if (ratio > 100)
ratio = 100;
- if ((lines = current_window->display_size * ratio / 100) < 1)
+ if ((lines = window->display_size * ratio / 100) < 1)
lines = 1;
- window_scrollback_forwards_lines(current_window, lines);
+ window_scrollback_forwards_lines(window, lines);
}
static void window_scrollback_backward (Window *window)
@@ -5232,9 +5237,9 @@
if (ratio > 100)
ratio = 100;
- if ((lines = current_window->display_size * ratio / 100) < 1)
+ if ((lines = window->display_size * ratio / 100) < 1)
lines = 1;
- window_scrollback_backwards_lines(current_window, lines);
+ window_scrollback_backwards_lines(window, lines);
}
void scrollback_forwards (char dumb, char *dumber)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/epic4-2.2/UPDATES new/epic4-2.6/UPDATES
--- old/epic4-2.2/UPDATES 2004-11-10 04:20:35.000000000 +0100
+++ new/epic4-2.6/UPDATES 2006-11-17 00:48:10.000000000 +0100
@@ -1,155 +1,4 @@
-EPIC4-2.2
-
-*** News -- 11/09/2004 -- Changes to way spaces are handled *** IMPORTANT ***
- Up until this point, the technical definition of what is a "space"
- (the term used for an Internal Field Separator (IFS), that is, the
- thing that separates one word from another word)
-
- EPIC has always had three sets of IFSs
- 1) Character 32 only ("space")
- 2) Characters 9, 10, 11, 12, 13, and 32 ("my_isspace()")
- 3) Whatever your locale says is a space ("isspace")
-
- In the C locale (the default for unix users), sets #2 and #3 are
- exactly the same. I don't know about other locales.
-
- Now we are going to only use set #3. Changing Set #2 to Set #3 is
- easy, and nobody should notice any difference there. The one that
- is going to cause pain is Set #1. Consider this situation:
-
- One<tab>Two
-
- Is this one word, or two words? In some places in epic, it is one
- word, and in other places it is two words. As a result of this
- change, it will now always be two words every place.
-
- Here is a list of the places that were using Set #1 that will change
- to use Set #3, and you should be on the lookout for changes!
-
- *) /AWAY separated the end of its flags with spaces.
- This means
- /AWAY -ALL<tab>Hi there!
- will now work properly.
- *) $pop(....) removes the last word from the argument list.
- Whereas $pop(one two<tab>three) used to return "two<tab>three"
- is will now only return "three"
- *) Commands are separated from the argument list by a "space".
- Whereas
- /one<tab>two blah blah blah
- parsed "one<tab>two" as the command, now "one" is the command
- and "two" is part of the argument list.
- *) In expressions, a variable name may be separated from an
- operator with a space. Whereas things like
- @var<tab> =foo
- might have failed because <tab> is not a valid character in
- a variable name, it will now treat <tab> the same as a space.
- *) Places that expect a number did not accept a string that contained
- a <tab> so that things like
- <tab><tab>9
- was not accepted as a number. Now it will be.
- *) The /IGNORE command used to consider a string containing a <tab>
- to not be empty. This means that
- /IGNORE <tab>
- would not list the ignorance list, but rather would try to show
- the ban value for an ignore matching <tab> which isn't reasonable.
- *) The % wildcard pattern stopped matching only when it saw char 32.
- Now it will stop whenever it seems a Set 3 type space.
- So whereas before "%" matched "one<tab>two" now it won't,
- because "one<tab>two" is two words, not one word.
- *) In /xdebug extractw mode, tabs before or after double quotes were
- not considered to start or end a double quoted word. So previously
- this string:
- one <tab>"two three" four
- contained four words, because the <tab> before "two nullified
- the double quoting. Now that <tab> is treated like any other
- space, the above word has three words, not four.
-
- Places that use Set 1 and will NOT be changing to Set 3, because
- they are parsing IRC protocol data, which stipulates that the IFS
- MUST be a space solely:
-
- *) CTCP requests and replies are formatted only with spaces
- *) Words in protocol messages are separated only with spaces
-
-*** News -- 11/09/2004 -- You may now mangle ALT_CHAR characters
- And ALT_CHAR mangling is included in ALL. This was an oversight
- that was fixed in epic5.
-
-*** News -- 11/02/2004 -- Mangling "ALL,-BOLD" no longer mangles "ALL_OFF"
- In general, if you use ANSI (ALL includes ANSI), the mangled string
- has its six attributes (COLOR, REVERSE, UNDERLINE, BOLD, BLINK,
- ALT_CHAR) rewritten into canonical form. This will add some ALL_OFFs
- to your string that weren't there originally. So if you strip all of
- the attributes (as ALL does), then epic will strip ALL_OFF off as well.
- This retains backwards compatability with ALL.
-
- But if you use ANSI and don't want to strip all 6 of the attributes,
- then it's important that ALL_OFFs are not removed, otherwise your
- string will not appear as it should (the ANSInator uses ALL_OFFs to
- turn off attributes). So EPIC automatically will not strip ALL_OFFs
- if you use ANSI and do not mangle one of the 6 attributes.
-
- Examples:
- $stripcrap(ALL this is ^B^_bold underline^_ not bold)
- will strip everything as it has always done.
-
- $stripcrap(ALL,-BOLD this is ^B^_bold underline^_^B not bold)
- will strip everything but not bold and all_offs, because if all_offs
- are stripped, then "not bold" will be in bold!
-
- The entire point of this is to allow /set mangle_logfile ALL to
- work the way it has always worked, and $stripcrap(ALL,-BOLD ...)
- to work the way it *should* work.
-
-*** News -- 10/06/2004 -- Support for +e and +I numerics from efnet
- EFNet has +e and +I channel modes, which act like +b does.
- These numerics are now handled by epic like +b is.
-
-*** News -- 10/06/2004 -- New status bar expandos, %{2}W and %{3}W
- These two new expandos expand to the same value as %W.
-
- %W Expands on each input window on each screen that has
- two or more visible windows.
-
- %{2}W Expands on all visible windows on all screens.
-
- %{3}W Expands on each input window on each screen, even on
- screens that have only one visible window.
-
-*** News -- 10/06/2004 -- Support for ircnet's "numeric nick" feature
- On ircnet, each user is given a unique numeric identifier, which
- is their one true nickname. In addition to this numeric id, they
- can have a rfc1459 nickname, but they are not required to have one.
- Further, the special numeric id 0 is reserved and refers to the
- user's own numeric id. EPIC now fully supports all of this,
- particularly in the following ways:
-
- /NICK <unique id>
- /NICK 0
- To turn off your rfc1459 nickname.
-
- $serverctl(GET <refnum> UNIQUE_ID)
- $serverctl(SET <refnum> UNIQUE_ID)
- To retrieve and change your unique nickname.
- Changing your unique id is probably a bad idea.
-
- /USERHOST <unique id>
- You may USERHOST unique id's now.
-
- 'epic 0'
- You may now use the nickname 0 on the epic command
- line if you don't want to use an rfc1459 nickname
- on an ircnet server.
-
- Using unique numeric id's on non-ircnet servers is probably
- fraught with peril. Try to avoid that.
-
-*** News -- 10/06/2004 -- /SET INDENT maxes out at 1/3 screen width
- Previously, if you did /set indent on, and the width of the
- first word on the first line was > 1/3 of the screen's width,
- then the second (and subsequent) lines were not indented at all.
- This was the historical ircII behavior. It seems more sensible
- to cap the indent level at 1/3 of the screen's width and indent
- it to there.
+EPIC4-2.6
+http://www.epicsol.org/UPDATES for old stuff>
# End of file
++++++ epic4-config.patch ++++++
--- epic4-2.0/include/config.h
+++ epic4-2.0/include/config.h
@@ -42,7 +42,7 @@
* the client will NOT compile and work properly! Use the default here if
* you dont have other servers to use.
*/
-#define DEFAULT_SERVER "localhost irc.efnet.net irc.undernet.org irc.dal.net"
+#define DEFAULT_SERVER "irc.freenode.net"
/*
* This is an experimental feature to thwart infinite recursion. It is not
@@ -328,7 +328,7 @@
#define DEFAULT_ALWAYS_SPLIT_BIGGEST 1
#define DEFAULT_AUTO_NEW_NICK 1
#define DEFAULT_AUTO_RECONNECT 1
-#define DEFAULT_AUTO_RECONNECT_DELAY 0
+#define DEFAULT_AUTO_RECONNECT_DELAY 2
#define DEFAULT_AUTO_REJOIN 0
#define DEFAULT_AUTO_REJOIN_CONNECT 1
#define DEFAULT_AUTO_REJOIN_DELAY 0
@@ -344,15 +344,15 @@
#define DEFAULT_BOLD_VIDEO 1
#define DEFAULT_CHANNEL_NAME_WIDTH 0
#define DEFAULT_CLOCK 1
-#define DEFAULT_CLOCK_24HOUR 0
-#define DEFAULT_CLOCK_FORMAT NULL
+#define DEFAULT_CLOCK_24HOUR 1
+#define DEFAULT_CLOCK_FORMAT %H:%M
#define DEFAULT_CLOCK_INTERVAL 60
#define DEFAULT_CMDCHARS "/"
#define DEFAULT_COLOR 1
#define DEFAULT_COMMAND_MODE 0
#define DEFAULT_COMMENT_HACK 1
#define DEFAULT_CONNECT_TIMEOUT 30
-#define DEFAULT_CONTINUED_LINE "+"
+#define DEFAULT_CONTINUED_LINE ""
#define DEFAULT_CPU_SAVER_AFTER 0
#define DEFAULT_CPU_SAVER_EVERY 60
#define DEFAULT_CURRENT_WINDOW_LEVEL NULL
@@ -382,7 +382,7 @@
#define DEFAULT_HELP_PROMPT 1
#define DEFAULT_HELP_WINDOW 0
#define DEFAULT_HIDE_PRIVATE_CHANNELS 0
-#define DEFAULT_HIGH_BIT_ESCAPE 2
+#define DEFAULT_HIGH_BIT_ESCAPE 0
#define DEFAULT_HIGHLIGHT_CHAR "BOLD"
#define DEFAULT_HISTORY 150
#define DEFAULT_HISTORY_CIRCLEQ 1
@@ -417,7 +417,7 @@
#define DEFAULT_NO_CONTROL_LOG 0
#define DEFAULT_NUM_OF_WHOWAS 1
#define DEFAULT_PAD_CHAR ' '
-#define DEFAULT_QUIT_MESSAGE "ircII %s -- Are we there yet?"
+#define DEFAULT_QUIT_MESSAGE "I quit"
#define DEFAULT_RANDOM_LOCAL_PORTS 0
#define DEFAULT_RANDOM_SOURCE 0
#define DEFAULT_REVERSE_STATUS_LINE 1
++++++ epic4-help-20040801.tar.bz2 -> epic4-help-20050315.tar.bz2 ++++++
++++ 3899 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org