+2003-11-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * retr.c (get_contents): Pass the timer to limit_bandwidth().
+
+ * utils.c (wtimer_update): New function instead of wget_elapsed;
+ just update the timer, but don't return anything.
+ (wtimer_read): Read and return the last known value of the timer.
+
+2003-11-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (persistent_available_p): Instead of matching all the
+ addresses of HOST and last host, determine the peer's IP address
+ with socket_ip_address and see if that address is one of those
+ HOST resolves to.
+
+ * host.c (address_list_match_all): Removed.
+ (address_list_find): New function, finds an IP address in the
+ address list.
+
+ * ftp.c (ftp_do_pasv): Get the peer's address here, and pass it to
+ ftp_epsv so it doesn't need to call getpeername.
+
+ * ftp-basic.c (ftp_port): Use socket_ip_address instead of
+ getpeername.
+ (ftp_lprt): Ditto.
+
+ * connect.c (socket_ip_address): Replaces conaddr, generalized to
+ either get peer's or local address.
+ (sockaddr_get_data): Made local to this file.
+
+2003-11-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * hash.c (HASH_POSITION): Explicitly accept the hash function.
+ (grow_hash_table): Extract ht->hash_function outside the loop.
+ (hash_table_remove): Ditto.
+ (hash_table_clear): Fill entries with 0xff to clear them.
+ (hash_table_remove): Mark entries as deleted with the correct
+ marker.
+
+2003-11-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * http.c (persistent_available_p): No reason for the host lookup
+ to be silent -- it's a lookup like any other.
+
+2003-11-08 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c (register_extended): Check that fd >= 0.
+
+2003-11-07 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c (LAZY_RETRIEVE_INFO): Set LAST_INFO.
+
+2003-11-07 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * hash.c (NON_EMPTY): Use the all-bit-set value as the marker that
+ the field is empty. This allows NULL pointer and 0 value to be
+ used as keys, which is necessary for the connect.c code to work
+ when fd==0.
+ (hash_table_new): Fill mappings with 0xff.
+ (grow_hash_table): Ditto.
+
+2003-11-07 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * url.c (url_parse): Allow empty ports.
+
+2003-11-07 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * main.c (print_help): Break the help string into multiple chunks.
+ (cmdline_option): New option handler OPT_FUNCALL. Generalized
+ HANDLE_CMD to generic DATA.
+ (option_data): Use the new OPT_FUNCALL feature.
+
+2003-11-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * log.h: Declare log_init, log_close, and
+ log_request_redirect_output here.
+
+2003-11-05 Dennis Smit <ds@nerds-incorporated.org>
+
+ * main.c: (main): added --preserve-permissions option.
+
+ * ftp.c (ftp_retrieve_list): added support for
+ --preserve-permissions option.
+
+ * init.c: added support for --preserve-permission option.
+
+ * option.h: added support for --preserve-permission option.
+
+2003-11-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * main.c (init_switches): New function. Convert option_data to
+ long_options and short_options, which can be fed to getopt_long.
+ (main): Execute command-line options by consulting option_data.
+
+2003-11-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * gen_sslfunc.c (ssl_read): Implement a more correct check for
+ EINTR.
+ (ssl_write): Ditto.
+ (init_ssl): Use a global SSL context.
+
+2003-11-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c (xclose): Free INFO even if it doesn't provide a
+ closer.
+
+2003-11-06 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c: Updated all callers of
+ iread/ssl_iread/iwrite/ssl_iwrite to use xread and xwrite instead.
+
+ * rbuf.h (struct rbuf): Removed the SSL member because SSL is
+ handled automatically by xread.
+
+ * hash.c (ptrhash): Made private.
+ (ptrcmp): Ditto.
+ (inthash): Removed.
+
+ * connect.c (select_fd): Don't set errno, leave it to the caller.
+
+ * gen_sslfunc.c (connect_ssl): Use register_extended to register
+ SSL callbacks for communication with SSL-enabled endpoints.
+ (ssl_read): New function.
+ (ssl_write): Ditto.
+ (ssl_poll): Ditto.
+ (ssl_close): Ditto.
+
+ * connect.c (register_extended): New function -- register
+ callbacks for basic socket operations.
+ (xread): Ditto.
+ (xwrite): Ditto.
+ (xclose): Ditto.
+ (sock_read): New function, default implementation for reading.
+ (sock_write): Ditto for writing.
+ (sock_poll): Ditto for polling.
+ (sock_close): Ditto for closing.
+
+2003-11-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c (bindport): Fix compilation under pre-C99 compilers.
+
+2003-11-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c (connect_to_ip): More compact error checking.
+ (bindport): Don't treat failed setsockopt as a fatal error.
+
+2003-11-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c (resolve_bind_address): Use a more accurate error
+ message -- we're not binding to ANY, we're disabling bind
+ altogether.
+
+2003-11-05 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * cookies.c (save_cookies_mapper): Respect the setting of
+ keep-session-cookies.
+ (cookie_jar_load): Import session cookies.
+ Based on code submitted by Nicolas Schodet.
+
+ * utils.c (datetime_str): Use information in TM when it's
+ non-NULL.
+
+ * main.c (main): New option `--keep-session-cookies'.
+
+2003-11-04 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * Makefile.in (realclean): Delete config.h.in.
+
+2003-11-04 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * config-post.h: New file, included from now autogenerated
+ config.h.in.
+
2003-11-04 Hrvoje Niksic <hniksic@xemacs.org>
* progress.c (progress_handle_sigwinch): Don't call
2003-10-27 Mauro Tortonesi <mauro@deepspace6.net>
- * host.c, connect.c, ftp.c, ...: Added support for dual-family
- IPv6. Reworked FTP code. [More complete description to come.]
+ * connect.h: changed bindport prototype and added the related
+ BIND_ON_IPV4_ONLY and BIND_ON_IPV6_ONLY flags.
+
+ * connect.c: changed bindport and resolve_bind_address to allow
+ protocol-version specific DNS resolution. modified conaddr,
+ acceptport and connect_to_one to make use of struct
+ sockaddr_storage and of the new ip_address structure.
+
+ * ftp-basic.c: added LPRT/LPSV (RFC1639) support, refactored
+ PORT/PASV (RFC959) and EPRT/EPSV (RFC2428) support code.
+
+ * ftp.c: added the ftp_do_port and ftp_do_pasv functions to
+ handle FTP over IPv6.
+
+ * ftp.h: changed prototype of ftp_epsv and added prototypes for
+ ftp_lpsv, ftp_lprt and ftp_eprt.
+
+ * host.c: renamed the
+ wget_sockaddr_set_address and wget_sockaddr_get_addr, and
+ wget_sockaddr_{s,g}et_port couples to sockaddr_{s,g}et_address and
+ sockaddr_{g,s}et_port respectively. changed
+ address_list_match_all, address_list_from_addrinfo sockaddr_len,
+ pretty_print_address, lookup_host, sockaddr_{s,g}et_address and
+ sockaddr_{g,s}et_port to make use of struct sockaddr_storage and
+ of the new ip_address structure. removed map_ipv4_to_ip and
+ map_ip_to_ipv4.
+
+ * host.h: redefined structure ip_address and removed structure
+ wget_sockaddr.
2003-10-26 Hrvoje Niksic <hniksic@xemacs.org>