diff options
author | Matt Johnston <matt@ucc.asn.au> | 2015-03-17 21:58:32 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2015-03-17 21:58:32 +0800 |
commit | e3ec7743a182aa555cd0297d163425c54eacdf1e (patch) | |
tree | 41271a0c74922c7ff36bcad69ddeb4a053234cc2 | |
parent | 4f7befef704454c162cff44048fc98cfe067b51b (diff) | |
download | dropbear-pam.tar.gz |
Remove ATTRIB_NORETURN from session_loop() since it returns.pam
The stack breaks pretty badly.
-rw-r--r-- | common-channel.c | 2 | ||||
-rw-r--r-- | session.h | 2 | ||||
-rw-r--r-- | svr-authpam.c | 8 |
3 files changed, 6 insertions, 6 deletions
diff --git a/common-channel.c b/common-channel.c index b6c9673..a2ed283 100644 --- a/common-channel.c +++ b/common-channel.c @@ -482,7 +482,7 @@ static void writechannel(struct Channel* channel, int fd, circbuffer *cbuf, if (written < 0) { if (errno != EINTR && errno != EAGAIN) { - TRACE(("errno %d len %d", errno, len)) + TRACE(("errno %d", errno)) close_chan_fd(channel, fd, SHUT_WR); } } else { @@ -44,7 +44,7 @@ extern int sessinitdone; /* Is set to 0 somewhere */ extern int exitflag; void common_session_init(int sock_in, int sock_out); -void session_loop() ATTRIB_NORETURN; +void session_loop(); void session_cleanup(); void send_session_identification(); void send_msg_ignore(); diff --git a/svr-authpam.c b/svr-authpam.c index 5449463..b7d718d 100644 --- a/svr-authpam.c +++ b/svr-authpam.c @@ -162,15 +162,15 @@ send_msg_userauth_info_request(unsigned int num_msg, const struct pam_message ** } /* PAM conversation function - for now we only handle one message */ -int -pamConvFunc(int num_msg, +static int +dropbear_pam_conv_func(int num_msg, const struct pam_message **msgs, struct pam_response **respp, void *UNUSED(appdata_ptr)) { int ret = PAM_SYSTEM_ERR; - TRACE(("enter pamConvFunc")) + TRACE(("enter dropbear_pam_conv_func")) if (ses.recursion_count != 1) { dropbear_exit("PAM failure"); @@ -205,7 +205,7 @@ pamConvFunc(int num_msg, void svr_auth_pam() { int rc; struct pam_conv pamConv = { - pamConvFunc, + dropbear_pam_conv_func, NULL }; |