Cross Reference: db-checkpassword.h
xref
: /
dovecot
/
src
/
auth
/
db-checkpassword.h
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
db-checkpassword.h revision 51ead2f4c04ee85615d23c453924633b9ed8a4c2
c25356d5978632df6203437e1953bcb29e0c736f
Timo Sirainen
#
ifndef
CHECKPASSWORD_COMMON_H
c25356d5978632df6203437e1953bcb29e0c736f
Timo Sirainen
#
define
CHECKPASSWORD_COMMON_H
89b548af722113acb5d63dfffb44423cb60f91e4
Timo Sirainen
49e358eebea107aad9919dcc4bd88cee8519ba2e
Timo Sirainen
#
include
"
auth-request.h
"
49e358eebea107aad9919dcc4bd88cee8519ba2e
Timo Sirainen
#
include
"
lib-signals.h
"
6143fece58262865ce89b5012b73ef08f2ad6abc
Timo Sirainen
#
include
"
buffer.h
"
89b548af722113acb5d63dfffb44423cb60f91e4
Timo Sirainen
#
include
"
str.h
"
89b548af722113acb5d63dfffb44423cb60f91e4
Timo Sirainen
#
include
"
ioloop.h
"
89b548af722113acb5d63dfffb44423cb60f91e4
Timo Sirainen
#
include
"
hash.h
"
89b548af722113acb5d63dfffb44423cb60f91e4
Timo Sirainen
#
include
"
env-util.h
"
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
#
include
"
safe-memset.h
"
89b548af722113acb5d63dfffb44423cb60f91e4
Timo Sirainen
#
include
"
child-wait.h
"
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
#
include
<
stdlib.h
>
6143fece58262865ce89b5012b73ef08f2ad6abc
Timo Sirainen
#
include
<
unistd.h
>
c32823063d8050bd4c9b300e267f3eacf34d018d
Timo Sirainen
#
include
<
sys
/
wait.h
>
9716b2665ee3938d3dfe64bda44d7c3ae3b55d30
Timo Sirainen
9716b2665ee3938d3dfe64bda44d7c3ae3b55d30
Timo Sirainen
9716b2665ee3938d3dfe64bda44d7c3ae3b55d30
Timo Sirainen
struct
chkpw_auth_request
{
9716b2665ee3938d3dfe64bda44d7c3ae3b55d30
Timo Sirainen
int
fd_out
,
fd_in
;
89b548af722113acb5d63dfffb44423cb60f91e4
Timo Sirainen
struct
io
*
io_out
, *
io_in
;
dec85d9856c33f427a06dda01e0e50de0bc8fa7d
Timo Sirainen
pid_t
pid
;
dec85d9856c33f427a06dda01e0e50de0bc8fa7d
Timo Sirainen
dec85d9856c33f427a06dda01e0e50de0bc8fa7d
Timo Sirainen
string_t
*
input_buf
;
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
char
*
password
;
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
unsigned
int
write_pos
;
dec85d9856c33f427a06dda01e0e50de0bc8fa7d
Timo Sirainen
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
struct
auth_request
*
request
;
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
void
*
callback
;
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
void
(*
half_finish_callback
)();
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
void
(*
finish_callback
)();
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
int
internal_failure_code
;
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
4f49b5cbfa6b9e6e4a213009ea6bb84337cb106a
Timo Sirainen
int
exit_status
;
89b548af722113acb5d63dfffb44423cb60f91e4
Timo Sirainen
unsigned
int
exited
:
1
;
};
enum
checkpassword_sigchld_handler_result
{
SIGCHLD_RESULT_UNKNOWN_CHILD
= -
1
,
SIGCHLD_RESULT_DEAD_CHILD
= -
2
,
SIGCHLD_RESULT_UNKNOWN_ERROR
= -
3
,
SIGCHLD_RESULT_OK
=
1
,
};
void
checkpassword_request_free
(
struct
chkpw_auth_request
*
request
);
enum
checkpassword_sigchld_handler_result
checkpassword_sigchld_handler
(
const
struct
child_wait_status
*
child_wait_status
,
struct
chkpw_auth_request
*
request
);
void
checkpassword_setup_env
(
struct
auth_request
*
request
);
void
checkpassword_child_input
(
struct
chkpw_auth_request
*
request
);
void
checkpassword_child_output
(
struct
chkpw_auth_request
*
request
);
#
endif