| serf.h (1.1.1) | | serf.h (1.2.0) |
| | |
| skipping to change at line 84 ¶ | | skipping to change at line 84 ¶ |
| */ | | */ |
| #define SERF_ERROR_WAIT_CONN (APR_OS_START_USERERR + SERF_ERROR_RANGE + 3) | | #define SERF_ERROR_WAIT_CONN (APR_OS_START_USERERR + SERF_ERROR_RANGE + 3) |
| /* This code is for when something went wrong during deflating compressed | | /* This code is for when something went wrong during deflating compressed |
| * data e.g. a CRC error. */ | | * data e.g. a CRC error. */ |
| #define SERF_ERROR_DECOMPRESSION_FAILED (APR_OS_START_USERERR + \ | | #define SERF_ERROR_DECOMPRESSION_FAILED (APR_OS_START_USERERR + \ |
| SERF_ERROR_RANGE + 4) | | SERF_ERROR_RANGE + 4) |
| /* This code is for when a response received from a http server is not in | | /* This code is for when a response received from a http server is not in |
| * http-compliant syntax. */ | | * http-compliant syntax. */ |
| #define SERF_ERROR_BAD_HTTP_RESPONSE (APR_OS_START_USERERR + \ | | #define SERF_ERROR_BAD_HTTP_RESPONSE (APR_OS_START_USERERR + \ |
| SERF_ERROR_RANGE + 5) | | SERF_ERROR_RANGE + 5) |
| | /* The server sent less data than what was announced. */ |
| | #define SERF_ERROR_TRUNCATED_HTTP_RESPONSE (APR_OS_START_USERERR + \ |
| | SERF_ERROR_RANGE + 6) |
| | /* The proxy server returned an error while setting up the SSL tunnel. */ |
| | #define SERF_ERROR_SSLTUNNEL_SETUP_FAILED (APR_OS_START_USERERR + \ |
| | SERF_ERROR_RANGE + 7) |
| | /* The server unexpectedly closed the connection prematurely. */ |
| | #define SERF_ERROR_ABORTED_CONNECTION (APR_OS_START_USERERR + \ |
| | SERF_ERROR_RANGE + 8) |
| | |
| /* SSL certificates related errors */ | | /* SSL certificates related errors */ |
| #define SERF_ERROR_SSL_CERT_FAILED (APR_OS_START_USERERR + SERF_ERROR_RANGE
+ 70) | | #define SERF_ERROR_SSL_CERT_FAILED (APR_OS_START_USERERR + SERF_ERROR_RANGE
+ 70) |
| | |
| /* SSL communications related errors */ | | /* SSL communications related errors */ |
| #define SERF_ERROR_SSL_COMM_FAILED (APR_OS_START_USERERR + SERF_ERROR_RANGE
+ 71) | | #define SERF_ERROR_SSL_COMM_FAILED (APR_OS_START_USERERR + SERF_ERROR_RANGE
+ 71) |
| | |
| /* General authentication related errors */ | | /* General authentication related errors */ |
| #define SERF_ERROR_AUTHN_FAILED (APR_OS_START_USERERR + SERF_ERROR_RANGE +
90) | | #define SERF_ERROR_AUTHN_FAILED (APR_OS_START_USERERR + SERF_ERROR_RANGE +
90) |
| | |
| | |
| skipping to change at line 107 ¶ | | skipping to change at line 116 ¶ |
| /* Authn was requested by the server but the header lacked some attribute
*/ | | /* Authn was requested by the server but the header lacked some attribute
*/ |
| #define SERF_ERROR_AUTHN_MISSING_ATTRIBUTE (APR_OS_START_USERERR + SERF_ERR
OR_RANGE + 92) | | #define SERF_ERROR_AUTHN_MISSING_ATTRIBUTE (APR_OS_START_USERERR + SERF_ERR
OR_RANGE + 92) |
| | |
| /* Authentication handler initialization related errors */ | | /* Authentication handler initialization related errors */ |
| #define SERF_ERROR_AUTHN_INITALIZATION_FAILED (APR_OS_START_USERERR +\ | | #define SERF_ERROR_AUTHN_INITALIZATION_FAILED (APR_OS_START_USERERR +\ |
| SERF_ERROR_RANGE + 93) | | SERF_ERROR_RANGE + 93) |
| | |
| /* This macro groups errors potentially raised when reading a http response
. */ | | /* This macro groups errors potentially raised when reading a http response
. */ |
| #define SERF_BAD_RESPONSE_ERROR(status) ((status) \ | | #define SERF_BAD_RESPONSE_ERROR(status) ((status) \ |
| && ((SERF_ERROR_DECOMPRESSION_FAILED == (status)) \ | | && ((SERF_ERROR_DECOMPRESSION_FAILED == (status)) \ |
| ||(SERF_ERROR_BAD_HTTP_RESPONSE == (status)))) | | ||(SERF_ERROR_BAD_HTTP_RESPONSE == (status)) \ |
| | ||(SERF_ERROR_TRUNCATED_HTTP_RESPONSE == (status)))) |
| | |
| /** | | /** |
| * Return a string that describes the specified error code. | | * Return a string that describes the specified error code. |
| * | | * |
| * If the error code is not one of the above Serf error codes, then | | * If the error code is not one of the above Serf error codes, then |
| * NULL will be returned. | | * NULL will be returned. |
| * | | * |
| * Note regarding lifetime: the string is a statically-allocated constant | | * Note regarding lifetime: the string is a statically-allocated constant |
| */ | | */ |
| const char *serf_error_string(apr_status_t errcode); | | const char *serf_error_string(apr_status_t errcode); |
| | |
| skipping to change at line 372 ¶ | | skipping to change at line 382 ¶ |
| char **username, | | char **username, |
| char **password, | | char **password, |
| serf_request_t *request, void *baton, | | serf_request_t *request, void *baton, |
| int code, const char *authn_type, | | int code, const char *authn_type, |
| const char *realm, | | const char *realm, |
| apr_pool_t *pool); | | apr_pool_t *pool); |
| | |
| /** | | /** |
| * Create a new connection associated with the @a ctx serf context. | | * Create a new connection associated with the @a ctx serf context. |
| * | | * |
| * A connection will be created to (eventually) connect to the address | | * If no proxy server is configured, a connection will be created to |
| * specified by @a address. The address must live at least as long as | | * (eventually) connect to the address specified by @a address. The address |
| * @a pool (thus, as long as the connection object). | | must |
| | * live at least as long as @a pool (thus, as long as the connection object |
| | ). |
| | * If a proxy server is configured, @address will be ignored. |
| * | | * |
| * The connection object will be allocated within @a pool. Clearing or | | * The connection object will be allocated within @a pool. Clearing or |
| * destroying this pool will close the connection, and terminate any | | * destroying this pool will close the connection, and terminate any |
| * outstanding requests or responses. | | * outstanding requests or responses. |
| * | | * |
| * When the connection is closed (upon request or because of an error), | | * When the connection is closed (upon request or because of an error), |
| * then the @a closed callback is invoked, and @a closed_baton is passed. | | * then the @a closed callback is invoked, and @a closed_baton is passed. |
| * | | * |
| * ### doc on setup(_baton). tweak below comment re: acceptor. | | * ### doc on setup(_baton). tweak below comment re: acceptor. |
| * NULL may be passed for @a acceptor and @a closed; default implementation
s | | * NULL may be passed for @a acceptor and @a closed; default implementation
s |
| | |
| skipping to change at line 558 ¶ | | skipping to change at line 569 ¶ |
| * with @see serf_request_cancel. | | * with @see serf_request_cancel. |
| * | | * |
| * Invoking any calls other than @see serf_request_cancel before the setup | | * Invoking any calls other than @see serf_request_cancel before the setup |
| * callback executes is not supported. | | * callback executes is not supported. |
| */ | | */ |
| serf_request_t *serf_connection_priority_request_create( | | serf_request_t *serf_connection_priority_request_create( |
| serf_connection_t *conn, | | serf_connection_t *conn, |
| serf_request_setup_t setup, | | serf_request_setup_t setup, |
| void *setup_baton); | | void *setup_baton); |
| | |
| | /** Returns detected network latency for the @a conn connection. Negative |
| | * value means that latency is unknwon. |
| | */ |
| | apr_interval_time_t serf_connection_get_latency(serf_connection_t *conn); |
| | |
| | /** Check if a @a request has been completely written. |
| | * |
| | * Returns APR_SUCCESS if the request was written completely on the connect |
| | ion. |
| | * Returns APR_EBUSY if the request is not yet or partially written. |
| | */ |
| | apr_status_t serf_request_is_written( |
| | serf_request_t *request); |
| | |
| /** | | /** |
| * Cancel the request specified by the @a request object. | | * Cancel the request specified by the @a request object. |
| * | | * |
| * If the request has been scheduled for delivery, then its response | | * If the request has been scheduled for delivery, then its response |
| * handler will be run, passing NULL for the response bucket. | | * handler will be run, passing NULL for the response bucket. |
| * | | * |
| * If the request has already been (partially or fully) delivered, then | | * If the request has already been (partially or fully) delivered, then |
| * APR_EBUSY is returned and the request is *NOT* canceled. To properly | | * APR_EBUSY is returned and the request is *NOT* canceled. To properly |
| * cancel the request, the connection must be closed (by clearing or | | * cancel the request, the connection must be closed (by clearing or |
| * destroying its associated pool). | | * destroying its associated pool). |
| | |
| skipping to change at line 1024 ¶ | | skipping to change at line 1048 ¶ |
| serf_bucket_alloc_t *allocator); | | serf_bucket_alloc_t *allocator); |
| void serf_debug__closed_conn( | | void serf_debug__closed_conn( |
| serf_bucket_alloc_t *allocator); | | serf_bucket_alloc_t *allocator); |
| void serf_debug__bucket_destroy( | | void serf_debug__bucket_destroy( |
| const serf_bucket_t *bucket); | | const serf_bucket_t *bucket); |
| void serf_debug__bucket_alloc_check( | | void serf_debug__bucket_alloc_check( |
| serf_bucket_alloc_t *allocator); | | serf_bucket_alloc_t *allocator); |
| | |
| /* Version info */ | | /* Version info */ |
| #define SERF_MAJOR_VERSION 1 | | #define SERF_MAJOR_VERSION 1 |
| #define SERF_MINOR_VERSION 1 | | #define SERF_MINOR_VERSION 2 |
| #define SERF_PATCH_VERSION 1 | | #define SERF_PATCH_VERSION 0 |
| | |
| /* Version number string */ | | /* Version number string */ |
| #define SERF_VERSION_STRING APR_STRINGIFY(SERF_MAJOR_VERSION) "." \ | | #define SERF_VERSION_STRING APR_STRINGIFY(SERF_MAJOR_VERSION) "." \ |
| APR_STRINGIFY(SERF_MINOR_VERSION) "." \ | | APR_STRINGIFY(SERF_MINOR_VERSION) "." \ |
| APR_STRINGIFY(SERF_PATCH_VERSION) | | APR_STRINGIFY(SERF_PATCH_VERSION) |
| | |
| /** | | /** |
| * Check at compile time if the Serf version is at least a certain | | * Check at compile time if the Serf version is at least a certain |
| * level. | | * level. |
| * @param major The major version component of the version checked | | * @param major The major version component of the version checked |
| | |
| End of changes. 5 change blocks. |
| 6 lines changed or deleted | | 33 lines changed or added |
|
| serf_bucket_types.h (1.1.1) | | serf_bucket_types.h (1.2.0) |
| | |
| skipping to change at line 85 ¶ | | skipping to change at line 85 ¶ |
| extern const serf_bucket_type_t serf_bucket_type_response; | | extern const serf_bucket_type_t serf_bucket_type_response; |
| #define SERF_BUCKET_IS_RESPONSE(b) SERF_BUCKET_CHECK((b), response) | | #define SERF_BUCKET_IS_RESPONSE(b) SERF_BUCKET_CHECK((b), response) |
| | |
| serf_bucket_t *serf_bucket_response_create( | | serf_bucket_t *serf_bucket_response_create( |
| serf_bucket_t *stream, | | serf_bucket_t *stream, |
| serf_bucket_alloc_t *allocator); | | serf_bucket_alloc_t *allocator); |
| | |
| #define SERF_HTTP_VERSION(major, minor) ((major) * 1000 + (minor)) | | #define SERF_HTTP_VERSION(major, minor) ((major) * 1000 + (minor)) |
| #define SERF_HTTP_11 SERF_HTTP_VERSION(1, 1) | | #define SERF_HTTP_11 SERF_HTTP_VERSION(1, 1) |
| #define SERF_HTTP_10 SERF_HTTP_VERSION(1, 0) | | #define SERF_HTTP_10 SERF_HTTP_VERSION(1, 0) |
| | #define SERF_HTTP_VERSION_MAJOR(shv) ((int)shv / 1000) |
| | #define SERF_HTTP_VERSION_MINOR(shv) ((int)shv % 1000) |
| | |
| typedef struct { | | typedef struct { |
| int version; | | int version; |
| int code; | | int code; |
| const char *reason; | | const char *reason; |
| } serf_status_line; | | } serf_status_line; |
| | |
| /** | | /** |
| * Return the Status-Line information, if available. This function | | * Return the Status-Line information, if available. This function |
| * works like other bucket read functions: it may return APR_EAGAIN or | | * works like other bucket read functions: it may return APR_EAGAIN or |
| | |
| skipping to change at line 129 ¶ | | skipping to change at line 131 ¶ |
| | |
| /** | | /** |
| * Advise the response @a bucket that this was from a HEAD request and | | * Advise the response @a bucket that this was from a HEAD request and |
| * that it should not expect to see a response body. | | * that it should not expect to see a response body. |
| */ | | */ |
| void serf_bucket_response_set_head( | | void serf_bucket_response_set_head( |
| serf_bucket_t *bucket); | | serf_bucket_t *bucket); |
| | |
| /* ==================================================================== */ | | /* ==================================================================== */ |
| | |
| | extern const serf_bucket_type_t serf_bucket_type_response_body; |
| | #define SERF_BUCKET_IS_RESPONSE_BODY(b) SERF_BUCKET_CHECK((b), response_bod |
| | y) |
| | |
| | serf_bucket_t *serf_bucket_response_body_create( |
| | serf_bucket_t *stream, |
| | apr_uint64_t limit, |
| | serf_bucket_alloc_t *allocator); |
| | |
| | /* ==================================================================== */ |
| | |
| extern const serf_bucket_type_t serf_bucket_type_bwtp_frame; | | extern const serf_bucket_type_t serf_bucket_type_bwtp_frame; |
| #define SERF_BUCKET_IS_BWTP_FRAME(b) SERF_BUCKET_CHECK((b), bwtp_frame) | | #define SERF_BUCKET_IS_BWTP_FRAME(b) SERF_BUCKET_CHECK((b), bwtp_frame) |
| | |
| extern const serf_bucket_type_t serf_bucket_type_bwtp_incoming_frame; | | extern const serf_bucket_type_t serf_bucket_type_bwtp_incoming_frame; |
| #define SERF_BUCKET_IS_BWTP_INCOMING_FRAME(b) SERF_BUCKET_CHECK((b), bwtp_i
ncoming_frame) | | #define SERF_BUCKET_IS_BWTP_INCOMING_FRAME(b) SERF_BUCKET_CHECK((b), bwtp_i
ncoming_frame) |
| | |
| int serf_bucket_bwtp_frame_get_channel( | | int serf_bucket_bwtp_frame_get_channel( |
| serf_bucket_t *hdr); | | serf_bucket_t *hdr); |
| | |
| int serf_bucket_bwtp_frame_get_type( | | int serf_bucket_bwtp_frame_get_type( |
| | |
| skipping to change at line 454 ¶ | | skipping to change at line 466 ¶ |
| serf_bucket_t *stream, | | serf_bucket_t *stream, |
| apr_uint64_t limit, | | apr_uint64_t limit, |
| serf_bucket_alloc_t *allocator); | | serf_bucket_alloc_t *allocator); |
| | |
| /* ==================================================================== */ | | /* ==================================================================== */ |
| #define SERF_SSL_CERT_NOTYETVALID 1 | | #define SERF_SSL_CERT_NOTYETVALID 1 |
| #define SERF_SSL_CERT_EXPIRED 2 | | #define SERF_SSL_CERT_EXPIRED 2 |
| #define SERF_SSL_CERT_UNKNOWNCA 4 | | #define SERF_SSL_CERT_UNKNOWNCA 4 |
| #define SERF_SSL_CERT_SELF_SIGNED 8 | | #define SERF_SSL_CERT_SELF_SIGNED 8 |
| #define SERF_SSL_CERT_UNKNOWN_FAILURE 16 | | #define SERF_SSL_CERT_UNKNOWN_FAILURE 16 |
| | #define SERF_SSL_CERT_REVOKED 32 |
| | |
| extern const serf_bucket_type_t serf_bucket_type_ssl_encrypt; | | extern const serf_bucket_type_t serf_bucket_type_ssl_encrypt; |
| #define SERF_BUCKET_IS_SSL_ENCRYPT(b) SERF_BUCKET_CHECK((b), ssl_encrypt) | | #define SERF_BUCKET_IS_SSL_ENCRYPT(b) SERF_BUCKET_CHECK((b), ssl_encrypt) |
| | |
| typedef struct serf_ssl_context_t serf_ssl_context_t; | | typedef struct serf_ssl_context_t serf_ssl_context_t; |
| typedef struct serf_ssl_certificate_t serf_ssl_certificate_t; | | typedef struct serf_ssl_certificate_t serf_ssl_certificate_t; |
| | |
| typedef apr_status_t (*serf_ssl_need_client_cert_t)( | | typedef apr_status_t (*serf_ssl_need_client_cert_t)( |
| void *data, | | void *data, |
| const char **cert_path); | | const char **cert_path); |
| | |
| skipping to change at line 582 ¶ | | skipping to change at line 595 ¶ |
| | |
| /** | | /** |
| * Adds the certificate @a cert to the list of trusted certificates in | | * Adds the certificate @a cert to the list of trusted certificates in |
| * @a ssl_ctx that will be used for verification. | | * @a ssl_ctx that will be used for verification. |
| * See also @a serf_ssl_load_cert_file. | | * See also @a serf_ssl_load_cert_file. |
| */ | | */ |
| apr_status_t serf_ssl_trust_cert( | | apr_status_t serf_ssl_trust_cert( |
| serf_ssl_context_t *ssl_ctx, | | serf_ssl_context_t *ssl_ctx, |
| serf_ssl_certificate_t *cert); | | serf_ssl_certificate_t *cert); |
| | |
| | /** |
| | * Enable or disable SSL compression on a SSL session. |
| | * @a enabled = 1 to enable compression, 0 to disable compression. |
| | * Default = disabled. |
| | */ |
| | apr_status_t serf_ssl_use_compression( |
| | serf_ssl_context_t *ssl_ctx, |
| | int enabled); |
| | |
| serf_bucket_t *serf_bucket_ssl_encrypt_create( | | serf_bucket_t *serf_bucket_ssl_encrypt_create( |
| serf_bucket_t *stream, | | serf_bucket_t *stream, |
| serf_ssl_context_t *ssl_context, | | serf_ssl_context_t *ssl_context, |
| serf_bucket_alloc_t *allocator); | | serf_bucket_alloc_t *allocator); |
| | |
| serf_ssl_context_t *serf_bucket_ssl_encrypt_context_get( | | serf_ssl_context_t *serf_bucket_ssl_encrypt_context_get( |
| serf_bucket_t *bucket); | | serf_bucket_t *bucket); |
| | |
| /* ==================================================================== */ | | /* ==================================================================== */ |
| | |
| | |
| End of changes. 4 change blocks. |
| 0 lines changed or deleted | | 23 lines changed or added |
|