summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2015-03-17 21:58:32 +0800
committerMatt Johnston <matt@ucc.asn.au>2015-03-17 21:58:32 +0800
commite3ec7743a182aa555cd0297d163425c54eacdf1e (patch)
tree41271a0c74922c7ff36bcad69ddeb4a053234cc2
parent4f7befef704454c162cff44048fc98cfe067b51b (diff)
downloaddropbear-pam.tar.gz
Remove ATTRIB_NORETURN from session_loop() since it returns.pam
The stack breaks pretty badly.
-rw-r--r--common-channel.c2
-rw-r--r--session.h2
-rw-r--r--svr-authpam.c8
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 {
diff --git a/session.h b/session.h
index b8d013a..08a53d9 100644
--- a/session.h
+++ b/session.h
@@ -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
};