Lines Matching refs:request
11 /* the queue manager. Each request specifies a queue file, a sender
19 /* in the delivery request, logs the "next-hop" destination
52 /* request before it is terminated by a built-in watchdog timer.
132 static int deliver_message(DELIVER_REQUEST *request)
144 msg_info("deliver_message: from %s", request->sender);
149 if (request->nexthop[0] == 0)
151 if (request->rcpt_list.len <= 0)
152 msg_fatal("recipient count: %d", request->rcpt_list.len);
160 src = mail_queue_open(request->queue_name, request->queue_id,
164 request->queue_name, request->queue_id);
171 #define BOUNCE_FLAGS(request) DEL_REQ_TRACE_FLAGS(request->flags)
173 dsn_split(&dp, "2.0.0", request->nexthop);
175 for (nrcpt = 0; nrcpt < request->rcpt_list.len; nrcpt++) {
176 rcpt = request->rcpt_list.info + nrcpt;
177 status = sent(BOUNCE_FLAGS(request), request->queue_id,
178 &request->msg_stats, rcpt, "none", &dsn);
179 if (status == 0 && (request->flags & DEL_REQ_FLAG_SUCCESS))
188 msg_warn("close %s %s: %m", request->queue_name, request->queue_id);
197 DELIVER_REQUEST *request;
210 * request from the queue manager, and (3) report the completion status
211 * of that request. All connection-management stuff is handled by the
214 if ((request = deliver_request_read(client_stream)) != 0) {
215 status = deliver_message(request);
216 deliver_request_done(client_stream, request, status);