20#define PORT_QMTP "209"
21#define PORT_QMTPS "6209"
54 unsigned long len = 0;
57 buffer_get(&
bi,&ch,1);
58 if (ch ==
':')
return len;
61 len = 10 * len + (ch -
'0');
68 buffer_get(&
bi,&ch,1);
109 cipher = env_get(
"SSL_CIPHER");
111 cipherperm = env_get(
"SSL_CIPHER_ALGKEYSIZE");
113 cipherused = env_get(
"SSL_CIPHER_USEKEYSIZE");
115 clientdn = env_get(
"SSL_CLIENT_S_DN");
135 clientcn = env_get(
"SSL_CLIENT_S_DN_CN");
137 dnemail = env_get(
"SSL_CLIENT_S_DN_Email");
149 unsigned long biglen;
169 x = env_get(
"DATABYTES");
170 if (x) { scan_ulong(x,&u);
databytes = u; }
183 local = env_get(
"TCP6LOCALHOST");
210 buffer_get(&
bi,&ch,1);
212 if (ch == 10) flagdos = 0;
213 else if (ch == 13) flagdos = 1;
224 buffer_get(&
bi,&ch,1);
226 while ((ch == 13) && len) {
227 buffer_get(&
bi,&ch,1);
243 buffer_get(&
bi,&ch,1);
255 for (i = 0; i < len; ++i)
256 buffer_get(&
bi,&ch,1);
259 for (i = 0; i < len; ++i) {
260 buffer_get(&
bi,
buf + i,1);
261 if (!
buf[i]) flagsenderok = 0;
278 buffer_get(&
bi,&ch,1);
280 if (ch ==
':')
break;
283 len = 10 * len + (ch -
'0');
288 for (i = 0; i < len; ++i)
289 buffer_get(&
bi,&ch,1);
292 for (i = 0; i < len; ++i) {
293 buffer_get(&
bi,
buf + i,1);
318 if (!flagsenderok) result =
"D Unacceptable sender (#5.1.7)";
322 len = str_len(result);
326 len += fmt_str(
buf2 + len,
"K Ok ");
327 len += fmt_ulong(
buf2 + len,(
unsigned long)
now());
328 len += fmt_str(
buf2 + len,
" qp ");
329 len += fmt_ulong(
buf2 + len,
qp);
334 len = fmt_ulong(
buf,len);
336 len += fmt_str(
buf + len,result);
339 for (i = 0; i <
failure.len; ++i)
342 buffer_put(&
bo,
buf,len);
345 buffer_puts(&
bo,
"66:D Sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1),");
348 buffer_puts(&
bo,
"46:D Sorry, I can't handle that recipient (#5.1.3),");
int control_readint(int *i, char *fn)
int stralloc_copys(stralloc *, char const *)
ssize_t saferead(int fd, char *buf, int len)
unsigned int bytestooverflow
void qmail_to(struct qmail *, char *)
void qmail_from(struct qmail *, char *)
void qmail_put(struct qmail *, char *, int)
char * qmail_close(struct qmail *)
unsigned long qmail_qp(struct qmail *)
int qmail_open(struct qmail *)
void qmail_fail(struct qmail *)