f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch/* Copyright (c) 2002-2018 Dovecot authors, see the included COPYING file */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch " (previous base64 data may contain sensitive data)"
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic void auth_client_disconnected(struct auth_client_connection **_conn);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic void auth_client_connection_unref(struct auth_client_connection **_conn);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic void auth_client_input(struct auth_client_connection *conn);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic struct auth_client_connection *auth_client_connections;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic const char *reply_line_hide_pass(const char *line)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch const char *const *fields = t_strsplit(line, "\t");
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* include = */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch str_append_data(newline, *fields, (p2 - *fields)+1);
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic void auth_client_send(struct auth_client_connection *conn,
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch const char *cmd)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch if (o_stream_get_buffer_used_size(conn->output) >=
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* stop reading new requests until client has read the pending
return FALSE;
pid = 0;
return FALSE;
return TRUE;
if (p == NULL)
return line;
if (p == NULL)
return line;
return FALSE;
return TRUE;
return FALSE;
T_BEGIN {
} T_END;
if (!ret) {
if (token_auth) {
err = 0;
if (request_count > 0) {
struct auth_client_connection *
return conn;
return NULL;