Lines Matching refs:smtp

35 mu_smtp_write (mu_smtp_t smtp, const char *fmt, ...)  in mu_smtp_write()  argument
41 rc = mu_stream_vprintf (smtp->carrier, fmt, ap); in mu_smtp_write()
47 _mu_smtp_init_mlist (mu_smtp_t smtp) in _mu_smtp_init_mlist() argument
49 if (!smtp->mlrepl) in _mu_smtp_init_mlist()
51 int rc = mu_list_create (&smtp->mlrepl); in _mu_smtp_init_mlist()
53 mu_list_set_destroy_item (smtp->mlrepl, mu_list_free_item); in _mu_smtp_init_mlist()
57 mu_list_clear (smtp->mlrepl); in _mu_smtp_init_mlist()
62 mu_smtp_response (mu_smtp_t smtp) in mu_smtp_response() argument
67 rc = mu_stream_getline (smtp->carrier, &smtp->rdbuf, &smtp->rdsize, &n); in mu_smtp_response()
68 MU_SMTP_CHECK_ERROR (smtp, rc); in mu_smtp_response()
70 MU_SMTP_CHECK_ERROR (smtp, EIO); in mu_smtp_response()
71 n = mu_rtrim_class (smtp->rdbuf, MU_CTYPE_ENDLN); in mu_smtp_response()
72 if (n < 3 || !mu_isdigit (smtp->rdbuf[0])) in mu_smtp_response()
76 MU_SMTP_CHECK_ERROR (smtp, MU_ERR_BADREPLY); in mu_smtp_response()
78 memcpy (smtp->replcode, smtp->rdbuf, 3); in mu_smtp_response()
79 smtp->replcode[3] = 0; in mu_smtp_response()
80 if (smtp->rdbuf[3] == '-') in mu_smtp_response()
82 smtp->flags |= _MU_SMTP_MLREPL; in mu_smtp_response()
84 if (smtp->flsize < n) in mu_smtp_response()
86 char *p = realloc (smtp->flbuf, n); in mu_smtp_response()
88 MU_SMTP_CHECK_ERROR (smtp, ENOMEM); in mu_smtp_response()
89 smtp->flbuf = p; in mu_smtp_response()
90 smtp->flsize = n; in mu_smtp_response()
92 memcpy (smtp->flbuf, smtp->rdbuf + 4, n - 1); in mu_smtp_response()
93 smtp->flbuf[n - 1] = 0; in mu_smtp_response()
94 smtp->replptr = smtp->flbuf; in mu_smtp_response()
96 rc = _mu_smtp_init_mlist (smtp); in mu_smtp_response()
97 MU_SMTP_CHECK_ERROR (smtp, rc); in mu_smtp_response()
102 rc = mu_stream_getline (smtp->carrier, &smtp->rdbuf, &smtp->rdsize, in mu_smtp_response()
104 MU_SMTP_CHECK_ERROR (smtp, rc); in mu_smtp_response()
106 MU_SMTP_CHECK_ERROR (smtp, EIO); in mu_smtp_response()
107 n = mu_rtrim_class (smtp->rdbuf, MU_CTYPE_ENDLN); in mu_smtp_response()
108 if (n < 3 || memcmp (smtp->rdbuf, smtp->replcode, 3)) in mu_smtp_response()
112 MU_SMTP_CHECK_ERROR (smtp, MU_ERR_BADREPLY); in mu_smtp_response()
114 p = strdup (smtp->rdbuf + 4); in mu_smtp_response()
116 MU_SMTP_CHECK_ERROR (smtp, ENOMEM); in mu_smtp_response()
117 mu_list_append (smtp->mlrepl, p); in mu_smtp_response()
119 while (smtp->rdbuf[3] == '-'); in mu_smtp_response()
123 smtp->flags &= ~_MU_SMTP_MLREPL; in mu_smtp_response()
124 smtp->replptr = smtp->rdbuf + 4; in mu_smtp_response()
130 mu_smtp_replcode (mu_smtp_t smtp, char *buf) in mu_smtp_replcode() argument
132 if (!smtp || !buf) in mu_smtp_replcode()
134 strcpy (buf, smtp->replcode); in mu_smtp_replcode()
139 mu_smtp_sget_reply (mu_smtp_t smtp, const char **pbuf) in mu_smtp_sget_reply() argument
141 if (!smtp || !pbuf) in mu_smtp_sget_reply()
143 *pbuf = smtp->replptr; in mu_smtp_sget_reply()
148 mu_smtp_get_reply_iterator (mu_smtp_t smtp, mu_iterator_t *pitr) in mu_smtp_get_reply_iterator() argument
150 if (!smtp || !pitr) in mu_smtp_get_reply_iterator()
152 return mu_list_get_iterator (smtp->mlrepl, pitr); in mu_smtp_get_reply_iterator()