[exim-dev] [Bug 2213] New: directory name (path name) length…

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 2213] New: directory name (path name) length limited to 254 characters
https://bugs.exim.org/show_bug.cgi?id=2213

            Bug ID: 2213
           Summary: directory name (path name) length limited to 254
                    characters
           Product: Exim
           Version: 4.90
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Transports
          Assignee: nigel@???
          Reporter: eximusers@???
                CC: exim-dev@???


Hello,

this was originally reported by Andrew McGlashan in
http://lists.alioth.debian.org/pipermail/pkg-exim4-maintainers/2017-December/015268.html

I have reproduced the limitation with a regular (non-system) exim-filter. I
have not found a previous bugreport and afaict it is not documented in
spec.txt.

I suspect the value was chosen because of _POSIX_PATH_MAX being 256, but exim
applies the limit only to the directory component, directory+filename can be
longer than 256. I myself have no strong opinion whether the limit should be
raised, I just think it should be documented.

TIA, cu Andreas

-------------------quote
Hi,

I have a system_filter entry that does backups (for archival purposes)
of emails. The path for storing the backup copy exceeds the buffer size
of 256 as per the source file [1].

Outside of exim, I can create the directory without any trouble, then
actual length for my test was 275 characters, this includes many path
components of smaller size, the total length of the path being 275.

Is there any reason why the code couldn't be adjusted to have a maximum
length of say, 512, 768 or even 1024 as 256 is too short for my use case
and there is no problem at the file system level with the actual
required path.


Here is the relevant part of my system_filter that expands out to the
super long path; this usually fails with salesforce emails and has done
for years, but now I'm hoping to get this fixed and have done the
further investigation.

unseen save
/backup/mail/other-domains/$sender_address_domain/$sender_host_address/${tr{$sender_address}{.,\040}{_}}/$1/${length_99:${tr{$recipients}{.,\040}{_--}}}/


I have a similar line for emails with a List-ID as follows (the path
would be longer) in this case.

unseen save
/backup/mail/other-domains-list-id-mail/$sender_address_domain/$sender_host_address/${tr{$sender_address}{.,\040}{_}}/$1/${length_99:${tr{$recipients}{.,\040}{_--}}}/


The message remains frozen in the mail queue.

If I create the directory at the file system level (ext4), then it
creates fine. When I then run exim4 -M message_id ... the message
doesn't get saved, but it is removed from the mail queue and is no
longer frozen.

2017-12-20 14:37:39 [19932] cwd=/var/log/exim4 3 args: exim4 -M
1eRE4Y-00037m-IO
2017-12-20 14:37:39 [19932] 1eRE4Y-00037m-IO Unfrozen by forced delivery
2017-12-20 14:37:39 [19932] 1eRE4Y-00037m-IO Completed QT=18h17m13s


[1] https://github.com/Exim/exim/blob/master/src/src/directory.c

Kind Regards
AndrewM
-------------------unquote

--
You are receiving this mail because:
You are on the CC list for the bug.