Mercurial > dovecot > original-hg > dovecot-1.2
diff src/auth/passdb-blocking.c @ 7388:08d31d752893 HEAD
Use auth-stream API to build all TAB-delimited strings to make sure strings
are escaped properly where necessary.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 09 Mar 2008 12:37:26 +0200 |
parents | 7ed926ed7aa4 |
children | b9faf4db2a9f |
line wrap: on
line diff
--- a/src/auth/passdb-blocking.c Sun Mar 09 10:32:59 2008 +0200 +++ b/src/auth/passdb-blocking.c Sun Mar 09 12:37:26 2008 +0200 @@ -70,18 +70,18 @@ void passdb_blocking_verify_plain(struct auth_request *request) { - string_t *str; + struct auth_stream_reply *reply; i_assert(auth_stream_is_empty(request->extra_fields) || request->master_user != NULL); - str = t_str_new(64); - str_printfa(str, "PASSV\t%u\t", request->passdb->id); - str_append(str, request->mech_password); - str_append_c(str, '\t'); - auth_request_export(request, str); + reply = auth_stream_reply_init(pool_datastack_create()); + auth_stream_reply_add(reply, "PASSV", NULL); + auth_stream_reply_add(reply, NULL, dec2str(request->passdb->id)); + auth_stream_reply_add(reply, NULL, request->mech_password); + auth_request_export(request, reply); - auth_worker_call(request, str_c(str), verify_plain_callback); + auth_worker_call(request, reply, verify_plain_callback); } static void @@ -109,17 +109,18 @@ void passdb_blocking_lookup_credentials(struct auth_request *request) { - string_t *str; + struct auth_stream_reply *reply; i_assert(auth_stream_is_empty(request->extra_fields) || request->master_user != NULL); - str = t_str_new(64); - str_printfa(str, "PASSL\t%u\t%s\t", - request->passdb->id, request->credentials_scheme); - auth_request_export(request, str); + reply = auth_stream_reply_init(pool_datastack_create()); + auth_stream_reply_add(reply, "PASSL", NULL); + auth_stream_reply_add(reply, NULL, dec2str(request->passdb->id)); + auth_stream_reply_add(reply, NULL, request->credentials_scheme); + auth_request_export(request, reply); - auth_worker_call(request, str_c(str), lookup_credentials_callback); + auth_worker_call(request, reply, lookup_credentials_callback); } static void @@ -134,12 +135,13 @@ void passdb_blocking_set_credentials(struct auth_request *request, const char *new_credentials) { - string_t *str; + struct auth_stream_reply *reply; - str = t_str_new(64); - str_printfa(str, "SETCRED\t%u\t%s\t", - request->passdb->id, new_credentials); - auth_request_export(request, str); + reply = auth_stream_reply_init(pool_datastack_create()); + auth_stream_reply_add(reply, "SETCRED", NULL); + auth_stream_reply_add(reply, NULL, dec2str(request->passdb->id)); + auth_stream_reply_add(reply, NULL, new_credentials); + auth_request_export(request, reply); - auth_worker_call(request, str_c(str), set_credentials_callback); + auth_worker_call(request, reply, set_credentials_callback); }