CVS log for epic5/source/compat.c

Epicsol.org
(back) Up to [Epic CVS] / epic5 / source

Request diff between arbitrary revisions


Default branch: MAIN
Bookmark a link to: HEAD / (download)

Revision 1.34 / (view) - annotate - [select for diffs] , Sat Mar 29 18:00:16 2008 UTC (5 months, 1 week ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_9, epic5-0_3_8, HEAD
Changes since 1.33: +2 -2 lines
Diff to previous 1.33
* Roll forward portability changes from epic4-2.10 (larne)
* This also includes term.h -> termx.h -- Make sure you rerun configure!

Revision 1.33 / (view) - annotate - [select for diffs] , Thu Sep 20 03:00:10 2007 UTC (11 months, 2 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_7, epic5-0_3_6
Changes since 1.32: +3 -1 lines
Diff to previous 1.32
* Create aliases for [url|b64][en|de]code, sedcrypt, and sha256 into builtins.
* Comment out builtin [url|b64][en|de]code, sedcrypt, sha256 builtin functions.
* Change /xquote -u to use xform() instead of urldecode().
* Change dcc_url[en|de]code to use xform() instead of urldecode().
* Change /on ssl_server_cert to use xform() isntead of urldecode().
* This allows me to comment out old urldcode/base64decode stuff. yay!

Revision 1.32 / (view) - annotate - [select for diffs] , Thu Aug 30 02:29:40 2007 UTC (12 months, 1 week ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_5
Changes since 1.31: +8 -1 lines
Diff to previous 1.31
* Apparantly solaris 9 doesn't have <stdint.h>, intmax_t, or strtoimax. ick.
* Begin "fixing" protected implied hooks.  Must test above examples.
* The sequence we delete stuff on shutdown actually does matter.  (Fix crash)

Revision 1.31 / (view) - annotate - [select for diffs] , Fri Jul 20 21:29:32 2007 UTC (13 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.30: +10 -10 lines
Diff to previous 1.30
Remove u_* bsd-isms so we can compile with -ansi on linux.

Revision 1.30 / (view) - annotate - [select for diffs] , Sat Jun 2 00:19:13 2007 UTC (15 months, 1 week ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_4
Changes since 1.29: +5 -5 lines
Diff to previous 1.29
* Fix happykey().  Sometimes, I just don't pay enough attention.
* Don't trim 1 too many chars on incoming encrypted messages. Important!
* Fix buffer sizes being too small to hold buffer for enc/dec short strings.
* Add $xform() handlers for blowfish and cast5
* Whip the $xform() callback functions into usable shape.
* Fix base64 encoding both via $xform() and $b64encode().
* Rewrite $xform(), see UPDATES.  Strong crypto now supported! YAY!

Revision 1.29 / (view) - annotate - [select for diffs] , Thu Apr 12 02:24:14 2007 UTC (16 months, 4 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_3
Changes since 1.28: +3 -3 lines
Diff to previous 1.28
* Add arg to panic() controlling whether panic is sent via QUIT (rb black)

Revision 1.28 / (view) - annotate - [select for diffs] , Wed Jun 7 01:41:54 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_2, epic5-0_3_1
Changes since 1.27: +3 -1 lines
Diff to previous 1.27
Fix build on freebsd/i386

Revision 1.27 / (view) - annotate - [select for diffs] , Tue Nov 1 03:17:09 2005 UTC (2 years, 10 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_2_0, epic5-0_0_8
Changes since 1.26: +3 -3 lines
Diff to previous 1.26
* Check for <ndbm.h> in configure, don't do DBM if it is absent.
* $dbmctl() always no-ops, returns empty string if dbm not available.
* Add 'd' to $info(o) if DBM support is included
* Add a check for solaris cc, moxy up the CFLAGS for larne.
* Fix compile breakage if both tparm() and base64() are missing. doh.
* Fail when maximum number of levels have been added.
* Note a few places the window refnum is changed.

Revision 1.26 / (view) - annotate - [select for diffs] , Thu Oct 13 00:49:44 2005 UTC (2 years, 10 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_7
Changes since 1.25: +114 -36 lines
Diff to previous 1.25
* Add a bsd licensed base64 encode/decode in compat.c
* Add $b64encode() and $b64decode().

Revision 1.25 / (view) - annotate - [select for diffs] , Thu Aug 25 12:49:36 2005 UTC (3 years ago) by jnelson
Branch: MAIN
Changes since 1.24: +3 -30 lines
Diff to previous 1.24
Add configure glop for intmax_t for c90 systems.  Will start using later.

Revision 1.24 / (view) - annotate - [select for diffs] , Fri Aug 5 23:54:23 2005 UTC (3 years, 1 month ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_6
Changes since 1.23: +153 -1 lines
Diff to previous 1.23
Add humanize_number() and fix compiler warnings. more to follow!

Revision 1.23 / (view) - annotate - [select for diffs] , Fri Apr 1 03:04:52 2005 UTC (3 years, 5 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_5
Changes since 1.22: +3 -1 lines
Diff to previous 1.22
* Check for arc4random() in configure, don't use compat.c version if possible.
* GC "fill_it_out" code which has been deactive for a while.
* Fix translation casting error for zlonix
* Allow current_package() to return NULL, handle that as special case.
* Refactor the startup loading stuff
* Move a couple of loads out of basical and into global.

Revision 1.22 / (view) - annotate - [select for diffs] , Sat Mar 19 03:55:55 2005 UTC (3 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21
* Change "ERROR --" to "INFO --" to not alarm people as much.
* Change a few other warnings to not be so alarming.
* Change new_realloc() to not move ptr if it is big enough to hold new size.
* Fix all the status_* sub-formats to not have any hardcoded size limits.

Revision 1.21 / (view) - annotate - [select for diffs] , Fri Mar 12 22:22:00 2004 UTC (4 years, 5 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_4, epic5-0_0_3, epic5-0_0_2
Changes since 1.20: +6 -1 lines
Diff to previous 1.20
*********** DONT RUN THIS -- IT'S WORK IN PROGRESS -- DONT RUN THIS ***********
* Import epic4 commits 674 through 692, inclusive.
* Import epic4 commits 693 through 710, inclusive (epic4-2.0 final)
* Change _X and _Y macros to LEVEL and LEVELMASK for linux (sigh)
* Add a searchbuf() 8 bit clean byte-finder for future use.
* Convert flood checking, ignore checking, lastlog, logfiles to int masks.
* Convert message_from to int masks.
*********** DONT RUN THIS -- IT'S WORK IN PROGRESS -- DONT RUN THIS ***********

Revision 1.20 / (view) - annotate - [select for diffs] , Sat Nov 22 23:29:23 2003 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_1, epic4-1_2_5, epic4-1_2_4, epic4-1_2_3, epic4-1_2_2, epic4-1_2_1, epic4-1_2_0
Changes since 1.19: +23 -4 lines
Diff to previous 1.19
More complicated atoll() replacements.

Revision 1.19 / (view) - annotate - [select for diffs] , Sat Nov 22 03:19:03 2003 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.18: +16 -1 lines
Diff to previous 1.18
Wrapper for atoll() for freebsd-stable and stuff.

Revision 1.18 / (view) - annotate - [select for diffs] , Fri May 9 03:29:52 2003 UTC (5 years, 4 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_17, epic4-1_1_16, epic4-1_1_15, epic4-1_1_14, epic4-1_1_13, epic4-1_1_12
Changes since 1.17: +2 -1 lines
Diff to previous 1.17
* Rename 'dcc()' to 'dcc_cmd()' so we can use dcc as variable
* Garbage collect unused 'irc_path' global variable.
* Add --with-warns to configure to do FreeBSD "WARNS" like compiler checks
* Many hundreds of changes to improve the "quality of code" in epic, including:
* - Treat all literal strings as (const char *) and fix const correctness.
* - Mopping up all remaining const-correctness issues
* - Do not "launder" a (const char *) to a (char *) in string searches, (ala
    strchr) but rather return a ssize_t offset value.
* - Particular, MatchingBracket() returns (ssize_t) and not (char *).
* - Eliminate all "shadow" variable names by changing them to something else.
* - Eliminate most function decls that do not include a prototype list.
* - Add prototypes for all extern functions that are missing them.
* - Ensure most function pointers include a prototype list.
* - In term.c, most of those (char *)'s are really (const char *)'s.
* - Explicitly specify 'static' functions as 'static'
* - Ensure every function is either 'static' or has a prototype.
* - Eliminate (unsigned) < (signed) type comparisons.
* Hopefully you should not notice any changes!

Revision 1.17 / (view) - annotate - [select for diffs] , Fri May 2 19:22:26 2003 UTC (5 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.16: +7 -5 lines
Diff to previous 1.16
Commit 509:
* Move /DCC from commands.c to dcc.c
* Nix the "dcc deadlist" crap.  Handle deleted dcc's more sensibly now.
* Add a "dequote" internal function that removes "s in extended words.
* Add "QWORDS" as new arglist type, for quoted-words with "s left in.
* Add "arglist" regression test.
* Fix strlcpy() in compat.c so it doesn't walk off end of string.
* Implement more sensible "locking" mechanism for dcc's
* Nix the nominally unimplemented "encrypt" feature for dcc
* Create "dcc_create" to create dcc entry
* Remove "creation" functionality from "dcc_searchlist"
* Nix global variables 'filesize' and 'global_family' now unneeded.
* Change order around of arguments to "dcc_searchlist".
* Rename "dcc_opened" to "dcc_connected" since that is what it does.
* Add "dcc_garbage_collect" which looks for dcc's that need removal.
* Add "get_dcc_by_filedesc" and "get_dcc_by_refnum" to look up dcc's
* Add "lock_dcc" and "unlock_dcc" to prevent dcc's from being GC'd.
* Double check that all output that occurs in dcc.c goes to LOG_DCC
* Use dcc_open in dcc_raw_listen() instead of doing the network stuff directly.
* Allow "booster ctcp" to be sent for dcc chat re-offerings.
* Reorganize register_dcc_offer() so it doesn't create dcc until all is well.
* Reorganize process_outgoing_file() into sub-functions.
* Don't call "dcc_dead" or "dcc_check" in main io() looper.
* Fix new_next_arg_count() to use real_move_to_abs_word() to emulate $1 usage

Revision 1.16 / (view) - annotate - [select for diffs] , Thu Apr 24 20:49:25 2003 UTC (5 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.15: +53 -62 lines
Diff to previous 1.15
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.

Revision 1.13.2.2 / (view) - annotate - [select for diffs] , Mon Mar 24 17:53:00 2003 UTC (5 years, 5 months ago) by wd
Branch: wd-devel
Changes since 1.13.2.1: +0 -0 lines
Diff to previous 1.13.2.1 to branch point 1.13 to next main 1.14
Another merge.

Revision 1.13.2.1 / (view) - annotate - [select for diffs] , Thu Feb 27 15:29:55 2003 UTC (5 years, 6 months ago) by wd
Branch: wd-devel
Changes since 1.13: +5 -5 lines
Diff to previous 1.13
Yikes.  Merged to become consistent with HEAD.  Sorry for all the commits,
I'll be quiet again soon. :)
-wd

Revision 1.15 / (view) - annotate - [select for diffs] , Sat Jan 11 04:26:52 2003 UTC (5 years, 7 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_11
Changes since 1.14: +2 -2 lines
Diff to previous 1.14
Commit #427
* Add -l<tcl> to the front of $LIBS so -lm can come after it
* Look for SSL stuff in default location before hunting for it in /usr/local.
* Reset $withval after check for perl so --without-perl doesn't --without-tcl
* Make first arg of cvtchar() a (const char *) to silence warning.
* Move 'this_sucks' label to a place where it is legal.
* Make check_val() cope with NaNs and INFs more graciously...
* Fix null deref with /lastlog -c
* Update the input line in set_update(), not the caller
* Do update the input line when redrawing status
* Change make_status() to return a success/failure value.
* Don't clear the "status line wants redraw" flag if redrawing status fails.
* Nuke the now unecessary "in_window_command" global variable.
* Fix bug where <scrollback> + <scrollforward> left you in scrollback mode.
* Force init of Window->lines_held = 0 even though that shouldnt be needed.

Revision 1.14 / (view) - annotate - [select for diffs] , Thu Dec 19 03:22:58 2002 UTC (5 years, 8 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_9, epic4-1_1_8, epic4-1_1_10
Changes since 1.13: +4 -4 lines
Diff to previous 1.13
* Use server_list_size() and not number_of_servers outside of server.c
* Use NOSERV and not -1 for "no server"
* Use (Timeval) and not (struct timeval)
* Fix (get|set)_server_sent_*() et al to take server refnum.
* Use parse_server_index() and not my_atol() to parse server refnums
* re-indent quotecmd
* Rename is_server_connected() to is_server_registered
* Make /quote work as long as server is open (not registered)
* Use send_to_aserver() when it can avoid setting from_server unecessarily
* Change sent_to_server and clear_sent_to_server to (set|get)server_sent().
* Change doing_* to get_server_doing_*.
* Use (unsigned short) and not (u_short)
* Use (unsigned long) and not (u_long)
* Make output_reject_ctcp() take a refnum
* Lock a dcc while we are connecting it, just in case. ;-)
* Fix /dcc send -p <port>
* Store protocol enforcements as (get|set)_server_protocol_state().
* Use (Stat) and not (struct stat)
* Rewrite $timerctl() so it works like $logctl()
* Rename is_server_connected() to is_server_registered()
* Fix an off-by-one error with /FOR ... IN ...
* Keep track of both readable and writable fd's with newio stuff.
* Convert server_list to an array of pointers
* When user /server -delete's, leave a gap, don't change refnums around.
* Nix code that handles deleting server refnums.
* New function, new_open_for_writing(), for when we do nonblocking connects.
* Change new_open() to deregister fd as "writable"
* Renovate the notify stuff to take refnums and not just use from_server.
* Renovate /WHO, /ISON, /USERHOST to take refnums and not just use from_server.
* Make everything that uses server_list[] use get_server() instead.
* Make everything capable of dealing with "gaps" in server_list[].
* Use a bunch of macros, to handle with getting and setting server attrs.
* Make as much as possible use refnums as params and not from_server.
* And a lot of other stuff...

Revision 1.13 / (view) - annotate - [select for diffs] , Tue Oct 22 22:18:44 2002 UTC (5 years, 10 months ago) by jnelson
Branch: MAIN
Branch point for: wd-devel
Changes since 1.12: +163 -1 lines
Diff to previous 1.12
* 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!

Revision 1.12 / (view) - annotate - [select for diffs] , Fri Jul 26 16:48:26 2002 UTC (6 years, 1 month ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_7, epic4-1_1_6
Changes since 1.11: +5 -2 lines
Diff to previous 1.11
Remove a dependancy on the rest of epic from compat.c.
In theory, we try to keep compat.c clean from any sort of entanglements
with the rest of epic.  Sometimes we even succeed.

Revision 1.11 / (view) - annotate - [select for diffs] , Sat Jul 6 02:50:10 2002 UTC (6 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.10: +1 -0 lines
Diff to previous 1.10
I'm going to start sweeping the entire source, adding the official
copyright notice to each file (like ircII does already), and making
sure that the /* $EPIC$ */ thingee is at the top of the file.  This is
my first swath of files.

Revision 1.10 / (view) - annotate - [select for diffs] , Tue May 28 03:55:57 2002 UTC (6 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.9: +0 -134 lines
Diff to previous 1.9
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...

Revision 1.9 / (view) - annotate - [select for diffs] , Tue May 7 15:47:16 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_5, epic4-1_1_4
Changes since 1.8: +0 -6 lines
Diff to previous 1.8
Remove some debugging code from compat.c
Fix /set status_ssl to not return NULL.  I should fix this.

Revision 1.8 / (view) - annotate - [select for diffs] , Tue May 7 02:55:55 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.7: +20 -369 lines
Diff to previous 1.7
Ok.  So it was a mistake to put that ISC inet_ntop() and inet_pton() stuff
in compat.c, because systems that don't have inet_ntop() and inet_pton()
don't have IPv6 support in libc, and so those functions won't compile anyways.
On systems without them, we'll only have inet_ntoa and inet_aton(), if we're
lucky.  These functions should be trivial wrappers to their IPv4-only
counterparts, because again, it's very unlikely we'd ever need to support
IPv6 addresses on a system without IPv6 support.

Revision 1.7 / (view) - annotate - [select for diffs] , Mon May 6 23:05:45 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.6: +378 -0 lines
Diff to previous 1.6
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!

Revision 1.6 / (view) - annotate - [select for diffs] , Mon Apr 29 01:18:21 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.5: +1 -1 lines
Diff to previous 1.5
The last round of changes for tonight.  More of the same...
I promise!  I'll document the user visible parts of this soon!
Really! =)  I mean it!

Revision 1.5 / (view) - annotate - [select for diffs] , Wed Feb 13 20:35:13 2002 UTC (6 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_3
Changes since 1.4: +3 -3 lines
Diff to previous 1.4
Fix brokenness with regard to "setenv" compat stuff for solaris.
Reported by da5id.

Revision 1.4 / (view) - annotate - [select for diffs] , Wed Nov 28 22:58:03 2001 UTC (6 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.3: +27 -0 lines
Diff to previous 1.3
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.

Revision 1.3 / (view) - annotate - [select for diffs] , Mon Nov 12 18:07:06 2001 UTC (6 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.2: +1 -145 lines
Diff to previous 1.2
Get rid of the awful hideous bsd_*env() hacks we had in compat.c and
start using getenv() and setenv() like normal programs do.  Unfortunately
on many systems, setenv() may result in memory leaks, but this is really
not anything I have control over.  It's better that we use environment
variables in the way the system intends it than to try to go off and do
it on our own.  This means you can /setenv TZ EST5EDT for example, to set
the timezone of your clock, and it also means you can do /setenv ONE two
and expect $ONE to expand to "two".  It also means that /setenv values
are actually propogated to child processes.  This is all just a better
choice than avoiding a theoretical memory leak.

Revision 1.2 / (view) - annotate - [select for diffs] , Tue Jan 23 19:00:27 2001 UTC (7 years, 7 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_1, epic4-1_0_1, epic4-1_0, epic4-0_9_17, epic4-0_9_16, epic4-0_10_0, epic-test-tag2, epic-test-tag
Changes since 1.1: +1 -1 lines
Diff to previous 1.1
Commit #29:
* Add /on error, to handle ERROR protocol messages.
* Fix /window * toggle, to actually toggle.
* Add /defer command, per email on epic list.
* New hybrid6 script from is-.
* Fix a bug with strlcat() from openbsd via freebsd.
* Axe long broken "1 second cursor in window" delay thing.
* Repeal the "deferred free" stuff in 0.9.15-10 that wasn't too good.
That's it!

Revision 1.1.1.1 / (view) - annotate - [select for diffs] (vendor branch) , Tue Dec 5 00:11:57 2000 UTC (7 years, 9 months ago) by jnelson
Branch: epicsol
CVS Tags: start, epic4_0_9_15, epic4-0_9_15, epic4-0_9_14
Changes since 1.1: +0 -0 lines
Diff to previous 1.1
Initial import into CVS

Revision 1.1 / (view) - annotate - [select for diffs] , Tue Dec 5 00:11:57 2000 UTC (7 years, 9 months ago) by jnelson
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Diffs between and
Type of Diff should be a

View only Branch:
Sort log by:

CVS Admin
Powered by
ViewCVS 0.9.2