📄 changelog
字号:
* ne_session.c (ne_set_useragent): Fix to append "neon/x.y.z" to application-supplied token rather prepend.Thu Feb 13 09:06:22 2003 Joe Orton <joe@manyfish.co.uk> * ne_request.c (open_connection): Fix for CONNECT tunnelling (regression since 0.23.x), thanks to Nathan Hand <Nathan.Hand@defence.gov.au>.Mon Feb 3 22:10:54 2003 Joe Orton <joe@manyfish.co.uk> Implement Daniel Stenberg's trick to avoid the slow AF_UNSPEC lookups on Linux: * ne_socket.c (init_ipv6, ipv6_disabled): New function and global. (ne_sock_init): Call init_ipv6. (ne_addr_resolve) [USE_GETADDRINFO]: Pass AF_INET in hints if ipv6_disabled is set.Mon Feb 3 20:55:47 2003 Joe Orton <joe@manyfish.co.uk> * ne_socket.c [__hpux && USE_GETADDRINFO]: Undefine USE_GETADDRINFO to work around broken implementation in HP-UX 11.11.Mon Jan 27 21:39:31 2003 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (write_raw): Fix for handling EINTR during write(), from Sergey N Ushakov.Thu Jan 16 21:59:03 2003 Joe Orton <joe@manyfish.co.uk> Allow _init after _finish to succeed: Sergey N Ushakov. * ne_socket.c (init_result): New global variable. (ne_sock_init): Use init_result global rather than result. (ne_sock_finish): Clear init_result.Fri Dec 27 17:03:17 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (build_request): Remove redundant call to ne_buffer_clear.Fri Dec 27 14:38:08 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (ne_request_create): strdup the method string. (ne_request_destroy): free the method.Mon Dec 23 17:04:32 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_write, ne_read, ne_close, ne_errno): Renamed macros from NEON_WRITE, NEON_READ, NEON_CLOSE, NEON_ERRNO. All callers changed.Mon Dec 23 16:58:43 2002 Joe Orton <joe@manyfish.co.uk> Add proper Win32 socket error handling, merged efforts of Johan Lindh and Sergey N Ushakov <ushakov@int.com.ru>: * ne_socket.c (ne_errno, NE_ISINTR, NE_ISRESET, NE_ISCLOSED): New macros. [WIN32] (print_error): New function. (set_strerror) [WIN32]: Use print_error. (readable_raw, read_raw, write_raw): Use new error handling macros. (ne_addr_resolve) [WIN32]: Use WSAGetLastError() rather than h_errno. (ne_addr_error) [WIN32]: Use print_error.Tue Dec 10 21:41:26 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_iaddr_print): Renamed from ne_addr_print for consistency with other ne_iaddr_ functions.Sun Dec 8 20:08:31 2002 Joe Orton <joe@manyfish.co.uk> * ne_auth.c (get_cnonce): Use GetCurrentThreadId() on Win32.Sun Nov 24 18:45:32 2002 Joe Orton <joe@manyfish.co.uk> * ne_auth.c: Remove qop_values and algorithm_names arrays. (request_digest): Inlined qop, algorithm name lookups accordingly.Sun Nov 24 16:45:39 2002 Joe Orton <joe@manyfish.co.uk> * ne_auth.h: Renamed ne_request_auth typedef to ne_auth_creds. * ne_auth.c (auth_session): Renamed reqcreds, recreds_ud fields to creds, userdata. (auth_register, ne_set_proxy_auth, ne_set_server_auth): Update for ne_request_auth rename.Fri Nov 22 17:39:35 2002 Joe Orton <joe@manyfish.co.uk> * ne_auth.c (auth_challenge): Fix support for RFC2617-style digest auth; notice the qop= parameter in challenge. Fix leak of parsed qop array.Fri Nov 22 17:08:01 2002 Joe Orton <joe@manyfish.co.uk> * ne_auth.c (get_cnonce): Rewrite to use either pseudo-random data from the SSL library (if available), or really-not-random data from gettimeofday/getpid otherwise.Sun Nov 17 22:13:49 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_addr_print) [USE_GETADDRINFO]: Use the SACAST() macro.Sun Nov 17 19:29:23 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_sock_connect): Make address argument const. (raw_connect): Make address argument const; adjust to use a copy of the sockaddr structure, which is correct anyway. (ne_addr_first, ne_addr_next): Make return pointer const. * ne_private.h (struct host_info): Store current address as const.Sun Nov 17 19:03:01 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_register_progress): Removed function. * ne_socket.h (ne_block_reader, ne_progress, ne_register_progress): Removed. * ne_request.c (do_connect): Don't call ne_register_progress. * ne_request.h: Add ne_block_reader typedef. * ne_session.h: Include sys/types.h; add ne_progress typedef. Sun Nov 17 18:59:29 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_iaddr_make, ne_iaddr_cmp, ne_iaddr_free): New functions. Mon Nov 11 19:51:24 2002 Joe Orton <joe@manyfish.co.uk> Allow discovery of document encoding. * ne_xml.c [HAVE_EXPAT]: (struct ne_xml_parser_s): Add encoding field. (decl_handler): New function. (ne_xml_doc_encoding): New function.Mon Nov 11 19:48:43 2002 Joe Orton <joe@manyfish.co.uk> * ne_xml.c (sax_handler): Use sax_error for fatal error callback.Fri Oct 11 23:50:01 2002 Joe Orton <joe@manyfish.co.uk> * ne_private.h (struct ne_session_s): Change 'connected' to be a simple boolean flag. * ne_session.c (ne_close_connection): Treat 'connected' as a boolean. * ne_request.c (open_connection): Greatly simplified.Fri Oct 11 00:46:52 2002 Joe Orton <joe@manyfish.co.uk> * ne_props.c (end_propstat): Fix NULL pointer dereference if no status object is given.Tue Oct 8 20:10:24 2002 Joe Orton <joe@manyfish.co.uk> * ne_xml.c (ne_xml_create) [!HAVE_EXPAT]: Set 'replaceEntities' flag in created parser so that entities are dereferenced in attribute values.Mon Oct 7 22:08:46 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (init_ssl): Attempt to seed PRNG using EGD socket at path EGD_PATH or a set of predetermined locations if EGD_PATH is not defined. No longer try $EGDSOCKET or $HOME/.entropy.Mon Oct 7 21:32:33 2002 Joe Orton <joe@manyfish.co.uk> * ne_auth.c (register_hooks): Removed function. (auth_register): Fold in register_hooks.Tue Sep 24 21:24:44 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (ne_request_create): Pass Request-URI to create_request hooks.Tue Sep 24 20:42:45 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c [__hpux]: Define _XOPEN_SOURCE_EXTENDED to 1, to pick up h_errno definition on HP-UX 10.20.Wed Sep 18 21:46:28 2002 Joe Orton <joe@manyfish.co.uk> * ne_compress.c (struct ne_decompress_s): Add zstrinit field. (gz_reader): Set zstrinit after inflateInit2 succeeds. (ne_decompress_destroy): Only call inflateEnd if zstrinit is set.Wed Sep 18 19:56:00 2002 Joe Orton <joe@manyfish.co.uk> * ne_auth.c: Remove incomplete domain support.Tue Sep 17 21:05:11 2002 Joe Orton <joe@manyfish.co.uk> Fix rejection of server certificates which have commonName as the least specific attribute. * ne_session.c (check_identity): Don't ignore commonName if it is the least specific attribute.Tue Sep 10 21:08:18 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (lookup_host): Destroy cached address if resolve fails; fix segfault if a second request in the session is dispatched after the DNS lookup fails on the first.Mon Sep 9 22:26:03 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (RETRY_RET): Treat SSL truncation as a legitimate persistent connection timeout.Fri Aug 30 21:58:45 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (read_response_block): Clear can_persist flag if an EOF was read (fix for read-till-EOF response terminated by an unclean SSL shutdown).Mon Aug 26 18:05:00 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c: Fix HAVE_LIMITS check (Blair Zajac).Sun Aug 25 23:29:06 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (do_connect): Add debug message for connection attempt.Sun Aug 25 22:54:04 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.h (ne_addr_print): Make address argument const.Sun Aug 25 11:52:32 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_addr_print): New function.Sun Aug 25 10:09:10 2002 Joe Orton <joe@manyfish.co.uk> Fix interop with Tomcat/3.2 SSL server, which performs an unclean shutdown on an HTTP/1.0 response without a C-L header. * ne_request.c (read_response_block): Ignore SSL connection truncation for a read-till-EOF response, where no reseponse content has been read yet. (ne_read_response_block): Always increase 'total' counter.Sun Aug 25 08:47:41 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (aborted): Handle code=0 case specifically, and NE_SOCK_* as default.Sun Aug 25 08:24:48 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.h: Add `NE_SOCK_TRUNC' return value. * ne_socket.c (error_ossl): Return NE_SOCK_TRUNC when an EOF is received without a close_notify.Sat Aug 24 17:37:14 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.h (ne_inet_addr): New type. (ne_addr_first, ne_addr_next): New public interface. (ne_sock_connect): Change first parameter to ne_inet_addr. * ne_socket.c: Predefine ne_inet_addr for ne_socket.h, replacing ne_raw_addr. (ne_addr_first, ne_addr_first): Renamed from addr_first, addr_next; return type now ne_inet_addr; made public. (ne_sock_connect): Fold in make_socket() macro; just connect to single IP address passed in. * ne_private.h (struct host_info): Renamed 'addr' to 'address', dded 'current' field, removed 'resolved' field. * ne_request.c (lookup_host): Adjust for addr->address rename. (ne_begin_request): Call lookup_host if 'address' is NULL in host_info structure, don't use 'resolved' flag. (do_connect): Replaces init_socket; factor more code out from open_connection. Loop over available addresses until an ne_sock_connect call succeeds. (open_connection): Moved code into do_connect. * ne_session.c (ne_session_destroy): Adjust for addr->address rename.Sat Aug 24 13:45:26 2002 Joe Orton <joe@manyfish.co.uk> * ne_string.c (count_concat, do_concat): Compact into while() loops.Sat Aug 24 13:36:04 2002 Joe Orton <joe@manyfish.co.uk> * ne_private.h (VERSION_PRE11): Removed macro. (struct ne_session_s): Add is_http11 field; removed version_major, version_minor fields. * ne_request.c (add_fixed_headers): Use is_http11 flag rather than VERSION_PRE11 macro. (ne_begin_request): Set and use is_http11 flag. * ne_session.c (ne_version_pre_http11): Use is_http11 flag. (ne_session_create): Don't set version_major, version_minor fields.Sat Aug 24 09:00:13 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (struct ne_request_s): Removed abs_path field. (ne_set_request_uri): Removed function. (ne_request_create): Set req->uri to be the actual Request-URI. Don't use an absoluteURI in Request-URI if using SSL via a proxy tunnel, or if passed-in path does not begin with a '/'. (build_request): Use pre-determined Request-URI. (proxy_tunnel): Pass true Request-URI to ne_request_create. (ne_request_destroy): Don't free abs_path.Sat Aug 24 00:37:25 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (aborted): Fix handling of _CLOSED and _TIMEOUT socket errors, and of non-socket errors. Presume ne_sock_error cannot return NULL.Sat Aug 24 00:07:33 2002 Joe Orton <joe@manyfish.co.uk> * ne_cookies.c (set_cookie_hdl): Ensure that each cookie field is safe to free().Fri Aug 23 23:46:58 2002 Joe Orton <joe@manyfish.co.uk> * ne_request.c (aborted): Close the connection after setting the session error, otherwise the socket error is lost.Fri Aug 23 22:50:30 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_sock_init): Set SIGPIPE disposition before SSL library initalization, so it happens even if SSL library initialization fails.Fri Aug 23 22:03:26 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c [USE_GETADDRINFO] (make_socket): Pass SOCK_STREAM to socket() rather than ai_socktype: on RHL6.2, ai_socktype is returned as zero.Wed Aug 21 18:06:36 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c: Reinstate stdlib.h include. * ne_socket.h: Reinstate sys/socket.h include.Wed Aug 21 12:58:47 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_addr_resolve): Accept IPv6 addresses enclosed in square brackets.Wed Aug 21 09:37:24 2002 Joe Orton <joe@manyfish.co.uk> * ne_uri.c (ne_uri_parse): Parse literal IPv6 address using the RFC2732 `[address]' syntax.Mon Aug 19 17:18:45 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.c (ne_addr_error): Override a horribly generic error message from gai_strerror().Mon Aug 19 16:24:37 2002 Joe Orton <joe@manyfish.co.uk> * ne_socket.h: Remove netinet/in.h etc includes. (ne_sock_addr): Add new opaque type. (ne_addr_resolve, ne_addr_result, ne_addr_error, ne_addr_destroy): New functions. (ne_sock_connect): Changes address argument to `ne_sock_addr *'. (ne_name_lookup): Removed function. * ne_socket.c: Added netinet/in.h etc includes. (ne_sock_addr, ne_raw_addr): Define types. (make_socket): New macro. (ne_addr_resolve): Replace ne_name_lookup; store results (multiple addresses if returned) in returned ne_sock_addr object. Use getaddrinfo() if available. (raw_connect, addr_first, addr_next, ne_addr_result, ne_addr_error, ne_addr_destroy): New functions. (ne_sock_connect): Re-implement to loop through available addresses until a connect() succeeds; use make_socket, raw_connect auxiliaries.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -