diff options
Diffstat (limited to 'monitor_wrap.c')
-rw-r--r-- | monitor_wrap.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/monitor_wrap.c b/monitor_wrap.c index 99dfc8508..e19984ec0 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c | |||
@@ -25,7 +25,7 @@ | |||
25 | */ | 25 | */ |
26 | 26 | ||
27 | #include "includes.h" | 27 | #include "includes.h" |
28 | RCSID("$OpenBSD: monitor_wrap.c,v 1.32 2003/09/23 20:17:11 markus Exp $"); | 28 | RCSID("$OpenBSD: monitor_wrap.c,v 1.33 2003/10/11 11:36:23 markus Exp $"); |
29 | 29 | ||
30 | #include <openssl/bn.h> | 30 | #include <openssl/bn.h> |
31 | #include <openssl/dh.h> | 31 | #include <openssl/dh.h> |
@@ -224,7 +224,8 @@ mm_getpwnamallow(const char *login) | |||
224 | return (pw); | 224 | return (pw); |
225 | } | 225 | } |
226 | 226 | ||
227 | char *mm_auth2_read_banner(void) | 227 | char * |
228 | mm_auth2_read_banner(void) | ||
228 | { | 229 | { |
229 | Buffer m; | 230 | Buffer m; |
230 | char *banner; | 231 | char *banner; |
@@ -235,10 +236,16 @@ char *mm_auth2_read_banner(void) | |||
235 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTH2_READ_BANNER, &m); | 236 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTH2_READ_BANNER, &m); |
236 | buffer_clear(&m); | 237 | buffer_clear(&m); |
237 | 238 | ||
238 | mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_AUTH2_READ_BANNER, &m); | 239 | mm_request_receive_expect(pmonitor->m_recvfd, |
240 | MONITOR_ANS_AUTH2_READ_BANNER, &m); | ||
239 | banner = buffer_get_string(&m, NULL); | 241 | banner = buffer_get_string(&m, NULL); |
240 | buffer_free(&m); | 242 | buffer_free(&m); |
241 | 243 | ||
244 | /* treat empty banner as missing banner */ | ||
245 | if (strlen(banner) == 0) { | ||
246 | xfree(banner); | ||
247 | banner = NULL; | ||
248 | } | ||
242 | return (banner); | 249 | return (banner); |
243 | } | 250 | } |
244 | 251 | ||