From: Timo Sirainen Date: Wed, 21 Dec 2016 18:43:38 +0000 (+0200) Subject: lib-sasl: API change - use size_t type for input/output lengths X-Git-Tag: 2.3.0.rc1~2386 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a669d351502e15802b121e1a0bd83f27d1d95f01;p=thirdparty%2Fdovecot%2Fcore.git lib-sasl: API change - use size_t type for input/output lengths It's highly unlikely that the length is ever >4GB, but this avoids any potential problems with integer truncation. --- diff --git a/src/lib-sasl/dsasl-client-private.h b/src/lib-sasl/dsasl-client-private.h index a7295819cc..01e87128e8 100644 --- a/src/lib-sasl/dsasl-client-private.h +++ b/src/lib-sasl/dsasl-client-private.h @@ -15,12 +15,10 @@ struct dsasl_client_mech { size_t struct_size; int (*input)(struct dsasl_client *client, - const unsigned char *input, - unsigned int input_len, + const unsigned char *input, size_t input_len, const char **error_r); int (*output)(struct dsasl_client *client, - const unsigned char **output_r, - unsigned int *output_len_r, + const unsigned char **output_r, size_t *output_len_r, const char **error_r); void (*free)(struct dsasl_client *client); }; diff --git a/src/lib-sasl/dsasl-client.c b/src/lib-sasl/dsasl-client.c index 13338991b4..ab58128ad0 100644 --- a/src/lib-sasl/dsasl-client.c +++ b/src/lib-sasl/dsasl-client.c @@ -83,16 +83,14 @@ void dsasl_client_free(struct dsasl_client **_client) } int dsasl_client_input(struct dsasl_client *client, - const unsigned char *input, - unsigned int input_len, + const unsigned char *input, size_t input_len, const char **error_r) { return client->mech->input(client, input, input_len, error_r); } int dsasl_client_output(struct dsasl_client *client, - const unsigned char **output_r, - unsigned int *output_len_r, + const unsigned char **output_r, size_t *output_len_r, const char **error_r) { return client->mech->output(client, output_r, output_len_r, error_r); diff --git a/src/lib-sasl/dsasl-client.h b/src/lib-sasl/dsasl-client.h index f2daa70da4..4265e3e862 100644 --- a/src/lib-sasl/dsasl-client.h +++ b/src/lib-sasl/dsasl-client.h @@ -23,14 +23,12 @@ void dsasl_client_free(struct dsasl_client **client); /* Call for server input. */ int dsasl_client_input(struct dsasl_client *client, - const unsigned char *input, - unsigned int input_len, + const unsigned char *input, size_t input_len, const char **error_r); /* Call for getting server output. Also used to get the initial SASL response if supported by the protocol. */ int dsasl_client_output(struct dsasl_client *client, - const unsigned char **output_r, - unsigned int *output_len_r, + const unsigned char **output_r, size_t *output_len_r, const char **error_r); void dsasl_clients_init(void); diff --git a/src/lib-sasl/mech-external.c b/src/lib-sasl/mech-external.c index d1f6bb69f0..b3c9554a62 100644 --- a/src/lib-sasl/mech-external.c +++ b/src/lib-sasl/mech-external.c @@ -10,7 +10,7 @@ struct external_dsasl_client { static int mech_external_input(struct dsasl_client *_client, - const unsigned char *input ATTR_UNUSED, unsigned int input_len, + const unsigned char *input ATTR_UNUSED, size_t input_len, const char **error_r) { struct external_dsasl_client *client = @@ -30,7 +30,7 @@ mech_external_input(struct dsasl_client *_client, static int mech_external_output(struct dsasl_client *_client, - const unsigned char **output_r, unsigned int *output_len_r, + const unsigned char **output_r, size_t *output_len_r, const char **error_r ATTR_UNUSED) { struct external_dsasl_client *client = diff --git a/src/lib-sasl/mech-login.c b/src/lib-sasl/mech-login.c index 4c202ab896..20b4436606 100644 --- a/src/lib-sasl/mech-login.c +++ b/src/lib-sasl/mech-login.c @@ -18,7 +18,7 @@ struct login_dsasl_client { static int mech_login_input(struct dsasl_client *_client, const unsigned char *input ATTR_UNUSED, - unsigned int input_len ATTR_UNUSED, + size_t input_len ATTR_UNUSED, const char **error_r) { struct login_dsasl_client *client = @@ -34,7 +34,7 @@ mech_login_input(struct dsasl_client *_client, static int mech_login_output(struct dsasl_client *_client, - const unsigned char **output_r, unsigned int *output_len_r, + const unsigned char **output_r, size_t *output_len_r, const char **error_r) { struct login_dsasl_client *client = diff --git a/src/lib-sasl/mech-plain.c b/src/lib-sasl/mech-plain.c index ef22183ce6..af7465cb1f 100644 --- a/src/lib-sasl/mech-plain.c +++ b/src/lib-sasl/mech-plain.c @@ -11,7 +11,7 @@ struct plain_dsasl_client { static int mech_plain_input(struct dsasl_client *_client, - const unsigned char *input ATTR_UNUSED, unsigned int input_len, + const unsigned char *input ATTR_UNUSED, size_t input_len, const char **error_r) { struct plain_dsasl_client *client = @@ -31,7 +31,7 @@ mech_plain_input(struct dsasl_client *_client, static int mech_plain_output(struct dsasl_client *_client, - const unsigned char **output_r, unsigned int *output_len_r, + const unsigned char **output_r, size_t *output_len_r, const char **error_r) { struct plain_dsasl_client *client =