CVS log for epic5/source/Makefile.in |
![]() |
Request diff between arbitrary revisions
* Roll in a bunch of changes from larne to make epic5 more vms-friendly * Rename if.h -> ifcmd.h (larne) -- Make sure you rerun configure! * Run make depend to pick up name change of if.h * Check for <sys/param.h> in configure (larne) * Extern funcs are case insensitive in strict c90, fix (larne) * Rename options -> options.h since vms requires a dot in filename (larne) * Change "readonly" -> "rdonly" since "readonly" is a symbol in vms. (larne) * Pull in "compat.h" for gailib.c and glob.c (larne) * Set stdout to be explciitly line buffered at startup (larne) * Returning a value from void functino forbidden by strict c90. fix (larne) * Fix some compiler warnings that were lying around. * There are more changes forthcoming, these were the easy ones.
* Roll forward portability changes from epic4-2.10 (larne) * This also includes term.h -> termx.h -- Make sure you rerun configure!
Roll in all changes larne has requested for his porting effort, including all the stuff already pushed into epic4.
Fix build
* Everything below is from fusion (Alexander Grotewohl) * If libarchive is present, support zip/tar files in /load and $open() * Create a new "epic load file" data type that wraps FILE or libarchive. * Extend uzfopen() to use the new "epic load file" data type. * Extend the loader to honor the new "epic load file" data type * Extend $open() [read only for now] to honor the epic load file data type * Not all operations are supported on zip files. * Add new function $fix_width() returns string with a guaranteed printable len * End of things contributed by fusion (Alexander Grotewohl)
* Fix warnings found by gcc4 and run make depend. * Add check for -Wno-pointer-sign to configure; makes using gcc4 less painful.
___ WARNING ___ This stuff is all wildly un(der)tested. I will get to that soon! But I'm too excited about this to sit on it. * Add AESSHA256 support (AES256 using the SHA256 digest of your passkey) * Rename "EXTCRYPT" to "PROGCRYPT" * Migrate SED support from crypt.c to crypto.c * Integrate SED and extprog support into the mainline [de]cipher_message() * Refactor [de]cipher_message() to be less lame. * Support "anycrypt" support (AESSHA, AES, BLOWFISH, CAST5, SED, PROG) * Include sha256 implementation from Karll. Thanks Karll! * Unify the ctcp handling of all crypto ctcps * Add $sha256() function to test sha support (digest) * Make funcs in crypto.c static and just expose [de]crypt_msg(). * This finishes the divide between crypt.c (front end) and crypto.c (back end) * Fix a gazillion compiler warnings and sort out const/unsigned char issues.
AES support!
* Support cast5/blowfish encryption a la ircII. * Fix build for non-ssl users.
* Rework configure mojo for perl, ruby, tcl to autogrok compile stuff. * Run make depend again. * Update the DCC "last time" value regularly.
* Ruby support. yay! * Add a /tcl command, just for laughs. Same as perl.
* Add a pd implementation of sdbm, make $dbmctl() use it. * Make configure warn harder if it looks like termcap/terminfo not found.
* New file, levels.c, holds all the Mask and window level manip stuff. * Move level_to_str/str_to_level, mask_to_str/str_to_mask to levels.c * Change #define LEVEL_*'s into (int)s * Use BIT_VALID() instead of NUMBER_OF_LEVELS, whack NUMBER_OF_LEVELS. * Whack hardcoded level_types char array. yay! * Change users of "LEVEL_CURRENT" into "LEVEL_NONE" and whack "LEVEL_CURRENT" * Add "OTHER" window level, as replacement for "CRAP" * Continue to honor "CRAP" as a synonym for "OTHER". * New function $levelctl(), to add/query window levels. * Window/lastlog levels can now be added at runtime. HUZZAH!
GC a bunch of stuff no longer in use.
Comment out all of the history code. Will GC it later.
* Refactor window_check_servers() to work with server's current window only. * Roll forward all the rest of changes from epic4 (i think) * Add /ON NEW_NICKNAME, when epic needs a new nickname from you. * Run 'make depend', fix compile errors, fix 'environment' script
* Reduce the size of level masks to 1 byte, to save cpu. * Add turn_on_level() and turn_off_level(), for reasons that escape me. * Nix the /help command, make howl's scripted replacement the default. * Add $cofilter() entry so you can use it (it was already written)
* Assimilate notice.c into parse.c. *poof* * Fix some compiler issues and so forth * Nix the NOTE level. * Move load_ircrc() to irc.c, nix "startup_file" global var.
* Nix auto-append-of-$* feature (args_flag to expand_alias/parse_inline) * Fix provided scripts to add $* when necessary. * Fix up Makefile, configure, et al, to use epic5/ directories.
Commit 556 * Change #define DEFAULT_CPU_SAVER_EVERY to 60, it needs not be 0. * Create 'clock.c', to hold clock generation, system timers, cpu saver watchdog * Create notion of "sys(tem)timers", callbacks for mail, notify, clock gen. * Add 'system_timer', generalized callback for all of the system timers. * Fix add_timer() so the 'command' argument does what the docs say it does. * Extern 'timer_exists' so we don't try to remove_timer() and invalid timer * Redo dependancies because clock.h exists. * Add code to bootstrap mail systimer with /set mail * Add code to bootstrap clock generation with /set clock * Add code to bootstrap notify handling with /set notify_interval. * Start enforcing "NOTIFY_INTERVAL" again in do_notify() to avoid excess flood.
Commit 551 -- second to last commit for this project -- the big one! * Roll in the new universal_next_arg_count() and attendant macros. * Comment out some deprecated function decls in ircaux.h * Do another round of make depends. * Modify alias arglist code to use the new universal_next_arg_count() stuff * Convert dequote() to dequoter(). * Convert new_new_next_arg() into new_new_next_arg_count(). * Comment out deprecated functions in ircaux.c -- will be deleted later.
Nix crypt.h + make depend.
Commit 541
* Move #define CTCP_* into ctcp.h
* Add /xdebug extractw_debug
* Move #define LOCAL_COPY and SAFE into irc_std.h
* Create compat.h, move all the compat.c decls into there (from ircaux.h)
* Create network.h, move all the network.c decls into there (from ircaux.h)
* Create words.h, move all the words.c decls into there (from ircaux.h)
* Include "compat.h" and "network.h" in ircaux.h
* Do another round of make depends
* Rename 'search' to 'search_for'.
* Fix the metric clock hooking /on timer too much.
* Revamp words.c, to support passing word quoter (' or ") as an argument.
* Misc bugfixes as per KNOWNBUGS. * This patch involves renaming crypt.h to sedcrypt.h.
Another merge.
* $dccctl() changes as per UPDATES. * Misc bug fixes as per KNOWNBUGS.
Yikes. Merged to become consistent with HEAD. Sorry for all the commits, I'll be quiet again soon. :) -wd
Whee. Preliminary work is done. I've converted things to use hash tables instead of alists (if this doesn't work out, I'll go back to alists). Namespaces exist, but are not yet addable. That will come. I'm very sure things are still a bit unstable, but the absolute basics of adding variables/functions and executing/retrieving them works. That was my first milestone. -wd
Commit 443 * Uniformly use 32 bit file sizes in dcc. That's the way it has to be. * Split process_incoming_chat into modular functions. It's an experiment. * Remove the old, #if 0'd dcc_getfile_resume. * Remove the second, redundant warning from /window refnum(_or_swap). * Make the ArgList portion of server messages const. All const! Huzzah! * Roll /names, /list, and /mode numeric handlers into numbers.c * Roll "funny" global variables into server-specific variables * Nuke funny.c and funny.h -- huzzah! * /on window_kill provides two args now, $0 is refnum, $1 is name/refnum. * Rename "numeric_banner" to "banner" * Rename "parse_notice" to "p_notice" * In /xecho, rename 'banner' local var to 'want_banner'. * Revamp p_notice to look like and act like p_privmsg as much as possible. * Finish the rest of the larnifications. Done with phase 1. Huzzah!
Fixed up perl and tcl support in configure.in. This will check that the library and development files are present, but not yet do the compile tests. Also, they default to on unless they don't work, like they should. :-)
* 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.
Commit the current /LOG command and $logctl() function. These are nowhere near ready to be used at this point. I am still working on them, but this is good enough if you want to take a look at it. THINGS WILL STILL CHANGE FROM THIS POINT. DON'T BE USING THIS YET.
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.
Huge major commit #1 in the great IPv6 support addition... Rather than include all of the changes here, read KNOWNBUGS changes.
Fix "make installscript" Fix /lastlog so that the header/footer use "numeric_banner" instead of fetching /SET BANNER so that /SET BANNER_EXPAND is honored. This requires that 'lastlog.c' include 'numbers.h' This requires a 'make depend' Minor nitpick in output.c
Applied the SSL patch from ay-ar. Details are in README.SSL. This works well at this point, but there may be teething problems.
Preliminary support for $write() and $writeb() support to logfiles. Basically if you prefix the window refnum with the letter 'w', then it will write to that window's logfile (if one is open). If you use the otherwise invalid window refnum -1, then it will log to the global logfile (if one is open). -1 is returned if you try to write to a logfile that isn't open (of course). Examples: $write(w1 this is a test) write to window refnum 1's logfile $write(w0 this is a test) write to the current window's logfile $write(w-1 this is a test) write to the global logfile Uppercase 'w's are of course acceptable as well.
Fix the 'clean::' rule for wserv (delete wserv4, don't delete wterm.c)
Resizable wserv support! No, really! Backported from epic5. I have to go through term.c again and make sure there are no unintended casualties of the merge. We should also start testing the resize handlers to make sure they're happy. I don't promise they'll all work first time, but this is a good place to start!
Actually implement the code to use the translation stuff. This means the translation stuff is now functional. THIS IS NOT DONE THE SAME WAY AS IRCII DOES IT. ircII implements translation on the output side of the equation, from which our code has deviated significantly. Upon reflection, the most common request for translation was not for OUTPUT translation, but for SERVER translation. Therefore, I have implemented translation's operations on the server side of the equation instead of the server side. If this ends up being the wrong thing, I reserve the right to go back and "fix" this later. Anyhow, the translation(s) in force will occur when data is recieved or transmitted to the server, and not otherwise. Feedback is appreciated.
Translation table support. I pulled this from ircII-2.8.2. Re-added by incessant requests from russian users. This adds /set translation and /set translation_path. The translation path is not hardcoded into the binary, it is $IRCLIB/translation, where IRCLIB is determined at runtime. You can of course always /set it to whatever you want. I am not making the translation tables available with epic. They are available in zillions of places, and i'll probably create a tarfile that contains them.
Fix some compile warnings -- things are getting in shape!
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.
Commit #47
* /window server resets the "reconnect attempt" counter ala /server
* /for i in <pattern> {...} now reserved, and emits an error.
* "make depend" done again.
* "my_next_expr" revamped, extra argument added
* "next_expr_with_type" like "next_expr" but first char is "type".
* The /for i in (list) and /for i from x to y commands now use the
above cruft.
* This is epic4-0.9.16-10
* "break_args" now uses "next_expr_with_type"
* "do_log" should use localtime(3) and not gmtime(3), duh.
* "clear_reconnect_counts" is now an extern function from server.c
Initial import into CVS
Initial revision
| CVS Admin |
Powered by ViewCVS 0.9.2 |