28a0841bf5
Because different platforms have different levels of support for IPv6, different kinds of sockaddr variants, and some have getaddrinfo et al while others don't, we could end up with a mess if ifdefs, duplicate code and other maintainance nightmares. Instead, we're introducing wrappers around the common form for socket communication: BIO_ADDR, closely related to struct sockaddr and some of its variants. BIO_ADDRINFO, closely related to struct addrinfo. With that comes support routines, both convenient creators and accessors, plus a few utility functions: BIO_parse_hostserv, takes a string of the form host:service and splits it into host and service. It checks for * in both parts, and converts any [ipv6-address] syntax to ust the IPv6 address. BIO_lookup, looks up information on a host. All routines handle IPv4 (AF_INET) and IPv6 (AF_INET6) addresses, and there is support for local sockets (AF_UNIX) as well. Reviewed-by: Kurt Roeckx <kurt@openssl.org> |
||
---|---|---|
.. | ||
b_addr.c | ||
b_dump.c | ||
b_print.c | ||
b_sock.c | ||
bf_buff.c | ||
bf_lbuf.c | ||
bf_nbio.c | ||
bf_null.c | ||
bio_cb.c | ||
bio_err.c | ||
bio_lcl.h | ||
bio_lib.c | ||
bss_acpt.c | ||
bss_bio.c | ||
bss_conn.c | ||
bss_dgram.c | ||
bss_fd.c | ||
bss_file.c | ||
bss_log.c | ||
bss_mem.c | ||
bss_null.c | ||
bss_sock.c | ||
build.info | ||
Makefile.in |