Skip to content

Instantly share code, notes, and snippets.

@derekschrock
Created August 11, 2015 02:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save derekschrock/fd969d7d898b94118106 to your computer and use it in GitHub Desktop.
Save derekschrock/fd969d7d898b94118106 to your computer and use it in GitHub Desktop.
reorder CHANGELOG
From e5c5065a49ae105f91b1cd4f406d5540741a20d4 Mon Sep 17 00:00:00 2001
From: Derek Schrock <dereks@lifeofadishwasher.com>
Date: Mon, 10 Aug 2015 22:12:27 -0400
Subject: [PATCH] reverse order of change log and make it easier to read
---
KNOWNBUGS | 908 +++++++++++++++++++++++++++++++-------------------------------
1 file changed, 460 insertions(+), 448 deletions(-)
diff --git a/KNOWNBUGS b/KNOWNBUGS
index ed2af69..4e81f51 100644
--- a/KNOWNBUGS
+++ b/KNOWNBUGS
@@ -34,313 +34,154 @@ MEDIUM-TERM PROJECTS
THE CHANGELOG SINCE THE LAST RELEASE:
-------------------------------------
-* Patch from twincest to fix build on solaris
-* Don't honor queries for WALLOPS (requested by opers)
-* Conditionalize <ieeefp.h> per twincest's fix.
-* Clear RUBYDOTOH if ruby is found but it isn't usable (rb Zoopee)
-* Rewrite checks for (intmax_t) for systems w/o strtoimax(). (rb JailBird)
-* Define NSIG as _NSIG or 32 if it's not defined (rb JailBird)
-* Broaden what you can specify for the server "proto" field (see UPDATES)
-* Fix figure_out_address() to properly identify a server name
-* This fixes /ignore user@host.com which was lamely broken.
-* Make /window channel output all channels in the window
-* Don't call update_all_status() if /set -status_clock (by Oliver Fromme)
-* Comment out strtol() compat stuff, causing people problems.
-* More graciously handle snprintf() returning -1 (rb twincest)
-* Do not use /usr/include/ep on hpux
-* Mark lastlog items as "dead" and check for them to avoid dangling ptrs
-* Handle (graciously) when /set scroll_lines is > size of the window. (rb CE)
-* Properly handle remove_lastlog_item() for the very last item.
-* Fixes /eval defer window new kill;defer window new;defer window kill_others
-* Add $hookctl(ARGS <recursive> <args>) allows you to replace $* in /on.
-* Add $hookctl(USERINFO <recursive> <info>) allows you to set dynamic info.
-* Don't lamely malloc_strcpy() over non-malloced strings in hookctl.
-* Add $iconvctl() to control iconv stuff. (See UPDATES.)
-* Add $xform(iconv +<iconv id>) functionality. (See UPDATES.)
-* Fix bug where /window number could lead to confused lastlogs
-* Generalize base64 encoding so it doesn't hardcode the base64 string.
-* Add $xform(+FISH64 ...) which does FiSH's base64 encoding.
-* Make a better test for embedded perl support by calling SvTRUE().
-* Fix /bind -defaults so it actually removes all keybindings first. doh.
-* Fix /window double so it actually shows you the current double status.
-* Make the expression error for too many operands output the expression.
-* Rewrite the iconv() configure checks to deal with libiconv's #define's.
-* Rewrite the strtoimax() tests so they don't fail lamely to detect (intmax_t)
-* Rewrite the perl and ruby runtime configure tests so they work right with gcc
-* Fix various warnings revealed by gcc warnings
-* Make a very preliminary attempt to write some fish decoding stuff. Not Ready!
-* Fix for configure to handle perl's non-existance (kreca)
-* Fix wserv4 dependencies so you can do make -j4 on multi-cpu.
-* Rework the ruby checking in configure so it builds on freebsd-7
-* Add CTCP FISH support (this is _not_ fish support!), see UPDATES
-* Make an initial stab at proper support for FiSH's base64 converter.
-* I took the "fish64" entry out of $xform() for now while it's broken.
-* Capture stdout of ruby scripts and send it to an epic window. yay!
-* This means you can do regular old 'puts' in ruby script and it'll Just Work.
-* Finish $xform() for +fish64 and -fish64, verified against actual FiSH code
-* Try to make the perl configure check more robust for non-working perls.
-* Start a project to convert things to use transform_string().
-* Fix show_lastlog() to return the rewritten result (so -mangle works)
-* Actually de-orbit [en|de]code().
-* Create transform_string_dyn, a pleasant api in front of transform_string.
-* Create a bunch of global vars for transform_string to avoid lookups.
-* Add hints to how big destination buffers should be for xforming.
-* Fix transforms by initializing the expander and overhead items.
-* Make various sanity checks for transforms to fix amn.
-* Ensure all the users of transform_string_dyn are prepared to handle NULLs
-* Ensure all the xform encoder/decoders can handle zero dest buffer sizes
-* Add code to configure to fail if OpenSSL is not found. No turning back!
-* Split the notion of "iv size" and "blocksize" in crypto support
-* This is needed because FiSH does not use an IV, being an ECB cipher
-* It's also needed because the notion that the IV *must* be blocksize is lame.
-* Add notion of "trimmable bytes" to end of crypto message
-* Again, this is for FiSH, because it doesn't trim bytes on last packet.
-* Support for assissting valgrind in helping us find memory leaks (caf)
-* Fix memory leaks found by valgrind (caf)
-* GC function_[en|de]code() and function_sha256 (superceded by $xform())
-* GC unused [en|de]code(), enquote_it, dequote_it, and dequote_buffer().
-* Fix display calcs when adding 1st window to 1st screen
-* This allows you to change 'status.number' for default # of status lines
-* Start tracking timestamps for scrollback items
-* Full generalization of scrollback/scrollforward functions
-* Implement scrollback/forward based on lines
-* Implement scrollback/forward based on regex
-* Begin thinking about implementing scrollback/forward based on time (not done)
-* Windows that are hidden from birth have a fake height of 24 lines
-* This fixes a bug where doing /window double on hold_slider 0 in a
- never-visible window caused it to get stuck in an infinite loop.
-* Add new scripts, "help.irc", "history.rb", "locale", and "tabkey.sjh"
-* I need to document these in UPDATE!
-* Add /exec -closeout, to send EOF to the exec'd process
-* Add $dccctl(FD_TO_REFNUM <fd>) to convert $connect() to a refnum for dccctl.
-* Remember $dccctl(GET refnum WRITABLE) detects a connected socket, by rule
-* Change /on 322 handler so output always goes to OTHER, not to the window.
-* Add an /on switch_query, but it's incomplete, so don't use it yet.
-* Rewrite malloc_sprintf() so it can be used by do_hook_internal().
-* Revamp do_hook() so it returns the final value of $*
-* This will allow future use of do_hook() to rewrite text.
-* Don't test for /usr/local/lib/libiconv.a because os x doesn't have it
-* Prototype malloc_vsnprintf().
-* Don't test uninitialized variables, you dummy.
-* Have to be more aggressive using va_copy() for 64-bit sake
-* Add /xeval -n {...} which un-does the ^ operation.
-* Fix the 'ambig' script to use /xeval -n.
-* Fix the command mode support in 'builtins' to use /xeval -n
-* Reorganize open_log(), add support for double quotes around filenames
-* Verify that logfiles are now working as I Hope they would.
-* Make 'global' load ambig and newnick, since those recently came up
-* Change a variable name to avoid conflicts with a global symbol
-* Create a stub function to calculate how long the input line could be.
-* Fix a bug with /who -real (i forgot who reported this, sorry!)
-* Fix the redonkulous spurious errors when using $convert().
-* Add a configure check for strtoimax() being a macro (ugh)
-* Apparently strings in configure are supposed to be [quote]d.
-* Check for strtoimax() separately in inttypes.h and stdint.h
-* This hopefully fixes the build on hpux
-* Add @E<win> as a /msg target so you can /msg a window.
-* Fix lame compile error in wserv() if we need yell().
-* Improve the test for libarchive in configure
-* Fix /bind -default because it whacked the bindings themselves. doh!
-* Normalize the copyright notice on scripts BlackJac wrote, per his request
-* Fix 439 handling for inspircd (rb twincest)
-* Add the ability to /log server all or /log add all for server logs.
-* Change the configure test for perl from AC_TRY_LINK to AC_TRY_RUN
-* Change string insensitive comparisons so "SERVER" doesn't match "SASAFRASS"
-* Bump up the "overhead" bytes for xform()s to multiples of 8 per zlonix
-* Support /log server ALL and /log type server add ALL to log all servers
-* Fix brain-o that I missed -- strnicmp() consumers must use FULL STRINGS!
-* Fix more. You'd think I was not paying attention or something.
-* Don't permit /xecho /flag because that's just useless
-* Fix two dcc locking bogons that i discovered by accident.
-* Revert the string insensitive comparison changes for now.
-* Use PRIdMAX and PRIuMAX for printing (intmax_t), for hpux, or larne
-* Fix my brokenness of my_stricmp(). Time to go hide under a rock.
-* Fix the bug where the right indicator appeared when it should not.
-* Add the 'logman' script which does per-server, and per-channel logging
-* Handle inspired's BBC 351 numeric, for larne.
-* Fix bug with /encrypt complaining "X is not a multiple of Y!" (rb zlonix)
-* Add a bunch more scripts I've been sitting on that were contributed.
-* Add 'cycle', 'set_color', 'ban', and 'speak.irc' scripts. i need to doc them
-* Create some internal funcs to allow updating a server desc on the fly
-* Allow add_servers() to update server descriptions
-* Allow /server -add to update server descriptions
-* Allow /server -update to update server descriptions
-* Allow plain old /server to update server descriptions
-* Allow $serverctl(READ_FILE filename) to update server descriptions
-* Add $serverctl(UPDATE refnum stuff) to update server descriptions
-* Allow /window server to update server descriptions
-* Add $windowctl(GET x SERVER_STRING) returns last good /window server value
-* Release epic5-1.1.1 (commit 1631) (Prolixity)
-* Fixes so /server <group> doesn't clobber <host> with <group> (rb howl)
-* Add support for /server refnum:<other flags> which I noticed
-* For example, this means, /server 0:type=irc-ssl now works! yay!
-* Add special check for OS X (Zach)
-* Fix configure check for perl so it doesn't segfault.
-* Fix configure check for iconv, so it doesn't bork the freebsd port
-* Iconv support really is mandatory now! I mean it!
-* Fix transform_string_dyn(). How did nobody catch this??
-* Add a function findchar_quoted() like strchr(), but honors \.s
-* Use this in server descriptions to find the unquoted : after a PASS.
-* This means you can \ a : in a password. yay!
-* Nuke the "URLPASS" support. Let us never speak of this again.
-* Two changes to timer.c from caf.
-* Fix bugs found by --with-warns.
-* Add a check in configure for -fno-strict-aliasing; could be used with -O2?
-* Fix /parsekey reset_line so it sets the cursor to the end (for howl)
-* Add /on unknown_set for howl (see UPDATES)
-* Fix set_input(), which fixes history. yay!
-* When /dcc causes nonblocking connect, tell the user so they know we tried
-* Add 'c' option to $sar() and $msar() (see UPDATES)
-* Revamp substitute_string() so $sar() and $msar() work as intended.
-* Add a NONE_xform const to do null transformations.
-* Release epic5-1.1.2 (commit 1638) (Trencherman)
-* Fix build so it builds on mac os x, with or without macports perl.
-* Fix brain-dead typo with /on unknown_set support
-* Rewrite /bind transpose_characters in response to it being borked.
-* Fix configure support so valgrind can be used (caf)
-* Fix crash when you output to a window while it's being killed (caf)
-* Fix memory leak with initialization of hook stuff (caf)
-* Fix memory leak with realnames when a server is destroyed (caf)
-* Change /bind previous_word and next_word to honor /set word_break
-* Apparently the lastlog output stuff wasn't guarded properly by show_lastlog
-* Refine fix for crash when you output to a window while it's being killed
-* Use the length passed to write_server_ssl(), that's what it's there for (ce)
-* Avoid null derefs with OMATCH/IMATCH/PMATCH in serverctl (ce)
-* Fix /allocdump so it doesn't crash without a filename (ce)
-* Fix for a bug that stopped "/xquote -u" inserting null chars.
-* Fixed $serverctl([gio]match ...) to not return deleted servers.
-* Improve performance in the main select loop. In practice, MAY require minor script alterations.
-* Save the errno from a failed $dbmctl(OPEN) for $dbmctl(ERROR -1)
-* Add $channelsyncing(#chan server) for tjh.
-* Make $info(o) show "S" if OpenSSL was compiled in -- useful for crypto
-* When starting /dcc nonblocking connect, don't worry the user with noise
-* Display the original /window arglist on any syntax error.
-* Remove ADD_STR_TO_LIST macro (caf)
-* Add "from" window to adjust_context_windows, windows are killed (caf)
-* Fix from_server getting lost in vsyserr (caf)
-* Fix null deref in umode handler (caf)
-* Add %G status expando, to return 005 NETWORK (caf)
-* Friendlier ZNC support changes follow here...
-* Allow multiple servers on same (host,port) with different passwords
-* For now, neutralize adjust_window_refnums() until a proper fix (rb tjh)
-* Caf noticed I fixed the wrong bug. oops!
-* EPIC5-1.1.3 released here (Feculance) (Commit ID: 1656)
-* Add $xform("+LEN" ...) which turns anything into a length (for ciphertext)
-* Fix $xform("-FiSH" ...) for compatability with other implementations.
-* Don't accept EAGAIN as a valid error code for connect (caf)
-* Fix infinite loop bug with /userhost (caf)
-* Fix memory leak with /who in certain error conditions (caf)
-* Rewrite isonbase() so it handles longer nicks correctly (caf)
-* Implement /lastlog -ignore, which shows everything EXCEPT the pattern.
-* Add /xeval -nolog which suppresses logging for that command.
-* Implement $dccctl([SG]ET refnum PACKET_SIZE num) for packet-buffering
-* Implement $dccctl([SG]ET refnum FULL_LINE_BUFFER [01]) for forced line buff
-* Implement $hookctl(CURRENT_IMPLIED_HOOK) for implied on hooks to know context
-* Add "expire timeout" to lastlog entries
-* Create do_expire_lastlog_entries() which wipes expired window output
-* Add functions to "merge" logfiles/channels/output/timers to a new window
-* Remove the scripted COMMAND_MODE feature, which interferes with /window merge
-* Add /xecho -E which causes window output to get away after some seconds
-* Add /window merge which collapses two windows into one and kills the other
-* window->lastlog_size must be maintained for both giver and taker!
-* Try to fix some infinite loops when cleaning up window lastlogs.
-* Add fn name to many panics.
-* Make /on set only throw once if the user types the canonical /set name.
-* Automatically close all $dbmctl() open files on exit.
-* Fix /lastlog -context (but only for the normal case. -reverse comes next)
-* Update_server_from_raw_desc() was missing a clear_serverinfo().
-* Improve error handling for /hostname errors.
-* Add /xdebug no_color which turns off color support at the lowest level.
-* Fix /lastlog -reverse -context, all done now!
-* Don't allow $repeat() or $pad() to request strings > 1MB.
-* Have the malloc-failed panic tell you how many bytes were requested.
-* Add a feature to check for unreleased message_from contexts in main().
-* Fix two missing message_from leaks in server handler.
-* Fix the lastlog trimming, an infinite loop (caf)
-* Increase detail when debugging output contexts (caf)
-* Reformat some code, fix more display context leaks (caf)
-* EPIC5-1.1.4 released here (Adumbration) (Commit ID: 1667)
-* Fix lock-ups when killing windows by refining the safeguard
-* Create slurp_elf_file/string_feof|fgets|fgetc, to front-end ELF files
-* Change /load to use the string front-end functions
-* This allows /load to work on pure strings, and decouples from files
-* Create recode_with_iconv() to convert a string using iconv() (for /load)
-* Add /load -encoding which lets you specify the encoding of the file
-* This means you can load iso-8859-1 encoded files on a utf8 terminal!
-* Fix various warnings from gcc -Wall
-* Add a new /set DEFAULT_SCRIPT_ENCODING -- will be used soon!
-* Call setlocale(LC_ALL, "") at start of main() to get locale info
-* Fix slurp_file() (caf)
-* Fix make installman, man page filename had changed
-* Begin a major project to fix issues suggested by clang (Ancient)
-* Fix xecho as suggested by clang
-* Check retval of set[ug]id() just because it's good style
-* Make sure "MAXPATHLEN" (bsd) is always spelled "PATH_MAX" (posix)
-* Fix while as suggested by clang
-* Re-comment translate_user_input() based on suggestion by ce
-* Move add_wait_prompt() to a new home
-* Fix whoreply() as suggested by clang
-* All of the below were suggested by clang.
-* Fix set_screens_current_window() and search_for().
-* Fix a "use-after-free" when realloc() fails
-* Fix or paper over string-overruns for a malformed globs
-* Fix a memory leak when opening a compressed file fails
-* Fix a corruption of from_server in vsyserr()
-* Check the param to denormalize_string()
-* Slurp_file shouldn't call stat() or check its retval
-* Denormalize_string() should check its param
-* And so should p_killmsg(), and dishonor kill msg if its malformed.
-* Fix /while, /topic, and $repeat() in case of malformed arguments
-* All of the above were suggested by clang
-* More fixes suggested by clang that I'm too annoyed to list out.
-* Even more fixes suggested by clang (most related to theoretical null derefs)
-* Even more fixes...
-* Rewrite /window move and /window move_to to make clang happy
-* One final batch of updates by clang....
-* Rewrite lastlog moving funcs to use windows ptrs instead of refnums (caf)
-* EPIC5-1.1.5 released here (Gallimaufry) (Commit ID: 1683)
-* Add /QUEUE -RUNONE
-* Caf and jm confirmed that ircu doesn't use 307 for USERIP any more.
-* ignorectl(DELETE) is not silent and it should be.
-* To satisfy fedora packaging rules, accept DESTDIR for 'make install'
-* Many printf() format fixes (caf)
-* Many changes clang suggested
-* Fix "topicbar" script to double quote "s for now.
-* Fixed-skipped windows don't get channels from /window kill (unless no choice)
-* Add $windowctl(REFNUMS_BY_PRIORITY) to give you windows by current-ness
-* Add /lastlog -reignore (ce)
-* Add $logctl(NEW)
-* Add $logctl(LAST_CREATED)
-* EPIC5-1.1.6 released here (Kakorrhaphiophobia) (Commit ID: 1693)
-* Begin a big project to decouple status bar generation from window refresh.
-* Create $status_oneoff() which lets you press a status bar on the fly.
-* Fix configure and the build so it works with ruby 1.8/1.9/2.0
-* Update the help script to work with the new website (credit <fill in here>)
-* Make many changes based on suggestions by clang and scan-build
-* Make the configure checks for ruby support more ruby executable names
-* A few minor changes to the history.rb script for no reason
-* Add /input -- to end arg processing so your prompt can start with hyphen
-* Fix a typo bug that kept the correct status bar from being regen.
-* Fix another issue with /window server that caused status not to be updated
-* Add a VERY TEMPORARY /debuglog command for my use. Will go away soon!
-* Fix status bar update problems (sigh)
-* Update status bar from set_server_005s, so %G updates right away. (caf)
-* Larnifications for incoming nicknames (caf)
-* Add %{4}S status bar expando, always returns full "itsname"
-* When checking Maildir for /set mail 1, ignore subdirectories (rb zlonix)
-* Change string_fgets() to return the number of bytes read
-* Always check servers at startup, even if user did -S.
-* (They might have done /server in their startup)
-* Change file_size() to use normalize_filename().
-* This allows MAILDIR to support ~-expansion (ie, ~/Maildir)
-* The sender can be omitted (such as with "NOTICE AUTH"), so don't check those
-* New xmsglog script from zlonix
-* Fix trimming support for $xform(). Plus, FISH should do trimming. (rb zlonix)
-* Fix maildir support for /set mail 1 (help by zlonix)
-* Update tabkey.ce from fudd
-* Update xmsglog from zlonix
-* Two new scripts, sasl_auth and idlealert from zlonix.
-* EPIC5-1.1.7 released here (Kainotophobia) (Commit ID: 1705)
+
+#### EPIC5-1.2 released here (Deracination) (Commit: 1816)
+* Always #define UNAME_HACK; don't return detailed OS info on CTCP VERSION
+* OK, a compromise -- don't #define UNAME_HACK, but don't show OS version.
+
+#### EPIC5-1.1.11 released here (Lucubrations) (Commit: 1810)
+* Use pending-nickname if we have one as the default nickname on reconnect (caf)
+* Add @serverctl(SET refnum UMODE ...) to overrule reconnect umodes
+* Handle /SET -SSL_ROOT_CERTS_LOCATION in set_root_certs_location (caf)
+* Eliminate some avoidable uses of strcpy/strcat/sprintf for the pedantic.
+* Move the uncompleted wishlist items to the web-based wishlist
+* Signficantly rewrite the shebang (-S) command line option to remove strcpy()s
+* Increase the padding for SHA256 xforms to avoid a buffer overflow (caf)
+* -- I switched to git here --
+* "Make install" modified permissions in the tree. Ew. Take that out.
+
+#### EPIC5-1.1.10 released here (Desquamation) (Commit: 1781)
+* Updated sasl_auth (v1.2) from zlonix
+* Fix input lines being blank on non-main screens (set output_screen)
+* Fix not being able to chain /INPUT's together (reset input line before callb)
+* DO NOT set the window when handling server (very unpopular)
+ (* Change the current window whenever we're processing server stuff.)
+* Rewrite add_window_to_screen/remove_window_from_rewrite
+* Rewrite recalculate_windows.
+* This fixes screen corruption when creating wins or shrinking your screen.
+* Fix a bug where UPDATE_STATUS could get ignored (introduce FORCE_STATUS)
+* Remove /set translation and all its stuff.
+* Don't unforce the status bar until it's actually been redrawn.
+* Set a window's screen before hiding it on /window new_hide (rb fusion)
+* Fix rogue semicolon.
+* Fix a null deref in creating new window when all other windows are fixed
+* Fix some bugs that clang static analyzer found
+* Fix where /set -continued_line led to strange denormalize behavior (rb Tilt)
+* Add tmux support for /window create, (zlonix)
+* Fix all calls to iconv() so they follow standard (2d arg -> (char **))
+* Revamp do_crypto() to recode messages after decryption. Somehow missed this
+* Add comments to various functions that I think deserve it.
+* Windows added to screens must have their "my_cols" set!
+* Add support for detecting iso2022-jp for fusion (Japenese non-utf8 encoding)
+* Plaster over two lame clang warnings in if.c so i don't have to look at them.
+* Don't #include "wcwidth.c" from ircaux.c, compile on its own
+* Make next_code_point() self-synchronizing; callers doesn't have to handle err
+* Update for topicbar from zlonix (rename topicbar.purge -> datapurge)
+* Modify next_code_point() to allow re-syncing or error reporting.
+* This fixes a bug where invalid_utf8string was broken (rb zlonix)
+* Adjust the wrapping point for long lines without breaks (rb fudd)
+* Remove /set default_script_encoding (superceded by /encoding scripts)
+* Remove /set high_bit_escape (superceded by /encoding console)
+* When i rewrote recalculate_windows() forgot to call window_check_columns()!
+* $read() will using /encoding scripts to convert non-utf8 strings. (temp!)
+* Fix next_code_point() to skip bytes, not increment them (fusion)
+* Don't permit /set no_control_log to overrule mangling
+* Improve the warning for /set dcc_use_gateway_addr for ipv6 only conns
+* Don't use/require /hostname to be set for /server connections, (rb stygian)
+* Fix connecting to server w/o vhost (caused by previous commit)
+* Fix a crash with ^L when there is a dead screen (rb zlonix)
+* Fix a crash with /window create (rb zlonix)
+* Do not allow add_to_log() to be recursive, an invalid rewriter can cause
+ [error] output, leading to infinite recursion (rb tjh)
+* BTW, to do timestamping in logfiles, try
+ /@logctl(SET 2 REWRITE "\\($strftime(%b %d %X)) $$0 $$1-")
+* Add $windowctl(REFNUMS_ON_SCREEN <winref>) to get all wins in screen order
+* Fix configure check for socks5 (binki at gentoo dot org) -- Thanks!
+* If after resize, scrolling view is "too high", do an /unclear (rb desaster)
+* Get_subarray_elements (ie, /foreach) does NOT honor "type" arg and it should
+* This fixes /foreach -cmds i {....}. Odd that nobody noticed this...
+* Allow ~'s in nicknames because ircnet permits it. (rb Harzelien)
+* New sasl_auth script from zlonix
+* Add recoding support (ie, UTF8 support) to send/recv msgs from /exec procs.
+* Don't whine that your irc hostname is invalid until /dcc fails because of it.
+* Fix null deref when looking up a variable that exists but not as a variable
+* Fix recoding /exec's by having the "target" be "%<name>", like /msg works.
+* Don't let /ignore hop msgs cover up /ignore #epic joins
+* Allow ` in nicknames for ircnet. (caf)
+* Two scripts from zlonix, scripts/user_list scripts/tmux_away
+* Fix build on systems without <xlocale.h>, newlocale() [FreeBSD-8]
+* Rewrite target_file_write() to support the expected syntax
+* Rewrite $write() and $writeb() to use new target_file_write() properly.
+* Remove frivolous fprintf()s to stdout.
+* These features were suggested by Roca He, who is doing a research project
+ on inproper OpenSSL API usage by open source software.
+* Output the SSL protocol upon connect (SSL_get_version())
+* Call SSL_CTX_load_verify_locations() to load root CAs. Need to /set-ify this
+* Call SSL_get_verify_result() to validate certs whenever possible.
+* Extend /on ssl_server_cert with $4=SSL_get_verify_result()
+* Extend /on ssl_server_cert with $5=SSL_get_version()
+* Refactor ssl_connected() with comments and clarity.
+* Fetch a SSL server's certificate (including subject, issuer, pkey, and digest)
+* Extend /on ssl_server_cert with $6=SSL digest (+URLified))
+* Someday, we'll save the ssl_certificate and cert_hash in the server struct
+* Someday, we want ssl.h to save all the metadata, for non-servers.
+* Add new argument "snap" to add_timer(), for determining initial timeout.
+* Updated tmux_away, userlist script (zlonix)
+* Fix bug in target_file_write() not properly handling @W/@L/@ref
+* Refactor the timer subsystem with comments and clarity
+* Add /TIMER -SNAP which allows you to run timers "at the top of the interval"
+* Make /timer option processing similar to other commands
+* Add comments to make the timer API more clear and robust.
+* Revamp add_time() to add snapping, and handle updating better
+* Add /SET SSL_ROOT_CERT_LOCATION to pass to SSL_CTX_load_verify_locations
+* Add script 'find_ssl_root_certs' which sets SSL_ROOT_CERT_LOCATION for you.
+* Have 'find_ssl_root_certs' loaded by 'global'
+* Fix very many warnings recommended by clang.
+* Use X509_verify_cert_error_string() to get SSL verification explanation
+* Revamp /load find_ssl_root_certs after discussions with folks.
+* Signficantly revamp ssl.c, to make clearer, and save metadata of connection
+* This is so in future, $serverctl() may provide SSL info to user/script.
+* Create $serverctl(GET refnum SSL_<*>) operations for SSL info (see UPDATES)
+* CIPHER VERIFY_RESULT PEM CERT_HASH PKEY_BITS
+* SUBJECT SUBJECT_URL ISSUER ISSUER_URL VERSION
+* New function $chankey() -- similar to $key(), but can specify servref.
+* Support inbound recoding of dcc chat messages.
+* (Outbound recoding of dcc chat messages was already supported)
+* This means that dcc chat (including ctcp-over-dcc) is now utf-8 aware.
+* This concludes the UTF-8 project. EPIC5 is now fully UTF-8 aware.
+* Change /set ssl_root_cert_file to /set ssl_root_cert_location
+* Change default ^X binding back to SWITCH_CHANNELS
+* Add a callback to /set ssl_root_cert_location to help with auto-detecting
+* Don't /load find_ssl_root_certs by default, since it's auto-detected
+* Updated 'layout' script from zlonix.
+* This means /set -ssl_root_cert_location uses openssl default suggestions
+* For crypt.c and crypto.c, "key"->"password" for passwords
+* For crypt.c and crypto.c, "key"->"crypt" for crypt struct objects
+* Remove #ifdef HAVE_SSL's in crypt.c, because ssl is required now.
+* Change crypt's primary key to be target only, not target+crypt type
+* Add /encrypt -remove to remove an entry more simply
+* Make errors for string transformations and ctcp encodings more verbose
+
+#### EPIC5-1.1.9 released here (Desquamation) (Commit: 1780)
+* Fix compile error in function_help_topics
+
+#### EPIC5-1.1.8 released here (Atavistic) (Commit ID: 1775)
+* Fix from freebsd to avoid checking yes(1) as ruby executable in configure
+* Create functions to enumerate what should be documented in wiki
+* This is exposed via undocumented $help_topics() function.
+* Explicitly set LC_NUMERIC to "C" because otherwise math parser breaks
+* Reset /window activity when a window becomes current (as in /window notified)
+* Create stub for $encodingctl(), and spec it, but not implemented yet.
+* Create internal time_since_startup() function (for eventual load logging)
+* recode.c needs to include <xlocale.h> because of newlocale(3).
+* Add new "source" flag to recode rules, to tell user where rule came from.
+* Implement $encodingctl().
+* RecodeRule->magic wasn't being set correctly.
+* Output the recode rule refnum for /encoding
+* Rewrite internal fix_string_with(), with new chop_[final_]columns() funcs.
+* Extend $fix_width() to support 'c'enter and 'r'ight justify, and UTF8 aware.
+
+#### EPIC5-1.1.7 released here (Kainotophobia) (Commit ID: 1705)
* Updated massmode from zlonix.
* All the stuff below are round 1 utf8 support for input line
* New file, wcwidth.c, utf8<->unicode conversion, unicode column counting.
@@ -539,144 +380,315 @@ THE CHANGELOG SINCE THE LAST RELEASE:
http://epicsol.org/encoding
* Server names can contain '*'s. (rb zlonix)
* Fix /topic when you don't supply a channel (rb zlonix)
-* EPIC5-1.1.8 released here (Atavistic) (Commit ID: 1775)
-* Fix from freebsd to avoid checking yes(1) as ruby executable in configure
-* Create functions to enumerate what should be documented in wiki
-* This is exposed via undocumented $help_topics() function.
-* Explicitly set LC_NUMERIC to "C" because otherwise math parser breaks
-* Reset /window activity when a window becomes current (as in /window notified)
-* Create stub for $encodingctl(), and spec it, but not implemented yet.
-* Create internal time_since_startup() function (for eventual load logging)
-* recode.c needs to include <xlocale.h> because of newlocale(3).
-* Add new "source" flag to recode rules, to tell user where rule came from.
-* Implement $encodingctl().
-* RecodeRule->magic wasn't being set correctly.
-* Output the recode rule refnum for /encoding
-* Rewrite internal fix_string_with(), with new chop_[final_]columns() funcs.
-* Extend $fix_width() to support 'c'enter and 'r'ight justify, and UTF8 aware.
-* EPIC5-1.1.9 released here (Desquamation) (Commit: 1780)
-* Fix compile error in function_help_topics
-* EPIC5-1.1.10 released here (Desquamation) (Commit: 1781)
-* Updated sasl_auth (v1.2) from zlonix
-* Fix input lines being blank on non-main screens (set output_screen)
-* Fix not being able to chain /INPUT's together (reset input line before callb)
-* DO NOT set the window when handling server (very unpopular)
- (* Change the current window whenever we're processing server stuff.)
-* Rewrite add_window_to_screen/remove_window_from_rewrite
-* Rewrite recalculate_windows.
-* This fixes screen corruption when creating wins or shrinking your screen.
-* Fix a bug where UPDATE_STATUS could get ignored (introduce FORCE_STATUS)
-* Remove /set translation and all its stuff.
-* Don't unforce the status bar until it's actually been redrawn.
-* Set a window's screen before hiding it on /window new_hide (rb fusion)
-* Fix rogue semicolon.
-* Fix a null deref in creating new window when all other windows are fixed
-* Fix some bugs that clang static analyzer found
-* Fix where /set -continued_line led to strange denormalize behavior (rb Tilt)
-* Add tmux support for /window create, (zlonix)
-* Fix all calls to iconv() so they follow standard (2d arg -> (char **))
-* Revamp do_crypto() to recode messages after decryption. Somehow missed this
-* Add comments to various functions that I think deserve it.
-* Windows added to screens must have their "my_cols" set!
-* Add support for detecting iso2022-jp for fusion (Japenese non-utf8 encoding)
-* Plaster over two lame clang warnings in if.c so i don't have to look at them.
-* Don't #include "wcwidth.c" from ircaux.c, compile on its own
-* Make next_code_point() self-synchronizing; callers doesn't have to handle err
-* Update for topicbar from zlonix (rename topicbar.purge -> datapurge)
-* Modify next_code_point() to allow re-syncing or error reporting.
-* This fixes a bug where invalid_utf8string was broken (rb zlonix)
-* Adjust the wrapping point for long lines without breaks (rb fudd)
-* Remove /set default_script_encoding (superceded by /encoding scripts)
-* Remove /set high_bit_escape (superceded by /encoding console)
-* When i rewrote recalculate_windows() forgot to call window_check_columns()!
-* $read() will using /encoding scripts to convert non-utf8 strings. (temp!)
-* Fix next_code_point() to skip bytes, not increment them (fusion)
-* Don't permit /set no_control_log to overrule mangling
-* Improve the warning for /set dcc_use_gateway_addr for ipv6 only conns
-* Don't use/require /hostname to be set for /server connections, (rb stygian)
-* Fix connecting to server w/o vhost (caused by previous commit)
-* Fix a crash with ^L when there is a dead screen (rb zlonix)
-* Fix a crash with /window create (rb zlonix)
-* Do not allow add_to_log() to be recursive, an invalid rewriter can cause
- [error] output, leading to infinite recursion (rb tjh)
-* BTW, to do timestamping in logfiles, try
- /@logctl(SET 2 REWRITE "\\($strftime(%b %d %X)) $$0 $$1-")
-* Add $windowctl(REFNUMS_ON_SCREEN <winref>) to get all wins in screen order
-* Fix configure check for socks5 (binki at gentoo dot org) -- Thanks!
-* If after resize, scrolling view is "too high", do an /unclear (rb desaster)
-* Get_subarray_elements (ie, /foreach) does NOT honor "type" arg and it should
-* This fixes /foreach -cmds i {....}. Odd that nobody noticed this...
-* Allow ~'s in nicknames because ircnet permits it. (rb Harzelien)
-* New sasl_auth script from zlonix
-* Add recoding support (ie, UTF8 support) to send/recv msgs from /exec procs.
-* Don't whine that your irc hostname is invalid until /dcc fails because of it.
-* Fix null deref when looking up a variable that exists but not as a variable
-* Fix recoding /exec's by having the "target" be "%<name>", like /msg works.
-* Don't let /ignore hop msgs cover up /ignore #epic joins
-* Allow ` in nicknames for ircnet. (caf)
-* Two scripts from zlonix, scripts/user_list scripts/tmux_away
-* Fix build on systems without <xlocale.h>, newlocale() [FreeBSD-8]
-* Rewrite target_file_write() to support the expected syntax
-* Rewrite $write() and $writeb() to use new target_file_write() properly.
-* Remove frivolous fprintf()s to stdout.
-* These features were suggested by Roca He, who is doing a research project
- on inproper OpenSSL API usage by open source software.
-* Output the SSL protocol upon connect (SSL_get_version())
-* Call SSL_CTX_load_verify_locations() to load root CAs. Need to /set-ify this
-* Call SSL_get_verify_result() to validate certs whenever possible.
-* Extend /on ssl_server_cert with $4=SSL_get_verify_result()
-* Extend /on ssl_server_cert with $5=SSL_get_version()
-* Refactor ssl_connected() with comments and clarity.
-* Fetch a SSL server's certificate (including subject, issuer, pkey, and digest)
-* Extend /on ssl_server_cert with $6=SSL digest (+URLified))
-* Someday, we'll save the ssl_certificate and cert_hash in the server struct
-* Someday, we want ssl.h to save all the metadata, for non-servers.
-* Add new argument "snap" to add_timer(), for determining initial timeout.
-* Updated tmux_away, userlist script (zlonix)
-* Fix bug in target_file_write() not properly handling @W/@L/@ref
-* Refactor the timer subsystem with comments and clarity
-* Add /TIMER -SNAP which allows you to run timers "at the top of the interval"
-* Make /timer option processing similar to other commands
-* Add comments to make the timer API more clear and robust.
-* Revamp add_time() to add snapping, and handle updating better
-* Add /SET SSL_ROOT_CERT_LOCATION to pass to SSL_CTX_load_verify_locations
-* Add script 'find_ssl_root_certs' which sets SSL_ROOT_CERT_LOCATION for you.
-* Have 'find_ssl_root_certs' loaded by 'global'
-* Fix very many warnings recommended by clang.
-* Use X509_verify_cert_error_string() to get SSL verification explanation
-* Revamp /load find_ssl_root_certs after discussions with folks.
-* Signficantly revamp ssl.c, to make clearer, and save metadata of connection
-* This is so in future, $serverctl() may provide SSL info to user/script.
-* Create $serverctl(GET refnum SSL_<*>) operations for SSL info (see UPDATES)
-* CIPHER VERIFY_RESULT PEM CERT_HASH PKEY_BITS
-* SUBJECT SUBJECT_URL ISSUER ISSUER_URL VERSION
-* New function $chankey() -- similar to $key(), but can specify servref.
-* Support inbound recoding of dcc chat messages.
-* (Outbound recoding of dcc chat messages was already supported)
-* This means that dcc chat (including ctcp-over-dcc) is now utf-8 aware.
-* This concludes the UTF-8 project. EPIC5 is now fully UTF-8 aware.
-* Change /set ssl_root_cert_file to /set ssl_root_cert_location
-* Change default ^X binding back to SWITCH_CHANNELS
-* Add a callback to /set ssl_root_cert_location to help with auto-detecting
-* Don't /load find_ssl_root_certs by default, since it's auto-detected
-* Updated 'layout' script from zlonix.
-* This means /set -ssl_root_cert_location uses openssl default suggestions
-* For crypt.c and crypto.c, "key"->"password" for passwords
-* For crypt.c and crypto.c, "key"->"crypt" for crypt struct objects
-* Remove #ifdef HAVE_SSL's in crypt.c, because ssl is required now.
-* Change crypt's primary key to be target only, not target+crypt type
-* Add /encrypt -remove to remove an entry more simply
-* Make errors for string transformations and ctcp encodings more verbose
-* EPIC5-1.1.11 released here (Lucubrations) (Commit: 1810)
-* Use pending-nickname if we have one as the default nickname on reconnect (caf)
-* Add @serverctl(SET refnum UMODE ...) to overrule reconnect umodes
-* Handle /SET -SSL_ROOT_CERTS_LOCATION in set_root_certs_location (caf)
-* Eliminate some avoidable uses of strcpy/strcat/sprintf for the pedantic.
-* Move the uncompleted wishlist items to the web-based wishlist
-* Signficantly rewrite the shebang (-S) command line option to remove strcpy()s
-* Increase the padding for SHA256 xforms to avoid a buffer overflow (caf)
-* -- I switched to git here --
-* "Make install" modified permissions in the tree. Ew. Take that out.
-* EPIC5-1.2 released here (Deracination) (Commit: 1816)
-* Always #define UNAME_HACK; don't return detailed OS info on CTCP VERSION
-* OK, a compromise -- don't #define UNAME_HACK, but don't show OS version.
+
+#### EPIC5-1.1.6 released here (Kakorrhaphiophobia) (Commit ID: 1693)
+* Begin a big project to decouple status bar generation from window refresh.
+* Create $status_oneoff() which lets you press a status bar on the fly.
+* Fix configure and the build so it works with ruby 1.8/1.9/2.0
+* Update the help script to work with the new website (credit <fill in here>)
+* Make many changes based on suggestions by clang and scan-build
+* Make the configure checks for ruby support more ruby executable names
+* A few minor changes to the history.rb script for no reason
+* Add /input -- to end arg processing so your prompt can start with hyphen
+* Fix a typo bug that kept the correct status bar from being regen.
+* Fix another issue with /window server that caused status not to be updated
+* Add a VERY TEMPORARY /debuglog command for my use. Will go away soon!
+* Fix status bar update problems (sigh)
+* Update status bar from set_server_005s, so %G updates right away. (caf)
+* Larnifications for incoming nicknames (caf)
+* Add %{4}S status bar expando, always returns full "itsname"
+* When checking Maildir for /set mail 1, ignore subdirectories (rb zlonix)
+* Change string_fgets() to return the number of bytes read
+* Always check servers at startup, even if user did -S.
+* (They might have done /server in their startup)
+* Change file_size() to use normalize_filename().
+* This allows MAILDIR to support ~-expansion (ie, ~/Maildir)
+* The sender can be omitted (such as with "NOTICE AUTH"), so don't check those
+* New xmsglog script from zlonix
+* Fix trimming support for $xform(). Plus, FISH should do trimming. (rb zlonix)
+* Fix maildir support for /set mail 1 (help by zlonix)
+* Update tabkey.ce from fudd
+* Update xmsglog from zlonix
+* Two new scripts, sasl_auth and idlealert from zlonix.
+
+#### EPIC5-1.1.5 released here (Gallimaufry) (Commit ID: 1683)
+* Add /QUEUE -RUNONE
+* Caf and jm confirmed that ircu doesn't use 307 for USERIP any more.
+* ignorectl(DELETE) is not silent and it should be.
+* To satisfy fedora packaging rules, accept DESTDIR for 'make install'
+* Many printf() format fixes (caf)
+* Many changes clang suggested
+* Fix "topicbar" script to double quote "s for now.
+* Fixed-skipped windows don't get channels from /window kill (unless no choice)
+* Add $windowctl(REFNUMS_BY_PRIORITY) to give you windows by current-ness
+* Add /lastlog -reignore (ce)
+* Add $logctl(NEW)
+* Add $logctl(LAST_CREATED)
+
+#### EPIC5-1.1.4 released here (Adumbration) (Commit ID: 1667)
+* Fix lock-ups when killing windows by refining the safeguard
+* Create slurp_elf_file/string_feof|fgets|fgetc, to front-end ELF files
+* Change /load to use the string front-end functions
+* This allows /load to work on pure strings, and decouples from files
+* Create recode_with_iconv() to convert a string using iconv() (for /load)
+* Add /load -encoding which lets you specify the encoding of the file
+* This means you can load iso-8859-1 encoded files on a utf8 terminal!
+* Fix various warnings from gcc -Wall
+* Add a new /set DEFAULT_SCRIPT_ENCODING -- will be used soon!
+* Call setlocale(LC_ALL, "") at start of main() to get locale info
+* Fix slurp_file() (caf)
+* Fix make installman, man page filename had changed
+* Begin a major project to fix issues suggested by clang (Ancient)
+* Fix xecho as suggested by clang
+* Check retval of set[ug]id() just because it's good style
+* Make sure "MAXPATHLEN" (bsd) is always spelled "PATH_MAX" (posix)
+* Fix while as suggested by clang
+* Re-comment translate_user_input() based on suggestion by ce
+* Move add_wait_prompt() to a new home
+* Fix whoreply() as suggested by clang
+* All of the below were suggested by clang.
+* Fix set_screens_current_window() and search_for().
+* Fix a "use-after-free" when realloc() fails
+* Fix or paper over string-overruns for a malformed globs
+* Fix a memory leak when opening a compressed file fails
+* Fix a corruption of from_server in vsyserr()
+* Check the param to denormalize_string()
+* Slurp_file shouldn't call stat() or check its retval
+* Denormalize_string() should check its param
+* And so should p_killmsg(), and dishonor kill msg if its malformed.
+* Fix /while, /topic, and $repeat() in case of malformed arguments
+* All of the above were suggested by clang
+* More fixes suggested by clang that I'm too annoyed to list out.
+* Even more fixes suggested by clang (most related to theoretical null derefs)
+* Even more fixes...
+* Rewrite /window move and /window move_to to make clang happy
+* One final batch of updates by clang....
+* Rewrite lastlog moving funcs to use windows ptrs instead of refnums (caf)
+
+#### EPIC5-1.1.3 released here (Feculance) (Commit ID: 1656)
+* Add $xform("+LEN" ...) which turns anything into a length (for ciphertext)
+* Fix $xform("-FiSH" ...) for compatability with other implementations.
+* Don't accept EAGAIN as a valid error code for connect (caf)
+* Fix infinite loop bug with /userhost (caf)
+* Fix memory leak with /who in certain error conditions (caf)
+* Rewrite isonbase() so it handles longer nicks correctly (caf)
+* Implement /lastlog -ignore, which shows everything EXCEPT the pattern.
+* Add /xeval -nolog which suppresses logging for that command.
+* Implement $dccctl([SG]ET refnum PACKET_SIZE num) for packet-buffering
+* Implement $dccctl([SG]ET refnum FULL_LINE_BUFFER [01]) for forced line buff
+* Implement $hookctl(CURRENT_IMPLIED_HOOK) for implied on hooks to know context
+* Add "expire timeout" to lastlog entries
+* Create do_expire_lastlog_entries() which wipes expired window output
+* Add functions to "merge" logfiles/channels/output/timers to a new window
+* Remove the scripted COMMAND_MODE feature, which interferes with /window merge
+* Add /xecho -E which causes window output to get away after some seconds
+* Add /window merge which collapses two windows into one and kills the other
+* window->lastlog_size must be maintained for both giver and taker!
+* Try to fix some infinite loops when cleaning up window lastlogs.
+* Add fn name to many panics.
+* Make /on set only throw once if the user types the canonical /set name.
+* Automatically close all $dbmctl() open files on exit.
+* Fix /lastlog -context (but only for the normal case. -reverse comes next)
+* Update_server_from_raw_desc() was missing a clear_serverinfo().
+* Improve error handling for /hostname errors.
+* Add /xdebug no_color which turns off color support at the lowest level.
+* Fix /lastlog -reverse -context, all done now!
+* Don't allow $repeat() or $pad() to request strings > 1MB.
+* Have the malloc-failed panic tell you how many bytes were requested.
+* Add a feature to check for unreleased message_from contexts in main().
+* Fix two missing message_from leaks in server handler.
+* Fix the lastlog trimming, an infinite loop (caf)
+* Increase detail when debugging output contexts (caf)
+* Reformat some code, fix more display context leaks (caf)
+
+#### EPIC5-1.0 released here
+* Patch from twincest to fix build on solaris
+* Don't honor queries for WALLOPS (requested by opers)
+* Conditionalize <ieeefp.h> per twincest's fix.
+* Clear RUBYDOTOH if ruby is found but it isn't usable (rb Zoopee)
+* Rewrite checks for (intmax_t) for systems w/o strtoimax(). (rb JailBird)
+* Define NSIG as _NSIG or 32 if it's not defined (rb JailBird)
+* Broaden what you can specify for the server "proto" field (see UPDATES)
+* Fix figure_out_address() to properly identify a server name
+* This fixes /ignore user@host.com which was lamely broken.
+* Make /window channel output all channels in the window
+* Don't call update_all_status() if /set -status_clock (by Oliver Fromme)
+* Comment out strtol() compat stuff, causing people problems.
+* More graciously handle snprintf() returning -1 (rb twincest)
+* Do not use /usr/include/ep on hpux
+* Mark lastlog items as "dead" and check for them to avoid dangling ptrs
+* Handle (graciously) when /set scroll_lines is > size of the window. (rb CE)
+* Properly handle remove_lastlog_item() for the very last item.
+* Fixes /eval defer window new kill;defer window new;defer window kill_others
+* Add $hookctl(ARGS <recursive> <args>) allows you to replace $* in /on.
+* Add $hookctl(USERINFO <recursive> <info>) allows you to set dynamic info.
+* Don't lamely malloc_strcpy() over non-malloced strings in hookctl.
+* Add $iconvctl() to control iconv stuff. (See UPDATES.)
+* Add $xform(iconv +<iconv id>) functionality. (See UPDATES.)
+* Fix bug where /window number could lead to confused lastlogs
+* Generalize base64 encoding so it doesn't hardcode the base64 string.
+* Add $xform(+FISH64 ...) which does FiSH's base64 encoding.
+* Make a better test for embedded perl support by calling SvTRUE().
+* Fix /bind -defaults so it actually removes all keybindings first. doh.
+* Fix /window double so it actually shows you the current double status.
+* Make the expression error for too many operands output the expression.
+* Rewrite the iconv() configure checks to deal with libiconv's #define's.
+* Rewrite the strtoimax() tests so they don't fail lamely to detect (intmax_t)
+* Rewrite the perl and ruby runtime configure tests so they work right with gcc
+* Fix various warnings revealed by gcc warnings
+* Make a very preliminary attempt to write some fish decoding stuff. Not Ready!
+* Fix for configure to handle perl's non-existance (kreca)
+* Fix wserv4 dependencies so you can do make -j4 on multi-cpu.
+* Rework the ruby checking in configure so it builds on freebsd-7
+* Add CTCP FISH support (this is _not_ fish support!), see UPDATES
+* Make an initial stab at proper support for FiSH's base64 converter.
+* I took the "fish64" entry out of $xform() for now while it's broken.
+* Capture stdout of ruby scripts and send it to an epic window. yay!
+* This means you can do regular old 'puts' in ruby script and it'll Just Work.
+* Finish $xform() for +fish64 and -fish64, verified against actual FiSH code
+* Try to make the perl configure check more robust for non-working perls.
+* Start a project to convert things to use transform_string().
+* Fix show_lastlog() to return the rewritten result (so -mangle works)
+* Actually de-orbit [en|de]code().
+* Create transform_string_dyn, a pleasant api in front of transform_string.
+* Create a bunch of global vars for transform_string to avoid lookups.
+* Add hints to how big destination buffers should be for xforming.
+* Fix transforms by initializing the expander and overhead items.
+* Make various sanity checks for transforms to fix amn.
+* Ensure all the users of transform_string_dyn are prepared to handle NULLs
+* Ensure all the xform encoder/decoders can handle zero dest buffer sizes
+* Add code to configure to fail if OpenSSL is not found. No turning back!
+* Split the notion of "iv size" and "blocksize" in crypto support
+* This is needed because FiSH does not use an IV, being an ECB cipher
+* It's also needed because the notion that the IV *must* be blocksize is lame.
+* Add notion of "trimmable bytes" to end of crypto message
+* Again, this is for FiSH, because it doesn't trim bytes on last packet.
+* Support for assissting valgrind in helping us find memory leaks (caf)
+* Fix memory leaks found by valgrind (caf)
+* GC function_[en|de]code() and function_sha256 (superceded by $xform())
+* GC unused [en|de]code(), enquote_it, dequote_it, and dequote_buffer().
+* Fix display calcs when adding 1st window to 1st screen
+* This allows you to change 'status.number' for default # of status lines
+* Start tracking timestamps for scrollback items
+* Full generalization of scrollback/scrollforward functions
+* Implement scrollback/forward based on lines
+* Implement scrollback/forward based on regex
+* Begin thinking about implementing scrollback/forward based on time (not done)
+* Windows that are hidden from birth have a fake height of 24 lines
+* This fixes a bug where doing /window double on hold_slider 0 in a
+ never-visible window caused it to get stuck in an infinite loop.
+* Add new scripts, "help.irc", "history.rb", "locale", and "tabkey.sjh"
+* I need to document these in UPDATE!
+* Add /exec -closeout, to send EOF to the exec'd process
+* Add $dccctl(FD_TO_REFNUM <fd>) to convert $connect() to a refnum for dccctl.
+* Remember $dccctl(GET refnum WRITABLE) detects a connected socket, by rule
+* Change /on 322 handler so output always goes to OTHER, not to the window.
+* Add an /on switch_query, but it's incomplete, so don't use it yet.
+* Rewrite malloc_sprintf() so it can be used by do_hook_internal().
+* Revamp do_hook() so it returns the final value of $*
+* This will allow future use of do_hook() to rewrite text.
+* Don't test for /usr/local/lib/libiconv.a because os x doesn't have it
+* Prototype malloc_vsnprintf().
+* Don't test uninitialized variables, you dummy.
+* Have to be more aggressive using va_copy() for 64-bit sake
+* Add /xeval -n {...} which un-does the ^ operation.
+* Fix the 'ambig' script to use /xeval -n.
+* Fix the command mode support in 'builtins' to use /xeval -n
+* Reorganize open_log(), add support for double quotes around filenames
+* Verify that logfiles are now working as I Hope they would.
+* Make 'global' load ambig and newnick, since those recently came up
+* Change a variable name to avoid conflicts with a global symbol
+* Create a stub function to calculate how long the input line could be.
+* Fix a bug with /who -real (i forgot who reported this, sorry!)
+* Fix the redonkulous spurious errors when using $convert().
+* Add a configure check for strtoimax() being a macro (ugh)
+* Apparently strings in configure are supposed to be [quote]d.
+* Check for strtoimax() separately in inttypes.h and stdint.h
+* This hopefully fixes the build on hpux
+* Add @E<win> as a /msg target so you can /msg a window.
+* Fix lame compile error in wserv() if we need yell().
+* Improve the test for libarchive in configure
+* Fix /bind -default because it whacked the bindings themselves. doh!
+* Normalize the copyright notice on scripts BlackJac wrote, per his request
+* Fix 439 handling for inspircd (rb twincest)
+* Add the ability to /log server all or /log add all for server logs.
+* Change the configure test for perl from AC_TRY_LINK to AC_TRY_RUN
+* Change string insensitive comparisons so "SERVER" doesn't match "SASAFRASS"
+* Bump up the "overhead" bytes for xform()s to multiples of 8 per zlonix
+* Support /log server ALL and /log type server add ALL to log all servers
+* Fix brain-o that I missed -- strnicmp() consumers must use FULL STRINGS!
+* Fix more. You'd think I was not paying attention or something.
+* Don't permit /xecho /flag because that's just useless
+* Fix two dcc locking bogons that i discovered by accident.
+* Revert the string insensitive comparison changes for now.
+* Use PRIdMAX and PRIuMAX for printing (intmax_t), for hpux, or larne
+* Fix my brokenness of my_stricmp(). Time to go hide under a rock.
+* Fix the bug where the right indicator appeared when it should not.
+* Add the 'logman' script which does per-server, and per-channel logging
+* Handle inspired's BBC 351 numeric, for larne.
+* Fix bug with /encrypt complaining "X is not a multiple of Y!" (rb zlonix)
+* Add a bunch more scripts I've been sitting on that were contributed.
+* Add 'cycle', 'set_color', 'ban', and 'speak.irc' scripts. i need to doc them
+* Create some internal funcs to allow updating a server desc on the fly
+* Allow add_servers() to update server descriptions
+* Allow /server -add to update server descriptions
+* Allow /server -update to update server descriptions
+* Allow plain old /server to update server descriptions
+* Allow $serverctl(READ_FILE filename) to update server descriptions
+* Add $serverctl(UPDATE refnum stuff) to update server descriptions
+* Allow /window server to update server descriptions
+* Add $windowctl(GET x SERVER_STRING) returns last good /window server value
+* Release epic5-1.1.1 (commit 1631) (Prolixity)
+* Fixes so /server <group> doesn't clobber <host> with <group> (rb howl)
+* Add support for /server refnum:<other flags> which I noticed
+* For example, this means, /server 0:type=irc-ssl now works! yay!
+* Add special check for OS X (Zach)
+* Fix configure check for perl so it doesn't segfault.
+* Fix configure check for iconv, so it doesn't bork the freebsd port
+* Iconv support really is mandatory now! I mean it!
+* Fix transform_string_dyn(). How did nobody catch this??
+* Add a function findchar_quoted() like strchr(), but honors \.s
+* Use this in server descriptions to find the unquoted : after a PASS.
+* This means you can \ a : in a password. yay!
+* Nuke the "URLPASS" support. Let us never speak of this again.
+* Two changes to timer.c from caf.
+* Fix bugs found by --with-warns.
+* Add a check in configure for -fno-strict-aliasing; could be used with -O2?
+* Fix /parsekey reset_line so it sets the cursor to the end (for howl)
+* Add /on unknown_set for howl (see UPDATES)
+* Fix set_input(), which fixes history. yay!
+* When /dcc causes nonblocking connect, tell the user so they know we tried
+* Add 'c' option to $sar() and $msar() (see UPDATES)
+* Revamp substitute_string() so $sar() and $msar() work as intended.
+* Add a NONE_xform const to do null transformations.
+* Release epic5-1.1.2 (commit 1638) (Trencherman)
+* Fix build so it builds on mac os x, with or without macports perl.
+* Fix brain-dead typo with /on unknown_set support
+* Rewrite /bind transpose_characters in response to it being borked.
+* Fix configure support so valgrind can be used (caf)
+* Fix crash when you output to a window while it's being killed (caf)
+* Fix memory leak with initialization of hook stuff (caf)
+* Fix memory leak with realnames when a server is destroyed (caf)
+* Change /bind previous_word and next_word to honor /set word_break
+* Apparently the lastlog output stuff wasn't guarded properly by show_lastlog
+* Refine fix for crash when you output to a window while it's being killed
+* Use the length passed to write_server_ssl(), that's what it's there for (ce)
+* Avoid null derefs with OMATCH/IMATCH/PMATCH in serverctl (ce)
+* Fix /allocdump so it doesn't crash without a filename (ce)
+* Fix for a bug that stopped "/xquote -u" inserting null chars.
+* Fixed $serverctl([gio]match ...) to not return deleted servers.
+* Improve performance in the main select loop. In practice, MAY require minor script alterations.
+* Save the errno from a failed $dbmctl(OPEN) for $dbmctl(ERROR -1)
+* Add $channelsyncing(#chan server) for tjh.
+* Make $info(o) show "S" if OpenSSL was compiled in -- useful for crypto
+* When starting /dcc nonblocking connect, don't worry the user with noise
+* Display the original /window arglist on any syntax error.
+* Remove ADD_STR_TO_LIST macro (caf)
+* Add "from" window to adjust_context_windows, windows are killed (caf)
+* Fix from_server getting lost in vsyserr (caf)
+* Fix null deref in umode handler (caf)
+* Add %G status expando, to return 005 NETWORK (caf)
+* Friendlier ZNC support changes follow here...
+* Allow multiple servers on same (host,port) with different passwords
+* For now, neutralize adjust_window_refnums() until a proper fix (rb tjh)
+* Caf noticed I fixed the wrong bug. oops!
--
2.4.6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment