Re: Question about Sieve and filters

2003-07-10 Thread foobar



On Wed, 9 Jul 2003, Michael Fair wrote:

 I totally agree that end users should not be allowed to write their
 own code.  I was thinking that sysadmins could pull from a pool of
 well known plugins as well as write their own.  These would then
 become valid filters for use in the 'filter :modulename' command
 at that site.


Yes,

my idea (ripped from apache):

Like in apache we have DSO Support we could have it in sieve too so we
don't need re-compile, just restart or so.

We have handlers like in these modules,

mod_start - pre-load everything needed.
mod_handleX - give reference in, process, give status out / rewrite
message
mod_end - shutdown module

where X is 'handletype'

We could have even handle_log or something function which is tied to
sieve's logging.

By there mod_handleX gets username and can lookup example user's own
settings for spam-module.

If this was too confusing, read abit apache's modules source and you'll
understand what I mean :-)

filter:mod_foo (available filters comes from AVAILABILITY or something)
and we don't have rule 'if it', we just process results in next rule (much
nicer) and we can process multiple modules output in same rule instead of
making zillion of rules per every mod_*.

 1) The only two useful email classifier modules are spam and virus tests.
own vacation-module etc, pretty much everything you could write after
that. Hello ISP's.

 2) The addition or removal of an email classifier should require a
recompile of the Sieve server.


DSO is answer to this (even if it is 'slower' than static compiled) but we
could choose either to compile static or dynamic ofcourse. So those who
don't want to recompile always would just use dso-support.


 However, I completely agree that:
 1) The available plugins should not be controlled by the end user.
I had never envisioned that this would work that way.  End users
need to know what filters are available to them, but this not
like a web cgi installations where people get to write their own.

Yes ofcourse, but user's own settings to that module would be controllable
in module-code.

 2) There should be an abstraction filter for common stuff like spam
and virus checking where sysadmins can change the implementation.


Ofcourse people make plugins when proper support is available, see how
many modules apache has got ;)


 I see filters as being used for three things:
 1) Email classification (Spam/Virus/Folder group/Site specific class)
 2) Email transformation (Wrap Spam in an attachment/Add a header field)
 3) Injection into outside systems (Archive a copy/Notify something/SMS)


I see more than that what we could do with DSO-plugins.

 'filter :module' idea.  I do have one other extension to

module :myspamtest I think is better.

then message would be re-written abit by 'myspamtest' and then:

if header :matches Spam Yes
{
 fileinto Spam
}

if it is kinda pervertic if I say ;)

We live in OO-world nowadays, we could say if this :-)

++Titus


Re: Question about Sieve and filters

2003-07-10 Thread Michael Fair
 On Wed, 9 Jul 2003, Michael Fair wrote:

  I totally agree that end users should not be allowed to write their
  own code.  I was thinking that sysadmins could pull from a pool of
  well known plugins as well as write their own.  These would then
  become valid filters for use in the 'filter :modulename' command
  at that site.
 

 Yes,

 my idea (ripped from apache):

... snip ...

 DSO is answer to this (even if it is 'slower' than static compiled) but we
 could choose either to compile static or dynamic ofcourse. So those who
 don't want to recompile always would just use dso-support.


As long as the DSO modules remain an implementation specific choice
I see no reason they couldn't be implemented this way and I'd be
really excited to see such support.  However, the main focus that
I am driving for at the moment is just getting to something that
would be somewhat well received by the time it hit an RFC draft.

While I completely agree with you that DSO modules is probably the
way to go here and would solve the problem quite nicely, I think
it's putting the cart a bit before the horse.  I haven't seen any
kind of consensus with the exception of you and I that says generic
pluggable filters are within the scope and spirit of the language.

Don't mean to curb the enthusiasm in anyway, but I just think the
conversation of DSO versus system/fork is still a bit premature.


  'filter :module' idea.  I do have one other extension to

 module :myspamtest I think is better.

module :myspamtest in no tells the user that it is actually
doing something.  We're looking for something that has the
feel of a verb here.  Something that says this line will
transform the email in some way.


 then message would be re-written abit by 'myspamtest' and then:

 if header :matches Spam Yes
 {
  fileinto Spam
 }

 if it is kinda pervertic if I say ;)

 We live in OO-world nowadays, we could say if this :-)

But Sieve isn't an OO language and this is meaningless
in the context of a Sieve script.  If anything this refers
to the email being processed not the result code/string of
a function.

While I admit it doesn't jive very well with most traditional
programmers, I'd ask don't knock it till you've tried it.

Further your example didn't address the whole purpose of
introducing it to begin with.

it or result is a placeholder variable.  Sieve has no
variables currently, and many of us have run into the insane
code duplication that comes from having to individually
enumerate the folders that you want to file your email in.

it or result is a place to put those return codes. (Or
a function to look them up for the can't have variables purists)

So instead of:

filter :fileinto;
if header :contains ...
elsif header :contains ...
elsif header :contains ...
elsif header :contains ...
... ad nauseum ...

You have:

filter :fileinto;
fileinto result;

This simple example could probably be written as:

fileinto filter :fileinto;

But a slightly more complex script might be:

filter :spamtest
if result :value le comparator-i;ascii-numeric -30
{
filter :sms
}
elsif result :value ge comparator-i;ascii-numeric 5
{
fileinto spam;
}

fileinto filter :fileinto;


This script takes the same result - without modifying
the message - and builds a case statement out of it.
This kind of variable reuse is really the biggest win
I think in argument for this can't of result holding
keyword/function.

While I certainly am willing to give it up, this
doesn't replace the readability of it.

What's wrong with result as a replacement for it
since it is pervertic?

-- Michael --



Re: API to write to lmtp directly

2003-07-10 Thread lst_hoe
Zitat von Ramprasad A Padmanabhan [EMAIL PROTECTED]:

 
 It is not that my server is getting loaded up because of the mails.
 After I limt the number of concurrent lmtp connections I am able to
 reduce the db lock errors to a great extent. Now I have set max lmtp
 processes as 100 , But what will happen if my user mailboxes grow to
 4000 from todays 850 then the mails will be delayed forever. By the time
 there will be the next batch to process.
 
 So I thought if there was a way of directly writing to lmtp and to all
 mailboxes at the same time I will do better
 

You have not read my previous posts?

- Reduce the concurrency of lmtp to a low number (2 - 4) because for delivering
to one Storage it gains you nothing to use high concurrency.

- Don´t use the local transport from postfix because with this you get one
recipient per mail deliver. Use transport maps and virtual maps for aliase
expansion to get multiple recipients per mail.

Regards

Andreas


Re: Question about Sieve and filters

2003-07-10 Thread foobar

 it or result is a place to put those return codes. (Or
 a function to look them up for the can't have variables purists)

 So instead of:

 filter :fileinto;
 if header :contains ...
 elsif header :contains ...
 elsif header :contains ...
 elsif header :contains ...
 ... ad nauseum ...

 You have:

 filter :fileinto;
 fileinto result;

 This simple example could probably be written as:

 fileinto filter :fileinto;

 But a slightly more complex script might be:

 filter :spamtest
 if result :value le comparator-i;ascii-numeric -30
 {
 filter :sms
 }
 elsif result :value ge comparator-i;ascii-numeric 5
 {
 fileinto spam;
 }

 fileinto filter :fileinto;



Maybe:

filter :myfilter {
 switch :result {
  case A:
 {
  do_something_A_specific;
 }
  case B:
 {
  do_something_B_specific;
  break;
 }
  default:
  {
   do_something_default_example_stop;
   break;
 }
 }
}

^ I must admit that I love switch/case :)
By that way we could have 'default' implemented nicely and we could have
result 'A'  'B' nicely processed if 'A' just does one operation more
than B?

With if-else you would write things many times and makes script bigger to
process. sysexec and so on makes too much overhead atleast here if we
would have that kind system here so I prefer DSO still. There would be
server-side plugins (which example could count how many spams server has
processed and example module which calculates time between filters for
debugging purposes) and plugins for available to end-users which can be
used via filter :extension.

Usually you say in the script which are 'required' extensions, those would
be constructed nicely into variables too :/ It would not be too complex
since usually scripts are written by client-software and not by end-user
... and usually programmers write those clients :-)

maybe ifmodule ?! but then client needs to know what that specific module
and we would need to reserve module-names / names to refer, argh.

I am going to be nuts soon if I am not already ;)

Br,
++Titus | Veli Pirttila


Cyrus support for multiple client access?

2003-07-10 Thread Sascha Schnitzler
Hi,

we need an IMAP-Server where multiple Clients can access one Mailbox. 
Does Cyrus provide this with the Shared-Folder feature?
To be more specific, this means we have a mailbox where our customer 
sends mail to and about 9 people should be able to be connected to this 
mailbox seeing the incoming messages and those, that have been answererd 
or seen). Of course, they should be able to answer, delete or move mails.

Thanks in advance,
sascha


Re: Question about Sieve and filters

2003-07-10 Thread Michael Fair
  But a slightly more complex script might be:
 
  filter :spamtest
  if result :value le comparator-i;ascii-numeric -30
  {
  filter :sms
  }
  elsif result :value ge comparator-i;ascii-numeric 5
  {
  fileinto spam;
  }
 
  fileinto filter :fileinto;
 
 

 Maybe:

 filter :myfilter {
  switch :result {
   case A:
  {
   do_something_A_specific;
  }
   case B:
  {
   do_something_B_specific;
   break;
  }
   default:
   {
do_something_default_example_stop;
break;
  }
  }
 }

 ^ I must admit that I love switch/case :)

THe case switch works for me but that is yet one more proposal
to bring up.

If we count this one, so far we have three proposals on the table
filter modules, result placeholder, and case statement
each which should be discussed separately since neither are
dependent on each other.  I've got no problem dicussing them
we should jsut bring them up on their own threads.

I particularly only care about modules and result since
those specifically address my needs.  A case statement would
be nice except that I find the most useful comparisons aren't
eq but more substring matches and relative comparators.
This essentially turns a case statement into an elsif of a
different color and IMHO makes a case statement not very useful
in practice for this kind of processing.

For instance, you can't say:
switch result :value
{
case le -30:
case ge 5:
case :contains substr:
}

which to me makes if/elsif/else, while cumbersome, the most
useful in practice.

 Usually you say in the script which are 'required' extensions, those would
 be constructed nicely into variables too :/ It would not be too complex
 since usually scripts are written by client-software and not by end-user
 ... and usually programmers write those clients :-)

 maybe ifmodule ?! but then client needs to know what that specific module
 and we would need to reserve module-names / names to refer, argh.

The only required extension is filter.  Module names are parameters
to filter and will vary from site to site.  I decided to drop the
whole concept of trying to announce which modules were available.  It
is completely unreliable, overly cumbersome, and doesn't add that much
value for the costs involved.  The only real purpose it would serve
is to allow script GUI composers to provide a drop down of the supported
filters but in the end you still need to account for bad names so you
haven't bought yourself much.

Instead I'm proposing that:
filter :badmodule
return NIL and be treated as a noop in terms of modifying the
actual email.  I'll have to figure out some decent behavior for
fileinto NIL; since fileinto filter :fileinto; could result in
NIL if the fileinto module was unavailable.


I completely agree that DSO's would make for a nice implementation
of managing the modules.

-- Michael --


 I am going to be nuts soon if I am not already ;)



Re: Log message: No worthy mechs found

2003-07-10 Thread Ken Murchison


Scott Bronson wrote:
On Wed, 2003-07-09 at 14:05, Ken Murchison wrote:


It looks like your perl script is trying to authenticate to your server 
using DIGEST-MD5 and failing.
...

Yes.  Read doc/options.html in the SASL distro.  I'm guessing that you want:
sasl_mech_list: PLAIN


Thanks, Ken.  That helped a lot.  It got rid of two of the log
messages, but the no worthy mechs remains.
   auth.log:Jul  9 18:15:28 eden perl: No worthy mechs found
   auth.log:Jul  9 18:17:24 eden perl: No worthy mechs found
   auth.log:Jul  9 18:17:42 eden perl: No worthy mechs found
   auth.log:Jul  9 18:20:19 eden perl: No worthy mechs found


What is this perl script trying to do?  Can you get a protocol dump?

--
Kenneth Murchison Oceana Matrix Ltd.
Software Engineer 21 Princeton Place
716-662-8973 x26  Orchard Park, NY 14127
--PGP Public Key--http://www.oceana.com/~ken/ksm.pgp


Re: Cyrus support for multiple client access?

2003-07-10 Thread Ken Murchison


Sascha Schnitzler wrote:
Hi,

we need an IMAP-Server where multiple Clients can access one Mailbox. 
Any IMAP server MUST provide this as part of the specification.

Does Cyrus provide this with the Shared-Folder feature?
Yes.  It provides this with any folder, provided that the ACL is set 
accordingly.

To be more specific, this means we have a mailbox where our customer 
sends mail to and about 9 people should be able to be connected to this 
mailbox seeing the incoming messages and those, that have been answererd 
or seen). Of course, they should be able to answer, delete or move mails.
Well, seen state is per user, so you won't know if someone else read the 
message.  If you allow all of these users to store message flags ('w' 
right), then you will know when someone else replied via the \Answered 
flag.  Similarly, allowing the 'd' right will allow the messages to be 
marked as \Deleted.

--
Kenneth Murchison Oceana Matrix Ltd.
Software Engineer 21 Princeton Place
716-662-8973 x26  Orchard Park, NY 14127
--PGP Public Key--http://www.oceana.com/~ken/ksm.pgp


Re: 2.2.0.a on FreeBSD 5-current - Sieve not working.

2003-07-10 Thread Ken Murchison


James Satterfield wrote:

I was hoping to stay in the freebsd ports box. But I guess this is alpha.
So, cvs, here we go.
The most recent CVS will most likely fix your problem.  The code which 
determines the path for the script had a bug in it.

Don't suppose there's going to be a new 2.2.x release in the near future?
Perhaps a week or two.


James.

- Original Message - 
From: Carl P. Corliss [EMAIL PROTECTED]
To: James Satterfield [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Wednesday, July 09, 2003 10:29 PM
Subject: Re: 2.2.0.a on FreeBSD 5-current - Sieve not working.



On Wednesday 09 July 2003 09:12 pm, James Satterfield wrote:

Sieve doesn't seem to be processing mail. My script looks good.
Try updating to the most current CVS version. There are some fixes for
sieve

in there that -might- fix your problem...

good luck :)

--
Carl P. Corliss
System Administrator / Developer
www.xaraya.com




--
Kenneth Murchison Oceana Matrix Ltd.
Software Engineer 21 Princeton Place
716-662-8973 x26  Orchard Park, NY 14127
--PGP Public Key--http://www.oceana.com/~ken/ksm.pgp


Re: Cyrus support for multiple client access?

2003-07-10 Thread John Alton Tamplin
Ken Murchison wrote:

To be more specific, this means we have a mailbox where our customer 
sends mail to and about 9 people should be able to be connected to 
this mailbox seeing the incoming messages and those, that have been 
answererd or seen). Of course, they should be able to answer, delete 
or move mails.
Well, seen state is per user, so you won't know if someone else read 
the message.  If you allow all of these users to store message flags 
('w' right), then you will know when someone else replied via the 
\Answered flag.  Similarly, allowing the 'd' right will allow the 
messages to be marked as \Deleted.
You could have a convention of using user-defined labels for messages to 
indicate that someone is taking care of it (which is what I am assuming 
you are interested in for the Seen flags).  If this is for something 
like help desk support, you can make it work (I did at a previous job), 
but setting up a real ticket system isn't that hard and is a lot easier 
to use.

--
John A. Tamplin   Unix System Administrator
Emory University, School of Public Health +1 404/727-9931



IMAP-, Cyrus-BUG or Client-BUG???

2003-07-10 Thread Oliver Pitzeier
Hi folks!

One of my customers created a folder under her inbox - INBOX. entwurf, please
note the space!!!

She tried using that folder as she does usually, but Entourage crashed... OK,
this happens very often - I know... :-)

But it crashed again and again, if she tried using that folder... I gave myself
the rights to use this folder using cyradm. And Outlook had the strange
behaviour, that it downloaded the current message-list again and again. It
didn't stop. Seams like and endless-loop for me

Using Outlook it wasn't possible to create such a folder (it simply ignors
leading spaces). But with Entourage it was! I believe it's a client problem (-
Entourage), but I'm not sure. So if anybody out there knows the problem, please
tell me.

Thanks,
 Oliver




[PATCH] missing dependencies for parallel build with cyrus-imapd-2.1.14

2003-07-10 Thread Andreas Haumer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi!

I just tried to compile cyrus-imapd-2.1.14 on our new
dual Xeon development machine (with hyperthreading this
gives you 4 logical CPU's) with make -j 4 to utilize
all the computing power I have available.

Alas, compilation sometimes fails in directory acap like
follows:
[...]
### Making all in /raid5/work/rpm/2/BUILD/cyrus-imapd-0.0.0test/acap
make[1]: Entering directory `/raid5/work/rpm/2/BUILD/cyrus-imapd-0.0.0test/acap'
/usr/bin/compile_et ./acap_err.et
/usr/bin/compile_et ./acap_err.et
gcc -c -I/usr/include/db4 -I/usr/include/sasl -I/usr/local/include  -I. -I.. -I. 
-I./../lib -DHAVE_CONFIG_H -Wall -O2 -m486 -fno-strength-reduce \
acap.c
gcc -c -I/usr/include/db4 -I/usr/include/sasl -I/usr/local/include  -I. -I.. -I. 
-I./../lib -DHAVE_CONFIG_H -Wall -O2 -m486 -fno-strength-reduce \
acapsieve.c
In file included from acapsieve.c:20:
acap.h:54: acap_err.h: No such file or directory
make[1]: *** [acapsieve.o] Error 1
make[1]: *** Waiting for unfinished jobs
make[1]: Leaving directory `/raid5/work/rpm/2/BUILD/cyrus-imapd-0.0.0test/acap'
make: *** [all] Error 1
[...]

Note that compile_et is executed twice. This is because
the Makefile specifies that both acap_err.c and acap_err.h
depend on acap_err.et (which is right), but doesn't specifiy
that both files are generated by a single command (which is
wrong). make -j 4 tries to execute 4 jobs in parallel, so
it tries to create acap_err.h and acap_err.c with two separate
jobs. This can get quite nasty if one jobs overwrites the files
the other jobs just created.

The Makefile also does not specifiy that acap.h needs acap_err.h
make depend doesn't solve the problem, because acap_err.h does
not exist when creating dependencies.

I created a small patch to ./acap/Makefile.in which should solve
these problems. You can find it attached to this mail.

Regards

- - andreas

- --
Andreas Haumer | mailto:[EMAIL PROTECTED]
*x Software + Systeme  | http://www.xss.co.at/
Karmarschgasse 51/2/20 | Tel: +43-1-6060114-0
A-1100 Vienna, Austria | Fax: +43-1-6060114-71
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE/DYN9xJmyeGcXPhERAlerAKC5qhnPMAwoQ2wJVuzxFchcR3CASgCeIEJr
57YB8jC5jES+tjFkzt5B69g=
=sKLL
-END PGP SIGNATURE-
--- ./acap/Makefile.in.orig 2003-07-10 16:37:31.0 +0200
+++ ./acap/Makefile.in  2003-07-10 16:43:37.0 +0200
@@ -92,9 +92,12 @@
 skiptester: skiptester.o skip-list.o
$(CC) skiptester.o skip-list.o -o skiptester
 
-acap_err.h acap_err.c: acap_err.et
+acap_err.c: acap_err.et
$(COMPILE_ET) $(srcdir)/acap_err.et
 
+acap_err.h: acap_err.c
+acap.h:acap_err.h
+
 clean:
rm -f *.o *.a Makefile.bak makedepend.log acap_err.c acap_err.h
 


massive lmtpd troubles with cyrus-imap and postfix.

2003-07-10 Thread Tobias Erbsland
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


Hello

I got problems with the LMTP daemon. I happened surprisedly without changes in 
out mailserver configuration. Mails sent to the lmtpd where rejected with 
curious errormessages:

Jul 10 15:04:16 mail01 postfix/lmtp[31717]: 909EE62252: 
to=[EMAIL PROTECTED], relay=mail01.mlan.solnet.ch[212.101.1.98], delay=0, 
status=bounced (host mail01.mlan.solnet.ch[212.101.1.98] said: 501 5.5.4 
Unrecognized parameters (in reply to MAIL FROM command))

Jul 10 15:04:16 mail01 postfix/lmtp[31717]: 909EE62252: 
to=[EMAIL PROTECTED], relay=mail01.mlan.solnet.ch[212.101.1.98], delay=0, 
status=bounced (host mail01.mlan.solnet.ch[212.101.1.98] said: 501 5.5.4 
Unrecognized parameters (in reply to MAIL FROM command))

Jul 10 15:33:06 mail01 postfix/lmtp[34440]: 53DBE62235: 
to=[EMAIL PROTECTED], relay=mail01.mlan.solnet.ch[212.101.1.98], 
delay=0, status=deferred (SOFT BOUNCE - host 
mail01.mlan.solnet.ch[212.101.1.98] said: 501 5.5.4 Syntax error in 
parameters (in reply to MAIL FROM command))

i dumped the session with ngrep and got the following session:

T 212.101.1.98:2003 - 212.101.1.119:2212 [AP]
  220 mail01.solnet.ch LMTP Cyrus v2.0.16 ready..
#
T 212.101.1.119:2212 - 212.101.1.98:2003 [AP]
  LHLO mail03.solnet.ch..
#
T 212.101.1.98:2003 - 212.101.1.119:2212 [AP]
  
250-mail01.solnet.ch..250-IGNOREQUOTA..250-8BITMIME..250-ENHANCEDSTATUSCODES..250-AUTH 
LOGIN PLAIN DIGEST-MD5 CRAM-MD5..250 PIPELINING
  ..
#
T 212.101.1.119:2212 - 212.101.1.98:2003 [AP]
  AUTH PLAIN hidden..
#
T 212.101.1.98:2003 - 212.101.1.119:2212 [AP]
  235 Authenticated!..
#
T 212.101.1.119:2212 - 212.101.1.98:2003 [AP]
  MAIL FROM:[EMAIL PROTECTED] SIZE=2737..
#
T 212.101.1.98:2003 - 212.101.1.119:2212 [AP]
  501 5.5.4 Unrecognized parameters..
#
T 212.101.1.119:2212 - 212.101.1.98:2003 [AP]
  RSET..


What's about this SIZE parameter after the MAIL FROM: ?
Is this a postfix error in this case?

regards
Tobias


- -- 
*** SolNet - Internet Solution Provider, Bechburgstr. 29, 4528 Zuchwil  ***
*** Phone: +41 32 686 8282, Fax: +41 32 685 9613, Mail: [EMAIL PROTECTED] ***
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)

iD8DBQE/DYxpaKldzkRy8jsRArmoAJ9eLMGDwxt9LEoGAkHLpuEjE+BhTQCfXRHO
oagVWujo31l7GDYQvmGDDZE=
=j6aP
-END PGP SIGNATURE-




Here's more info regarding my HUGE problem in setting up my mail system...

2003-07-10 Thread Anders Norrbring








First of all, thank you so very much for helping me
out here! I've never set up this combination before, so I'm manoeuvring
in the dark..



The combo Im talking about is Cyrus-IMAP,
Cyrus-SASL, Postfix and web-cyradm, database in use is MySQL.



Well, as I said before, the system accepts incoming
mail without any problems. But as soon as I try to get in via smtp-auth
things gets bad.. I've noticed a line in the logs saying 'saslauthd[3214]:
pam_mysql: select returned more than one result', which I can't understand at
all why it would return more than one result..



I've set up a domain mail admin in web-cyradm that you
can access, you point your browser to http://www.the-server.net/web-cyradm/
.

User name: mailadmin

Password: testadmin





Anyway, here's the postconf -n output:



alias_maps = hash:/etc/aliases

append_dot_mydomain = no

broken_sasl_auth_clients = yes

canonical_maps = hash:/etc/postfix/canonical

command_directory = /usr/sbin

config_directory = /etc/postfix

content_filter = 

daemon_directory = /usr/lib/postfix

debug_peer_level = 2

defer_transports = 

disable_dns_lookups = no

local_destination_concurrency_limit = 5

local_destination_recipient_limit = 300

mail_owner = postfix

mail_spool_directory = /var/mail

mailbox_command = 

mailbox_size_limit = 5120

mailbox_transport = cyrus

mailq_path = /usr/bin/mailq

manpage_directory = /usr/share/man

masquerade_classes = envelope_sender, header_sender, header_recipient

masquerade_exceptions = root

message_size_limit = 1024

mydestination = $myhostname, $mydomain,
kattenbengtsson.com, sisters-in-sin.com mysql:/etc/postfix/mysql-mydestination.cf

myhostname = mail.the-server.net

myorigin = $mydomain

newaliases_path = /usr/bin/newaliases

program_directory = /usr/lib/postfix

queue_directory = /var/spool/postfix

readme_directory = /usr/share/doc/packages/postfix/README_FILES

relocated_maps = hash:/etc/postfix/relocated

sample_directory = /usr/share/doc/packages/postfix/samples

sender_canonical_maps = mysql:/etc/postfix/mysql-canonical.cf

sendmail_path = /usr/sbin/sendmail

setgid_group = maildrop

smtp_sasl_auth_enable = no

smtpd_client_restrictions = reject_rbl_client
dsn.rfc-ignorant.org, reject_rbl_client relays.ordb.org, reject_rbl_client
relays.osirusoft.com

smtpd_helo_required = yes

smtpd_helo_restrictions = 

smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_unauth_destination

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = the-server.net

smtpd_sasl_security_options = noanonymous

smtpd_sender_restrictions = hash:/etc/postfix/access, reject_unknown_sender_domain

strict_rfc821_envelopes = no

transport_maps = hash:/etc/postfix/transport

unknown_local_recipient_reject_code = 450





The log when I send mail TO the system is shown in the
attached file 'recieve-mail.txt'



In the files 'smtp-mail.info' and 'smtp-messages' are
the contents from when I try to attach via telnet to port 25 and issuing the 'ehlo'
command and trying to get verified as user a0001 with password 123456
like this:



250-mail.the-server.net

250-PIPELINING

250-SIZE 1024

250-VRFY

250-ETRN

250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN

250-AUTH=CRAM-MD5 DIGEST-MD5 LOGIN PLAIN

250 8BITMIME

auth login

334 VXNlcm5hbWU6

YTAwMDE=

334 UGFzc3dvcmQ6

MTIzNDU2

535 Error: authentication failed

quit

221 Bye







Any hints or tips to what may be wrong is extremely
welcome!



Regards,



Anders Norrbring

Norrbring
Consulting
Halmvägen 42
SE-691 48Karlskoga
SWEDEN

e-mail: [EMAIL PROTECTED]

Phone: +46
586-322 43
Mobile: +46
70-203 19 15

ICQ number: 5044342 
Messenger ID: norrbring 










smtp-messages
Description: Binary data
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
broken_sasl_auth_clients = yes
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = 
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
defer_transports = 
disable_dns_lookups = no
local_destination_concurrency_limit = 5
local_destination_recipient_limit = 300
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_command = 
mailbox_size_limit = 5120
mailbox_transport = cyrus
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_exceptions = root
message_size_limit = 1024
mydestination = $myhostname, $mydomain, kattenbengtsson.com, sisters-in-sin.com 
mysql:/etc/postfix/mysql-mydestination.cf
myhostname = mail.the-server.net
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
program_directory = /usr/lib/postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/packages/postfix/README_FILES
relocated_maps = hash:/etc/postfix/relocated
sample_directory = /usr/share/doc/packages/postfix/samples

cvs version running now - couple questions

2003-07-10 Thread James Satterfield
Is there any way to specify the location of imapd.conf and cyrus.conf? I 
normally keep them in /usr/local/etc and I didn't see any configure time 
option for the location, or a master(8) flag for the conf locations.

Since I had the misfortune of going a night without sieve (you find out just 
how much you love something when it's gone) I have a TON of mail in my Inbox. 
Is there any way to run my sieve script against existing mail?

Thanks guys.
James.



Re: massive lmtpd troubles with cyrus-imap and postfix.

2003-07-10 Thread Tobias Erbsland
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


It's a postfix problem of the lmtp client.

regards
Tobias

- -- 
*** SolNet - Internet Solution Provider, Bechburgstr. 29, 4528 Zuchwil  ***
*** Phone: +41 32 686 8282, Fax: +41 32 685 9613, Mail: [EMAIL PROTECTED] ***
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)

iD8DBQE/DZwBaKldzkRy8jsRAnYQAJ0TmGrN325gzAAPk6SoBr+of7TTPQCfcYnX
r0KEVJrkE/w62XVB00OP3Ww=
=wYJ1
-END PGP SIGNATURE-




SV: Here's more info regarding my HUGE problem in setting up my mail system...

2003-07-10 Thread Anders Norrbring

Hi Roman,
I hate to tell you, but I'm totally unaware of how MySQL works.  I haven't
had the time to learn it yet..  So if you can, please tell me step-by-step
what I need to do.  I've been totally absorbed in Novell NetWare before,
this is actually my first linux project...

Oh, when looking in phpMyAdmin I found this: 'PMA Database ... Not OK'  What
does that mean?

O hope you have the time and patience with me.. :)

Later,

Anders Norrbring

Norrbring Consulting
Halmvägen 42
SE-691 48  Karlskoga
SWEDEN

e-mail: [EMAIL PROTECTED]

Phone: +46 586-322 43
Mobile: +46 70-203 19 15

ICQ number: 5044342  
Yahoo!  Messenger ID: norrbring 


 -Ursprungligt meddelande-
 Från: Roman Neuhauser [mailto:[EMAIL PROTECTED]
 Skickat: den 10 juli 2003 19:01
 Till: Anders Norrbring
 Kopia: Cyrus-SASL; Cyrus Info list
 Ämne: Re: Here's more info regarding my HUGE problem in setting up my mail
 system...
 
 # [EMAIL PROTECTED] / 2003-07-10 18:26:19 +0200:
  I've noticed a line in the logs saying 'saslauthd[3214]: pam_mysql:
 select
  returned more than one result', which I can't understand at all why it
 would
  return more than one result..
 
 turn on query logging in mysql, see what the queries are, and try
 them yourself in mysql(1).
 
 --
 If you cc me or remove the list(s) completely I'll most likely ignore
 your message.see http://www.eyrie.org./~eagle/faqs/questions.html




INBOX has \NoSelect flag

2003-07-10 Thread Marc Groot Koerkamp
Hello,

There is something I do not understand about cyrus (2.1.14).

When you_unsubscribe_to the inbox the LIST response contains the INBOX
with the \NoSelect flag.
That's the response one of our SquirrelMail developers got.

IMHO that's not right and a bug. With Cyrus 2.1.11 it doesn't happen.

Can somebody confirm it's a cyrus bug?

Regards,

Marc Groot Koerkamp.

PS: could it be that messages containing.unsubscribe. are filtered out?
This is the 5th time I try to send this message and the previous ones
never reached the list.







Re: Log message: No worthy mechs found

2003-07-10 Thread Scott Bronson
On Thu, 2003-07-10 at 05:19, Ken Murchison wrote:
 What is this perl script trying to do?  Can you get a protocol dump?

The script:

I require a server-side sent directory.  That way, I don't have to try
to synchronize the sent directory on the three clients that I use, and
we have a copy of every outgoing mail sent

So, in Postfix, I say:   always_bcc = storesent
and in /etc/aliases: storesent: |/usr/sbin/storesent

That way, Postfix invokes this script on every message that passes
through the mail server.  The script throws out the messages with
non-local origin and then saves the rest in the appropriate user's
mailbox.  I've been doing this for years on Courier -- it takes
about a 10-line script.

Here's where the authentication happens:

my $userid = shift;

my $cl = Cyrus::IMAP::Admin-new('localhost');
die Could not connect to Cyrus server .
($! ? : $!\n : \n) unless $cl;

my $rc = $cl-authenticate('-user' = $user, '-password' = $pass);
die Could not log in:  . $cl-error . \n unless $rc;

# check for the existence of the Sent folder
unless( $cl-list(user.$userid.$sent) ) {
# doesn't exist, so create it.
$cl-create(user.$userid.$sent);
die Could not create user.$userid.$sent:  .
$cl-error . \n if $cl-error;
}

...

I've included the entire script as an attachment.

It must be possible to get a protocol dump, but I'm not sure how.
Is there a flag I can turn on in Perl to get the Cyrus::IMAP::Admin
module to log all LMTP traffic?  Feel free to comment, no matter how
harshly.  :)

Thanks,

- Scott

#!/usr/bin/perl -w

# storesent
# Scott Bronson
# 3 July 2003


# TODO: should report errors via an email message.
# TODO: right now Return-Path on stored messages is [EMAIL PROTECTED]  Prolly want to fix this.

# This script is called by the Postfix local transport to automatically
# deliver messages into a user's Sent mail folder.
# This works for Cyrus.  Simple modifications would be needed for Courier.

# How to install:
# 1) Put always_bcc = storesent in /etc/postfix/main.cf
# 2) Put storesent = |/usr/local/sbin/storesent in /etc/aliases
# 3) Run newaliases and postdfix reload.  That's it!
# 4) On my system, I need to do this to get it to work (I haven't
#figured out why): chown cyrus storesent; chmod u+s storesent
#This is a very minor but totally unnecessary security risk.
# 5) chmod go-r so regular users can't see the password.


# There is only one known bug: if you send a message to a mailing
# list, that message will usually be reflected back to you.  Since
# you are listed as the sender in that message, and there's no easy
# way to tell that it is from a mailing list and not directly from
# the user, it will be stored in your Sent folder.  This is not a
# problem if your IMAP server removes dupes (like Cyrus).


use strict;


# the following three lines are only used by ensure_folder_exists().
# If you create all the Sent folders ahead of time, you can delete
# these three lines, the routine itself, and the one line that calls it.
use Cyrus::IMAP::Admin;
my $user = 'root';	# username of an IMAP administrator
my $pass = 'PASSPASS';	# his/her PASSWORD% % % % % 


# These should be configured for the local site:
my $sent = Sent;	# name of the sent mail mailbox
my %ignores = ( 'root' = 1, 'daemon' = 1 );
my $deliver = /usr/sbin/cyrdeliver;


# allow this script to run suid
$ENV{PATH} = '/bin:/usr/bin';


#
# 	Use postconf to tell us the value of $mydomain
#

open(CONF, -|, /usr/sbin/postconf, -h, mydomain)
	or die Could not execute /usr/sbin/postconf: $!\n;
my $mydomain = CONF;
chomp $mydomain;
close CONF or die Error running /usr/sbin/postconf: $1\n;


#
# 	Read headers into @msgheaders.  Each header will be a
# 	single element in this ordered set of multi-line strings.
#

my @msgheaders;
while( STDIN ) {
last if /^\s*$/;  # empty line markes the end of the headers
if( /^\s/ ) {
# Any line in the header beginning with whitespace is a
# continuation of the previous header.
$msgheaders[$#msgheaders] .= $_;
} else {
push @msgheaders, $_;
}
}


#
# 	Decide whether to store in sent mail or not.  If the sender's
# 	domain is the same as $mydomain, then sender is local.  If
# 	not, we throw it away.
#

my $sender = $ENV{'SENDER'};

if( $sender =~ /^\s*([EMAIL PROTECTED])\@(?:\S+\.)?$mydomain\s*$/  !$ignores{$1} ) {
	my $userid = $1;
	ensure_folder_exists($userid);
	open(OUT, |-, $deliver, -m, $sent, $userid)
		or die Could not execute $deliver: $!\n;
} else {
	# not local: dump this mesage
	open(OUT, /dev/null) or die Could not open /dev/null??? $!\n;
}


#
# 	Send message to cyrdeliver.  First send headers, then
# 	a blank line, then the message body.
#

# The first header: output a custom Recieved header
print OUT Received: from $mydomain (Postfix) by $mydomain (storesent)\n;

# Then output 
for( @msgheaders ) {
	# Get rid of Postfix's delivery headers. 

Re: cvs version running now - couple questions

2003-07-10 Thread Ken Murchison


James Satterfield wrote:

Is there any way to specify the location of imapd.conf and cyrus.conf? I 
normally keep them in /usr/local/etc and I didn't see any configure time 
option for the location, or a master(8) flag for the conf locations.
Use the -C option for master and the services/utilities to specify 
imapd.conf.  Use -M for master to specify cyrus.conf.

Since I had the misfortune of going a night without sieve (you find out just 
how much you love something when it's gone) I have a TON of mail in my Inbox. 
Is there any way to run my sieve script against existing mail?
No, not easily.

--
Kenneth Murchison Oceana Matrix Ltd.
Software Engineer 21 Princeton Place
716-662-8973 x26  Orchard Park, NY 14127
--PGP Public Key--http://www.oceana.com/~ken/ksm.pgp


Re: INBOX has \NoSelect flag

2003-07-10 Thread Ken Murchison


Marc Groot Koerkamp wrote:

Hello,

There is something I do not understand about cyrus (2.1.14).

When you_unsubscribe_to the inbox the LIST response contains the INBOX
with the \NoSelect flag.
What is the exact LIST command that is being sent?


That's the response one of our SquirrelMail developers got.

IMHO that's not right and a bug. With Cyrus 2.1.11 it doesn't happen.

Can somebody confirm it's a cyrus bug?

Regards,

Marc Groot Koerkamp.

PS: could it be that messages containing.unsubscribe. are filtered out?
This is the 5th time I try to send this message and the previous ones
never reached the list.





--
Kenneth Murchison Oceana Matrix Ltd.
Software Engineer 21 Princeton Place
716-662-8973 x26  Orchard Park, NY 14127
--PGP Public Key--http://www.oceana.com/~ken/ksm.pgp


Re: INBOX has \NoSelect flag

2003-07-10 Thread Marc Groot Koerkamp
Ken Murchison said:


 Marc Groot Koerkamp wrote:

 Hello,

 There is something I do not understand about cyrus (2.1.14).

 When you_unsubscribe_to the inbox the LIST response contains the INBOX
 with the \NoSelect flag.

 What is the exact LIST command that is being sent?


A001 LIST  INBOX

Marc.




 That's the response one of our SquirrelMail developers got.

 IMHO that's not right and a bug. With Cyrus 2.1.11 it doesn't happen.

 Can somebody confirm it's a cyrus bug?

 Regards,

 Marc Groot Koerkamp.

 PS: could it be that messages containing.unsubscribe. are filtered out?
 This is the 5th time I try to send this message and the previous ones
 never reached the list.







 --
 Kenneth Murchison Oceana Matrix Ltd.
 Software Engineer 21 Princeton Place
 716-662-8973 x26  Orchard Park, NY 14127
 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp





Re: INBOX has \NoSelect flag

2003-07-10 Thread Ken Murchison


Marc Groot Koerkamp wrote:

Ken Murchison said:

Marc Groot Koerkamp wrote:


Hello,

There is something I do not understand about cyrus (2.1.14).

When you_unsubscribe_to the inbox the LIST response contains the INBOX
with the \NoSelect flag.
What is the exact LIST command that is being sent?



A001 LIST  INBOX


I can't reproduce this behavior:

. list  inbox
* LIST (\HasChildren) . inbox
. OK Completed
. unsubscribe inbox
. OK Completed
. list  inbox
* LIST (\HasChildren) . inbox
. OK Completed
LSUB returns with \Noselect however:

. lsub  inbox
* LSUB (\Noselect \HasChildren) . inbox
. OK Completed
--
Kenneth Murchison Oceana Matrix Ltd.
Software Engineer 21 Princeton Place
716-662-8973 x26  Orchard Park, NY 14127
--PGP Public Key--http://www.oceana.com/~ken/ksm.pgp


logsurfer kills cyrus

2003-07-10 Thread gshumway

I have an issue where logsurfer regularly kills the master 
cyrus daemon.. 

If an event occurs which causes logsurfer to generate a few 
thousand messages and sends them to my cyrus server, it seems 
lmtp falls over and never recovers. I have to restart the 
master daemon each time.

I figure if i can DOS myself then someone elso could do it as 
well..   Are there any tuning / performance / mail bomb 
protection measures i can look at ? 

I have set a confMAX_QUEUE_RUN_SIZE = 1000 in sendmail but 
this does not seem to make any difference.. Sendmail seems to 
handle the load fine, its just when cyrus tries to deliver 
the mail that things fall apart. 

Thanks..


OpenGroupware.org (OGo)

2003-07-10 Thread Amos Gouaux
A bit off topic, but I know this is something that has come up on
this list from time to time over the years, and besides, they mention 
Cyrus!  ;-)

http://www.infoworld.com/article/03/07/10/HNogo_1.html

http://opengroupware.org/en/index.html

-- 
Amos