CVS log for epic5/source/ssl.c |
![]() |
Request diff between arbitrary revisions
* 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!
* Add new level SYSERR (see UPDATES) * Add a server refnum to syserr() to send the syserr to the proper window. * Add a server refnum to new_open() so we can pass it to syserr(). * Add new flag to /XECHO, /XECHO -AS (output to all windows on server) * This should make syserrs go to the "correct window" most of the time (larne)
* Add arg to panic() controlling whether panic is sent via QUIT (rb black)
* Fix replace_line, it wasn't moving the cursor before writing new contents. * Fix a double SSL_free, from yesterday's fixes. * Revamp the "THANKS" file, removing people who contributed to epic4 but not (yet) to epic5. Hopefully this will spur some of them to contribute again to be added again. =)
* Fix problem with get_child_exit() can block SIGCHLD. * Change $mask() so it doesn't require a full $uhc() value, compat with epic4 * Avoid crash by actually removing ssl entries when they're shut down
Fix compiler warnings, should not be any functional changes.
* Support AI_ADDRCONFIG in our builtin AI_MASK/getaddrinfo(). * Make set[_non]_blocking extern. * Support NEWIO_SSL_CONNECT as a new_open() type. * Add a new ssl_connect() io callback function for NEWIO_SSL_CONNECT. * New scripts from weirdo: autojoin, autoquery, floodprot, renumber * New version of reconnect script from weirdo. * GC the fixed-alist support (last used by /quote and protocol handler) * Reorg server SSL negotation stuff to be nonblocking. yay! * Comment all sorts of stuff in ssl.c.
* Lay the foundations for nonblocking ssl connection (not supported yet) * Change SEND_LINE to do SCROLL_FORWARD if we're in scrollback mode * Add support for maildir mailboxes. * Fix crash with 042 numeric.
* Improve /dcc get * Fix warnings
* When a window is resized, make sure scrollback is bigger than new size. * Add multiple stricmp tables, "ascii" and "rfc1459" * Make all string insensitive compares use "ascii" * Add black's ornamentation on the addset script. * Fix some regression scripts * Fix pf bugs with various scripts. * Add the [$func](args) capability to the new math parser. * Add the === and !== literal equivalence (case sensitive) operators. * Sort of set the case sensitive mapping to use in the 005 handler (hack!) * Fix error recovery of ssl connections.
* Make /bind "compress" string, and bind and print it compressed. * This fixes /bind'ing literal characters being displayed literally. * Round 3 of blackjac's builtins script * Round 1 of fudd's loadformats script. * Fix some "all-the-world's-an-int" bugs reported by xlc (aix's compiler).
* Take a new arg to new_open() to control whether INFO -- errors are output. * Don't output the "INFO --" things for dcc or execs
* Fix compile error for #define UNAME_HACK * Fix crash when you do $open(/file/doesnt/exist R) * Add an /on 338 default handler. * Fix integer underflow with log file refnums * Rename STATUS_USER0 to STATUS_USER for backwards compat. oops! * Whack BRACE_LOAD_HACK, it's been unsupported for a while. PF loader rules! * Don't allow /botmode if #define NO_BOTS * Fix DCC connections instantly "timing out"? (Check on this) * Whack FLOATING_POINT_SUPPORT and depend only on /set floating_point_math
* Fix SSL with pthreads -- need to establish SSL before calling SSL_read! * Fix compiling with kqueue, call it --with-multiplex=freebsd-kqueue * Hide SSL capability behind "client_ssl_enabled()", nix all #ifdef HAVE_SSL
Fix SSL with pthreads.
* Add --with-multiplex=[select|poll|kqueue|pthread] to configure
* Check thread-safety of SSL in configure when using pthreads.
* Don't unconditionally skip leading :'s in symbol names.
* When calling functions, handle skipping leading :'s specially.
* Add support for pthread locking for ssl to ssl.c
* Add %{2}+ and %{3}+ status expandos that only show the mode string.
* Use AI_ADDRCONFIG flag to tell getaddrinfo() we only want addrs we can use.
* Comment out some oper-only things in 2.8script the opers seem to hate. * Update some copyright years, just for laughs.
Fix ssl server connections.
* Refactor $sar() and $msar() so they share as much code as possible. * Refactor newio, support select/kqueue/poll (#define's in newio.h) * ... Getting closer to not needing select! * Fix SSL. * Fix a bunch of misc compiler warnings * Remove restrictions on /QUOTE, so there! * Add pthread support to newio for larne. HUZZAH! * I'm sure a zillion things are broken, so it's time to test!
PHEAR the breakage! * Major refactoring of newio system: * Change main io() look into a "fill" cycle and a "drain" cycle, using buffers * Change new_open() to take an io policy to perform when fd is "ready" * Use token to determine if an fd is "dirty" or "clean" (is data ready?) * Process accept()s through newio/dgets. * Merge nonblocking connects as just another type of new_open() policy. * Nonblocking connects emit sockaddr info when connected for dgets(). * Change dgets() to not perform io, but just drain from the buffer * Now all data goes through dgets()! huzzah! * Nuke kqueue support for the moment (will come back later) * Hide the "holding" status of a fd inside the IO metadata. * This allows me to support "holding" in other IO models. * Major refactoring of ssl support: * Move all meta-data about ssl in ssl.c in a linked list * As much as possible, have server treat the ssl case as "normal" * Implement all ssl interfaces even in non-ssl case, guard with panics ^^^^ None of the above should be user-visible changes.
* Hide ArgListT in alias.h to only those who need it, to save numbers.c * Fix up a lot of compile warnings all over the place. * Some changes to $hookctl() might need feedback from howl... * Fix vhost support so we can do inbound sockets again.
* Abstract the reading function out of dgets() via an argument * Add unix_read(), the default reader for dgets() * Add ssl_reader(), a dgets-like reader for SSL connections * Add server_ssl_reader(), a dgets reader for servers using SSL. * I probably broke SSL servers by doing this -- report bugs please!
Another merge.
Yikes. Merged to become consistent with HEAD. Sorry for all the commits, I'll be quiet again soon. :) -wd
* Remove colon at end of RETURN_MSTR so it is like others. * Unify dgets() and SSL_dgets() * Add a 4th argument to dgets(), an (SSL *) for ssl reads, NULL for normals * Integrate SSL stuff more tightly by removing unecessary #ifdef's * Change 'enable_ssl' to 'try_ssl' to avoid confusion with 'ssl_enabled' * Remove uneccesary members of (Window) * #include "functions.h" in any file implementing built in functions. * panic if ssl op attempted on non-ssl connection. * Don't call functions in RETURN_* macros. (they're evaled twice) * Nuke #ifdef 0'd uses of 'ceiling_of_display'
Update copyright notices and copyright dates.
* Applied Ay-Ars SSL patch:
* Copyright notices added to ssl code files.
* --ssl-ver switch removed (configure script hasn't been rebuilt).
* Code changes/cleanups which I haven't checked, but which seem to work
well.
* Documentation changes.
* Fix for a memory leak in foreach when continue or break are used.
* Moved the server_established hook into register_server so that it is not
triggered when an unsuccessful attempt to connect is made.
* Feeble stab at fixing an intermittent server related coredump.
* Cleaned commandqueues script up a bit.
Remove a // comment in ssl.c -- C90 (which we target) doesn't have that. Document the rest of the stuff that's changed in KNOWNBUGS.
Bulk commit:
1) Fix typos in KNOWNBUGS
2) Flesh out the things in UPDATES that need documenting
3) Add target_file_write() to files.[ch] for send_text()'s use.
4) Create "reg.h", to hold protos for reg.c
5) Add some missing protos.
6) If /redirect'ing to 0 or to @<fd>, don't output to the screen.
7) Messages sent to target 0 are dropped (/redirect 0 now actually sends
to target 0, and epic drops it.) You can /query 0 now if you want.
8) Messages sent to @NUMBER get sent to the NUMBER file, where NUMBER is
returned by $open(). For example, to paste stuff to log but not to screen:
@fd = open(FILE w)
query @$fd
<paste some stuff>
query
@close($fd)
or
@fd = open(FILE w)
redirect @$fd lastlog foo
@close($fd)
9) Add a function to reg.c to compile a pattern into a regex -- experimental.
10) Fix some compile warnings regarding ssl.
Applied the SSL patch from ay-ar. Details are in README.SSL. This works well at this point, but there may be teething problems.
| CVS Admin |
Powered by ViewCVS 0.9.2 |