CVS log for epic4/source/network.c

Epicsol.org
(back) Up to [Epic CVS] / epic4 / source

Request diff between arbitrary revisions


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

Revision 1.51 / (view) - annotate - [select for diffs] , Sat Dec 13 17:25:58 2003 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-2_8, epic4-2_6, epic4-2_4, epic4-2_2, epic4-2_1_3, epic4-2_1_2, epic4-2_1_1, epic4-2_10, epic4-2_0, epic4-1_2_9, epic4-1_2_8, epic4-1_2_7, epic4-1_2_6, epic4-1_2_5, HEAD
Changes since 1.50: +3 -3 lines
Diff to previous 1.50
* Make inet_vhostsockaddr() extern so dcc can use it
* Make dcc_open() use inet_vhostsockaddr() to bind /hostname to dcc conns
* Don't allow -b and -q, or -b -and -s, as they cause deadlocks/panics
* Fix casting error that caused $urlencode() of high bit chars to segfault
* If swapping in a window that has no room for double status, recalculate all
* If double-on in a window that has no room for it, recalculate all

Revision 1.50 / (view) - annotate - [select for diffs] , Wed Dec 3 05:21:11 2003 UTC (4 years, 10 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_2_4, epic4-1_2_3, epic4-1_2_2
Changes since 1.49: +2 -2 lines
Diff to previous 1.49
More compiler nits fixed.  Nothing worth fretting over.

Revision 1.49 / (view) - annotate - [select for diffs] , Wed Oct 29 06:12:01 2003 UTC (4 years, 11 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_2_1, epic4-1_2_0, epic4-1_1_17, epic4-1_1_16, epic4-1_1_15, epic4-1_1_14
Changes since 1.48: +2 -3 lines
Diff to previous 1.48
Add sanity checking to avoid cross-family dcc problems, where we bind() a
listening socket in one family and send out a dcc handshake for another
family.  Oops!  Noticed by rain.

Revision 1.48 / (view) - annotate - [select for diffs] , Wed Jul 9 20:10:25 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_13
Changes since 1.47: +2 -2 lines
Diff to previous 1.47
Convert m_strdup() to malloc_strdup().

Revision 1.47 / (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_12
Changes since 1.46: +2 -2 lines
Diff to previous 1.46
* 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.46 / (view) - annotate - [select for diffs] , Thu Apr 24 20:49:25 2003 UTC (5 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.45: +3 -3 lines
Diff to previous 1.45
Nominally remove all uses of "unsafe" functions: (Commit 506)
* Convert all uses of strcpy() to strlcpy()
* Convert all uses of strcat() to strlcat()
* Convert all uses of strmcpy() to strlcpy()
* Convert all uses of strmcat() to strlcat()
* Convert all uses of sprintf() to snprintf()
* As much as possible, use 'sizeof var' in snprintf/strlcpy/strlcat.
* Qualify the size of some global vars so we can sizeof() them.
* Nuke strmcpy(), strmcat(), strmcat_ue(), strmccat(),
* Change strmopencat() to strlopencat().
* Change strmpcat() to strlpcat().
* Fix switch_hostname so it doesn't return a (const) string.
* Fix TimerTimeout so it doesn't return a (const) Timeval.
* Change things like (ret) to do ret while (0); for when "ret" is "{}".
* Fix initialization for load_level
* Stop passing in static strings into io(), so we can modify them.
* Make messages passed to io() more informative to the user.
* Fix CTCP FINGER handler not to assume (struct pw) strings can be overwritten.
* Use (socklen_t) and not an (int) for socket sizes.
* Don't return a value in a void function...
* Don't use return value of process_dcc_chat_ctcps() for assignment.
* Don't put semicolons after function bodies
* Fix $getopt() to save 'input_size' so we can use it with strl*().
* Convert all uses of stpcpy() to strlcat() and strlopencat().
* Nix checks for stpcpy() in configure -- regen configure.

Revision 1.45 / (view) - annotate - [select for diffs] , Sat Mar 29 08:10:22 2003 UTC (5 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.44: +3 -2 lines
Diff to previous 1.44
* New /set, /SET SWITCH_CHANNELS_BETWEEN_WINDOWS
* C language issues (const correctness, integer size correctness)
* Revamp channel structure to hold window refnum and not window pointer
* Add "current channel counter" to channel structure.
* Determine "current channel" by election.
* Garbage collect a lot of now unnecessary code.
* Add get_echannel_by_refnum(), returns window's "elected" current channel
* Add internal function is_waiting_for_channel()
* Add internal function move_waiting_channel()
* Add internal function get_winref_by_bound_channel()
* Add internal function get_bound_channel_by_refnum()
* Convert uses of get_channel_by_refnum() to get_echannel_by_refnum()
* Fix $winbound() to work when given a window refnum
* Fix valgrind issue with $regcomp()
* Remove sanity checks from traverse_all_channels(); handled elsewhere now
* Change traverse_all_channels() with "this server" or "not this server" arg
* Nuke (Window *)->current_channel.  Handled by channels now.  HUZZAH!
* Implement /ON SWITCH_WINDOWS again.

Revision 1.41.2.2 / (view) - annotate - [select for diffs] , Mon Mar 24 17:53:01 2003 UTC (5 years, 6 months ago) by wd
Branch: wd-devel
Changes since 1.41.2.1: +16 -4 lines
Diff to previous 1.41.2.1 to branch point 1.41 to next main 1.42
Another merge.

Revision 1.44 / (view) - annotate - [select for diffs] , Mon Mar 24 09:20:29 2003 UTC (5 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_11
Changes since 1.43: +15 -3 lines
Diff to previous 1.43
Whooo!  I'm on a roll!  Commit #487

* Add /timer -delete_for_window <winref> to delete window's timer.
* Enhance my_strerror() to take an EPIC Network Error and an errno.
* Enhance Getaddrinfo() to use AF_UNIX path as 'path' not 'host'.
* Confirmed that $match("\\[s s1 "s *"\\]" "s s") works like it should now.
* Store a "current window priority" number in each window.
* Add get_winref_by_servref() returns highest "priority" window for a server
* Have /defer track server, use server's "current window" (per above)
* I'd like to have other things use this, like maybe /xeval -s.

Revision 1.43 / (view) - annotate - [select for diffs] , Mon Mar 24 01:23:37 2003 UTC (5 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42
Fix various specious warnings from gcc, also, don't test for "sun_len"
in configure; use "sa_len" test for that.

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

Revision 1.42 / (view) - annotate - [select for diffs] , Thu Dec 19 03:22:59 2002 UTC (5 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_9, epic4-1_1_8, epic4-1_1_10
Changes since 1.41: +2 -2 lines
Diff to previous 1.41
* 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.41 / (view) - annotate - [select for diffs] , Tue Aug 6 02:45:52 2002 UTC (6 years, 2 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_7, epic4-1_1_6
Branch point for: wd-devel
Changes since 1.40: +4 -1 lines
Diff to previous 1.40
Check for getaddrinfo() and getnameinfo() in configure
otherwise we can't do ipv6 lookups. doh!

Revision 1.40 / (view) - annotate - [select for diffs] , Mon Jul 29 21:27:05 2002 UTC (6 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.39: +2 -3 lines
Diff to previous 1.39
Update documentation prior to epic4-1.1.6 release
Add "HAVE_GETSERVBYNAME" check to configure stuff.
Remove /SET RANDOM_LOCAL_PORTS which has gone away.
Fix some layout issues with gailib.c and change two function names.
Fix comment issue with ircsig.c
Fix uninitialized variable issue with keys.c
Remove mention of /SET RANDOM_LOCAL_PORTS in network.c

Revision 1.39 / (view) - annotate - [select for diffs] , Fri Jul 26 16:36:39 2002 UTC (6 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.38: +6 -2 lines
Diff to previous 1.38
#ifdef INET6 a bunch of uses of AF_INET6.

Revision 1.38 / (view) - annotate - [select for diffs] , Fri Jul 26 16:10:07 2002 UTC (6 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.37: +4 -2 lines
Diff to previous 1.37
Add GAILIB, a bsd licensed getaddrinfo/getnameinfo implementation for
ipv4 only systems.  This was lifted from ruby, who lifted it from WIDE.
Add #ifdef's as necessary to compile on non-ipv6 systems.

Revision 1.37 / (view) - annotate - [select for diffs] , Wed Jul 17 21:52:52 2002 UTC (6 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.36: +28 -3 lines
Diff to previous 1.36
Update copyright notices and copyright dates.

Revision 1.36 / (view) - annotate - [select for diffs] , Sun Jun 16 03:09:58 2002 UTC (6 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.35: +20 -7 lines
Diff to previous 1.35
* Add Getnameinfo(), front end to getnameinfo() takes GNI_INTEGER for DCC use
* Fix inet_ntostr() to use Getnameinfo() instead of getnameinfo() directly.
* Fix inet_ntostr() to return int for success/failure, not hostname.
* Fix the DCC handshake generator to use inet_ntostr().
* Fix callers of inet_ntostr() to handle integer return values.

Revision 1.35 / (view) - annotate - [select for diffs] , Fri Jun 7 03:34:05 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.34: +8 -1 lines
Diff to previous 1.34
Re-revert (with additional changes) to make server connections and dcc
both work at the same time.

Revision 1.34 / (view) - annotate - [select for diffs] , Thu Jun 6 22:28:58 2002 UTC (6 years, 4 months ago) by crazyed
Branch: MAIN
Changes since 1.33: +1 -1 lines
Diff to previous 1.33
* Applied a patch from NSX which fixes a problem with the last commit that
  prevents the inital server connection working.

Other things also commited:
* Fix for ODD_SERVER_STUFF so that it will never have a blank server field.
* fixed $chr() to not have input size limits, however it still cores on
  random data.  I'll fix this later.
* Fix for get_time() in the case of HAVE_GETTIMEOFDAY being undefined.  I
  forget who this was from.
* Minor method addition to tabkey.ce.

Revision 1.33 / (view) - annotate - [select for diffs] , Thu Jun 6 12:13:43 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32
* Allow $listen() to take a family argument, like $connect().
* Add some V6 macros in ircaux.h, modeled after V4 macros.
* Add a "family" member to the dcc structure.  Default to AF_INET for now.
* Start fetching ports by calling inet_ntostr() instead of peeking directly
  -- into the sockaddr.  This yields protocol independance.
* Fix bug where $listen() or /dcc send w/o a virtual host caused NULL deref.

Revision 1.32 / (view) - annotate - [select for diffs] , Wed Jun 5 03:42:33 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.31: +38 -215 lines
Diff to previous 1.31
Fix indent-o in ircaux.c
Change uses of the variable "error" to 'err' since "error" is a function.
Change inet_vhostsockaddr() to take a port number, and furthermore change
	it to use Getaddrinfo() instead of slogging around directly with
	sockaddrs.  This makes it protocol independant.
Make ip_bindery() protocol independant.  Huzzah!  One step closer to IPv6 DCC.
"Oops", there goes all the random port garbage.  Too bad.  It was an IPv4 only
	solution so the time has come for it to go.

Revision 1.31 / (view) - annotate - [select for diffs] , Sun Jun 2 05:29:54 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.30: +2 -0 lines
Diff to previous 1.30
Stop as soon as we get a connection in connectory().

Revision 1.30 / (view) - annotate - [select for diffs] , Sun Jun 2 05:27:10 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.29: +1 -0 lines
Diff to previous 1.29
Make sure we call Freeaddrinfo() in connectory().

Revision 1.29 / (view) - annotate - [select for diffs] , Sun Jun 2 05:25:10 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.28: +70 -54 lines
Diff to previous 1.28
Remove the second argument to inet_ntostr(), [socklen_t of the first argument]
because the socket length of the first argument can be inferred directly
from the first argument and passing in the length is totaly unecessary.

Changes to callers of inet_ntostr() per above change.

Change connectory() to call Getaddrinfo() directly and to iterate over all
of the returned addresses until it finds one it likes.  This change permits
epic to automatically detect/support IPv4 and IPv6 server connections without
user intervention.

make Getaddrinfo(), Freeaddrinfo(), socklen(), Accept(), and Connect()
all static functions.

Revision 1.28 / (view) - annotate - [select for diffs] , Tue May 28 03:55:57 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.27: +12 -2 lines
Diff to previous 1.27
Lots more work on the ipv6 front.  Remove the last of the vestiges of the
old historical address handlers (inet_ntop/inet_pton/inet_aton/inet_ntoa).
Now everything, and I mean EVERYTHING goes through inet_strton and inet_ntostr
which are just fancy front ends to getaddrinfo() and getnameinfo().  Quite a
bit of EPIC is already family-independent, but there is still some left to be
clubbed into submission.  The project to add support for IPv6 is now about
75% complete!

Perversely enough, the only thing stopping DCC from being essentially 100%
IPv6 capable is the inability to send an IPv6 hostname through a handshake
without breaking the standard...

Revision 1.27 / (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.26: +4 -4 lines
Diff to previous 1.26
* 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.26 / (view) - annotate - [select for diffs] , Mon May 27 14:33:43 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.25: +10 -13 lines
Diff to previous 1.25
In connectory(), we were guessing what the address family was by "peeking"
into the hostname.  We did this so we could get the proper virtual host
family.  But getaddrinfo() can convert AF_UNSPEC into eg, AF_INET, so
instead of guessing at the family and getting the virtual host first,
get the remote host first, allowing getaddrinfo() to tell us what the
socket family is, and then use that to get our virtual host.

At this point, i believe that network.c actually supports ipv6 connections
by way of AF_UNSPEC (if you give it an ipv6 p-addr).  There's no support for
it in /dcc or /server yet though, but that's coming up!

Revision 1.25 / (view) - annotate - [select for diffs] , Mon May 27 14:13:00 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.24: +36 -35 lines
Diff to previous 1.24
Fix some function names that I didn't like after sleeping on them.
Add extra argument to inet_ntostr() which is passed to getaddrinfo().

Revision 1.24 / (view) - annotate - [select for diffs] , Mon May 27 03:03:20 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.23: +42 -82 lines
Diff to previous 1.23
OK.  So i had some inspiration and decided not to go to bed.  Vastly
simplify the conversions between sockaddr/host/p-addr to sockaddr/host/p-addr.
More simplifications yet to come.  IPv6 support is roughly about 50% done now.

Revision 1.23 / (view) - annotate - [select for diffs] , Mon May 27 01:43:35 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.22: +194 -97 lines
Diff to previous 1.22
Huge major commit #1 in the great IPv6 support addition...
Rather than include all of the changes here, read KNOWNBUGS changes.

Revision 1.22 / (view) - annotate - [select for diffs] , Mon May 20 23:38:07 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_5, epic4-1_1_4
Changes since 1.21: +1 -1 lines
Diff to previous 1.21
*sigh* FAMILY() macro takes a (struct sockaddr) and not the
(struct sockaddr *) that I had here.  Pass me the dunce cap.

Revision 1.21 / (view) - annotate - [select for diffs] , Thu May 16 19:51:03 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.20: +3 -1 lines
Diff to previous 1.20
* Add the rest of the stuff as an extra arg to register_dcc_offer.
  register_dcc_offer is _such_ a hack.
* Add a new data item to the DCC struct, a item-specific callback when
  the connect()ion is established.  This is for forward comaptability.
  We still do our connect()ions psuedo-blocking but some day we won't.
  This is always NULL for now.
* Create a function dcc_opened() which is called whenever a connect()ion
  on any dcc is established.  This is basically the last half of dcc_open().
* Revamp dcc_open() to use dcc_opened().
* dcc_open() now returns -1 on error and 0 on success.  Change all callers
  to this new return value.
* The error value if a connect() on a unix domain socket failed is -1
  (system error) not -9 (connection timed out)
* Add support for Connect()ing to a unix domain socket.  UDS servers work
  again.

All of this pretty much leaves epic in pretty good shape after the great
cleanup.  Unless something major comes along, we'll test and then i'll roll
out epic4-1.1.4 and then we can go forward with ipv6 from there.

Revision 1.20 / (view) - annotate - [select for diffs] , Fri May 10 18:33:47 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.19: +2 -2 lines
Diff to previous 1.19
Fix some broken usage of the V4ADDR macro which must be passed a
(SA), not an (SA *).  Reported by fudd.

Revision 1.19 / (view) - annotate - [select for diffs] , Thu May 9 22:13:34 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.18: +5 -3 lines
Diff to previous 1.18
Back out a couple of uses of AF_INET6.  We definitely don't support
IPv6 just yet and I'm not even sure it's safe to use the AF_INET6 macro
on non-IPv6 aware systems, so to avoid possible compilation problems,
just don't use AF_INET6 for any reason just yet.

Revision 1.18 / (view) - annotate - [select for diffs] , Thu May 9 05:48:53 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.17: +18 -0 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:35:14 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.16: +11 -3 lines
Diff to previous 1.16
Make $connect() protocol independant.  This requires changing dcc->offer
to a (struct sockaddr_storage) and requires changing dcc_open and even
register_dcc_offer.  Much progress being made on the protocol-independance
of DCC.  Somehow I doubt IPv6 will ever come to DCC, but it's nice to at
least say that we'll be prepared when it comes...

Revision 1.16 / (view) - annotate - [select for diffs] , Wed May 8 03:42:45 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.15: +4 -4 lines
Diff to previous 1.15
* Convert more (last?) inet_ntoa to inet_ntop, and inet_aton to inet_pton.
* Fix bug with $convert() (one_to_another)
* Try to make /window create only bind to 127.0.0.1.

Revision 1.15 / (view) - annotate - [select for diffs] , Tue May 7 15:47:16 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.14: +1 -1 lines
Diff to previous 1.14
Remove some debugging code from compat.c
Fix /set status_ssl to not return NULL.  I should fix this.

Revision 1.14 / (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.13: +570 -599 lines
Diff to previous 1.13
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.13 / (view) - annotate - [select for diffs] , Tue May 7 13:26:09 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.12: +0 -2 lines
Diff to previous 1.12
Removed local shadowed variable.

Revision 1.12 / (view) - annotate - [select for diffs] , Tue May 7 05:12:06 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.11: +9 -11 lines
Diff to previous 1.11
Fix those three annoying functions in network.c that use static local
variables, making them non-reentrant and fraught with peril.  Now they
require you pass in space to put the results.

Revision 1.11 / (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.10: +480 -278 lines
Diff to previous 1.10
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.10 / (view) - annotate - [select for diffs] , Mon Apr 29 01:18:21 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9
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.9 / (view) - annotate - [select for diffs] , Mon Apr 29 00:57:41 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.8: +53 -23 lines
Diff to previous 1.8
Milestone #2!
EPIC now does non-blocking connects (sort of).  But you are not given
the opportunity to "do what you want" during the non-blocking connect.
EPIC sits in a select() call until the connect() succeeds or fails.  But
you can hit ^C and reliably cancel the connection-in-progress.  This is
an improvement because we don't have to hack up connect timeouts using
alarm() any more.

Also...
-- Output an error/warning message if you try to create a unix domain
   socket and your system doesn't have UDS's.
-- Change /set max_reconnects the way everybody has been insisting I do.
   Basically, the new semantics are:
	/set auto_reconnect 0
		-- No reconnects EVER for ANY reason
	/set auto_reconnect 1
		-- One reconnect, before failure
	/set auto_reconnect N
		-- N reconnects, before failure.
    No more "freebies", which everybody seemed to hate.  Oh well.

Revision 1.8 / (view) - annotate - [select for diffs] , Mon Apr 29 00:15:59 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.7: +3 -2 lines
Diff to previous 1.7
Yet more changes! =)
-- Collapse "read" and "write" variables in the DCC object to a single
   variable "socket" which points to our internet peer.  Much simpler!
-- Nuke the now unused "struct in_addr local_addr;"  Huzzah!
-- Fix a printf() format bug that caused the ports in dcc handshakes
   to always come out as 0.
-- Convert unecessary uses of gethostbyname() to inet_anyton() to catch
   the optimization break for dotted-quads.
-- Do direct assignments, not memmove()s of (struct in_addr)'s.
-- Add future gracious (non-)support for colon-notation IPv6 addresses in
   DCC handshakes.
-- Fix the "dcc handshake sanity checker" to not be quite so lame.
-- Fix a bug where some $channel() may return % before some users if
   their "halfop" status is -1, instead of only when it's 1.  Hunted
   by adm, fix from paladin.
-- Add error checking for some calls to inet_aton().  Need more error
   checking!

Revision 1.7 / (view) - annotate - [select for diffs] , Sun Apr 28 04:22:16 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.6: +115 -97 lines
Diff to previous 1.6
Yet another swath of changes in The Great IPv4 Cleanup.  This time I
took a broad hatchet to the resolver-assistant functions in network.c.
Using modern techniques really increases readability and makes it look
less like a hack.  Making good progress!

Revision 1.6 / (view) - annotate - [select for diffs] , Fri Apr 26 19:59:40 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.5: +5 -4 lines
Diff to previous 1.5
Next round of in_addr/u_short -> sockaddr_in conversions, along with some
other minor details.  As far as i know, this shouldn't break anything,
but I don't promise that.  Save your old binary first!
If anything is really bad, let me know.  I'll fix it ASAP.

Revision 1.5 / (view) - annotate - [select for diffs] , Tue Apr 23 03:22:17 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.4: +1 -1 lines
Diff to previous 1.4
Back out part of the last commit -- it doesn't seem to be such a great
idea to depend on the existance of "sa_len" on linux, which appears, but
doesn't exist. *mutter*

Revision 1.4 / (view) - annotate - [select for diffs] , Sun Apr 21 05:03:21 2002 UTC (6 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.3: +1 -1 lines
Diff to previous 1.3
Check (struct sockaddr) for sa_len, and use this as a hint as to whether
sockaddrs have a "length" field in them.  I will phase out the (now obsolete)
check for HAVE_SUN_LEN in configure, once i'm comfortable that checking for
HAVE_SA_LEN is sufficient.  Whack up the (struct sockaddr_storage) to honor
the HAVE_SA_LEN value probed by configure, as requested by Q (Kurt R.).

Regen configure.  This brings the ssl stuff into play from CE's last commit.

Revision 1.3 / (view) - annotate - [select for diffs] , Wed Sep 26 17:42:27 2001 UTC (7 years ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_3, epic4-1_1_1
Changes since 1.2: +1 -1 lines
Diff to previous 1.2
Fix typo.

Revision 1.2 / (view) - annotate - [select for diffs] , Wed Sep 26 17:32:03 2001 UTC (7 years ago) by jnelson
Branch: MAIN
Changes since 1.1: +160 -7 lines
Diff to previous 1.1
More complete support for random local ports; /set random_local_ports now
cooperates with /setenv EPIC_USE_HIGHPORTS=1, and it works on freebsd,
openbsd, and linux, such as it is.

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-1_0_1, epic4-1_0, epic4-0_9_17, epic4-0_9_16, epic4-0_9_15, epic4-0_9_14, epic4-0_10_0, epic-test-tag2, epic-test-tag
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