Re: [Dovecot] Case-insensitive detail mailboxes?

2013-07-27 Thread /dev/rob0
On Fri, Jul 26, 2013 at 10:04:22AM +0100, Darac Marjal wrote:
 On Thu, Jul 25, 2013 at 11:29:56AM -0500, /dev/rob0 wrote:
  We're using sieve with LMTP. We want to have 
  lda_mailbox_autocreate and lmtp_save_to_detail_mailbox. Is
  there a way to make the detail case-insensitive? If so I
  have not found it yet.
  
  I suppose we could lowercase the input string for the SQL
  userdb query, but that's not what is wanted. The idea being
  that if a user makes a mailbox called Test is that
  user+t...@example.com and user+t...@example.com should both
  go to that Test mailbox. If it was lowercased, a mailbox
  called Test would be ignored and test used.
  
  With autocreate, this could be a problem if mail is
  delivered to autocreated case-sensitive mailboxes that the
  user won't see.
  
  Hmmm, maybe a global sieve script?
 
 I use the following sieve snippet rather than
 lmtp_save_to_detail_mailbox:
 
   if envelope :detail :regex to (.+) {
   set :upperfirst :lower detail ${1};
 fileinto :create Tagged/${detail};
   stop;
   }

Aha! On further examination I found a similar example here:

http://wiki2.dovecot.org/Pigeonhole/Sieve/Examples#Plus_Addressed_mail_filtering

I will need to tweak this a bit more, because we want to allow the 
user to create a mailbox as s/he wants, whether all CAPS, all 
lowercase, or Title Case (as our default setting would create a new 
folder if it wasn't found.) But you've surely set me on the right 
track here! Thank you!

 So, if the detail portion of the TO address exists, set a variable 
 detail to be the first-letter-uppercased version of that portion 
 (test - Test, TEST - Test and so on) and file the message into 
 Tagged/Test, creating that if necessary.
-- 
  http://rob0.nodns4.us/ -- system administration and consulting
  Offlist GMX mail is seen only if /dev/rob0 is in the Subject:


Re: [Dovecot] Case-insensitive detail mailboxes?

2013-07-26 Thread Darac Marjal
On Thu, Jul 25, 2013 at 11:29:56AM -0500, /dev/rob0 wrote:
 We're using sieve with LMTP. We want to have lda_mailbox_autocreate 
 and lmtp_save_to_detail_mailbox. Is there a way to make the detail 
 case-insensitive? If so I have not found it yet.
 
 I suppose we could lowercase the input string for the SQL userdb 
 query, but that's not what is wanted. The idea being that if a user 
 makes a mailbox called Test is that user+t...@example.com and 
 user+t...@example.com should both go to that Test mailbox. If it 
 was lowercased, a mailbox called Test would be ignored and test 
 used.
 
 With autocreate, this could be a problem if mail is delivered to 
 autocreated case-sensitive mailboxes that the user won't see.
 
 Hmmm, maybe a global sieve script?

I use the following sieve snippet rather than
lmtp_save_to_detail_mailbox:

  if envelope :detail :regex to (.+) {
  set :upperfirst :lower detail ${1};
  fileinto :create Tagged/${detail};
  stop;
  }

So, if the detail portion of the TO address exists, set a variable
detail to be the first-letter-uppercased version of that portion (test
- Test, TEST - Test and so on) and file the message into Tagged/Test,
creating that if necessary.


signature.asc
Description: Digital signature


[Dovecot] Case-insensitive detail mailboxes?

2013-07-25 Thread /dev/rob0
We're using sieve with LMTP. We want to have lda_mailbox_autocreate 
and lmtp_save_to_detail_mailbox. Is there a way to make the detail 
case-insensitive? If so I have not found it yet.

I suppose we could lowercase the input string for the SQL userdb 
query, but that's not what is wanted. The idea being that if a user 
makes a mailbox called Test is that user+t...@example.com and 
user+t...@example.com should both go to that Test mailbox. If it 
was lowercased, a mailbox called Test would be ignored and test 
used.

With autocreate, this could be a problem if mail is delivered to 
autocreated case-sensitive mailboxes that the user won't see.

Hmmm, maybe a global sieve script?
-- 
  http://rob0.nodns4.us/ -- system administration and consulting
  Offlist GMX mail is seen only if /dev/rob0 is in the Subject:


Re: [Dovecot] Case-insensitive detail mailboxes?

2013-07-25 Thread Timo Sirainen
On 25.7.2013, at 19.43, Timo Sirainen t...@iki.fi wrote:

 On 25.7.2013, at 19.29, /dev/rob0 r...@gmx.co.uk wrote:
 
 We're using sieve with LMTP. We want to have lda_mailbox_autocreate 
 and lmtp_save_to_detail_mailbox. Is there a way to make the detail 
 case-insensitive? If so I have not found it yet.
 
 I suppose we could lowercase the input string for the SQL userdb 
 query, but that's not what is wanted. The idea being that if a user 
 makes a mailbox called Test is that user+t...@example.com and 
 user+t...@example.com should both go to that Test mailbox. If it 
 was lowercased, a mailbox called Test would be ignored and test 
 used.
 
 With autocreate, this could be a problem if mail is delivered to 
 autocreated case-sensitive mailboxes that the user won't see.
 
 If you used case-insensitive filesystem, it would already work like that. 
 Maybe a new setting to make mailboxes case-insensitive also with 
 case-sensitive filesystems..

Oh, except then you get into trouble with non-ASCII characters. Which unicode 
chars should be equal? Maybe i;unicode-casemap would work well enough, since 
it's also used for other purposes.



Re: [Dovecot] Case-insensitive detail mailboxes?

2013-07-25 Thread Timo Sirainen
On 25.7.2013, at 19.29, /dev/rob0 r...@gmx.co.uk wrote:

 We're using sieve with LMTP. We want to have lda_mailbox_autocreate 
 and lmtp_save_to_detail_mailbox. Is there a way to make the detail 
 case-insensitive? If so I have not found it yet.
 
 I suppose we could lowercase the input string for the SQL userdb 
 query, but that's not what is wanted. The idea being that if a user 
 makes a mailbox called Test is that user+t...@example.com and 
 user+t...@example.com should both go to that Test mailbox. If it 
 was lowercased, a mailbox called Test would be ignored and test 
 used.
 
 With autocreate, this could be a problem if mail is delivered to 
 autocreated case-sensitive mailboxes that the user won't see.

If you used case-insensitive filesystem, it would already work like that. Maybe 
a new setting to make mailboxes case-insensitive also with case-sensitive 
filesystems..



Re: [Dovecot] Case-insensitive detail mailboxes?

2013-07-25 Thread Steffen Kaiser

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Thu, 25 Jul 2013, Timo Sirainen wrote:


On 25.7.2013, at 19.43, Timo Sirainen t...@iki.fi wrote:


On 25.7.2013, at 19.29, /dev/rob0 r...@gmx.co.uk wrote:


We're using sieve with LMTP. We want to have lda_mailbox_autocreate
and lmtp_save_to_detail_mailbox. Is there a way to make the detail
case-insensitive? If so I have not found it yet.

I suppose we could lowercase the input string for the SQL userdb
query, but that's not what is wanted. The idea being that if a user
makes a mailbox called Test is that user+t...@example.com and
user+t...@example.com should both go to that Test mailbox. If it
was lowercased, a mailbox called Test would be ignored and test
used.

With autocreate, this could be a problem if mail is delivered to
autocreated case-sensitive mailboxes that the user won't see.


If you used case-insensitive filesystem, it would already work like that. Maybe 
a new setting to make mailboxes case-insensitive also with case-sensitive 
filesystems..


Oh, except then you get into trouble with non-ASCII characters. Which 
unicode chars should be equal? Maybe i;unicode-casemap would work well 
enough, since it's also used for other purposes.


I see two other solvable problems:

if a user makes a mailbox called Test is that user+t...@example.com and 
user+t...@example.com should both go to that Test mailbox.


Hence, the delivery process would need some sort of mapping (dict):

case-insensitive - real spelling

i.e. the user creates teSt or teST a.s.o., in order to find the correct 
mailbox name in case-sensitive filesystems efficiently.


Secondly, what happens, if the user wants to create two mailboxes with 
different case, say Test and tesT and test ? Either this is forbidden or 
the delivery process needs to first check, if there is a mailbox with the 
very exact name, but which one is to choose, if neither matches? 
Personally, I would forbid two mailboxes that differs in case only, if 
such mechanism is enabled.


- -- 
Steffen Kaiser

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)

iQEVAwUBUfIO/F3r2wJMiz2NAQKUVggAhLSRrCiYvxEP5WKONqa78upQbER78Mo6
hW+7q6MJaGe28Hc7vROgV0pYzr3+zV5jBbWJescYrjAqsJ3Oeao39XQwJM8UWHOJ
agfNkzytjyCW/KMtpXrzGdX0H2Cv49ek5bjKDeG8XDLJZuy0azen7aXxsNYXKC0X
D31MslQkJ3VSlcyZiu/KTbo0caQyCx4Pyj5exTOp9aoAjL6SGaIyZvzSjfFwrJUx
2TuF7YtPr5PyH2OPG2T8uraw+TNm2St+oM04dG8BgOTo8p5Q0DO2OtuFTTZvVxtu
14bc8fomuYruAvrT0uoGJxSpUU1PID5UNEK2bj4Nw8bAm+C73Z6aAA==
=1RLr
-END PGP SIGNATURE-