6.0.0-alpha14
7/3/25

[#14640] wrong filter rules (path incorrect)
Summary wrong filter rules (path incorrect)
Queue Horde Framework Packages
Type Bug
State Resolved
Priority 2. Medium
Owners mrubinsk (at) horde (dot) org
Requester cheese (at) nosuchhost (dot) net
Created 05/12/2017 (2974 days ago)
Due
Updated 07/29/2017 (2896 days ago)
Assigned 05/12/2017 (2974 days ago)
Resolved 07/29/2017 (2896 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
07/29/2017 06:52:10 PM Michael Rubinsky Comment #14
State ⇒ Resolved
Reply to this comment
But maybe this is a bit different when it comes to EAS, Michael may 
have to say more about this.
This is correct. EAS does not have any concept of a container mailbox 
and such mailboxes will be displayed as indicated above.
05/30/2017 01:23:01 PM Jan Schneider Version ⇒
Queue ⇒ Horde Framework Packages
 
05/30/2017 01:22:49 PM Jan Schneider Comment #13
Assigned to Michael Rubinsky
Reply to this comment
2.4. OUTLOOK WITH EAS
displays incorrectly as one folder called "A.B"
Well, this *is* correct. There only is a folder A.B. "A" is what is 
called a container, i.e. it's the parent of B without being a folder 
itself. How the client displays this, is up to the client. 
Tree-oriented layouts usually show the container, but disabled (like 
IMP). Row-oriented layouts usually skip containers (like mobile IMP).

But maybe this is a bit different when it comes to EAS, Michael may 
have to say more about this.
05/30/2017 12:53:57 PM florian (dot) koellich (at) tirol (dot) gv (dot) at Comment #12 Reply to this comment
It happens in Step 7. Ingo/Procmail doesn't create Folder "A" and 
folder "A.B" but only folder "A.B". This causes Webmail and 
Outlook+IMAP to behave correctly but not Outlook+EAS.

Details:

1. FOLDERS ADDED BY USER IN WEBMAIL:

1.1 FILE SYSTEM
.A
|-- cur
|-- dovecot-uidlist
|-- maildirfolder
|-- new
`-- tmp

.A.B
|-- cur
|-- dovecot-uidlist
|-- maildirfolder
|-- new
`-- tmp

1.2. IMAP

A2 LIST "" *
* LIST (\HasChildren) "." A
* LIST (\HasNoChildren) "." A.B

1.3. OUTLOOK WITH IMAP
displays correctly

1.4. OUTLOOK WITH EAS
displays correctly



2. FOLDERS ADDED BY RULE "move to A.B"

2.1. FILE SYSTEM

.SCHULAMT.Schulleiterservice/
|-- cur
|-- dovecot-uidlist
|-- maildirfolder
|-- new
`-- tmp

2.2. IMAP

A2 LIST "" *
* LIST (\HasNoChildren) "." SCHULAMT.Schulleiterservice

2.3. OUTLOOK WITH IMAP
displays correctly

2.4. OUTLOOK WITH EAS
displays incorrectly as one folder called "A.B"
05/30/2017 08:34:43 AM Jan Schneider Comment #11 Reply to this comment
The question is whether step 7 or 8 fails. Are the folders created in 
step 7 identical to the original folder structure? Do they look the 
same via IMAP and on the file system? I.e. is folder A really a 
folder, and B a subfolder? A could be a container instead, or there 
could be top-level A.B folder instead.
If the folders are created correctly, then the error happens in step 8 
and this is an ActiveSync issue, not an Ingo or Procmail issue.
05/30/2017 08:11:30 AM florian (dot) koellich (at) tirol (dot) gv (dot) at Comment #10 Reply to this comment
Hi,

to add to the problem description:

*Problem*

We use ingo with procmail.
When a folder "A" and a subfolder "B" is created by a rule (e.g. 
because the Folders were deleted by the user), then the folders are 
shown as a single folder "A.B" in Outlook via ActiveSync rather than 
being displayed hierarchically.

*To reproduce*

1. In Webmail, create a new top level folder "A"
2. In Webmail, create a new folder "B" under "A"
3. In Outlook, press "Send/Receive" to sync the folders - they are 
being displayed correctly, i.e. hierarchical.
4. In Webmail, create a rule that moves mails to "A.B"
5. In Webmail, delete Folder A including subfolders.
6. Receive an e-mail that matches the Rule from 4.
7. The folders A and B are recreated upon execution of the rule
8. In Outlook, press "Send/Receive" to sync folders. This adds one 
folder named "A.B"

Hope this helps.

Thanks
Florian

05/15/2017 07:44:45 PM Jan Schneider Comment #9 Reply to this comment
First of all, Procmail is not a MUA, but an MDA and doesn't know about 
IMAP folders, just about mailbox storage formats.
But the crucial point is the folder with the name INBOX.lala. This is 
has no semantic meaning, i.e. this is *not* a subfolder of the INBOX, 
just because it happens to be named this way. It could have been named 
foobar.lala and it wouldn't make a (technical) difference to either 
Dovecot or Procmail.
But Ingo doesn't know this, because Ingo doesn't know that the IMAP 
server that provides the folder listing doesn't have an INBOX. 
namespace. It just strips a leading INBOX from any folder name it 
receives. At least when using Maildir. This would have been the 
correct behavior, if INBOX was indeed the namespace, and Ingo is just 
guessing here.
05/15/2017 12:56:53 PM cheese (at) nosuchhost (dot) net Comment #8 Reply to this comment
as far as i know (and knew for almost 2 decades): dovecot can have the 
following filesystem-layout with maildir:

* every folder has three subfolders in filesystem cur, new, tmp
* every folder is flat under eg.: ~/Maildir with only one exception: 
INBOX, which is represented by 3 toplevel folders cur+new+tmp
* mailfolders have subfolders cur,new,tmp

stripping would be valid ONLY for INBOX itself, but not for its subfolders.
example layout:

filesystem:
drwx------  5 username groupname  4096 Apr 25 16:38 .Codes
drwx------  2 username groupname 69632 May 13 17:31 cur
drwx------  5 username groupname  4096 Apr 25 16:38 .davmailtemp
-rw-------  1 username groupname    24 Jun 19  2015 dovecot-keywords
-rw-------  1 username groupname   384 Dec  9  2014 dovecot.mailbox.log
-rw-------  1 username groupname 36226 May 15 09:13 dovecot-uidlist
-rw-------  1 username groupname     8 May 12 09:42 dovecot-uidvalidity
-r--r--r--  1 username groupname     0 Dec  9  2014 
dovecot-uidvalidity.5486c897
drwx------  5 username groupname  4096 Apr 25 16:38 .Drafts
drwx------  5 username groupname  4096 Apr 25 16:38 .erledigt
drwx------  5 username groupname  4096 Apr 25 16:38 .filer
drwx------  5 username groupname  4096 Apr 25 16:38 .gelesen
drwxr-xr-x  5 username groupname  4096 May 15 09:17 .INBOX.lala
drwx------  5 username groupname  4096 Apr 25 16:38 .Jiras
drwx------  5 username groupname  4096 Apr 25 16:38 .Kontrolle
-rw-r--r--  1 username groupname     0 Jan 29  2015 .mdir
drwx------  2 username groupname  8192 May 13 13:10 new
drwx------  5 username groupname  4096 Apr 25 16:38 .Postausgang (migriert)
drwx------  5 username groupname  4096 Apr 25 16:38 .RECREATE
drwx------  5 username groupname  4096 Apr 25 16:38 .saved-messages
drwx------  5 username groupname  4096 Apr 25 16:38 .Schulung
drwx------  5 username groupname  4096 May 13 13:10 .Sent
drwx------  5 username groupname  4096 Apr 25 16:38 .sent-mail
drwx------  5 username groupname  4096 Apr 25 16:38 .Spam
-rw-------  1 username groupname   131 Dec  9  2014 subscriptions
drwx------  5 username groupname  4096 Apr 25 16:38 .Templates
drwx------  5 username groupname  4096 Apr 25 16:38 .test
drwx------  2 username groupname  4096 May 13 12:06 tmp
drwx------  5 username groupname  4096 Apr 28 10:16 .Trash
drwx------  5 username groupname  4096 Apr 25 16:38 .TSM
-rw-r--r--  1 username groupname     0 Jan 19  2016 
.uidlast.0000000498.1453215656
drwx------  5 username groupname  4096 Apr 25 16:38 .XTESTX


which would be in any mua (> is my symbol for a folder beneath another 
folder):
INBOX/Posteingang (cur,new,tmp)
INBOX/Posteingang > lala (.INBOX.lala)
Papierkorb (.Trash)
Vorlagen (.Templates)
...

or the list as seen from a mua:

A02 LIST "" *
* LIST (\HasNoChildren) "." Codes
* LIST (\HasNoChildren \Sent) "." Sent
* LIST (\HasNoChildren \Trash) "." Trash
* LIST (\HasNoChildren \Drafts) "." Drafts
* LIST (\HasNoChildren) "." Spam
* LIST (\HasNoChildren) "." INBOX.lala
* LIST (\HasNoChildren) "." Jiras
* LIST (\HasNoChildren) "." Schulung
* LIST (\HasNoChildren) "." Kontrolle
* LIST (\HasNoChildren) "." "Postausgang (migriert)"
* LIST (\HasNoChildren) "." RECREATE
* LIST (\HasNoChildren) "." TSM
* LIST (\HasNoChildren) "." davmailtemp
* LIST (\HasNoChildren) "." erledigt
* LIST (\HasNoChildren) "." filer
* LIST (\HasNoChildren) "." gelesen
* LIST (\HasNoChildren) "." Templates
* LIST (\HasNoChildren) "." test
* LIST (\HasNoChildren) "." XTESTX
* LIST (\HasNoChildren) "." sent-mail
* LIST (\HasNoChildren) "." saved-messages
* LIST (\HasChildren) "." INBOX
A02 OK List completed.

05/15/2017 09:28:47 AM Jan Schneider Comment #7 Reply to this comment
Ingo is correct in stripping the INBOX prefix from the folder name, 
because it's configured to use Maildir delivery with Procmail. With 
this kind of delivery you traditionally cannot have both folder on the 
same level like INBOX and as sub-folders of INBOX.
So the question is, where is this folder list coming from? This sounds 
like a misconfigured IMAP server, because Ingo is receiving the folder 
list via IMP.
05/15/2017 07:27:18 AM cheese (at) nosuchhost (dot) net Comment #6
New Attachment: new_rule.png Download
Reply to this comment
and for a new rule:
    <option value="1">In meinen Posteingang ausliefern</option>   
<option selected value="2">Ausliefern in den Ordner...</option>   
<option value="3">Nachricht komplett löschen</option>   <option 
value="4">Weiterleiten an...</option>   <option value="5">In meinen 
Posteingang ausliefern und weiterleiten nach...</option>   <option 
value="6">Ablehnen mit dem Grund...</option>  </select>
   <label for="actionvalue" class="hidden">Zielordner auswählen</label>
   <select class="flistSelect" id="actionvalue" 
name="actionvalue"><option value="">Zielordner 
auswählen:</option><option disabled>- - - - - - - - - 
-</option><option class="flistCreate" value="">Neuen Ordner 
erstellen</option><option disabled>- - - - - - - - - -</option><option 
value="INBOX">Posteingang</option><option value="INBOX.lala">   
Posteingang.lala</option><option value="Codes">Codes</option><option 
value="davmailtemp">davmailtemp</option><option 
value="Drafts">Entwürfe</option><option 
value="erledigt">erledigt</option><option 
value="filer">filer</option><option 
value="gelesen">gelesen</option><option 
value="Sent">Gesendet</option><option 
value="Jiras">Jiras</option><option 
value="Kontrolle">Kontrolle</option><option 
value="Trash">Papierkorb</option><option value="Postausgang 
(migriert)">Postausgang (migriert)</option><option 
value="RECREATE">RECREATE</option><option 
value="saved-messages">saved-messages</option><option 
value="Schulung">Schulung</option><option 
value="sent-mail">sent-mail</option><option 
value="Spam">Spam</option><option value="test">test</option><option 
value="TSM">TSM</option><option 
value="Templates">Vorlagen</option><option 
value="XTESTX">XTESTX</option></select> </div>

maybe unrelated: INBOX is translated to Posteingang. in my Folder 
liste in imp, i see INBOX.


05/15/2017 07:19:57 AM cheese (at) nosuchhost (dot) net Comment #5 Reply to this comment

[Show Quoted Text - 29 lines]
this was for the existing rule
05/15/2017 07:19:04 AM cheese (at) nosuchhost (dot) net Comment #4 Reply to this comment
  <label for="actionvalue" class="hidden">Zielordner auswählen</label>
   <select class="flistSelect" id="actionvalue" 
name="actionvalue"><option value="">Zielordner 
auswählen:</option><option disabled>- - - - - - - - - 
-</option><option class="flistCreate" value="">Neuen Ordner 
erstellen</option><option disabled>- - - - - - - - - -</option><option 
value="INBOX">Posteingang</option><option selected value="INBOX.lala"> 
  Posteingang.lala</option><option value="Codes">Codes</option><option 
value="davmailtemp">davmailtemp</option><option 
value="Drafts">Entwürfe</option><option 
value="erledigt">erledigt</option><option 
value="filer">filer</option><option 
value="gelesen">gelesen</option><option 
value="Sent">Gesendet</option><option 
value="Jiras">Jiras</option><option 
value="Kontrolle">Kontrolle</option><option 
value="Trash">Papierkorb</option><option value="Postausgang 
(migriert)">Postausgang (migriert)</option><option 
value="RECREATE">RECREATE</option><option 
value="saved-messages">saved-messages</option><option 
value="Schulung">Schulung</option><option 
value="sent-mail">sent-mail</option><option 
value="Spam">Spam</option><option value="test">test</option><option 
value="TSM">TSM</option><option 
value="Templates">Vorlagen</option><option 
value="XTESTX">XTESTX</option></select> </div>


05/12/2017 12:11:17 PM Jan Schneider Comment #3
State ⇒ Feedback
Priority ⇒ 2. Medium
Reply to this comment
How do the <option> tags in the Ingo form look like?
05/12/2017 08:04:56 AM cheese (at) nosuchhost (dot) net Comment #2
New Attachment: Screenshot_2017-05-12_10-03-30.png Download
Reply to this comment

[Show Quoted Text - 10 lines]
05/12/2017 07:58:55 AM cheese (at) nosuchhost (dot) net Comment #1
Priority ⇒ 3. High
Type ⇒ Bug
Summary ⇒ wrong filter rules (path incorrect)
Queue ⇒ Ingo
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
Reply to this comment
i create a rule to filter into Posteingang.lala
the resulting procmail is:
##### Neue Regel #####
:0.
* ^To:.*testuser@lala
".lala/"

Posteingang is not translated to INBOX


Saved Queries