• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/postfix-255/postfix/src/smtp/

Lines Matching refs:session

19 /*	void	smtp_chat_cmd(session, format, ...)
20 /* SMTP_SESSION *session;
25 /* SMTP_RESP *smtp_chat_resp(session)
26 /* SMTP_SESSION *session;
28 /* void smtp_chat_notify(session)
29 /* SMTP_SESSION *session;
31 /* void smtp_chat_init(session)
32 /* SMTP_SESSION *session;
34 /* void smtp_chat_reset(session)
35 /* SMTP_SESSION *session;
83 /* smtp_chat_init() initializes the per-session transaction log.
84 /* This must be done at the beginning of a new SMTP session.
87 /* typically done at the beginning or end of an SMTP session,
88 /* or within a session to discard non-error information.
94 /* smtp_stream(3) SMTP session I/O support
150 void smtp_chat_init(SMTP_SESSION *session)
152 session->history = 0;
157 void smtp_chat_reset(SMTP_SESSION *session)
159 if (session->history) {
160 argv_free(session->history);
161 session->history = 0;
167 static void smtp_chat_append(SMTP_SESSION *session, const char *direction,
172 if (session->history == 0)
173 session->history = argv_alloc(10);
175 argv_add(session->history, line, (char *) 0);
181 void smtp_chat_cmd(SMTP_SESSION *session, const char *fmt,...)
189 vstring_vsprintf(session->buffer, fmt, ap);
191 smtp_chat_append(session, "Out: ", STR(session->buffer));
198 msg_info("> %s: %s", session->namaddrport, STR(session->buffer));
203 smtp_fputs(STR(session->buffer), LEN(session->buffer), session->stream);
220 if (time((time_t *) 0) - vstream_ftime(session->stream) > 10)
221 vstream_fflush(session->stream);
226 if (vstream_ftimeout(session->stream))
227 vstream_longjmp(session->stream, SMTP_ERR_TIME);
228 if (vstream_ferror(session->stream))
229 vstream_longjmp(session->stream, SMTP_ERR_EOF);
235 SMTP_RESP *smtp_chat_resp(SMTP_SESSION *session)
264 last_char = smtp_get(session->buffer, session->stream, var_line_limit,
267 printable(STR(session->buffer), '?');
270 session->namaddrport, var_line_limit, STR(session->buffer));
272 msg_info("< %s: %.100s", session->namaddrport, STR(session->buffer));
280 smtp_chat_append(session, "In: ", STR(session->buffer));
284 session->namaddrport, var_line_limit, STR(rdata.str_buf));
294 new_reply = dict_get(smtp_chat_resp_filter, STR(session->buffer));
297 session->namaddrport, STR(session->buffer), new_reply);
298 vstring_strcpy(session->buffer, new_reply);
300 smtp_chat_append(session, "Replaced-by: ", "");
301 smtp_chat_append(session, " ", new_reply);
305 session->state->request->queue_id,
308 printable(STR(session->buffer), '?'));
309 vstream_longjmp(session->stream, SMTP_ERR_DATA);
315 vstring_strcat(rdata.str_buf, STR(session->buffer));
321 for (cp = STR(session->buffer); *cp && ISDIGIT(*cp); cp++)
323 if ((three_digs = (cp - STR(session->buffer) == 3)) != 0) {
358 session->error_mask |= MAIL_ERROR_PROTOCOL;
359 if (session->features & SMTP_FEATURE_PIPELINING) {
361 session->state->request->queue_id,
363 session->namaddrport, STR(session->buffer));
367 STR(session->iterator->addr),
403 rdata.code = atoi(STR(session->buffer));
404 if (strchr("245", STR(session->buffer)[0]) != 0) {
405 for (cp = STR(session->buffer) + 4; *cp == ' '; cp++)
407 if ((len = dsn_valid(cp)) > 0 && *cp == *STR(session->buffer)) {
411 STR(rdata.dsn_buf)[0] = STR(session->buffer)[0];
433 void smtp_chat_notify(SMTP_SESSION *session)
442 if (session->history == 0)
472 session->namaddrport);
475 session->namaddrport);
477 post_mail_fputs(notice, "Transcript of session follows.");
479 argv_terminate(session->history);
480 for (cpp = session->history->argv; *cpp; cpp++)