|
Lines 69-74
Link Here
|
| 69 |
extern Buffer input, output; |
69 |
extern Buffer input, output; |
| 70 |
extern Buffer auth_debug; |
70 |
extern Buffer auth_debug; |
| 71 |
extern int auth_debug_init; |
71 |
extern int auth_debug_init; |
|
|
72 |
extern Buffer loginmsg; |
| 72 |
|
73 |
|
| 73 |
/* State exported from the child */ |
74 |
/* State exported from the child */ |
| 74 |
|
75 |
|
|
Lines 110-115
Link Here
|
| 110 |
int mm_answer_pty(int, Buffer *); |
111 |
int mm_answer_pty(int, Buffer *); |
| 111 |
int mm_answer_pty_cleanup(int, Buffer *); |
112 |
int mm_answer_pty_cleanup(int, Buffer *); |
| 112 |
int mm_answer_term(int, Buffer *); |
113 |
int mm_answer_term(int, Buffer *); |
|
|
114 |
int mm_answer_getloginmsg(int, Buffer *); |
| 113 |
int mm_answer_rsa_keyallowed(int, Buffer *); |
115 |
int mm_answer_rsa_keyallowed(int, Buffer *); |
| 114 |
int mm_answer_rsa_challenge(int, Buffer *); |
116 |
int mm_answer_rsa_challenge(int, Buffer *); |
| 115 |
int mm_answer_rsa_response(int, Buffer *); |
117 |
int mm_answer_rsa_response(int, Buffer *); |
|
Lines 176-181
Link Here
|
| 176 |
{MONITOR_REQ_PTY, 0, mm_answer_pty}, |
178 |
{MONITOR_REQ_PTY, 0, mm_answer_pty}, |
| 177 |
{MONITOR_REQ_PTYCLEANUP, 0, mm_answer_pty_cleanup}, |
179 |
{MONITOR_REQ_PTYCLEANUP, 0, mm_answer_pty_cleanup}, |
| 178 |
{MONITOR_REQ_TERM, 0, mm_answer_term}, |
180 |
{MONITOR_REQ_TERM, 0, mm_answer_term}, |
|
|
181 |
{MONITOR_REQ_LOGINMSG, 0, mm_answer_getloginmsg}, |
| 179 |
{0, 0, NULL} |
182 |
{0, 0, NULL} |
| 180 |
}; |
183 |
}; |
| 181 |
|
184 |
|
|
Lines 209-214
Link Here
|
| 209 |
{MONITOR_REQ_PTY, MON_ONCE, mm_answer_pty}, |
212 |
{MONITOR_REQ_PTY, MON_ONCE, mm_answer_pty}, |
| 210 |
{MONITOR_REQ_PTYCLEANUP, MON_ONCE, mm_answer_pty_cleanup}, |
213 |
{MONITOR_REQ_PTYCLEANUP, MON_ONCE, mm_answer_pty_cleanup}, |
| 211 |
{MONITOR_REQ_TERM, 0, mm_answer_term}, |
214 |
{MONITOR_REQ_TERM, 0, mm_answer_term}, |
|
|
215 |
{MONITOR_REQ_LOGINMSG, 0, mm_answer_getloginmsg}, |
| 212 |
{0, 0, NULL} |
216 |
{0, 0, NULL} |
| 213 |
}; |
217 |
}; |
| 214 |
|
218 |
|
|
Lines 314-319
Link Here
|
| 314 |
if (!no_pty_flag) { |
318 |
if (!no_pty_flag) { |
| 315 |
monitor_permit(mon_dispatch, MONITOR_REQ_PTY, 1); |
319 |
monitor_permit(mon_dispatch, MONITOR_REQ_PTY, 1); |
| 316 |
monitor_permit(mon_dispatch, MONITOR_REQ_PTYCLEANUP, 1); |
320 |
monitor_permit(mon_dispatch, MONITOR_REQ_PTYCLEANUP, 1); |
|
|
321 |
monitor_permit(mon_dispatch, MONITOR_REQ_LOGINMSG, 1); |
| 317 |
} |
322 |
} |
| 318 |
|
323 |
|
| 319 |
for (;;) |
324 |
for (;;) |
|
Lines 1068-1073
Link Here
|
| 1068 |
mm_session_close(s); |
1073 |
mm_session_close(s); |
| 1069 |
buffer_put_int(m, 0); |
1074 |
buffer_put_int(m, 0); |
| 1070 |
mm_request_send(socket, MONITOR_ANS_PTY, m); |
1075 |
mm_request_send(socket, MONITOR_ANS_PTY, m); |
|
|
1076 |
return (0); |
| 1077 |
} |
| 1078 |
|
| 1079 |
int |
| 1080 |
mm_answer_getloginmsg(int socket, Buffer *m) |
| 1081 |
{ |
| 1082 |
debug3("%s entering", __func__); |
| 1083 |
|
| 1084 |
buffer_clear(m); |
| 1085 |
/* retrieve stored login message then clear buffer */ |
| 1086 |
buffer_append(m, buffer_ptr(&loginmsg), buffer_len(&loginmsg)); |
| 1087 |
buffer_clear(&loginmsg); |
| 1088 |
|
| 1089 |
mm_request_send(socket, MONITOR_ANS_LOGINMSG, m); |
| 1071 |
return (0); |
1090 |
return (0); |
| 1072 |
} |
1091 |
} |
| 1073 |
|
1092 |
|