NO bugs found at this time starting at EPIC5-0.0.7 - release. ## proposals on the ugly getaddrinfo(3) and other things for epic itself. ## this is just here for reference material at this time, no it doesn't mean ## that it will actually happen, or that the code itself is that dirty. ## epic5 is still alpha software so some things are going to be non-complete ## and probably find bugs. see the discussion at the first of this txtfile ## regarding most of the nonblocking dns. rewrite the grab_server_address() * Grab_server_address -- look up all of the addresses for a hostname and * save them in the Server data for later use. Someone must free * the results when they're done using the data (usually when we * successfully connect, or when we run out of addrs) so that function's responsible for hostname resolving, be it IPv4 or IPv6 AND it looks like that it caches already resolved hostnames nice abstraction but i don't like the code in it myself personally. some proposals mebe. -> remove deps to obsolete stuff like AI, getaddrinfo -> first thing to rewrite? if (s->addrs) { if (x_debug & DEBUG_SERVER_CONNECT) yell("This server still has addresses left over from" "last time. Starting over anyways..."); new_open(xvfd[1], do_server, NEWIO_READ, 1); ^^- ??? -> do_server rewrite and server struct as well due to lots of obsoleted stuff. -> possibly look at. grab_server_address() return -1; /* XXXX */ /* Freeaddrinfo(s->addrs); */ if (x_debug & DEBUG_SERVER_CONNECT) yell("This server still has addresses left over from" "last time. Starting over anyways..."); hints.ai_flags = AI_ADDRCONFIG; ^^ ancient looked at an old sun doc for info. http://www.mail-archive.com/wget@sunsite.dk/msg07488.html -> not sure what these are for. * XXX -- Support getaddrinfo()s that want an AF_UNIX path to * be the second argument and not the first one. Bleh. getaddrinfo freeaddrinfo, gai_strerror - nodename-to-address translation in protocol-independent manner ^^ the only thing we ever use is IP/IP6 mebe you mean AF_UNSPEC? AF_PASSIVE mebe?? i'm not sure of the purpose of that wrapper... used to wrap around the problem of non thread safe implementations on some OS? however i saw some usages of AF_UNSPEC in the code which confuses me so i really don't know what to do here ;) -> get rid of all the obsoleted. AI_* % grep AI_ADDRCONFIG * | wc -l 9 23:43|<@lart> you might add the obsolete stuff in the Server struct 23:44|<@lart> and possible degree of higher modularization some contributors. //zak zak@ircii.org //kreca kreca@ircii.org //skullY zwhite@ircii.org //lart lart@ircii.org