You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by so...@apache.org on 2006/01/30 02:37:30 UTC
svn commit: r373411 - in /httpd/mod_smtpd/trunk/src: mod_smtpd.h smtp_core.c
smtp_protocol.c
Author: soc-rian
Date: Sun Jan 29 17:37:28 2006
New Revision: 373411
URL: http://svn.apache.org/viewcvs?rev=373411&view=rev
Log:
Put per_command_pool in the smtpd_session_rec, removed from parameter list
in hooks, for consistency with the rest of apache.
Modified:
httpd/mod_smtpd/trunk/src/mod_smtpd.h
httpd/mod_smtpd/trunk/src/smtp_core.c
httpd/mod_smtpd/trunk/src/smtp_protocol.c
Modified: httpd/mod_smtpd/trunk/src/mod_smtpd.h
URL: http://svn.apache.org/viewcvs/httpd/mod_smtpd/trunk/src/mod_smtpd.h?rev=373411&r1=373410&r2=373411&view=diff
==============================================================================
--- httpd/mod_smtpd/trunk/src/mod_smtpd.h (original)
+++ httpd/mod_smtpd/trunk/src/mod_smtpd.h Sun Jan 29 17:37:28 2006
@@ -134,6 +134,10 @@
/* notes on this session */
struct ap_conf_vector_t *session_config;
+
+ /* per command pool
+ (cleared after every command) */
+ apr_pool_t *per_command_pool;
} smtpd_session_rec;
/* public */
@@ -161,42 +165,37 @@
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode,
unrecognized_command,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *command, char *data,
+ (smtpd_session_rec *scr, char *command, char *data,
smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, connect,
- (smtpd_session_rec *scr, apr_pool_t *p,
- smtpd_return_data **out_data));
+ (smtpd_session_rec *scr, smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, reset_envelope,
(smtpd_session_rec *scr));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, helo,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, smtpd_return_data **out_data));
+ (smtpd_session_rec *scr, char *str,
+ smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, ehlo,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, smtpd_return_data **out_data));
+ (smtpd_session_rec *scr, char *str,
+ smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, mail,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, apr_table_t *mail_parameters,
+ (smtpd_session_rec *scr, char *str,
+ apr_table_t *mail_parameters,
smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, rcpt,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, apr_table_t *rcpt_parameters,
+ (smtpd_session_rec *scr, char *str,
+ apr_table_t *rcpt_parameters,
smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, vrfy,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, smtpd_return_data **out_data));
+ (smtpd_session_rec *scr, char *str,
+ smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, quit,
- (smtpd_session_rec *scr, apr_pool_t *p));
+ (smtpd_session_rec *scr));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, data,
- (smtpd_session_rec *scr, apr_pool_t *p,
- smtpd_return_data **out_data));
+ (smtpd_session_rec *scr, smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, data_post,
- (smtpd_session_rec *scr, apr_pool_t *p,
- smtpd_return_data **out_data));
+ (smtpd_session_rec *scr, smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, queue,
- (smtpd_session_rec *scr, apr_pool_t *p,
- smtpd_return_data **out_data));
+ (smtpd_session_rec *scr, smtpd_return_data **out_data));
APR_DECLARE_EXTERNAL_HOOK(smtpd, SMTPD, smtpd_retcode, headers_parsed,
(smtpd_session_rec *scr));
Modified: httpd/mod_smtpd/trunk/src/smtp_core.c
URL: http://svn.apache.org/viewcvs/httpd/mod_smtpd/trunk/src/smtp_core.c?rev=373411&r1=373410&r2=373411&view=diff
==============================================================================
--- httpd/mod_smtpd/trunk/src/smtp_core.c (original)
+++ httpd/mod_smtpd/trunk/src/smtp_core.c Sun Jan 29 17:37:28 2006
@@ -147,6 +147,8 @@
scr->session_config = ap_create_request_config(scr->p);
+ apr_pool_create(&(scr->per_command_pool), scr->p);
+
/* create envelope rec */
str = apr_pcalloc(scr->p, sizeof(*str));
@@ -294,18 +296,17 @@
/* Implement 'smtpd_run_unrecognized_command'. */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(smtpd, SMTPD, smtpd_retcode,
unrecognized_command,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *command, char *data,
- smtpd_return_data **out_data),
- (scr, p, command, data, out_data),
+ (smtpd_session_rec *scr, char *command,
+ char *data, smtpd_return_data **out_data),
+ (scr, command, data, out_data),
SMTPD_DECLINED);
/* Implement 'smtpd_run_connect'. */
/* it is an all hook because multiple plugins
should be ale to perform actions on connect */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(smtpd, SMTPD, smtpd_retcode, connect,
- (smtpd_session_rec *scr, apr_pool_t *p,
+ (smtpd_session_rec *scr,
smtpd_return_data **out_data),
- (scr, p, out_data),
+ (scr, out_data),
SMTPD_OK, SMTPD_DECLINED);
/* Implement 'smtpd_run_reset_envelope'. */
/* it is an all hook because multiple plugins
@@ -317,66 +318,65 @@
SMTPD_OK, SMTPD_DECLINED);
/* Implement 'smtpd_run_helo'. */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(smtpd, SMTPD, smtpd_retcode, helo,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, smtpd_return_data **out_data),
- (scr, p, str, out_data),
+ (smtpd_session_rec *scr, char *str,
+ smtpd_return_data **out_data),
+ (scr, str, out_data),
SMTPD_DECLINED);
/* Implement 'smtpd_run_ehlo'. */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(smtpd, SMTPD, smtpd_retcode, ehlo,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, smtpd_return_data **out_data),
- (scr, p, str, out_data),
+ (smtpd_session_rec *scr, char *str,
+ smtpd_return_data **out_data),
+ (scr, str, out_data),
SMTPD_DECLINED);
/* Implement 'smtpd_run_mail'. */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(smtpd, SMTPD, smtpd_retcode, mail,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, apr_table_t *mail_parameters,
+ (smtpd_session_rec *scr, char *str,
+ apr_table_t *mail_parameters,
smtpd_return_data **out_data),
- (scr, p, str, mail_parameters,
+ (scr, str, mail_parameters,
out_data),
SMTPD_DECLINED);
/* Implement 'smtpd_run_rcpt'. */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(smtpd, SMTPD, smtpd_retcode, rcpt,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, apr_table_t *rcpt_parameters,
+ (smtpd_session_rec *scr, char *str,
+ apr_table_t *rcpt_parameters,
smtpd_return_data **out_data),
- (scr, p, str, rcpt_parameters,
+ (scr, str, rcpt_parameters,
out_data),
SMTPD_DECLINED);
/* Implement 'smtpd_run_vrfy'. */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(smtpd, SMTPD, smtpd_retcode, vrfy,
- (smtpd_session_rec *scr, apr_pool_t *p,
- char *str, smtpd_return_data **out_data),
- (scr, p, str, out_data),
+ (smtpd_session_rec *scr, char *str,
+ smtpd_return_data **out_data),
+ (scr, str, out_data),
SMTPD_DECLINED);
/* Implement 'smtpd_run_quit'. */
/* it is an all hook because multiple plugins
should be able to perform actions on quit */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(smtpd, SMTPD, smtpd_retcode, quit,
- (smtpd_session_rec *scr,
- apr_pool_t *p),
- (scr, p),
+ (smtpd_session_rec *scr),
+ (scr),
SMTPD_OK, SMTPD_DECLINED);
/* Implement 'smtpd_run_data'. */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(smtpd, SMTPD, smtpd_retcode, data,
- (smtpd_session_rec *scr, apr_pool_t *p,
+ (smtpd_session_rec *scr,
smtpd_return_data **out_data),
- (scr, p, out_data),
+ (scr, out_data),
SMTPD_DECLINED);
/* Implement 'smtpd_run_data_post'. */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(smtpd, SMTPD, smtpd_retcode,
data_post,
- (smtpd_session_rec *scr, apr_pool_t *p,
+ (smtpd_session_rec *scr,
smtpd_return_data **out_data),
- (scr, p, out_data),
+ (scr, out_data),
SMTPD_DECLINED);
/* Implement 'smtpd_run_queue'. */
/* it is an all hook because multiple plugins
should be able to queue */
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(smtpd, SMTPD, smtpd_retcode, queue,
- (smtpd_session_rec *scr, apr_pool_t *p,
+ (smtpd_session_rec *scr,
smtpd_return_data **out_data),
- (scr, p, out_data),
+ (scr, out_data),
SMTPD_OK, SMTPD_DECLINED);
/* Implement 'smtpd_run_headers_parsed'. */
/* it is an all hook because multiple plugins
Modified: httpd/mod_smtpd/trunk/src/smtp_protocol.c
URL: http://svn.apache.org/viewcvs/httpd/mod_smtpd/trunk/src/smtp_protocol.c?rev=373411&r1=373410&r2=373411&view=diff
==============================================================================
--- httpd/mod_smtpd/trunk/src/smtp_protocol.c (original)
+++ httpd/mod_smtpd/trunk/src/smtp_protocol.c Sun Jan 29 17:37:28 2006
@@ -46,16 +46,15 @@
extern ap_regex_t *rcpt_compiled_regex;
extern ap_regex_t *vrfy_compiled_regex;
-static int smtpd_handler_helo(smtpd_session_rec *, apr_pool_t *, char *, int);
-static int smtpd_handler_mail(smtpd_session_rec *, apr_pool_t *, char *);
-static int smtpd_handler_rcpt(smtpd_session_rec *, apr_pool_t *, char *);
-static int smtpd_handler_data(smtpd_session_rec *, apr_pool_t *, char *);
+static int smtpd_handler_helo(smtpd_session_rec *, char *, int);
+static int smtpd_handler_mail(smtpd_session_rec *, char *);
+static int smtpd_handler_rcpt(smtpd_session_rec *, char *);
+static int smtpd_handler_data(smtpd_session_rec *, char *);
static int smtpd_handler_rset(smtpd_session_rec *, char *);
-static int smtpd_handler_quit(smtpd_session_rec *, apr_pool_t *, char *);
-static int smtpd_handler_vrfy(smtpd_session_rec *, apr_pool_t *, char *);
-static void smtpd_connection_run(smtpd_session_rec *, apr_pool_t *);
-static int smtpd_handle_unrecognized_command(smtpd_session_rec *, apr_pool_t *,
- char *, char *);
+static int smtpd_handler_quit(smtpd_session_rec *, char *);
+static int smtpd_handler_vrfy(smtpd_session_rec *, char *);
+static void smtpd_connection_run(smtpd_session_rec *);
+static int smtpd_handle_unrecognized_command(smtpd_session_rec *, char *, char *);
static void smtpd_respond(smtpd_session_rec *scr, int status,
char *default_string, smtpd_return_data *hook_data)
@@ -71,15 +70,12 @@
void smtpd_process_connection_internal(smtpd_session_rec *scr)
{
char buffer[255];
- apr_pool_t *per_command_pool;
smtpd_svr_config_rec *pConfig =
ap_get_module_config(scr->s->module_config,
&smtpd_module);
smtpd_return_data *out_data;
- apr_pool_create(&per_command_pool, scr->p);
-
- switch(smtpd_run_connect(scr, per_command_pool, &out_data)) {
+ switch(smtpd_run_connect(scr, &out_data)) {
case SMTPD_DENY:
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, scr->s,
"Connection Denied");
@@ -99,7 +95,7 @@
pConfig->sId);
smtpd_respond_oneline(scr, 220, buffer);
case SMTPD_DONE:
- smtpd_connection_run(scr, per_command_pool);
+ smtpd_connection_run(scr);
break;
}
@@ -107,8 +103,7 @@
}
#define BUFFER_STR_LEN 1024
-static void smtpd_connection_run(smtpd_session_rec *scr,
- apr_pool_t *per_command_pool)
+static void smtpd_connection_run(smtpd_session_rec *scr)
{
char cmdbuff[BUFFER_STR_LEN];
char *buffer = cmdbuff;
@@ -116,7 +111,7 @@
int disconnect;
while (smtpd_getline(scr, buffer, BUFFER_STR_LEN, NULL) == APR_SUCCESS) {
- apr_pool_clear(per_command_pool);
+ apr_pool_clear(scr->per_command_pool);
command = buffer;
buffer = ap_strchr(buffer, ' ');
@@ -128,19 +123,19 @@
ap_str_tolower(command);
if (ap_strcmp_match("ehlo", command) == 0) {
- disconnect = smtpd_handler_helo(scr, per_command_pool, buffer, 1);
+ disconnect = smtpd_handler_helo(scr, buffer, 1);
}
else if (ap_strcmp_match("helo", command) == 0) {
- disconnect = smtpd_handler_helo(scr, per_command_pool, buffer, 0);
+ disconnect = smtpd_handler_helo(scr, buffer, 0);
}
else if (ap_strcmp_match("mail", command) == 0) {
- disconnect = smtpd_handler_mail(scr, per_command_pool, buffer);
+ disconnect = smtpd_handler_mail(scr, buffer);
}
else if (ap_strcmp_match("rcpt", command) == 0) {
- disconnect = smtpd_handler_rcpt(scr, per_command_pool, buffer);
+ disconnect = smtpd_handler_rcpt(scr, buffer);
}
else if (ap_strcmp_match("data", command) == 0) {
- disconnect = smtpd_handler_data(scr, per_command_pool, buffer);
+ disconnect = smtpd_handler_data(scr, buffer);
}
else if (ap_strcmp_match("rset", command) == 0) {
disconnect = smtpd_handler_rset(scr, buffer);
@@ -150,15 +145,14 @@
disconnect = 0;
}
else if (ap_strcmp_match("vrfy", command) == 0) {
- disconnect = smtpd_handler_vrfy(scr, per_command_pool, buffer);
+ disconnect = smtpd_handler_vrfy(scr, buffer);
}
else if (ap_strcmp_match("quit", command) == 0) {
- disconnect = smtpd_handler_quit(scr, per_command_pool, buffer);
+ disconnect = smtpd_handler_quit(scr, buffer);
}
else {
disconnect =
- smtpd_handle_unrecognized_command(scr, per_command_pool, command,
- buffer);
+ smtpd_handle_unrecognized_command(scr, command, buffer);
}
if (disconnect)
@@ -171,13 +165,13 @@
}
static int smtpd_handle_unrecognized_command(smtpd_session_rec *scr,
- apr_pool_t *p, char *command,
+ char *command,
char *data)
{
int disconnect = 0;
smtpd_return_data *out_data;
- switch(smtpd_run_unrecognized_command(scr, p, command, data, &out_data)) {
+ switch(smtpd_run_unrecognized_command(scr, command, data, &out_data)) {
case SMTPD_DENY:
smtpd_respond(scr, 521, "Command Denied", out_data);
break;
@@ -194,8 +188,7 @@
return disconnect;
}
-static int smtpd_default_ehlo(smtpd_session_rec *scr, apr_pool_t *p,
- char *buffer)
+static int smtpd_default_ehlo(smtpd_session_rec *scr, char *buffer)
{
/* RFC 2821 states that when ehlo or helo is received, reset */
/* state */
@@ -208,7 +201,7 @@
if (scr->extensions->nelts) {
apr_array_header_t *first;
- first = apr_array_make(p, 1, sizeof(char *));
+ first = apr_array_make(scr->per_command_pool, 1, sizeof(char *));
(*((char **)apr_array_push(first))) = scr->helo;
apr_array_cat(first, scr->extensions);
@@ -221,8 +214,7 @@
return 0;
}
-static int smtpd_default_helo(smtpd_session_rec *scr, apr_pool_t *p,
- char *buffer)
+static int smtpd_default_helo(smtpd_session_rec *scr, char *buffer)
{
/* RFC 2821 states that when ehlo or helo is received, reset */
/* state */
@@ -238,9 +230,7 @@
}
-static int smtpd_handler_helo(smtpd_session_rec *scr,
- apr_pool_t *per_command_pool, char *buffer,
- int esmtp)
+static int smtpd_handler_helo(smtpd_session_rec *scr, char *buffer, int esmtp)
{
int error;
int disconnect = 0;
@@ -261,8 +251,8 @@
}
switch(esmtp
- ? smtpd_run_ehlo(scr, per_command_pool, buffer, &out_data)
- : smtpd_run_helo(scr, per_command_pool, buffer, &out_data)) {
+ ? smtpd_run_ehlo(scr, buffer, &out_data)
+ : smtpd_run_helo(scr, buffer, &out_data)) {
case SMTPD_DONE:
break;
case SMTPD_DONE_DISCONNECT:
@@ -276,8 +266,8 @@
break;
default:
disconnect = esmtp
- ? smtpd_default_helo(scr, per_command_pool, buffer)
- : smtpd_default_ehlo(scr, per_command_pool, buffer);
+ ? smtpd_default_helo(scr, buffer)
+ : smtpd_default_ehlo(scr, buffer);
break;
}
return disconnect;
@@ -309,8 +299,8 @@
}
}
-static int smtpd_default_mail(smtpd_session_rec *scr, apr_pool_t *p,
- char *email_address, apr_table_t *mail_parameters)
+static int smtpd_default_mail(smtpd_session_rec *scr, char *email_address,
+ apr_table_t *mail_parameters)
{
smtpd_envelope_rec *str = scr->envelope;
@@ -329,8 +319,7 @@
return 0;
}
-static int smtpd_handler_mail(smtpd_session_rec *scr,
- apr_pool_t *per_command_pool, char *buffer)
+static int smtpd_handler_mail(smtpd_session_rec *scr, char *buffer)
{
char *email_address;
int error;
@@ -362,7 +351,7 @@
"full from_parameter: %s", loc);
*/
- mail_parameters = apr_table_make(per_command_pool, 5);
+ mail_parameters = apr_table_make(scr->per_command_pool, 5);
/* parse out reverse-path */
{
@@ -377,8 +366,7 @@
}
}
- switch(smtpd_run_mail(scr, per_command_pool, email_address, mail_parameters,
- &out_data)) {
+ switch(smtpd_run_mail(scr, email_address, mail_parameters, &out_data)) {
case SMTPD_DONE:
break;
case SMTPD_DONE_DISCONNECT:
@@ -411,16 +399,15 @@
disconnect = 1;
break;
default:
- disconnect = smtpd_default_mail(scr, per_command_pool, email_address,
- mail_parameters);
+ disconnect = smtpd_default_mail(scr, email_address, mail_parameters);
break;
}
return disconnect;
}
-static int smtpd_default_rcpt(smtpd_session_rec *scr, apr_pool_t *p,
- char *email_address, apr_table_t *rcpt_parameters)
+static int smtpd_default_rcpt(smtpd_session_rec *scr, char *email_address,
+ apr_table_t *rcpt_parameters)
{
smtpd_envelope_rec *str = scr->envelope;
@@ -436,8 +423,7 @@
return 0;
}
-static int smtpd_handler_rcpt(smtpd_session_rec *scr,
- apr_pool_t *per_command_pool, char *buffer)
+static int smtpd_handler_rcpt(smtpd_session_rec *scr, char *buffer)
{
char *email_address;
int error;
@@ -465,7 +451,7 @@
return disconnect;
}
- rcpt_parameters = apr_table_make(per_command_pool, 5);
+ rcpt_parameters = apr_table_make(scr->per_command_pool, 5);
/* parse out reverse-path*/
{
@@ -480,8 +466,7 @@
}
}
- switch(smtpd_run_rcpt(scr, per_command_pool, email_address, rcpt_parameters,
- &out_data)) {
+ switch(smtpd_run_rcpt(scr, email_address, rcpt_parameters, &out_data)) {
case SMTPD_DONE:
break;
case SMTPD_DONE_DISCONNECT:
@@ -508,8 +493,7 @@
disconnect = 1;
break;
case SMTPD_OK: /* recipient is okay */
- disconnect = smtpd_default_rcpt(scr, per_command_pool, email_address,
- rcpt_parameters);
+ disconnect = smtpd_default_rcpt(scr, email_address, rcpt_parameters);
break;
default:
smtpd_respond_oneline(scr, 450,
@@ -521,12 +505,12 @@
}
-static int smtpd_queue(smtpd_session_rec *scr, apr_pool_t *p)
+static int smtpd_queue(smtpd_session_rec *scr)
{
int disconnect = 0;
smtpd_return_data *out_data = NULL;
- switch(smtpd_run_queue(scr, p, &out_data)) {
+ switch(smtpd_run_queue(scr, &out_data)) {
case SMTPD_DONE:
break;
case SMTPD_DONE_DISCONNECT:
@@ -609,7 +593,7 @@
apr_pool_destroy(p);
}
-static int smtpd_default_data(smtpd_session_rec *scr, apr_pool_t *p)
+static int smtpd_default_data(smtpd_session_rec *scr)
{
int rv;
int disconnect = 0;
@@ -622,14 +606,14 @@
const char *tempdir;
char *tempfile;
- rv = apr_temp_dir_get(&tempdir, p);
+ rv = apr_temp_dir_get(&tempdir, scr->per_command_pool);
if (rv) {
smtpd_respond_oneline(scr, 421, "Error: Internal");
disconnect = 1;
return disconnect;
}
- tempfile = apr_psprintf(p, "%s/tmp.XXXXXX", tempdir);
+ tempfile = apr_psprintf(scr->per_command_pool, "%s/tmp.XXXXXX", tempdir);
rv = apr_file_mktemp(&tfp, tempfile,
APR_CREATE | APR_WRITE | APR_READ |
APR_DELONCLOSE, str->p);
@@ -715,7 +699,7 @@
{
smtpd_return_data *out_data = NULL;
- switch(smtpd_run_data_post(scr, p, &out_data)) {
+ switch(smtpd_run_data_post(scr, &out_data)) {
case SMTPD_DONE:
break;
case SMTPD_DONE_DISCONNECT:
@@ -730,7 +714,7 @@
smtpd_reset_envelope(scr);
break;
default:
- disconnect = smtpd_queue(scr, p);
+ disconnect = smtpd_queue(scr);
smtpd_reset_envelope(scr);
break;
}
@@ -740,8 +724,7 @@
return disconnect;
}
-static int smtpd_handler_data(smtpd_session_rec *scr,
- apr_pool_t *per_command_pool, char *buffer)
+static int smtpd_handler_data(smtpd_session_rec *scr, char *buffer)
{
int disconnect = 0;
smtpd_return_data *out_data = NULL;
@@ -759,7 +742,7 @@
return disconnect;
}
- switch(smtpd_run_data(scr, per_command_pool, &out_data)) {
+ switch(smtpd_run_data(scr, &out_data)) {
case SMTPD_DONE:
break;
case SMTPD_DONE_DISCONNECT:
@@ -784,7 +767,7 @@
disconnect = 1;
break;
default:
- disconnect = smtpd_default_data(scr, per_command_pool);
+ disconnect = smtpd_default_data(scr);
break;
}
@@ -804,23 +787,21 @@
return 250;
}
-static int smtpd_handler_quit(smtpd_session_rec *scr,
- apr_pool_t *per_command_pool, char *buffer)
+static int smtpd_handler_quit(smtpd_session_rec *scr, char *buffer)
{
if (buffer != NULL) {
smtpd_respond_oneline(scr, 501, "Syntax: QUIT");
return 501;
}
- if (smtpd_run_quit(scr, per_command_pool) != SMTPD_DONE) {
+ if (smtpd_run_quit(scr) != SMTPD_DONE) {
smtpd_respond_oneline(scr, 221, "Bye");
}
return 1;
}
-static int smtpd_handler_vrfy(smtpd_session_rec *scr,
- apr_pool_t *per_command_pool, char *buffer)
+static int smtpd_handler_vrfy(smtpd_session_rec *scr, char *buffer)
{
int error;
int disconnect = 0;
@@ -838,7 +819,7 @@
return disconnect;
}
- switch(smtpd_run_vrfy(scr, per_command_pool, buffer, &out_data)) {
+ switch(smtpd_run_vrfy(scr, buffer, &out_data)) {
case SMTPD_DONE:
break;
case SMTPD_DONE_DISCONNECT: