CVS log for epic5/source/server.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.236 / (view) - annotate - [select for diffs] , Tue Jul 1 23:10:28 2008 UTC (2 months ago) by jnelson
Branch: MAIN
CVS Tags: HEAD
Changes since 1.235: +35 -19 lines
Diff to previous 1.235
* Add $serverctl(READ_FILE filename) to add servers from a servers file.
* Add some preliminary code for sending a /msg to a logfile.
* Make scrollback_start/end use "scroll up/down 999,999 lines"
* This is for future consolidation of the scrollback code.

Revision 1.235 / (view) - annotate - [select for diffs] , Tue Feb 19 13:13:12 2008 UTC (6 months, 2 weeks ago) by crazyed
Branch: MAIN
CVS Tags: epic5-0_3_9, epic5-0_3_8
Changes since 1.234: +2 -1 lines
Diff to previous 1.234
* Fixed q1cmd in command queues to address space mangling issues
  first noticed by Kraca.
* Fixed data_struct to work with dword.
* Fixed tabkey.ce to work better with args with spaces in them.
* Fixed tabkey.ce to not put / prefix on recursed commands (again).
* Fixed tabkey.ce to work with 005 CHANTYPES.
* Fixed $xdebug() to work with multiple arguments as it once did.
* Fixed what appears to be a typo in elf.c and I don't really know what
  it does.  I hope it doesn't break anything for anybody.  XXX
* Minor optimisation for notify.c.
* Added handling of the 340 numeric in numbers.c
* Handle extraneous spaces in server MODE messages.  Austhex adds these.
* Trigger waiting ISON's when we connect again.  I don't recall why
  I took this out in the first place.
* Added "/userhost -flush", which will flush the queue of messages waiting
  to be sent, NOT the queue awaiting replies.
* Extended "/ison -f" to also flush the queue of ISON's waiting to be sent.

Revision 1.234 / (view) - annotate - [select for diffs] , Tue Jan 22 06:44:15 2008 UTC (7 months, 2 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_7, epic5-0_3_6
Changes since 1.233: +16 -8 lines
Diff to previous 1.233
* Make /xecho -w -1 go to the current window, for compat with epic4 (rb Black)
* Make the /server list show the vhost you're using.
* /LOADing an executable file results in a warning and not an error.
* Fix input line so it doesn't display hidden contents after ^L (rb wjr)
* Add a $strptime() function, but I still need a strptime() compat version.
* Add $ignorectl(SUSPEND) and $ignorectl(UNSUSPEND) to turn off ignores.

Revision 1.233 / (view) - annotate - [select for diffs] , Sat Oct 20 15:10:11 2007 UTC (10 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.232: +4 -3 lines
Diff to previous 1.232
* Change /on listings so they tell you if a hook is "disabled".
* Add forgotten code to move lastlog items between windows for /window number
* Fix bug where default numeric output wouldn't go to a channel's window.
* Remove a superfluous message_from() when parsing server stuff.

Revision 1.232 / (view) - annotate - [select for diffs] , Wed Oct 3 05:44:21 2007 UTC (11 months ago) by crazyed
Branch: MAIN
Changes since 1.231: +2 -2 lines
Diff to previous 1.231
From KNOWNBUGS:
* Updated $shift() and $pop() with multiple args to work with dword but left it
  #ifdef'd out as per UDPATES.  Also updated regress/funcs to test these.
* Added current package to end of $loadinfo().
* Changed /reconnect to jump to the next server in the address list if possible.
* If epic crashes and /xdebug crash is set, sleep and wait for a debugger.

Most of these should probably be commented on in UPDATES.

Revision 1.231 / (view) - annotate - [select for diffs] , Fri Sep 7 17:07:29 2007 UTC (12 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_5
Changes since 1.230: +2 -2 lines
Diff to previous 1.230
* Revert commit 1498 (the dcc stuff) -- it was half baked.
* Fix warnings found with --with-warns.

Revision 1.230 / (view) - annotate - [select for diffs] , Thu Aug 23 02:56:36 2007 UTC (12 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.229: +2 -1 lines
Diff to previous 1.229
* Fix missing NULL for $hookctl(list ...) [rb howl]
* Fix various other issues that valgrind found (yay!)

Revision 1.229 / (view) - annotate - [select for diffs] , Wed Aug 22 17:40:26 2007 UTC (12 months, 2 weeks ago) by howl
Branch: MAIN
Changes since 1.228: +24 -3 lines
Diff to previous 1.228
* Added $serverctl(get/set -1 realname/default_realname).
* $Y now is a synonym for $serverctl(get -1 realname).
* Added $xform(iconv fromcode/tocode ...) wrapper around iconv(3). With this
  epic5 takes babysteps towards supporting Unicode.

Revision 1.228 / (view) - annotate - [select for diffs] , Tue Aug 14 01:29:50 2007 UTC (12 months, 3 weeks ago) by jnelson
Branch: MAIN
Changes since 1.227: +7 -5 lines
Diff to previous 1.227
* Add /SET DEFAULT_REALNAME and DEFAULT_USERNAME
* Add scripted /set realname and /ircuser in builtins for backwards compat.

Revision 1.227 / (view) - annotate - [select for diffs] , Mon Jun 25 21:09:29 2007 UTC (14 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.226: +15 -15 lines
Diff to previous 1.226
* 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)

Revision 1.226 / (view) - annotate - [select for diffs] , Fri May 25 15:47:48 2007 UTC (15 months, 2 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_4
Changes since 1.225: +3 -3 lines
Diff to previous 1.225
Changes suggested by gcc-4.2.  No changes in behavior.

Revision 1.225 / (view) - annotate - [select for diffs] , Mon May 14 01:33:33 2007 UTC (15 months, 3 weeks ago) by jnelson
Branch: MAIN
Changes since 1.224: +5 -5 lines
Diff to previous 1.224
* Add ^Vs to the start of  DEFAULT_STATUS_FORMAT* in config.h
* Comment out code for /set reverse_status_line pending removal later.
* GC the code for -f/-F/-o/-O command line arguments
* Fix the serverctl() comment for howl

Revision 1.224 / (view) - annotate - [select for diffs] , Tue Apr 24 01:18:08 2007 UTC (16 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.223: +13 -7 lines
Diff to previous 1.223
* Fix output of /disconnect when disconnected to be less confusing.
* Some changes to tabkey.jm to see if we can get it working.
* Move old items from KNOWNBUGS to the epic5 change file.

Revision 1.223 / (view) - annotate - [select for diffs] , Wed Apr 18 01:53:20 2007 UTC (16 months, 3 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_3
Changes since 1.222: +2 -2 lines
Diff to previous 1.222
Fix a very minor bug.

Revision 1.222 / (view) - annotate - [select for diffs] , Fri Apr 13 02:45:21 2007 UTC (16 months, 3 weeks ago) by jnelson
Branch: MAIN
Changes since 1.221: +2 -1 lines
Diff to previous 1.221
Only one boneheaded error last night.  Much better than my normal average!

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

Revision 1.220 / (view) - annotate - [select for diffs] , Thu Apr 12 02:06:09 2007 UTC (16 months, 4 weeks ago) by jnelson
Branch: MAIN
Changes since 1.219: +34 -2 lines
Diff to previous 1.219
* Add $serverctl(ALLGROUPS) for kreca

Revision 1.219 / (view) - annotate - [select for diffs] , Thu Apr 12 01:51:38 2007 UTC (16 months, 4 weeks ago) by jnelson
Branch: MAIN
Changes since 1.218: +24 -1 lines
Diff to previous 1.218
* Fix fulldesc handling code to put []s around ipv6 p-addrs. oops!
* GC the if 0'd decls from before the switch to ServerInfos
* Add $serverctl(GET <refnum> FULLDESC) for kreca.

Revision 1.218 / (view) - annotate - [select for diffs] , Sun Apr 8 15:05:27 2007 UTC (17 months ago) by jnelson
Branch: MAIN
Changes since 1.217: +7 -1 lines
Diff to previous 1.217
Fix bug reported by kitambi.

Revision 1.217 / (view) - annotate - [select for diffs] , Mon Mar 26 23:20:53 2007 UTC (17 months, 1 week ago) by jnelson
Branch: MAIN
Changes since 1.216: +18 -1 lines
Diff to previous 1.216
* Fix bugs with 'builtins' (zlonix)
* Revamp the term_init() function, document, etc.
* Unconditionally turn off IEXTEN, IXON, IXOFF, to reclaim all of the chars
  that kernels steal from us (like ^S, ^Q, ^O, ^V, etc)
* Whack the -f/-F/-o/-O command line options; per above.
* I can now bind and use ^S and ^Q and ^V.  Yay!
* Fix initialization of ruby, so it actually works for the first time! YAY!
* Refactor how lastlog is trimmed, by removing a specific item
* Start working on code to remove items from lastlog by grep.
* Fix crashes with /stack push set that kitambi told me about
* Put in a trivial sleep when checking screen size to avoid race with screen.

Revision 1.216 / (view) - annotate - [select for diffs] , Wed Mar 21 00:33:41 2007 UTC (17 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.215: +3 -1 lines
Diff to previous 1.215
* Don't unconditionally set who_level to NONE in /window.
* Set and reset message_from() info around each /window operation.
* This fixes /window <refnum> echo "<string>" so the line is added to lastlog.
* Fix $ruby(puts 0.4.0) by calling rb_rescue2() to catch /all/ exceptions.
* Fix /window add/query so they auto-remove nicks from other wins first.
* Fix build on non-ipv6 systems. (bruns)

Revision 1.215 / (view) - annotate - [select for diffs] , Sat Feb 3 15:40:16 2007 UTC (19 months ago) by jnelson
Branch: MAIN
Changes since 1.214: +19 -3 lines
Diff to previous 1.214
* Interrogate, and pass upwards, the socket error from getsockopt()
for nonblocking connects, and then output that error to the user.
Requested by twincest.

Revision 1.214 / (view) - annotate - [select for diffs] , Sat Jan 27 18:47:03 2007 UTC (19 months, 1 week ago) by jnelson
Branch: MAIN
Changes since 1.213: +24 -4 lines
Diff to previous 1.213
* Change startup code so it outputs the pid of the bot process for -b.
* Fix $info(o) bug.  rb zlonix
* Output the errno value ret by failed nonblocking server connects on error.
* Add auto-close boolean flag for server (see UPDATES)

Revision 1.213 / (view) - annotate - [select for diffs] , Fri Nov 17 20:10:03 2006 UTC (21 months, 3 weeks ago) by jnelson
Branch: MAIN
Changes since 1.212: +2 -2 lines
Diff to previous 1.212
Add /userhost -extra for nullie

Revision 1.212 / (view) - annotate - [select for diffs] , Sat Nov 11 15:30:20 2006 UTC (21 months, 3 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_2
Changes since 1.211: +2 -1 lines
Diff to previous 1.211
Add a very slight delay when receiving the 001 numeric to fix a race condition
that I'm seeing on epicsol. doh. :/

Revision 1.211 / (view) - annotate - [select for diffs] , Wed Oct 25 22:40:42 2006 UTC (22 months, 1 week ago) by jnelson
Branch: MAIN
Changes since 1.210: +57 -6 lines
Diff to previous 1.210
Add a new field to server descriptions, 'vhost' to allow you to specify
a per-server virtual host.  All the usual caveats apply.

Revision 1.210 / (view) - annotate - [select for diffs] , Fri Oct 13 20:58:03 2006 UTC (22 months, 3 weeks ago) by jnelson
Branch: MAIN
Changes since 1.209: +8 -8 lines
Diff to previous 1.209
This is the start of a major project to normalize the behavior of word
handling in built in functions.  The project involves stipulating that every
place that handles a "word list" define what a "word" is and use it
consistenly, and to output the same type of "words" that it accepts as
input.  This leverages /xdebug dword to control optional support for dwords
in many built in functions.

Revision 1.209 / (view) - annotate - [select for diffs] , Sun Oct 8 13:25:39 2006 UTC (23 months ago) by jnelson
Branch: MAIN
Changes since 1.208: +3 -2 lines
Diff to previous 1.208
D'oh!

Revision 1.208 / (view) - annotate - [select for diffs] , Sun Oct 8 13:00:08 2006 UTC (23 months ago) by jnelson
Branch: MAIN
Changes since 1.207: +27 -26 lines
Diff to previous 1.207
Fix some bugs with /window query that kreca found.

Revision 1.207 / (view) - annotate - [select for diffs] , Thu Oct 5 23:12:40 2006 UTC (23 months ago) by jnelson
Branch: MAIN
Changes since 1.206: +173 -82 lines
Diff to previous 1.206
* Make $urlencode() rfc3986-ish, converting all non-unreserved chars
* Change ServerInfo to use const char's since we don't modify them directly.
* Reorganize how ServerInfos are used, into "temporary" and "permanent" types
* Convert Server's use of ServerInfo's into safe permanent types.
* Add /server -update <refnum> <desc> to change server descs on the fly.
* Fix typo in /invite.
* Fix 'country' script by wrapping it with xdebug dwords.

Revision 1.206 / (view) - annotate - [select for diffs] , Sat Sep 30 00:36:08 2006 UTC (23 months, 1 week ago) by jnelson
Branch: MAIN
Changes since 1.205: +141 -101 lines
Diff to previous 1.205
* Pass double ptr to remove_bindings_recurse() to fix exit-time memory leak.
* Remove /set bad_style, input_aliases, security,  (unused)
* Remove /set ssl_certfile, ssl_keyfile, and ssl_path (unused)
* Add a (ServerInfo) object to (Server), switch to using it.
* Remove a bunch of unused thingees in (Server) while i'm here.
* Restore /set reverse_status_line to a builtin. oh well.

Revision 1.205 / (view) - annotate - [select for diffs] , Sun Sep 24 15:03:58 2006 UTC (23 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.204: +4 -1 lines
Diff to previous 1.204
* Fixes for two memory leaks from nullie
* New /on, /ON WINDOW_SERVER, from nullie who needs to write a blurb.

Revision 1.204 / (view) - annotate - [select for diffs] , Sat Sep 23 01:56:44 2006 UTC (23 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.203: +4 -1 lines
Diff to previous 1.203
Fix compiler warnings, should not be any functional changes.

Revision 1.203 / (view) - annotate - [select for diffs] , Tue Sep 19 02:08:46 2006 UTC (23 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.202: +34 -12 lines
Diff to previous 1.202
* Make /window foo kill not fall back to /window describe, for want of 'foo'.
* Add a 'proto' field to server descs (tcp4, tcp6, 4, or 6), see UPDATES.

Revision 1.202 / (view) - annotate - [select for diffs] , Sat Sep 16 15:13:33 2006 UTC (23 months, 3 weeks ago) by jnelson
Branch: MAIN
Changes since 1.201: +152 -61 lines
Diff to previous 1.201
* New 'builtins' from blackjac, more modern format, /whowas improvements
* Refactor the serverinfo stuff
* Allow skipping of fields in server descs (see UPDATES)

Revision 1.201 / (view) - annotate - [select for diffs] , Fri Sep 8 21:52:50 2006 UTC (23 months, 4 weeks ago) by jnelson
Branch: MAIN
Changes since 1.200: +4 -15 lines
Diff to previous 1.200
* Fix finite()/isfinite() madness.
* Look for clock_gettime() in -lrt for ubuntu.
* Automatic reconnect from nullie. yay!
* Change /xecho -v to always output to current window if it's visible.
* Fix /on's with arglists, so lower serial nums don't corrupt $*. [rb nullie]
* Fix memory leak with $url(en|de)code() [rb nullie]
* Change /server - so it calls disconnect() directly
* Fix const correctness problems with sha2.c

Revision 1.200 / (view) - annotate - [select for diffs] , Fri Sep 1 01:22:44 2006 UTC (2 years ago) by jnelson
Branch: MAIN
Changes since 1.199: +18 -1 lines
Diff to previous 1.199
* Add $serverctl(GET refnum ADDRSLEFT) (see UPDATES)

Revision 1.199 / (view) - annotate - [select for diffs] , Fri Aug 18 11:04:16 2006 UTC (2 years ago) by jnelson
Branch: MAIN
Changes since 1.198: +11 -6 lines
Diff to previous 1.198
* Add server states CREATED and DELETED for nullie.

Revision 1.198 / (view) - annotate - [select for diffs] , Sat Jul 1 03:17:12 2006 UTC (2 years, 2 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_1
Changes since 1.197: +15 -1 lines
Diff to previous 1.197
* Add SEDSHA cipher type, which is better than SED, and always available.
* Add my_sleep|isreadable|iswritable() funcs to phase out rogue selects()h
* Add support for multiple concurrent servers to /encrypt. yay!
* Store the length of the Crypt key within the key itself.
* This moves us closer to being able to decrypt arbitrary data.
* Test all of the cipher types, incl. compat of CAST with ircII.  All set!

Revision 1.197 / (view) - annotate - [select for diffs] , Tue Jun 27 00:42:35 2006 UTC (2 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.196: +5 -1 lines
Diff to previous 1.196
* Support cast5/blowfish encryption a la ircII.
* Fix build for non-ssl users.

Revision 1.196 / (view) - annotate - [select for diffs] , Fri Jun 23 04:03:11 2006 UTC (2 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.195: +42 -13 lines
Diff to previous 1.195
* 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.

Revision 1.195 / (view) - annotate - [select for diffs] , Wed Jun 21 03:25:18 2006 UTC (2 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.194: +3 -1 lines
Diff to previous 1.194
* Don't call close_server() for gaps in server list in close_all_servers().

Revision 1.194 / (view) - annotate - [select for diffs] , Wed Jun 21 03:22:34 2006 UTC (2 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.193: +5 -5 lines
Diff to previous 1.193
Fix buffer overrun with new server state.

Revision 1.193 / (view) - annotate - [select for diffs] , Sat Jun 17 03:04:02 2006 UTC (2 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.192: +41 -9 lines
Diff to previous 1.192
* 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.

Revision 1.192 / (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.191: +1 -101 lines
Diff to previous 1.191
* 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.191 / (view) - annotate - [select for diffs] , Sun Oct 30 22:41:19 2005 UTC (2 years, 10 months ago) by jnelson
Branch: MAIN
Changes since 1.190: +3 -3 lines
Diff to previous 1.190
* Switch users of LEVEL_CRAP to LEVEL_OTHER. yay!
* Whack some unused functions and decls, make *toa() funcs return const.
* Roll get_window_by_name() into get_window_by_desc(), it's only user.

Revision 1.190 / (view) - annotate - [select for diffs] , Thu Oct 13 00:11:58 2005 UTC (2 years, 10 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_7
Changes since 1.189: +1 -2 lines
Diff to previous 1.189
* Nix some func decls in windows.h that don't exist any more
* Add message_setall(), lets you save to_window on the message_from stack.
* Replace users of message_to() with message_setall().
* Replace direct users of to_window with message_setall(). yay!
* /XECHO got rewritten as part of this.  See UPDATES
* Fix various compiler warnings.

Revision 1.189 / (view) - annotate - [select for diffs] , Tue Oct 4 02:47:45 2005 UTC (2 years, 11 months ago) by jnelson
Branch: MAIN
Changes since 1.188: +55 -22 lines
Diff to previous 1.188
* Include <stddef.h> if we can, for no particular reason...
* Nix now unused mangle_line(). yay!
* Use (intptr_t) instead of (intmax_t) to treat pointers as integers...
* Try to handle failures from the dns helpers with more grace.

Revision 1.188 / (view) - annotate - [select for diffs] , Sun Oct 2 13:51:33 2005 UTC (2 years, 11 months ago) by jnelson
Branch: MAIN
Changes since 1.187: +9 -1 lines
Diff to previous 1.187
* Convert the other users of mangle_line() to new_normalize_string (*gulp!*)

Revision 1.187 / (view) - annotate - [select for diffs] , Sun Oct 2 03:18:45 2005 UTC (2 years, 11 months ago) by jnelson
Branch: MAIN
Changes since 1.186: +7 -4 lines
Diff to previous 1.186
* Add support for dgets buffer type -2 (only return full buffers)
* Use buffer type -2 for reading nonblocking dns addrs, fixes probs on solaris.

Revision 1.186 / (view) - annotate - [select for diffs] , Tue Aug 9 01:01:05 2005 UTC (3 years, 1 month ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_6
Changes since 1.185: +6 -6 lines
Diff to previous 1.185
* Improve /dcc get
* Fix warnings

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

Revision 1.184 / (view) - annotate - [select for diffs] , Wed Aug 3 04:06:05 2005 UTC (3 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.183: +8 -3 lines
Diff to previous 1.183
* Add new server status, "ERROR" for nonrecoverable socket errors.

Revision 1.183 / (view) - annotate - [select for diffs] , Tue Jul 26 19:43:24 2005 UTC (3 years, 1 month ago) by crazyed
Branch: MAIN
Changes since 1.182: +11 -1 lines
Diff to previous 1.182
Addendum to the previous commit.

The /ison changes were difficult to separate and aren't documented:

These are the -e, -end and -max flags, and the fact that -max and -len
are per-server variables now.

Revision 1.182 / (view) - annotate - [select for diffs] , Sat Jul 23 05:30:24 2005 UTC (3 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.181: +25 -2 lines
Diff to previous 1.181
* 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.

Revision 1.181 / (view) - annotate - [select for diffs] , Sat Jun 4 02:59:33 2005 UTC (3 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.180: +9 -1 lines
Diff to previous 1.180
* Don't do LOCAL_COPY within an infinite loop, leads to stack exahustion.
* Support new signal, SIGUSR2 which throws "system_exception".
* Teach the block commands about "system_exception" so they can be stopped.
* Whack a bunch of unused timers from vars.c. (see UPDATES)
* Sync up config.h, vars.h, and vars.c with each other.
* Add "domains" to timers, server timers, window timer, general timers
* When timers go off, latch back to their domain
* Allow timers to self-cancel if their latched item has gone away
* Add /timer -general to set a general timer.
* Make /timer -win or /timer -serv set a window or serv timer especially.

Revision 1.180 / (view) - annotate - [select for diffs] , Fri Jun 3 01:32:57 2005 UTC (3 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.179: +4 -5 lines
Diff to previous 1.179
* By default, <hostname> as server, defaults to port 0
* By default, port 0 changes to irc_port (6667) for a new server
* This means any use of <hostname> in a server context picks up 1st <hostname>
* The -B command line option (load startup file before connect) is now default.

Revision 1.179 / (view) - annotate - [select for diffs] , Thu Jun 2 04:36:16 2005 UTC (3 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.178: +28 -19 lines
Diff to previous 1.178
* Fix up do_server() so anything that happens is wrapped in message_from()s.
* Show the server list for /window server instead of an error.

Revision 1.178 / (view) - annotate - [select for diffs] , Wed Jun 1 03:49:09 2005 UTC (3 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.177: +15 -10 lines
Diff to previous 1.177
* Put all handling of /set quit_message et al in close_server().
* Fix /quit to pass unspecified quit message as NULL to irc_exit().
* Fix irc_exit() to handle unspec. quit message as NULL to close_all_serves()
* Fix close_all_servers() to not change quit message for NULL.
* This allows /quit to use (not override) each server's quit message!
* This also allows a single %s in /set quit_message to be honored everywhere!

Revision 1.177 / (view) - annotate - [select for diffs] , Fri May 20 22:49:16 2005 UTC (3 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.176: +91 -46 lines
Diff to previous 1.176
New builtins, very preliminary support for nonblocking dns.

Revision 1.176 / (view) - annotate - [select for diffs] , Fri May 20 12:44:31 2005 UTC (3 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.175: +13 -3 lines
Diff to previous 1.175
* Add marshalling functions for getaddrinfo()
* Use getaddrinfo marshalls + dgets to simulate nonblocking dns lookups.
* New newio io type, "NULL" which i'll probably whack later.

Revision 1.175 / (view) - annotate - [select for diffs] , Fri May 20 04:31:31 2005 UTC (3 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.174: +17 -9 lines
Diff to previous 1.174
New internal function "marshall_getaddrinfo" which re-constitutes the linked
list return value of getaddrinfo() into a single buffer which we can thus
new_free() later.  This will be forming the basis of any async dns lookups,
because a full getaddrinfo() return value can be passed as 1 block of data.

Revision 1.174 / (view) - annotate - [select for diffs] , Wed May 11 00:09:48 2005 UTC (3 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.173: +13 -35 lines
Diff to previous 1.173
* Add /window killable to allow you to make windows unkillable
* Nickname rejections are handled through /on new_nickname solely now.

Revision 1.173 / (view) - annotate - [select for diffs] , Mon May 9 02:43:52 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.172: +36 -39 lines
Diff to previous 1.172
Reorganize how nickname changes are handled, refactoring coming soon!

Revision 1.172 / (view) - annotate - [select for diffs] , Sat May 7 14:12:19 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.171: +15 -2 lines
Diff to previous 1.171
I apologize to Kev for cluttering up your inbox with all this junk. :d

Revision 1.171 / (view) - annotate - [select for diffs] , Sat May 7 13:57:56 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.170: +2 -2 lines
Diff to previous 1.170
Ah today ain't my day.  Gotta stop coding without caffeine. :/

Revision 1.170 / (view) - annotate - [select for diffs] , Sat May 7 13:49:19 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.169: +9 -2 lines
Diff to previous 1.169
Third time's the charm!

Revision 1.169 / (view) - annotate - [select for diffs] , Sat May 7 13:43:47 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.168: +2 -2 lines
Diff to previous 1.168
Re-fix the ircnet stuff I just "fixed" (*cough*).

Revision 1.168 / (view) - annotate - [select for diffs] , Sat May 7 13:28:34 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.167: +6 -3 lines
Diff to previous 1.167
Fix ircnet unique-id support so if you do /nick <unique-id>, the default
nickname (in case of reconnect) is "0" and not your <unique-id>, which
would of course fail.

Revision 1.167 / (view) - annotate - [select for diffs] , Sat May 7 04:43:54 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.166: +8 -2 lines
Diff to previous 1.166
* Fix $windowctl(GET * QUERY_NICK)
* Don't do WHO on anonymous channels (channel mode +a) (for ircnet users)
* Don't set server's default nickname until we first try to connect.

Revision 1.166 / (view) - annotate - [select for diffs] , Tue May 3 02:57:11 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.165: +4 -1 lines
Diff to previous 1.165
Add $serverctl(GET * LOCALPORT) [fudd]

Revision 1.165 / (view) - annotate - [select for diffs] , Sun Apr 24 12:39:30 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.164: +2 -2 lines
Diff to previous 1.164
Fix $serverctl(REFNUM ...) oooops!

Revision 1.164 / (view) - annotate - [select for diffs] , Sun Apr 3 18:00:59 2005 UTC (3 years, 5 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_5
Changes since 1.163: +3 -2 lines
Diff to previous 1.163
Permit /set -new_server_lastlog_level and /set -old_server_lastlog_level
which prevents epic from changing the window's level when you're connected
to a server or when a level collision occurs after a /server.  Use these
with caution, I don't know what might happen!

Revision 1.163 / (view) - annotate - [select for diffs] , Fri Apr 1 18:20:01 2005 UTC (3 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.162: +5 -1 lines
Diff to previous 1.162
Stuff for fudd and blackjac.

Revision 1.162 / (view) - annotate - [select for diffs] , Fri Apr 1 03:04:52 2005 UTC (3 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.161: +7 -12 lines
Diff to previous 1.161
* 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.161 / (view) - annotate - [select for diffs] , Mon Mar 28 23:53:58 2005 UTC (3 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.160: +4 -4 lines
Diff to previous 1.160
* Take a new arg to new_open() to control whether INFO -- errors are output.
* Don't output the "INFO --" things for dcc or execs

Revision 1.160 / (view) - annotate - [select for diffs] , Sun Mar 6 04:48:42 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_4
Changes since 1.159: +5 -3 lines
Diff to previous 1.159
* Don't try to figure out disconnected server's port from sockaddr, duh!

Revision 1.159 / (view) - annotate - [select for diffs] , Fri Mar 4 05:30:59 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.158: +13 -10 lines
Diff to previous 1.158
* 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

Revision 1.158 / (view) - annotate - [select for diffs] , Fri Mar 4 05:09:01 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.157: +4 -1 lines
Diff to previous 1.157
Fix SSL with pthreads.

Revision 1.157 / (view) - annotate - [select for diffs] , Fri Mar 4 00:57:45 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.156: +4 -3 lines
Diff to previous 1.156
* 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.

Revision 1.156 / (view) - annotate - [select for diffs] , Thu Mar 3 02:10:40 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.155: +60 -65 lines
Diff to previous 1.155
* Refactor the error stuff by eliminating my_strerror() and dgets_errno.
* Error messages are now delivered on multiple levels as info is available.
* This may get annoying, but it's a lot more accurate now!
* Change inet_* functions to return int's since their retval is unused.
* Add a new internal "syserr()" function that generates formatted errors.
* Syserr's look like say()s but they act like yell()s. (can hook with /on yell)
* Keep an counter in the server stuff so we can count off as addrs are used.
* So the error message in /ON DCC_LOST is always just "ERROR" now.
* Fix various compiler warnings and stuff.
* Add $hookctl(GET HOOK <ref> STRING), return /load'able format of ON
* Fix some debugging outbound in switch_hostname(), doh!
* Roll set_socket_options() into a new Socket() function.
* Roll connections to AF_UNIX sockets into the mainline stuff.
* Roll nonblocking/connect/nonblocking into Connect().
* Add AF_UNIX support to Getnameinfo() to remove annoying errors.
* When doing recovery from EBADF in select, only check fd's we're using
* Just puke if configured for kqueue() and kqueue() fails.
* Don't puke on default 353 output if the userlist arg is missing. (for ratbox)
* Permit doing /window name to change case of window's name.

Revision 1.155 / (view) - annotate - [select for diffs] , Tue Mar 1 00:54:55 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.154: +2 -4 lines
Diff to previous 1.154
* Implement a proper built in /INVITE command.  See UPDATES
* Revert 2.8script change.
* Add "subpackage" command, which i'll document later.
* Package up 'global', and '2.8script' and 'basical' so they can be /unload'ed.
* Don't load "global" if user has their own startup script.
* Don't load "global" if the -q option is set, either.
* Thus, the "global" script acts as a default "epicrc" for those without one.
* THIS IS BACKWARDS INCOMPATABLE.  SEE UPDATES FOR IMPORTANT INFORMATION.
* Nix the "loading_global" variable, only used by hooks.
* Fix /on 005 so it shows the /on 005's and not all numeric hooks.
* If Accept() fails, tell the user straight-way so I can debug this.
* Fix /window name - so it redraws the status bar.

Revision 1.154 / (view) - annotate - [select for diffs] , Mon Feb 28 14:23:30 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.153: +2 -2 lines
Diff to previous 1.153
* Comment out some oper-only things in 2.8script the opers seem to hate.
* Update some copyright years, just for laughs.

Revision 1.153 / (view) - annotate - [select for diffs] , Sun Feb 27 04:47:46 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.152: +8 -1 lines
Diff to previous 1.152
* Fix accept() with pthreads.  Nonblocking + pthreads == Bad.
* Throw away all unused addrs when we are registered, to ensure no reconnects.

Revision 1.152 / (view) - annotate - [select for diffs] , Fri Feb 25 05:50:40 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.151: +2 -2 lines
Diff to previous 1.151
* Fix the second lamest bug ever. DO NOT DO CONTNIUE WITHIN WHILE (0) DUMMY.

Revision 1.151 / (view) - annotate - [select for diffs] , Wed Feb 23 03:41:36 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.150: +3 -1 lines
Diff to previous 1.150
Fix more bugs. yay!

Revision 1.150 / (view) - annotate - [select for diffs] , Tue Feb 22 00:28:35 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.149: +3 -2 lines
Diff to previous 1.149
Fix ssl server connections.

Revision 1.149 / (view) - annotate - [select for diffs] , Sat Feb 19 04:22:26 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.148: +9 -11 lines
Diff to previous 1.148
* 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!

Revision 1.148 / (view) - annotate - [select for diffs] , Thu Feb 10 05:10:57 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.147: +23 -22 lines
Diff to previous 1.147
* Add a dgets_buffer() to inject data into dgets() system.
* Fix up dgets() so it has read() like semantics.
* Fix up dgets() callers to use it like a read() type function.
* Turn off /xdebug server_connected hardcoded at startup for now.
* Fix up unix_* io functions to use dgets_buffer().
* Fix do_filedesc() to repeatedly call callback until buffer is clean
* Move set_socket_options() to network.c, make do_filedesc() global func

Revision 1.147 / (view) - annotate - [select for diffs] , Wed Feb 9 02:23:25 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.146: +45 -140 lines
Diff to previous 1.146
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.

Revision 1.146 / (view) - annotate - [select for diffs] , Sat Feb 5 00:08:11 2005 UTC (3 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.145: +2 -2 lines
Diff to previous 1.145
* Fix /dmsg =<numeric> again, fix compiler warnings.
* Whack dgets() into submission regarding incomplete unbuffered lines.
* Revamp how partial lines from an /exec process are handled.

Revision 1.145 / (view) - annotate - [select for diffs] , Thu Feb 3 01:33:39 2005 UTC (3 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.144: +52 -1 lines
Diff to previous 1.144
* Fix $symbolctl(pmatch <incorrect> *) crash
* Auto-create server's first altname, make %S and %{1}S use it.
* Don't add mode types 2, 3, or 4 (takes-args) to the channel mode string.
* This makes ircnet's +R not show up on the status bar.
* Fix /dmsg =<ircnet-numeric-nick>, for Q.
* Add $serverctl(GET <refnum> PROTOCOL), returns IRC or IRC-SSL

Revision 1.144 / (view) - annotate - [select for diffs] , Sun Jan 23 21:41:28 2005 UTC (3 years, 7 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_3
Changes since 1.143: +4 -3 lines
Diff to previous 1.143
* 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.

Revision 1.143 / (view) - annotate - [select for diffs] , Wed Jan 12 00:12:21 2005 UTC (3 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.142: +39 -11 lines
Diff to previous 1.142
* 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

Revision 1.142 / (view) - annotate - [select for diffs] , Tue Jan 11 05:30:52 2005 UTC (3 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.141: +5 -1 lines
Diff to previous 1.141
* New internal function set_mask_by_winref() allows changing window's level.
* Make /xdebug regex_debug outputs privileged yell()s, just for sanity.
* Change /set new_server_lastlog_level to take effect on 001 (see UPDATES)
* Refactor window_check_servers() to work with server's current window only.

Revision 1.141 / (view) - annotate - [select for diffs] , Thu Jan 6 23:54:13 2005 UTC (3 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.140: +28 -2 lines
Diff to previous 1.140
* After connect()ing to a server, save the remote peername
* This fixes $serverctl(GET <num> PORT)
* This also fixes $servports(), which should work as (not) documented.
* Fix for notify_signon default handler, from larne. thanks!
* Add $serverctl(GET <num> ADDRFAMILY), returns "ipv4", "ipv6" or "unix"
* Allow /hostname <ipv4>/<ipv6>, separately set v4/v6 vhosts! (see UPDATES)

Revision 1.140 / (view) - annotate - [select for diffs] , Sat Oct 30 13:56:16 2004 UTC (3 years, 10 months ago) by crazyed
Branch: MAIN
Changes since 1.139: +25 -8 lines
Diff to previous 1.139
* New /ISON bells and whistles as per UPDATES.
* Changes to /reconnect, /server -a, /on server_established and
  remove_from_comma_list() as per KNOWNBUGS.

Revision 1.139 / (view) - annotate - [select for diffs] , Tue Aug 24 22:27:24 2004 UTC (4 years ago) by jnelson
Branch: MAIN
Changes since 1.138: +460 -473 lines
Diff to previous 1.138
* Nix calls to dcc_connected(<fd>, 0) which were always bogus.
* Create print_arglist() for printing alias arglists, natch.
* Fix crash from /queue -del <name> <num> for <num> = <items> + 1 (rb black)
* Show arglist when creating and listing aliases.
* Fix memory leaks of buckets when user grabs /on set.
* Add a "alternate names" bucket to server data.
* Create a whole new api for querying and creating server refnums.
* Fix crash with /dump on (/dump all)
* Add $serverctl(GET|SET <refnum> ALIAS) get and set server alternate desigs
* Add $serverctl(GET|SET <refnum> ALIASES) get and set entire list.
* Fix memory leak with /on set

Revision 1.138 / (view) - annotate - [select for diffs] , Tue Aug 17 15:09:46 2004 UTC (4 years ago) by crazyed
Branch: MAIN
Changes since 1.137: +12 -1 lines
Diff to previous 1.137
* Numerous new and changed features as per UPDATES.
* Better handling of damaged /who x,y responses.

Revision 1.137 / (view) - annotate - [select for diffs] , Wed Aug 11 22:58:39 2004 UTC (4 years ago) by jnelson
Branch: MAIN
Changes since 1.136: +1 -25 lines
Diff to previous 1.136
* Nix /save and pray nobody notices.
* Implement pmatch_* stuff in alias.c to use the unified symbol table.
* Commands, functions, and expandos now 100% integrated.  HUZZAH!
* Reimplement $get(set|command|function)s() to use the pmatch_* stuff.
* So they now pick up changes at runtime. HUZZAH!
* Allow built in /set to be conditionally added to the "set bucket"
* Don't put user-created /set's in the bucket
* Allow user to replace one user-created /sets but not builtin sets.
* Allow mangling of ALT_CHAR -- how did this ever get missed?
* Fix $currchans() so it works the way the documentation says it does.
* Fix some const correctness issues, introduce others. bleh.

Revision 1.136 / (view) - annotate - [select for diffs] , Sun Aug 8 02:52:50 2004 UTC (4 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.135: +9 -1 lines
Diff to previous 1.135
Sync up with all the bug fixes from epic4.

Revision 1.135 / (view) - annotate - [select for diffs] , Wed Jul 28 00:02:39 2004 UTC (4 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.134: +3 -2 lines
Diff to previous 1.134
* Refactor IrcVariable to not depend on having the varname.
* This will lead to multiple hard links to the same /set value in the future.
* Nix the 'name' and 'hash' values in IrcVariable, no longer needed.
* Make all uses of "realname" use the /set realname variable (rb adm)
* Nix the global "realname" variable, use /set realname for all.
* Fix bug with free_bucket()
* Fix compile warnings in vars.c
* Store built in variable xref table in a bucket.
* When changing a user-created /set, start calling the user's scriptback
* Allow the user's scriptback to call /set to override the user's value.
* Tell the user that they created a new /set.

Revision 1.134 / (view) - annotate - [select for diffs] , Thu Jul 8 07:27:59 2004 UTC (4 years, 2 months ago) by crazyed
Branch: MAIN
Changes since 1.133: +14 -1 lines
Diff to previous 1.133
* Userhost updating for NICK messages as per UPDATES.
* Delayed ISON requests as per UPDATES.

Revision 1.133 / (view) - annotate - [select for diffs] , Mon Jun 28 22:48:15 2004 UTC (4 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.132: +2 -2 lines
Diff to previous 1.132
* Begin massive refactorization of alias.c, redefining "Alias" as "Symbol"
* Refactor parse_line() with a bunch of front end call_* functions.
* And a general parse_line() front end, "runcmds()".
* Roll builtin expandos in with the user variables
* Roll variables and commands together into one name space. HUZZAH!
* Nix the caches for the global name space, for now.
* I definitely broke /stack alias|assign here.  I'll fix it later.
* Inline expandos are now officially strings instead of a single char.
* Fix bug with $unshift() that popped up.
* Move after_expando() to ircaux.c.  I think it belongs there more.

Revision 1.132 / (view) - annotate - [select for diffs] , Tue Jun 1 00:57:14 2004 UTC (4 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.131: +3 -1 lines
Diff to previous 1.131
Add $serverctl(GET * STATUS) for CE.

Revision 1.131 / (view) - annotate - [select for diffs] , Mon Apr 12 23:19:48 2004 UTC (4 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.130: +2 -1 lines
Diff to previous 1.130
* Move some defines from comands.h to where they belong
* Add and remove func decls in header files as necessary.
* Add /wait =<fd> which returns when a nonblocking dcc connection finishes
* Make all keybinding funcs/decls use the BUILT_IN_KEYBINDING macro.
* Make the BUILT_IN_KEYBINDING macro use unsigned chars.
* Hide (struct Key) inside keys.c, and use (void *) to hold state.
* Make the input line use (unsigned char), not (char), huzzah!
* Make the "othername" ($3 in /on dcc_raw "E") the port number.
* Avoid a NULL deref with "parse_command" keybinding.

Revision 1.130 / (view) - annotate - [select for diffs] , Thu Mar 18 01:04:03 2004 UTC (4 years, 5 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_2
Changes since 1.129: +14 -9 lines
Diff to previous 1.129
* Move Lastlog definition to lastlog.c, leave stub behind for window.h
* Add window_all_channels(), return all windows for channel from names.c
* Change boolean vartype for windows and status: int -> short.
* Add do_short_boolean(), like do_boolean(), but it takes a short.
* Make the default server quit message "Leaving"
* Have /window describe show all the channels in a window.
* Have /window describe show nicks, channels in flat list, not one per line.
* Make sure to use the server's default quit message when closing it.
* Create a prototype of atoll() for compat systems.

Revision 1.129 / (view) - annotate - [select for diffs] , Wed Mar 17 03:51:53 2004 UTC (4 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.128: +4 -3 lines
Diff to previous 1.128
* Make sure that servers go through SERVER_EOF state on eof!
* Track waiting/pending channels using a nicklist per window.
* Nix $winbound() and all the other stuff relating to bound channels
* Fix bug with binding/initializing the 255 key
* Fix bug with TOGGLE_STOP_SCREEN keybinding.

Revision 1.128 / (view) - annotate - [select for diffs] , Tue Mar 16 16:24:23 2004 UTC (4 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.127: +2 -2 lines
Diff to previous 1.127
GC the blocking connect() code, epic is now fully nonblocking connect!

Revision 1.127 / (view) - annotate - [select for diffs] , Mon Mar 15 03:24:52 2004 UTC (4 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.126: +2 -2 lines
Diff to previous 1.126
Well, at least it compiles again, but I think i still need at least one
or two sweeps of the code to make sure I got everything proper.

Revision 1.126 / (view) - annotate - [select for diffs] , Fri Mar 12 22:22:00 2004 UTC (4 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.125: +2 -2 lines
Diff to previous 1.125
*********** 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.125 / (view) - annotate - [select for diffs] , Thu Mar 4 18:53:45 2004 UTC (4 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.124: +2 -2 lines
Diff to previous 1.124
Fix a typo for ssl users.

Revision 1.124 / (view) - annotate - [select for diffs] , Thu Jan 29 06:59:55 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.123: +11 -8 lines
Diff to previous 1.123
Merge changes from epic4 commits 674 to 692, inclusive.

Revision 1.123 / (view) - annotate - [select for diffs] , Sun Jan 25 06:48:02 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.122: +24 -3 lines
Diff to previous 1.122
* 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!

Revision 1.122 / (view) - annotate - [select for diffs] , Fri Jan 23 08:03:53 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.121: +57 -65 lines
Diff to previous 1.121
* Abstract fd handling in newio.[ch] through #defines
* Add fd handling with freebsd's kqueue().  Huzzah! (not turned on by default)
* Refactor how dgets() works with incomplete SSL reads, slurp up everything
* Nix the bletcherous do_server(-1) hack in io().
* Fix a few more bogons in do_server().

Revision 1.121 / (view) - annotate - [select for diffs] , Thu Jan 22 03:24:34 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.120: +2 -2 lines
Diff to previous 1.120
* Fix typo in do_server() that caused a blocking read. doh! (rb adm)

Revision 1.120 / (view) - annotate - [select for diffs] , Fri Jan 16 00:26:42 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.119: +2 -2 lines
Diff to previous 1.119
* Fix io() to call do_server(-1) to do ssl timeouts. bleh.

Revision 1.119 / (view) - annotate - [select for diffs] , Thu Jan 15 22:31:03 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.118: +6 -10 lines
Diff to previous 1.118
* Make new_open[_for_write] take a callback function, stash it in io_rec.
* Add handle_filedescs() which takes select() results and calls callbacks
* Make io() call handle_filedescs() instead of the four callback functions.
* This is the first stage of an extendable callback event looper!  huzzah!

Revision 1.118 / (view) - annotate - [select for diffs] , Thu Jan 15 22:28:04 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.117: +105 -79 lines
Diff to previous 1.117
Don't do anything for /on 465, refactor /server.

Revision 1.117 / (view) - annotate - [select for diffs] , Thu Jan 15 05:54:55 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.116: +38 -25 lines
Diff to previous 1.116
* Make /reconnect work on servers that are not already open.
* Don't just cavalierly change window's servers.
* Prefer close_server(i, NULL); over change_window_server(i, NOSERV);
* Allow windows to stay connected to closed servers.
* Nix window's "old server", now they're unnecessary.  HUZZAH!
* Mop up channel stuff that coped with window-old-server.
* Break backwards compatability and make /window +<server> reconnect to ser.
* Break backwards compatability and make /window -<server> disconnect from serv
* Hide a bunch more debugging output behind /xdebug server_connect
* Refactor change_window_server().
* Make /window discon the same as /window noserv, total disconnection.

Revision 1.116 / (view) - annotate - [select for diffs] , Wed Jan 14 03:04:31 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.115: +24 -12 lines
Diff to previous 1.115
* Be careful what modes we add to modestr in update_channel_mode.
* GC some old epic4 macros which we don't use
* Fix a typo that b0rked /on server_status
* Force output for a server connection to go to its connected window.
* Make /server reset server's status, so it can be reconnected to.

Revision 1.115 / (view) - annotate - [select for diffs] , Thu Jan 8 02:44:35 2004 UTC (4 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.114: +45 -13 lines
Diff to previous 1.114
* Fix some compiler issues and so forth
* Nix the NOTE level.
* Move load_ircrc() to irc.c, nix "startup_file" global var.
* Always change server state using set_server_status(), because...
* Add /ON SERVER_STATUS, $0 is refnum, $1 is old state, $2 is new state
* Delete /on widelist, no longer used
* Prototype mode string manipulation functions
* Reorganize names.h to reflect new realities
* Prototype (Get|Free)addrinfo() now that server.c uses them.
* Nix /window bind, rebind, unbound; $windowctl(* BIND_CHANNEL *)

Revision 1.114 / (view) - annotate - [select for diffs] , Wed Jan 7 16:05:02 2004 UTC (4 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.113: +1 -2 lines
Diff to previous 1.113
* 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.

Revision 1.113 / (view) - annotate - [select for diffs] , Mon Jan 5 16:24:40 2004 UTC (4 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.112: +263 -482 lines
Diff to previous 1.112
* Allow client_connect() to be nonblocking
* Allow Getaddrinfo() and Freeaddrinfo() to be called extern.
* Track writable sockets in 'global_max_fd' too.
* Keep a list of AI's for server addresses in the server code
* When server connection lost before registration, use the next AI
* Implement set_server_status(), which controls where server is in lifetime
* Nix reconnect(), which is replaced by close_server + set_server_status().
* Nix server_reconnects_to(), we no longer reconnect to servers.
* Make /xdebug server_connect the default for this commit at least
* Call window_check_servers() every time through io(), because...
* Make window_check_servers() look for disconnected servers and restart them.
* Add add_mode_to_str() which adds a channel or usermode to a string (sorted)
* Make usermodes use add_mode_to_str()
* Make channel modes use add_mode_to_str()
* Now modes are not stored in bitmasks, not hard-coded at compile time. HUZZAH!
* Nix "inactive" field in channels, channels are thrown away at disconnect
* Don't allow channels to move between servers, natch.
* Nix all the code to handle disconnected channels and such.
* Use change_window_server() to move windows to new servers, because...
* Make window_check_servers() auto-close windowless servers.
* Make change_window_server(<server>, NOSERV) cause a disconnect from <server>
* Don't honor /set auto_reconnect, we don't ever reconnect.
* Fix printf() error in /on kick default output
* Add new server state, SERVER_RECONNECT which means "i can be connected"
* So now SERVER_CLOSED means "don't reconnect me"
* Allow /server, /window server, and /reconnect to change CLOSED -> RECONNECT
* Make server connections nonblocking.
* Server connections are now nonrecursive, nonblocking, multi-protocol. HUZZAH!
* GC a bunch of server code dealing with reconnection we don't use now.
* Don't call window_check_servers() other than io() for sanity reasons.
* Make /window server just change server, let w_c_s() bootstrap connection
* Remove many window->channel->server sanity checks.

Revision 1.112 / (view) - annotate - [select for diffs] , Sun Dec 28 05:59:15 2003 UTC (4 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.111: +157 -186 lines
Diff to previous 1.111
* commit 1013:
* Use a "status" variable in server, instead of a plurality of binary flags
* Process usermodes as strings only.
* Nix 'flags', 'flags2' and 'umodes', 's_takes_arg', and 'eof'.
* Change update_user_mode() to take a server refnum.
* Nix $serverctl(... UMODES)
* Change server_is_registered() so it takes a server name and our nickname.
* Add server_is_unregistered() which i'll use in the future.
* Hook /on server_lost all the time in close_server() by popular request.
* Make $version() always return "2.8" since all servers are 2.8 servers.
* Check /set auto_rejoin_connect at disconnect-time, instead of connect-time.
* Use a "is_server_active()" function instead of "did_server_rejoin_channels"
* Move the guts of got_initial_version_28() into server_is_registered()
* Call "server_is_registered()" from 001, which loads ircrc among other things.
* Reduce 004 so it only sets the server's version string id.
* Nix got_initial_version_28

Revision 1.111 / (view) - annotate - [select for diffs] , Wed Dec 17 09:25:30 2003 UTC (4 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.110: +5 -7 lines
Diff to previous 1.110
Make 'empty_string' (const char []).  Now we're cooking with gas!

Revision 1.110 / (view) - annotat