On Sun, Jan 16, 2011 at 07:41:22PM -0500, Joan Moreau wrote: > I have the following error using postfix 2.8.0-RC1 > > Jan 17 01:38:36 server postfix/smtp[5807]: warning: unexpected attribute > rewrite_context from smtp socket (expecting: log_ident) > Jan 17 01:38:36 server postfix/smtp[5807]: warning: deliver_request_get: > error receiving common attributes > Jan 17 01:38:36 server postfix/smtp[5805]: warning: unexpected attribute > rewrite_context from smtp socket (expecting: log_ident) > Jan 17 01:38:36 server postfix/smtp[5805]: warning: deliver_request_get: > error receiving common attributes
Did you stop the server before upgrading? The qmgr<-->delivery agent protocol has changed... --- 2.7.2/src/postfix/src/global/deliver_request.c 2010-06-02 02:20:44.183800285 -0400 +++ 2.8.0/src/global/deliver_request.c 2011-01-16 16:38:39.250251332 -0500 @@ -28,9 +28,10 @@ /* char *sasl_method; /* char *sasl_username; /* char *sasl_sender; +/* char *log_ident; /* char *rewrite_context; -/* char *dsn_envid; -/* int dsn_ret; +/* char *dsn_envid; +/* int dsn_ret; /* .in -5 /* } DELIVER_REQUEST; /* @@ -202,6 +203,7 @@ static VSTRING *sasl_method; static VSTRING *sasl_username; static VSTRING *sasl_sender; + static VSTRING *log_ident; static VSTRING *rewrite_context; static VSTRING *dsn_envid; static RCPT_BUF *rcpt_buf; @@ -227,6 +229,7 @@ sasl_method = vstring_alloc(10); sasl_username = vstring_alloc(10); sasl_sender = vstring_alloc(10); + log_ident = vstring_alloc(10); rewrite_context = vstring_alloc(10); dsn_envid = vstring_alloc(10); rcpt_buf = rcpb_create(); @@ -259,9 +262,10 @@ ATTR_TYPE_STR, MAIL_ATTR_SASL_USERNAME, sasl_username, ATTR_TYPE_STR, MAIL_ATTR_SASL_SENDER, sasl_sender, /* XXX Ditto if we want to pass TLS certificate info. */ + ATTR_TYPE_STR, MAIL_ATTR_LOG_IDENT, log_ident, ATTR_TYPE_STR, MAIL_ATTR_RWR_CONTEXT, rewrite_context, ATTR_TYPE_INT, MAIL_ATTR_RCPT_COUNT, &rcpt_count, - ATTR_TYPE_END) != 21) { + ATTR_TYPE_END) != 22) { msg_warn("%s: error receiving common attributes", myname); return (-1); } @@ -286,6 +290,7 @@ request->sasl_method = mystrdup(vstring_str(sasl_method)); request->sasl_username = mystrdup(vstring_str(sasl_username)); request->sasl_sender = mystrdup(vstring_str(sasl_sender)); + request->log_ident = mystrdup(vstring_str(log_ident)); request->rewrite_context = mystrdup(vstring_str(rewrite_context)); request->dsn_envid = mystrdup(vstring_str(dsn_envid)); request->dsn_ret = dsn_ret; @@ -322,9 +327,9 @@ * queue, and releases the lock before starting deliveries from that * file. The queue manager does not lock the file again when reading more * recipients into memory. When the queue manager is restarted, the new - * process moves files from the active queue to the incoming queue to cool - * off for a while. Delivery agents should therefore never try to open a - * file that is locked by a queue manager process. + * process moves files from the active queue to the incoming queue to + * cool off for a while. Delivery agents should therefore never try to + * open a file that is locked by a queue manager process. * * Opening the queue file can fail for a variety of reasons, such as the * system running out of resources. Instead of throwing away mail, we're @@ -375,6 +380,7 @@ request->sasl_method = 0; request->sasl_username = 0; request->sasl_sender = 0; + request->log_ident = 0; request->rewrite_context = 0; request->dsn_envid = 0; return (request); @@ -415,6 +421,8 @@ myfree(request->sasl_username); if (request->sasl_sender) myfree(request->sasl_sender); + if (request->log_ident) + myfree(request->log_ident); if (request->rewrite_context) myfree(request->rewrite_context); if (request->dsn_envid) -- Viktor.