CVS log for epic4/include/defs.h.in |
![]() |
Request diff between arbitrary revisions
* Fix brain-o -- AC_MSG_RESULT is not the same as AC_DEFINE, dummy. * Add $regcomp_cs() from epic5 as a special favor to blackjac.
* Move "term.h" out of the way so we can #include <term.h> (mv'd to termx.h) * This makes it possible to avoid empty decls for tparm() * Which is supposed to fix the build for larne on who-only-knows-what. * Rename tparm() to my_tparm(). * Do a make depend since i changed the name of a header file. ugh. * Change the name of (struct term) to (struct my_term) for freebsd sake. ugh.
* 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.
Let us never speak of this commit again.
Wrapper for atoll() for freebsd-stable and stuff.
Unconditionally do (long long) integer math in the new math parser if your system supports (long long). I suppose on some systems this will make math slower, but that seems like a small price to pay for having integers that will actually support IP addresses! $info(o) will inclue the letter 'l' if the host client is working with 64 bit integers in the new math parser. Please note that the old math parser has not changed, and still only supports 32 bit integers, and that won't change for backwards compatability. If you really really really need 64 bit integers, think about changing to the new math parser.
Fix it so you can compile on systems without (intptr_t) again.
Include <stdint.h> and <inttypes.h> if they exist.
Add support for clock_gettime() which is the posix version of gettimeofday().
Nominally remove all uses of "unsafe" functions: (Commit 506)
* Convert all uses of strcpy() to strlcpy()
* Convert all uses of strcat() to strlcat()
* Convert all uses of strmcpy() to strlcpy()
* Convert all uses of strmcat() to strlcat()
* Convert all uses of sprintf() to snprintf()
* As much as possible, use 'sizeof var' in snprintf/strlcpy/strlcat.
* Qualify the size of some global vars so we can sizeof() them.
* Nuke strmcpy(), strmcat(), strmcat_ue(), strmccat(),
* Change strmopencat() to strlopencat().
* Change strmpcat() to strlpcat().
* Fix switch_hostname so it doesn't return a (const) string.
* Fix TimerTimeout so it doesn't return a (const) Timeval.
* Change things like (ret) to do ret while (0); for when "ret" is "{}".
* Fix initialization for load_level
* Stop passing in static strings into io(), so we can modify them.
* Make messages passed to io() more informative to the user.
* Fix CTCP FINGER handler not to assume (struct pw) strings can be overwritten.
* Use (socklen_t) and not an (int) for socket sizes.
* Don't return a value in a void function...
* Don't use return value of process_dcc_chat_ctcps() for assignment.
* Don't put semicolons after function bodies
* Fix $getopt() to save 'input_size' so we can use it with strl*().
* Convert all uses of stpcpy() to strlcat() and strlopencat().
* Nix checks for stpcpy() in configure -- regen configure.
Another merge.
Fix various specious warnings from gcc, also, don't test for "sun_len" in configure; use "sa_len" test for that.
Yikes. Merged to become consistent with HEAD. Sorry for all the commits, I'll be quiet again soon. :) -wd
Fix compile errors in configure.in. These were my fault.
* Added functions $asciiq() $chrq() $exec() $timerctl() $tcl() $winline() and $floodinfo(). * Altered the two argument version of $read() to ctcp quote the strings it returns. * Added sets FLOOD_RATE_PER and FLOOD_MASKUSER. * Altered the "accept" mode of the dcc_raw and dcc_connect hooks to refer to the local port instead of the remote port. * Added a "-closein %proc" switch to /exec. * Altered the arg list mode of /alias to use extractw instead of next_arg. * Added the documented "words" argument to the above. * Tuned autoget, mudirc, tabkey.ce and commandqueues. * Altered /pretend to not chop the string. * Set about rewriting the flood detection and then decided that it's better off being a script. * Moved the function macros to their own file (functions.h) and replaced all the copies that are strewn throughout the source with an #include. The exception is array.c which broke when I tried it. * Moved the ctcp enquoting/dequoting functions to ircaux.c. * Added some command/function ordering checks to funcs/regress, and a check for all the functions that are undocumented. * Rewrote function chanmodetype() so that it doesn't have all those flakey buffering things. Hopefully it's readable now. The significant change is that if a mode character appears twice in CHANMODES, the first one is returned instead of the last. * Added EPIC::call() in the perl routines and an equivalent under tcl. this is designed to call a $function() directly, but it isn't really that fast, so I might rip them out again. * The /wait internals used to store a few other settings, which were taken out, so I put them back. * Fixed a few problems with normalize_filename() around the place. * Fixed a bug with /timer in which it would never show the timers after a callback.
* Add checks/workaround for linux's broken realpath(). Bleh. * Add arc4random stuff to compat.c -- will be used later! * Fix $realpath() to use normalize_filename() so it gets realpath() fix. * Add $serverctl(SET <refnum> PRIMARY) to set primary server. User beware!
* #include <unistd.h> for configure check for sys_siglist[] for netbsd.
Check for getaddrinfo() and getnameinfo() in configure otherwise we can't do ipv6 lookups. doh!
Ooops. forgot to commit defs.h.in
Add GAILIB, a bsd licensed getaddrinfo/getnameinfo implementation for ipv4 only systems. This was lifted from ruby, who lifted it from WIDE. Add #ifdef's as necessary to compile on non-ipv6 systems.
Lots more work on the ipv6 front. Remove the last of the vestiges of the old historical address handlers (inet_ntop/inet_pton/inet_aton/inet_ntoa). Now everything, and I mean EVERYTHING goes through inet_strton and inet_ntostr which are just fancy front ends to getaddrinfo() and getnameinfo(). Quite a bit of EPIC is already family-independent, but there is still some left to be clubbed into submission. The project to add support for IPv6 is now about 75% complete! Perversely enough, the only thing stopping DCC from being essentially 100% IPv6 capable is the inability to send an IPv6 hostname through a handshake without breaking the standard...
Huge major commit #1 in the great IPv6 support addition... Rather than include all of the changes here, read KNOWNBUGS changes.
Fixes inspired by first wave of testers 1) Fix casts to inet_anytop() 2) Fix configure to check for socklen_t, default to 'int'.
This is a huge monster commit -- I put the particulars of the commit in KNOWNBUGS. I will only say here that this fixes a lot of issues with DCC and introduces a lot of protocol independance into the networking API that epic works with. Good things will continue to come in the future!
Check (struct sockaddr) for sa_len, and use this as a hint as to whether sockaddrs have a "length" field in them. I will phase out the (now obsolete) check for HAVE_SUN_LEN in configure, once i'm comfortable that checking for HAVE_SA_LEN is sufficient. Whack up the (struct sockaddr_storage) to honor the HAVE_SA_LEN value probed by configure, as requested by Q (Kurt R.). Regen configure. This brings the ssl stuff into play from CE's last commit.
Drums... Drums... Drums... Drums in the deep...
Have 'configure' check for the worthiness of SNDLOWAT setsockopt option so that the linux users stop griping to me that they don't like to see the error message that linux's braindamage causes.
Rebuilt the configure script after applying SSL patch.
Applied the SSL patch from ay-ar. Details are in README.SSL. This works well at this point, but there may be teething problems.
Add compat functions for setenv() and unsetenv(). Unfortunately, if your system lacks these functions, setting environment variables causes a memory leak, and you just plain flat out can't unset environment variables. These are defects in the API (or in the OS, whichever one you prefer to blame) and do not represent bugs in EPIC.
More complete support for random local ports; /set random_local_ports now cooperates with /setenv EPIC_USE_HIGHPORTS=1, and it works on freebsd, openbsd, and linux, such as it is.
Re-run through autoconf to pick up -g -O instead of -g -O2.
Two patches applied, aka, the string and perl patches.
The perl patch adds perl support via three perl functions.
The string patch:
* Rewrites new_realloc to more closely resemble new_realloc in its
interface, and in that it calls realloc directly.
* Adds an argument to the 3cat functions that permits it to seek
directly to the end of the string. Designed to improve performance.
* Alters a few things to use the above.
* Tunes a few other string functions in ircaux.c.
* Rewrites $uniq() for performance reasons.
* Removes the part of $jot() that preallocates the string. I feel a
little guilty about this somehow though it seems to have absolutely
no effect on performance anymore.
Initial import into CVS
Initial revision
| CVS Admin |
Powered by ViewCVS 0.9.2 |