CVS log for epic5/include/server.h

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

Request diff between arbitrary revisions


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

Revision 1.76 / (view) - annotate - [select for diffs] , Tue Jul 1 23:10:28 2008 UTC (3 months ago) by jnelson
Branch: MAIN
CVS Tags: HEAD
Changes since 1.75: +1 -1 lines
Diff to previous 1.75
* 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.75 / (view) - annotate - [select for diffs] , Fri Sep 7 17:07:29 2007 UTC (13 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_9, epic5-0_3_8, epic5-0_3_7, epic5-0_3_6, epic5-0_3_5
Changes since 1.74: +3 -1 lines
Diff to previous 1.74
* Revert commit 1498 (the dcc stuff) -- it was half baked.
* Fix warnings found with --with-warns.

Revision 1.74 / (view) - annotate - [select for diffs] , Wed Aug 22 20:57:18 2007 UTC (13 months, 2 weeks ago) by jnelson
Branch: MAIN
Changes since 1.73: +2 -0 lines
Diff to previous 1.73
--- This is a bunch of stuff I've been sitting on while I wait for howl to
finish what he was doing. ---

* Add support for ./configure --localdir
* Add support for ./configure --with-iconv=/usr/local
* Add support for looking for iconv in configure in various places
* Make configure check for nanosleep().
* Add function decls for [sg]et_server_realname()
* New version of screen.e
* Change "filename" to "local_filename" in dcc's, in prep of further work.
* Un-revert a few minor things.

Revision 1.73 / (view) - annotate - [select for diffs] , Wed Aug 22 17:40:26 2007 UTC (13 months, 2 weeks ago) by howl
Branch: MAIN
Changes since 1.72: +4 -0 lines
Diff to previous 1.72
* 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.72 / (view) - annotate - [select for diffs] , Thu Apr 12 01:51:38 2007 UTC (17 months, 3 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_4, epic5-0_3_3
Changes since 1.71: +0 -9 lines
Diff to previous 1.71
* 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.71 / (view) - annotate - [select for diffs] , Sat Jan 27 18:47:03 2007 UTC (20 months, 1 week ago) by jnelson
Branch: MAIN
Changes since 1.70: +5 -1 lines
Diff to previous 1.70
* 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.70 / (view) - annotate - [select for diffs] , Wed Oct 25 22:40:42 2006 UTC (23 months, 1 week ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_2
Changes since 1.69: +3 -0 lines
Diff to previous 1.69
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.69 / (view) - annotate - [select for diffs] , Sun Oct 8 13:00:08 2006 UTC (23 months, 4 weeks ago) by jnelson
Branch: MAIN
Changes since 1.68: +0 -1 lines
Diff to previous 1.68
Fix some bugs with /window query that kreca found.

Revision 1.68 / (view) - annotate - [select for diffs] , Thu Oct 5 23:12:39 2006 UTC (2 years ago) by jnelson
Branch: MAIN
Changes since 1.67: +7 -6 lines
Diff to previous 1.67
* 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.67 / (view) - annotate - [select for diffs] , Sat Sep 30 00:36:08 2006 UTC (2 years ago) by jnelson
Branch: MAIN
Changes since 1.66: +26 -12 lines
Diff to previous 1.66
* 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.66 / (view) - annotate - [select for diffs] , Tue Sep 19 02:08:46 2006 UTC (2 years ago) by jnelson
Branch: MAIN
Changes since 1.65: +1 -1 lines
Diff to previous 1.65
* 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.65 / (view) - annotate - [select for diffs] , Fri Sep 1 01:22:44 2006 UTC (2 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.64: +1 -0 lines
Diff to previous 1.64
* Add $serverctl(GET refnum ADDRSLEFT) (see UPDATES)

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

Revision 1.63 / (view) - annotate - [select for diffs] , Sat Jul 1 03:17:32 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_1
Changes since 1.62: +1 -0 lines
Diff to previous 1.62
* 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.62 / (view) - annotate - [select for diffs] , Wed Jun 21 03:22:34 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.61: +1 -1 lines
Diff to previous 1.61
Fix buffer overrun with new server state.

Revision 1.61 / (view) - annotate - [select for diffs] , Sat Jun 17 03:04:02 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.60: +8 -7 lines
Diff to previous 1.60
* 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.60 / (view) - annotate - [select for diffs] , Tue Aug 9 01:01:04 2005 UTC (3 years, 1 month ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_2_0, epic5-0_0_8, epic5-0_0_7, epic5-0_0_6
Changes since 1.59: +2 -0 lines
Diff to previous 1.59
* Improve /dcc get
* Fix warnings

Revision 1.59 / (view) - annotate - [select for diffs] , Fri Aug 5 23:54:22 2005 UTC (3 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.58: +4 -0 lines
Diff to previous 1.58
Add humanize_number() and fix compiler warnings. more to follow!

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

Revision 1.57 / (view) - annotate - [select for diffs] , Tue Jul 26 19:43:24 2005 UTC (3 years, 2 months ago) by crazyed
Branch: MAIN
Changes since 1.56: +1 -0 lines
Diff to previous 1.56
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.56 / (view) - annotate - [select for diffs] , Sat Jul 23 05:30:23 2005 UTC (3 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.55: +1 -0 lines
Diff to previous 1.55
* 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.55 / (view) - annotate - [select for diffs] , Fri May 20 22:49:15 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.54: +13 -10 lines
Diff to previous 1.54
New builtins, very preliminary support for nonblocking dns.

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

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

Revision 1.52 / (view) - annotate - [select for diffs] , Thu Mar 3 02:10:39 2005 UTC (3 years, 7 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_5, epic5-0_0_4
Changes since 1.51: +2 -0 lines
Diff to previous 1.51
* 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.51 / (view) - annotate - [select for diffs] , Wed Feb 9 02:23:25 2005 UTC (3 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.50: +0 -5 lines
Diff to previous 1.50
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.50 / (view) - annotate - [select for diffs] , Sat Feb 5 00:08:11 2005 UTC (3 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.49: +1 -1 lines
Diff to previous 1.49
* 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.49 / (view) - annotate - [select for diffs] , Thu Feb 3 01:33:39 2005 UTC (3 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.48: +3 -0 lines
Diff to previous 1.48
* 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.48 / (view) - annotate - [select for diffs] , Sat Oct 30 13:56:16 2004 UTC (3 years, 11 months ago) by crazyed
Branch: MAIN
CVS Tags: epic5-0_0_3
Changes since 1.47: +1 -0 lines
Diff to previous 1.47
* 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.47 / (view) - annotate - [select for diffs] , Tue Aug 24 22:27:23 2004 UTC (4 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.46: +11 -16 lines
Diff to previous 1.46
* 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.46 / (view) - annotate - [select for diffs] , Tue Aug 17 15:09:46 2004 UTC (4 years, 1 month ago) by crazyed
Branch: MAIN
Changes since 1.45: +1 -0 lines
Diff to previous 1.45
* Numerous new and changed features as per UPDATES.
* Better handling of damaged /who x,y responses.

Revision 1.45 / (view) - annotate - [select for diffs] , Sun Aug 8 02:52:49 2004 UTC (4 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.44: +3 -0 lines
Diff to previous 1.44
Sync up with all the bug fixes from epic4.

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

Revision 1.43 / (view) - annotate - [select for diffs] , Fri Mar 19 06:05:13 2004 UTC (4 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_2
Changes since 1.42: +1 -20 lines
Diff to previous 1.42
GC a bunch of useless cruft and stuff.

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

Revision 1.41 / (view) - annotate - [select for diffs] , Fri Jan 23 08:03:53 2004 UTC (4 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.40: +2 -0 lines
Diff to previous 1.40
* 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.40 / (view) - annotate - [select for diffs] , Thu Jan 15 22:31:03 2004 UTC (4 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.39: +0 -1 lines
Diff to previous 1.39
* 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.39 / (view) - annotate - [select for diffs] , Thu Jan 8 02:44:35 2004 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.38: +1 -0 lines
Diff to previous 1.38
* 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.38 / (view) - annotate - [select for diffs] , Wed Jan 7 16:05:02 2004 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.37: +1 -1 lines
Diff to previous 1.37
* 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.37 / (view) - annotate - [select for diffs] , Mon Jan 5 16:24:40 2004 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.36: +18 -8 lines
Diff to previous 1.36
* 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.36 / (view) - annotate - [select for diffs] , Sun Dec 28 05:59:15 2003 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.35: +15 -7 lines
Diff to previous 1.35
* 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.35 / (view) - annotate - [select for diffs] , Sat Dec 6 03:58:05 2003 UTC (4 years, 10 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_1, epic4-1_2_5, epic4-1_2_4
Changes since 1.34: +1 -1 lines
Diff to previous 1.34
Fix some issues with $numlines()

Revision 1.34 / (view) - annotate - [select for diffs] , Fri Nov 21 04:38:40 2003 UTC (4 years, 10 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_2_3, epic4-1_2_2, epic4-1_2_1, epic4-1_2_0
Changes since 1.33: +1 -0 lines
Diff to previous 1.33
Clean up after the server lists upon exit, for valgrind users.

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

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

Revision 1.32 / (view) - annotate - [select for diffs] , Mon Mar 24 03:03:19 2003 UTC (5 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_11
Changes since 1.31: +3 -0 lines
Diff to previous 1.31
* Move add_user_who, add_user_end from parse.c to numbers.c
* Add (set|get)_server_max_cached_chan_size(), max chan size for u@h caching.
* Add $serverctl(SET|GET <refnum> MAXCACHESIZE), largest channel we do WHO for.
* Move 'whobase' call from /on join to /on 324.
* Don't call 'whobase' (userhost caching) if too many users on channel.

Revision 1.31 / (view) - annotate - [select for diffs] , Sun Mar 23 02:48:33 2003 UTC (5 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.30: +3 -0 lines
Diff to previous 1.30
* Reorganize param list to dgets() to include a length argument
* Add (set|get)_server_line_length(), the maximum size of an irc protocol line.
* Convert dgets() callers to the new calling style.

Revision 1.30 / (view) - annotate - [select for diffs] , Mon Mar 17 19:39:39 2003 UTC (5 years, 6 months ago) by crazyed
Branch: MAIN
Changes since 1.29: +1 -0 lines
Diff to previous 1.29
* $dccctl() changes as per UPDATES.
* Misc bug fixes as per KNOWNBUGS.

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

Revision 1.29 / (view) - annotate - [select for diffs] , Fri Jan 31 23:50:18 2003 UTC (5 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.28: +21 -0 lines
Diff to previous 1.28
Commit 443
* Uniformly use 32 bit file sizes in dcc.  That's the way it has to be.
* Split process_incoming_chat into modular functions.  It's an experiment.
* Remove the old, #if 0'd dcc_getfile_resume.
* Remove the second, redundant warning from /window refnum(_or_swap).
* Make the ArgList portion of server messages const.  All const!  Huzzah!
* Roll /names, /list, and /mode numeric handlers into numbers.c
* Roll "funny" global variables into server-specific variables
* Nuke funny.c and funny.h -- huzzah!
* /on window_kill provides two args now, $0 is refnum, $1 is name/refnum.
* Rename "numeric_banner" to "banner"
* Rename "parse_notice" to "p_notice"
* In /xecho, rename 'banner' local var to 'want_banner'.
* Revamp p_notice to look like and act like p_privmsg as much as possible.
* Finish the rest of the larnifications.  Done with phase 1.  Huzzah!

Revision 1.28 / (view) - annotate - [select for diffs] , Sun Jan 26 03:25:38 2003 UTC (5 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.27: +4 -2 lines
Diff to previous 1.27
Commit 436
This commit is deceptive because it is huge in scope but can be explained
pretty simply.

* Const correctness improvements.
* Invert the meaning of 'new_check_flooding' to return TRUE if flooding.
* Revamp funny.c, /list, /names, /mode reply handling.
* Remove unused joined_nick, public_nick
* Change got_initial_version_28() arguments singly and not an array
* Change signature of protocol handling to take "command" as an argument
* The above change cascades to a lot of other changes.
* Allow the /msg'ing of @W<refnum> to msg a window's refnum.
* First round of larnification (Protection against unexpected server data)
* This involved substantial rewrites of parse.c, and numbers.c
* Now "fake" stuff goes through /on odd_server_stuff.
* Fix /on invite so it takes 3 arguments, not 2.

Revision 1.27 / (view) - annotate - [select for diffs] , Thu Dec 26 16:40:31 2002 UTC (5 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_10
Changes since 1.26: +0 -4 lines
Diff to previous 1.26
Fix all the rest of the compile issues. bleh.

Revision 1.26 / (view) - annotate - [select for diffs] , Mon Dec 23 15:11:26 2002 UTC (5 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_9, epic4-1_1_8
Changes since 1.25: +8 -5 lines
Diff to previous 1.25
* 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'

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

Revision 1.24 / (view) - annotate - [select for diffs] , Fri Nov 8 23:36:12 2002 UTC (5 years, 10 months ago) by jnelson
Branch: MAIN
Branch point for: wd-devel
Changes since 1.23: +49 -0 lines
Diff to previous 1.23
Another round of epic5 changes...
* Make $B, $., $,, $:, $;, $I, /WAIT stuff server specific, from epic5
* Make tracking of doing_(privmsg|notice|ctcp) server specific, from epic5
* Fixes for Const Correctness.

Revision 1.23 / (view) - annotate - [select for diffs] , Thu Oct 24 21:28:07 2002 UTC (5 years, 11 months ago) by jnelson
Branch: MAIN
Changes since 1.22: +0 -4 lines
Diff to previous 1.22
* Remove /set suppress_server_motd which didn't really work anyways.
* Add function decls for bsd_arc4* to ircaux.c
* Always check (window->hold_mode || window->autohold) together!
* Unhold_window()s only if both hold_mode and autohold are off!
* unhold_window()s instead of doing scrollback_end for robustness.
* Attempt to recover from the "output is below bottom of window" bug, whine.

Revision 1.22 / (view) - annotate - [select for diffs] , Thu Sep 26 21:41:43 2002 UTC (6 years ago) by jnelson
Branch: MAIN
Changes since 1.21: +0 -1 lines
Diff to previous 1.21
Ach.  Here goes nothing.
Major commit which does many things, but the most prominent of which
is the final integration of the scrollback buffer with the hold buffer.
This fixes several annoying "features" and introduces a small truckload
of new features which have been requested recently.  Please see the
KNOWNBUGS or UPDATES file for more info, since I don't want this message
to be ridiculously long.

Revision 1.21 / (view) - annotate - [select for diffs] , Tue Jul 30 15:12:59 2002 UTC (6 years, 2 months ago) by crazyed
Branch: MAIN
CVS Tags: epic4-1_1_7, epic4-1_1_6
Changes since 1.20: +1 -0 lines
Diff to previous 1.20
* Added support for CHANMODES, PREFIX and CHANTYPES in the processing of
  modes.  If the server doesn't support these, then hopefuly sane default
  strings are chosen, and these _don't_ include the wacky extensions that
  have been added over the years, so conceivably, this could break things
  like halfops and ban/invite exemptions.
* Stored the UMODES field from the 004 numeric in the server data.  Can be
  retrieved with $serverctl(get x umodes).
* Altered "/msg @$fd" so that $fd must be a number, otherwise, it will be
  treated as a privmsg.
* Added $xdebug() which returns all single bit flags with + or - added as
  appropriate.  /xdebug $xdebug() is a no-op.
* Fixed an /xdebug bug in which - would cause all subsequent flags to be
  switched off.  For bug compatibility, it still works this way, but you
  can specify + to turn all subsequent values on.
* Altered m_sc3cat_s() to call m_sc3cat rather than m_c3cat, which results
  in a cleaner string.  Examination of the uses of this function showed
  that they all dealt with this bug in some way.
* Altered $which() to call path_search() directly, rather than uzfopen().
  It may be useful to add a flag to path_search indicating which attributes
  we are searching for.  This could cause problems since the old method
  would skip over a file if it wasn't readable.
* Added clue variables for $unsplit().

Revision 1.20 / (view) - annotate - [select for diffs] , Mon Jul 15 17:11:22 2002 UTC (6 years, 2 months ago) by crazyed
Branch: MAIN
Changes since 1.19: +15 -0 lines
Diff to previous 1.19
* Added 005 framework.  The internal interfaces to this are
  get_server_005() and set_server_005().  The scripting interface is
  $serverctl([gs]et [ref] 005 [set] [[value]]).  Unsetting is done by
  setting a null value, and $serverctl(..set..) will return 1 for set or
  0 for unset.  All values are reset upon successful reconnect.
* Altered $rand() to be more conservative when drawing on the random data
  source.  It should be faster for lower max-values now.
* Altered $splice() somehow.  I think it was for the clue variables.  It
  didn't improve the speed due to other problems, but it still works.

Revision 1.19 / (view) - annotate - [select for diffs] , Mon May 27 15:21:28 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.18: +1 -1 lines
Diff to previous 1.18
* Fix parse_server_info() to properly handle ipv6 p-addrs
* Add support for [<ipv6 p-addr>] to parse_server_info().
* Fix an off-by-one error in Getaddrinfo.  Bleh.
* Fix a malloc() size mistake in Getaddrinfo.

Revision 1.18 / (view) - annotate - [select for diffs] , Thu May 9 05:48:52 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_5, epic4-1_1_4
Changes since 1.17: +2 -2 lines
Diff to previous 1.17
Functionally complete the protocol independance of DCC.
There are no more ISA's in server code or dcc.
To phrase that differently, every IPv4 assumption in the server code or
dcc has been identified and conditionalized.  Adding support for ipv6 is
now simply a matter of adding the conditionals to make it happen.

Now we need to test what we have here and see how badly i've broken things.

The only remaining IPv4 customers are /WINDOW CREATE (which is likely to
stay ipv4 only for the time being) and $iptolong() and $longtoip() which
clearly are IPv4 only concepts.

Revision 1.17 / (view) - annotate - [select for diffs] , Thu May 9 04:50:07 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16
Move the transition macros into ircaux.h.  Migrate the server over into
protocol independance.  That was pretty painless.

If you're reading this with rapt attention, please understand that
'protocol independance' does not mean "multi-protocol support".  What
it means is that instead of using (struct sockaddr_in)s, we're using
(struct sockaddr_storage)s, and we conditionalize all IPv4 specific code
to work only on (struct sockaddr_storage)s whose family has been set to
AF_INET (ipv4).  Once total protocol independance has been acheived,
adding support for IPv6 will be a matter of adding conditionals to handle
it in the same manner IPv4 is already supported.

So the current project i'm working on is the protocol independance of
epic.  Multi-protocol support comes later.

Revision 1.16 / (view) - annotate - [select for diffs] , Tue May 7 14:07:26 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.15: +0 -1 lines
Diff to previous 1.15
Nuke "local_addr" in server struct in favor of "local_sockname"
Convert server to use "connectory"
Convert wserv to use "connectory"
Nuke connect_by_number()
Reorder functions in network.c

Revision 1.15 / (view) - annotate - [select for diffs] , Mon May 6 23:05:45 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.14: +1 -1 lines
Diff to previous 1.14
This is a huge monster commit -- I put the particulars of the commit in
KNOWNBUGS.  I will only say here that this fixes a lot of issues with
DCC and introduces a lot of protocol independance into the networking API
that epic works with.  Good things will continue to come in the future!

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

Revision 1.13 / (view) - annotate - [select for diffs] , Wed Feb 27 02:57:19 2002 UTC (6 years, 7 months ago) by crazyed
Branch: MAIN
CVS Tags: epic4-1_1_3
Changes since 1.12: +7 -3 lines
Diff to previous 1.12
* Applied Ay-Ars patch (with a few modifications) which fully melds ssl
  into the server spec, which is now server:port:pass:nick:group:proto
  where proto currently is "irc" or "irc-ssl".
* Removed -ssl flags from "/window server" and /server.
* Ay-Ars patch also includes a new function, $servertype() which returns
  the proto field by way of extrapolation, (it is not the exact text
  entered into that field).

* Entering a server spec in a /server or "/window server" that currently
  exists, but which has different additional field values normally
  alters the current spec to conform to the new spec.  This doesn't work
  with the proto field.  This is probably a bug.

I am somewhat uncomfortable with all of this.  I would like to alter
add_to_server_list to be the one true reference for decoding the server
spec and simplify the other functions to only breaking it into server,
port and "additional".  This may be too big a change currently.

Revision 1.12 / (view) - annotate - [select for diffs] , Fri Feb 1 23:04:28 2002 UTC (6 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.11: +1 -0 lines
Diff to previous 1.11
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.

Revision 1.11 / (view) - annotate - [select for diffs] , Fri Jan 25 21:57:09 2002 UTC (6 years, 8 months ago) by crazyed
Branch: MAIN
Changes since 1.10: +13 -1 lines
Diff to previous 1.10
Applied the SSL patch from ay-ar.

Details are in README.SSL.  This works well at this point, but there may
be teething problems.

Revision 1.10 / (view) - annotate - [select for diffs] , Thu Jan 10 02:26:30 2002 UTC (6 years, 8 months ago) by crazyed
Branch: MAIN
Changes since 1.9: +2 -0 lines
Diff to previous 1.9
* Added a url encoded message switch to /xquote, designed with socks proxy
  scripts in mind.  eg: "xquote -u $urlencode(ISON xxx)%0a" works.  One
  problem with this is that the last command works, and can be used to get
  around the built in barriers for such things.  Is this good or bad?
* -- and any other invalid option will end /xquote switch processing now.
* Added $servergroup() and $serverourname().  These were copied from
  $servername() and behave in much the same way, differing in their return
  values.

Revision 1.9 / (view) - annotate - [select for diffs] , Tue Nov 13 19:37:19 2001 UTC (6 years, 10 months ago) by jnelson
Branch: MAIN
Changes since 1.8: +1 -1 lines
Diff to previous 1.8
Implement the "redirect sink", which instead of sending all output to another
irc server, drops the output entirely.  This is used by /flush (which is now
safe to use again) and can be used by the user via /redirect 0 to execute
a server query but suppress it's output.

Revision 1.8 / (view) - annotate - [select for diffs] , Tue Sep 25 17:57:26 2001 UTC (7 years ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_1
Changes since 1.7: +5 -4 lines
Diff to previous 1.7
Oh you didn't know?  Server groups, try one!

Revision 1.7 / (view) - annotate - [select for diffs] , Wed Mar 21 16:58:59 2001 UTC (7 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_0_1, epic4-1_0, epic4-0_10_0, epic-test-tag2, epic-test-tag
Changes since 1.6: +1 -0 lines
Diff to previous 1.6
It would help if i commited the header file changes. d'uh!

Revision 1.6 / (view) - annotate - [select for diffs] , Wed Mar 14 20:01:46 2001 UTC (7 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-0_9_17
Changes since 1.5: +1 -0 lines
Diff to previous 1.5
Commit #47
* /window server resets the "reconnect attempt" counter ala /server
* /for i in <pattern> {...} now reserved, and emits an error.
* "make depend" done again.
* "my_next_expr" revamped, extra argument added
* "next_expr_with_type" like "next_expr" but first char is "type".
* The /for i in (list) and /for i from x to y commands now use the
  above cruft.
* This is epic4-0.9.16-10
* "break_args" now uses "next_expr_with_type"
* "do_log" should use localtime(3) and not gmtime(3), duh.
* "clear_reconnect_counts" is now an extern function from server.c

Revision 1.5 / (view) - annotate - [select for diffs] , Mon Jan 15 22:23:54 2001 UTC (7 years, 8 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-0_9_16
Changes since 1.4: +0 -1 lines
Diff to previous 1.4
Roll get_connected() into reconnect() and abolish all uses of get_connected().
Things are starting to look good here!

Revision 1.4 / (view) - annotate - [select for diffs] , Mon Jan 15 18:27:40 2001 UTC (7 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.3: +4 -0 lines
Diff to previous 1.3
Argh!

Revision 1.3 / (view) - annotate - [select for diffs] , Fri Jan 12 20:22:18 2001 UTC (7 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.2: +1 -0 lines
Diff to previous 1.2
Fix some "issues" with compilation.

Revision 1.2 / (view) - annotate - [select for diffs] , Fri Jan 12 20:11:36 2001 UTC (7 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.1: +2 -0 lines
Diff to previous 1.1
Stage 2 -- what am i getting into?  This is the second stage of the server
connection closed coping mechanism.  This will be tested, bugs may ensue!

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

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

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

Diffs between and
Type of Diff should be a

View only Branch:
Sort log by:

CVS Admin
Powered by
ViewCVS 0.9.2