Commit Graph
100 Commits
Author SHA1 Message Date
Kevin Easton de1145ffc9 Refine illegal message source characters: * is in, - is out.
IRCNet uses message sources like *.se (ie masked server names) after a
netsplit.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@509 13b04d17-f746-0410-82c6-800466cd88b0
2014-10-14 13:44:45 +00:00
Kevin Easton c41048b896 Increase size of buffer to handle maximum-length topics in status_topic().
This affects the maximum length of the topic that can be displayed by the %-
status format.  No topic can be longer than IRCD_BUFFER_SIZE, so use that.

Reported by oxy.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@508 13b04d17-f746-0410-82c6-800466cd88b0
2014-10-14 12:57:01 +00:00
Kevin Easton 8fde6f8248 Don't allow message source name to include ','.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@507 13b04d17-f746-0410-82c6-800466cd88b0
2014-10-14 12:37:56 +00:00
Kevin Easton 5126d21126 Add /FSET WHOIS_LOGGEDIN to format RPL_WHOISLOGGEDIN, used by hybrid, ratbox, ircu and derivatives.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@506 13b04d17-f746-0410-82c6-800466cd88b0
2014-10-10 12:56:09 +00:00
Kevin Easton 4d14d35d1a Allow nicknames to start with ~, apparently allowed by IRCnet.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@505 13b04d17-f746-0410-82c6-800466cd88b0
2014-10-05 22:19:39 +00:00
Kevin Easton 5e55fc5dee Cleanup send_whom(), and fix bug where get_socketinfo() was used instead of get_socket().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@504 13b04d17-f746-0410-82c6-800466cd88b0
2014-09-24 14:28:19 +00:00
Kevin Easton 337c3128d1 Fix faulty boolean logic in .echo xlink command.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@503 13b04d17-f746-0410-82c6-800466cd88b0
2014-09-24 14:14:59 +00:00
Kevin Easton 6d2675e312 Slight cleanup to some xlink code.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@502 13b04d17-f746-0410-82c6-800466cd88b0
2014-09-24 13:35:13 +00:00
Kevin Easton b99118c030 Add sanity checking of incoming nicknames.
Check that at least the first character of an incoming nickname is valid (we
actually go a bit beyond the RFC by also allowing any char with bit 8 set - at
least Russian servers use nicknames like this).


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@501 13b04d17-f746-0410-82c6-800466cd88b0
2014-09-24 06:54:00 +00:00
Kevin Easton 6dc2335df9 The /mv command shouldn't send +v for already-voiced users.
The logic in the massop function to exclude already-voiced users from
massvoice was faulty - it was equivalent to just !nick_isop().


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@500 13b04d17-f746-0410-82c6-800466cd88b0
2014-09-23 13:59:03 +00:00
Kevin Easton a3170cf578 Fix regression introduced in r480, where /BKI on non-joined clients no longer ignored.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@499 13b04d17-f746-0410-82c6-800466cd88b0
2014-09-23 13:46:47 +00:00
Kevin Easton e808dbe94b Change the lag check so that it does not try to format a time_t using %lu.
Recent OpenBSD and NetBSD have changed time_t to be a 64 bit type on all
platforms.  This means that on 32 bit systems, time_t is now longer than
long, and %lu can't be used to format it.

The lag check doesn't actually care what is in the first field of the PING
command, so change it to be our nick (which is arguably what it should be).


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@498 13b04d17-f746-0410-82c6-800466cd88b0
2014-09-21 14:54:12 +00:00
Kevin Easton f13de53ad4 Fix bug introduced in r243 where /LASTLOG without -FILE no longer worked.
Reported by jeezy.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@479 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-24 13:15:22 +00:00
Kevin Easton b300961524 alias.c: Remove unused variables in pmatch_cmd_alias(), pmatch_assign_alias() and do_stack_alias().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@478 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-18 13:13:26 +00:00
Kevin Easton f22dc54b13 Change BX_add_to_screen() and BX_skip_incoming_mirc() to use char * rather than unsigned char * arguments.
This clears up a few pointer type mismatch warnings.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@477 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-18 12:38:07 +00:00
Kevin Easton ced7f9bcc9 keys.c: Convert most uses of unsigned char to char, clearing up warnings.
This also fixes the ability to bind to key sequences ending in ^.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@476 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-17 21:37:32 +00:00
Kevin Easton de3d310678 Change RETURN_STR() macro to silence 'always evaluates to true' warnings.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@475 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 11:35:41 +00:00
Kevin Easton 324cdd4c85 Update plugins to cast time_t to long when formatting with %ld.
Fixes platforms where time_t and long are different sizes.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@474 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 10:59:34 +00:00
Kevin Easton 87de292f53 cdcc.c: Cast time_t to long before formatting with %ld.
Fixes platforms where time_t and long are not the same size, like netbsd i386.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@473 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 03:18:39 +00:00
Kevin Easton d03781f45b Fix the $timer() scripting function.
This function never worked - function_timer() was creating a string but then
never throwing it away and returning a part of the argument instead, which
then caused a crash because it couldn't be freed later in the expression
parsing.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@472 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 03:17:13 +00:00
Kevin Easton ffea653764 Fix the /TKB (timed kickban) command.
An incorrect pointer was being passed to malloc_sprintf(), causing a
crash.  Use m_sprintf() instead.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@471 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 03:13:26 +00:00
Kevin Easton 5a3a74d38a functions.c: Fix mismatched format strings in several aliases and functions.
Affected functions are alias_idle(), alias_serverlag(), alias_awaytime(),
function_serverpass(), function_checkuser() and function_isuser().

This fixes $serverpass(), which seems to have never worked right.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@470 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 01:33:53 +00:00
Kevin Easton 55d3b28060 dcc.c: Fix mismatching format strings in get_dcc_info() and dcc_ftpcommand().
Cast time_t value to long and use %ld to print.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@469 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 00:18:39 +00:00
Kevin Easton 021812f6ae Respin configure and defs.h.in for configure.in r467.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@468 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 00:09:33 +00:00
Kevin Easton f178d6e024 Fix int/long typo.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@467 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-16 00:08:31 +00:00
Kevin Easton e7c8240622 Use long instead of time_t in send_kline(), and cast time_t values to long in sping() when using %ld format.
This fixes bugs on netbsd i386, where time_t is longer than long.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@466 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-15 13:57:46 +00:00
Kevin Easton 77ee55f33f Simplify function_uptime() and change it to use long instead of time_t.
This fixes a series of compiler warnings on netbsd i386.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@465 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-15 12:55:44 +00:00
Kevin Easton 70b1c060f3 Change function_tdiff2() to use long instead of time_t, which fixes warnings on netbsd i386.
Also rework function to use snprintf() instead of sprintf().


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@464 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-15 12:11:19 +00:00
Kevin Easton b2ae3c888f Cleanup get_term_capability(), silences some warnings.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@463 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-13 13:35:10 +00:00
Kevin Easton 58b5d39fea Remove unnecessary variable proctitlestr.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@462 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-13 11:43:57 +00:00
Kevin Easton 3b99834e00 Partially revert r456.
An snprintf() call that creates IRC protocol messages must use 
(MAX_PROTOCOL_SIZE + 1) as 'n' rather than the buffer size.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@461 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-13 09:57:15 +00:00
Kevin Easton d9a81a2841 who.c: Apply patch from tau replacing sprintf() with snprintf().
Also some minor associated cleanups from me.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@442 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-11 13:48:32 +00:00
Kevin Easton 220225f4ff whowas.c: Apply patch from tau replacing sprintf() with snprintf().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@441 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-11 13:37:14 +00:00
Kevin Easton f222b94d13 window.c: Apply patch from tau replacing sprintf() with snprintf().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@440 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-11 13:24:38 +00:00
Kevin Easton f086f264bb wserv.c: Apply patch from tau converting sprintf() to snprintf().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@439 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-11 13:23:11 +00:00
Kevin Easton 03761ec715 Respin configure and defs.h.in for new configure.in, and update ircterm.h to match.
ircterm.h now includes ncurses/ncurses.h if present, which is necessary for Cygwin.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@438 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-10 12:00:08 +00:00
Kevin Easton f2aa46e252 Add check for ncurses/ncurses.h to configure. This is where Cygwin installs ncurses.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@437 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-10 11:57:45 +00:00
Kevin Easton ecabc12b3d Add helper macros to always call tparm() with 10 arguments.
This ensures portability to systems with a fixed-argument list declaration
of tparm(), like NetBSD curses.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@436 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-10 06:27:03 +00:00
Kevin Easton 0fe37326a3 Rebuild configure and defs.h.in from new configure.in, and update code to match.
This simplifies the inclusion logic in ircterm.h, and updates term.c to include
term.h if available.  This removes the declarations for setupterm(), tigetstr(),
tigetnum(), tigetflag(), tgetent(), tgetstr(), tgetnum() and tgetflag() from
term.c as those should be defined in term.h or termcap.h.

This should make the system declaration of tparm() available to term.c, which
will fix a crash on NetBSD x86-64 caused by the implicit declaration of tparm()
having a return type of 'int' while the real function has a return type of
'char *'.

We have to include term.h in term.c, not in ircterm.h because term.h defines
a large number of macros, at least two of which ('lines' and 'goto_window')
conflict with names in use in the rest of the codebase.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@435 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-10 05:38:06 +00:00
Kevin Easton 73c9947324 Rewrite the termcap/terminfo detection logic in configure.
The new logic is considerably shorter and simpler, and should mean that
terminfo is properly used in preference to termcap on NetBSD.  This also
allows us to include term.h in term.c, where the system definition of
tparm() lives on some systems (NetBSD is one such).

The new logic also means we link against libtinfo in preference to
libncurses, which should mean a little less memory used at runtime and a
fraction faster startup time.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@434 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-10 04:50:52 +00:00
Kevin Easton 96f1d64aa0 Change ircterm.h header include guard so that it doesn't clash with
the system term.h.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@433 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-09 11:04:30 +00:00
Kevin Easton 590ae4c685 Further cleanups in dcc.c, removing unused variables and reworking dcc_exempt_save().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@430 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-06 10:35:16 +00:00
Kevin Easton 15894eb006 Some simplification / cleanup in dcc_glist().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@429 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-05 13:07:06 +00:00
Kevin Easton 456a0061f0 Fix output when client is built against termcap.
The pointer passed to tgetstr() must not be reset each time around the loop.
Also some other minor cleanups in term_init().


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@428 13b04d17-f746-0410-82c6-800466cd88b0
2013-11-01 13:06:02 +00:00
Kevin Easton 25dcf0709b Don't crash if the user gives a bogus status format with too many elements.
Replace unused .format_var member of status_expandos list with .args. For
expandos which have a subformat, this stores how many arguments are passed to
sprintf() when the subformat is expanded in the callback function.  The
convert_sub_format() function then uses this to limit the number of %s
conversion specifiers it creates in the converted subformat.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@426 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-30 13:09:03 +00:00
Kevin Easton 02327eebae Fix STATUS_NOTIFY so that it appears in the right window.
The old code was reusing the 'window' variable, which means that it
could pick up the STATUS_NOTIFY format from the wrong window.  You
would only have noticed this if you have windows with different settings
for STATUS_NOTIFY.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@425 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-29 13:25:10 +00:00
Kevin Easton e9d180f526 Improve handling of padding in status formats.
Status formats support a %<PAD>c syntax for specifying padding.  This change
ensures that we only use padding consisting of the characters "0123456789.",
which ensures it won't confuse sprintf.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@424 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-29 13:14:19 +00:00
Kevin Easton e281537918 logfile should be initialised from LOGFILE_VAR if that is set.
We can also rearrange things to remove the need for the add_ext variable,
hopefully also making the logic a bit more clear.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@423 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-27 15:08:23 +00:00
Kevin Easton c9260b61d3 Fix typo reported by nesta.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@397 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-16 22:27:23 +00:00
Kevin Easton 933478d7b1 Rename cavlink's randm() function to cav_randm() so that it doesn't clash with
the definition from ircaux.h.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@396 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-16 11:59:36 +00:00
Kevin Easton a5bfc81b04 Fix typo bufer -> buffer.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@395 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-16 11:58:14 +00:00
Kevin Easton 751c53678d Use sizeof instead of size constant when passing buffers to getcwd().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@394 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-14 14:13:42 +00:00
Kevin Easton 69109d9045 Ensure that crypt_msg always leaves space for the trailing CTCP delimiter.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@393 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-14 14:10:26 +00:00
Kevin Easton 86d47f06ce Fix behaviour of /XDEBUG with no arguments (based on EPIC).
Previously it would carefully construct a string, then do nothing with it.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@392 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-14 14:02:09 +00:00
Kevin Easton 3de05c07c1 Only build and use the compat.c bsd_setenv/bsd_putenv/bsd_unsetenv on systems
that don't provide the POSIX setenv().

This fixes building plugins that link to compat.c on OS X (shared libraries on
OS X don't have direct access to environ).  It also reduces the binary size on
platforms which provide setenv(), which these days is most of them.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@382 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-09 21:40:55 +00:00
Kevin Easton 040c6abbe4 Add configure check for setenv()
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@381 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-09 20:08:17 +00:00
Kevin Easton 8c618b82fc Fix some longstanding build problems with !WANT_CDCC.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@380 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-06 13:20:46 +00:00
Kevin Easton 742887059d arcfour: Zero the full size of the 'in' array.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@379 13b04d17-f746-0410-82c6-800466cd88b0
2013-10-06 13:18:22 +00:00
Kevin Easton 717d2e88b7 Fix incorrect truncation in cluster() caused by strlcpy().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@377 13b04d17-f746-0410-82c6-800466cd88b0
2013-09-28 14:26:57 +00:00
Kevin Easton d7bdc25960 Use memcpy() instead of strlcpy() in two places where the source length is
known and the destination length is known to be sufficient.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@376 13b04d17-f746-0410-82c6-800466cd88b0
2013-09-28 14:01:23 +00:00
Kevin Easton 4118a120bc Don't truncate the password and salt passed to crypt() by the $crypt()
scripting function - this allows alternate hashing methods to be selected
if supported by the C library.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@361 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-20 12:50:39 +00:00
Kevin Easton 2fea73808f Improve the initial seeding of the randm() RNG. This is the RNG selected
for $rand() when RANDOM_SOURCE is 1.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@359 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-17 15:10:17 +00:00
Kevin Easton 641565d4eb Strengthen the algorithm that generates a random cookie for /detach.
This is a backwards-compatible change, no update to the scr-bx binary
is necessary.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@358 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-17 14:51:28 +00:00
Kevin Easton 5582171286 Switch random_number() to always use the best entropy source for internal
client purposes.  The RANDOM_SOURCE setting now only affects the $rand()
scripting function.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@357 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-17 14:47:04 +00:00
Kevin Easton 0b0dbf5cf7 Make the RANDOM_LOCAL_PORTS setting actually use a random port.
The code was calling random_number(65535 - 1024), but a non-zero argument
to random_number() is actually a seed to reseed the generator, and causes
random_number() to return zero.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@331 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-15 15:06:21 +00:00
Kevin Easton 176be1cff2 Add the ability to bind listening sockets to addresses, and use this for the
/detach IPC socket.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@330 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-15 14:05:15 +00:00
Kevin Easton a6f8021cd9 Fix a couple of compiler warnings in irc.c - two places where the address
of an array was tested (always not-NULL) and one unused variable (first_time
in io()).

The user-visible change here is that the emergency exit QUIT messages 
(eg "User abort with 5 Ctrl-C's") will be correctly relayed to the local 
terminal now.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@321 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-14 14:39:24 +00:00
Kevin Easton 1cfaf1349c Remove XLINK CTCP reply handler - it's not used for the botlink
functionality.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@320 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-14 13:34:04 +00:00
Kevin Easton 4a25f5462f Simplify code that produces realname from gecos, replace strmcat() with strlcat().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@319 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-14 09:32:33 +00:00
Kevin Easton 338a8ecd4c Remove unnecessary declarations in term.c for wserv builds.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@312 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-12 09:40:59 +00:00
Kevin Easton c7cefb1c05 Don't look beyond the end of a cparse format if it ends with % or $.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@310 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-10 15:59:04 +00:00
Kevin Easton 9e0ba0a573 Pass correct buffer size to fgets().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@309 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-10 03:54:48 +00:00
Kevin Easton 6691732900 Make add_socketread() close the new socket if it can't be added to the
socket manager because it exceeds FD_SETSIZE.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@307 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-07 23:03:45 +00:00
Kevin Easton c85ca721e3 strmcpy() does include the null terminator in the maximum number of bytes to
be written, so use sizeof - 1 instead of sizeof.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@303 13b04d17-f746-0410-82c6-800466cd88b0
2013-08-01 14:47:12 +00:00
Kevin Easton 84a87ca7ec Add socklen_t typedef for very old systems that don't provide it.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@286 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-15 01:29:43 +00:00
Kevin Easton 9378704c39 Improve the list_channels() function so that it behaves correctly when
connected to multiple servers.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@285 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 14:01:20 +00:00
Kevin Easton 7d9ffbe792 Add Changelog entry for socklen_t change.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@284 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 13:33:09 +00:00
Kevin Easton e915462aef Change a & to && in BX_do_compress_modes() to squash a warning. Should
be no behavioural change.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@283 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 13:25:22 +00:00
Kevin Easton 2235c029bb Update Changelog for sys/termios -> termios fix.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@276 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 02:03:44 +00:00
Kevin Easton cc0b75f2dd Include <termios.h> in preference to <sys/termios.h>.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@275 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 02:01:59 +00:00
Kevin Easton ce86c78a21 Respin configure and defs.h.in for configure.in r273.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@274 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 00:57:29 +00:00
Kevin Easton 4673c6ff01 Add configure check for <termios.h>.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@273 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 00:55:35 +00:00
Kevin Easton 791c49986e Remove unnecessary termios.h includes.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@272 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 00:51:58 +00:00
Kevin Easton d2b9d769e8 Respin configure and defs.h.in for configure.in r270.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@271 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 00:24:05 +00:00
Kevin Easton f4d7123ad6 Add configure check for socklen_t.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@270 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-14 00:14:24 +00:00
Kevin Easton d6393b8248 acro plugin: Use correct module name when registering command.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@265 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-10 13:33:43 +00:00
Kevin Easton b1de392172 acro plugin: Don't sort scores when saving to file. This was losing the head
of the list, and it's not necessary anyway.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@264 13b04d17-f746-0410-82c6-800466cd88b0
2013-07-10 12:57:06 +00:00
Kevin Easton b5574f3b23 Replace fprintf() of single fixed buffer with fputs().
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@247 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-25 12:16:38 +00:00
Kevin Easton 8a04cbeba8 Don't pass the output of convert_output_format(FORMAT_DCC, ...) directly to
sprintf() as a format string, because there could (and usually are!) '%'
characters that will be interpreted by sprintf.

This also allows clean compilation under -Werror=format-security.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@246 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-23 14:36:32 +00:00
Kevin Easton dd9de3dff0 Update (currently un-used) save_digraphs() function so that it compiles
cleanly with -Werror=format-security.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@245 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-23 14:32:47 +00:00
Kevin Easton c51810738e Improve handling of one kind of malformed CDCC save file, where the pack
description line doesn't contain a space.  Found by Coverity.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@244 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-20 01:45:29 +00:00
Kevin Easton 882c3150e2 Fix open file leak in /LASTLOG, in situations like:
/LASTLOG -FILE /tmp/a -FILE /tmp/a
/LASTLOG -FILE /tmp/a -CLEAR
/LASTLOG -FILE /tmp/a -LITERAL
/LASTLOG -FILE /tmp/a -BOGUS

Found by Coverity.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@243 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-18 12:55:32 +00:00
Kevin Easton 2fc84d5f93 Fix a file descriptor leak when connect() fails during a SOCKS4 proxy
connection attempt.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@242 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-18 11:00:12 +00:00
Kevin Easton 88172a9004 paused_topic should be the same size as help_topic_list.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@239 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-16 13:12:59 +00:00
Kevin Easton ceb0492734 Cleanup save_formats() by removing unused function argument.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@238 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-16 12:21:03 +00:00
Kevin Easton bad477f9dc Fix off-by-one error in the check for s against FD_SETSIZE in add_socketread()
and set_socketwrite().  This was found by Coverity.



git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@237 13b04d17-f746-0410-82c6-800466cd88b0
2013-06-16 06:04:29 +00:00
Kevin Easton 6045b8fe91 Fix installhelp target on OpenBSD.
The -R flag to cpio isn't portable, so replace it with an open-coded
shell loop.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@236 13b04d17-f746-0410-82c6-800466cd88b0
2013-05-22 11:56:20 +00:00
Kevin Easton 092d9789e0 Order the rfc1459[] array correctly.
This is a longstanding bug - it's also present in EPIC4 and EPIC5 so it's
probably been in BitchX since the beginning.  The bug has been latent until
the AUTHENTICATE and CAP commands were added, which perturbed the binary
search so that the client didn't see invite messages properly.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@235 13b04d17-f746-0410-82c6-800466cd88b0
2013-04-24 12:05:44 +00:00
Kevin Easton 73269ea887 Bail out of check_auto_reply() early if auto_str is NULL. This fixes a
crash after /SETAR -.

Reported by riderplus.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@234 13b04d17-f746-0410-82c6-800466cd88b0
2013-03-01 12:33:00 +00:00
Kevin Easton 17e3a91f03 Remove handling for the 484 numeric. It was intended for ircnet's 484
(ERR_RESTRICTED), to set user mode +r - however this does not appear to
be necessary anymore.  It was also buggy for several reasons: due to 
a change in set_server_flag() this has actually been setting mode +G; and
484 is ERR_ISCHANSERVICE on other ircds.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@233 13b04d17-f746-0410-82c6-800466cd88b0
2013-02-25 12:22:54 +00:00