The following issue has been RESOLVED.
======================================================================
http://www.dbmail.org/mantis/view.php?id=338
======================================================================
Reported By: ryo
Assigned To: paul
======================================================================
Project: DBMail
Issue ID: 338
Category: General
Reproducibility: sometimes
Severity: minor
Priority: normal
Status: resolved
Resolution: fixed
Fixed in Version: 2.1.6
======================================================================
Date Submitted: 02-May-06 07:20 CEST
Last Modified: 05-May-06 20:31 CEST
======================================================================
Summary: The header indication is broken in some MUA.
some MUA.
Description:
If the headervalue length is over 255 bytes, the data up to 255 bytes
is stored to the variable and the rest of the data is cut off by
_header_cache()
function in dbmail-message.c.
I think that is because the dbmail_headervalue.headervalue type in mysql
is VARCHAR(255).
But, sometimes the end of encoded mime header (used well in mutli-byte
mail) such as '?=' is lost. So, the header indication is broken in
some MUA.
In PostgreSQL, it is not necessary to cut off the part of data which
exceeds 255 bytes because dbmail_headervalue.headervalue field type
is TEXT.
For that reaseon, I made the patch only for PostgreSQL (please see
the attached file).
Do you have any plan to change the dbmail_headervalue.headervalue type
from VARCHAR(255) to TEXT or MEDIUMTEXT in the future?
======================================================================
----------------------------------------------------------------------
paul - 02-May-06 23:06
----------------------------------------------------------------------
Your right. This needs fixing. I'll change the column type for headervalue
in the mysql create_tables file, and include an update/migration script.
Only the index will be truncated, not the actual column for the reason you
specified. The patch will be applied.
----------------------------------------------------------------------
sayler - 03-May-06 19:21
----------------------------------------------------------------------
Does this mean that queries to return a specific header (as opposed to the
whole header section) will be truncated at 255chars on mysql?
----------------------------------------------------------------------
paul - 05-May-06 20:31
----------------------------------------------------------------------
Truncation of headers in dbmail_headervalue during insertion has been
removed from the code, and a script was added in sql/mysql/ to fix the
table. Only mysql users need to run the alter table commands.
Issue History
Date Modified Username Field Change
======================================================================
02-May-06 07:20 ryo New Issue
02-May-06 07:20 ryo File Added: dbmail-headervalue-noclean.patch
02-May-06 23:06 paul Note Added: 0001150
02-May-06 23:06 paul Assigned To => paul
02-May-06 23:06 paul Status new => assigned
02-May-06 23:06 paul Projection none => tweak
02-May-06 23:06 paul ETA none => < 1 day
03-May-06 19:21 sayler Note Added: 0001151
05-May-06 20:31 paul Note Added: 0001154
05-May-06 20:31 paul Status assigned => resolved
05-May-06 20:31 paul Resolution open => fixed
05-May-06 20:31 paul Fixed in Version => 2.1.6
======================================================================