Re: Proposal: new approach to spooling

2006-06-05 Thread Stefano Bagnara
1) What are the benefits of inverting the queue = processor relation? 
It seems less clear than the current way and I don't see specific 
advantages.


2) Are you willing to actually implement this or is this just a discussion?

I'm +1 to experiment and refactor the code to add some of the features 
you describe here (e.g: fallthrough, transactions) as a progressive 
evolution.


About this proposal itself I'm +0 because imho it is too much things and 
I'm not able to evaluate the impact on our codebase.


Stefano



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Commented: (JAMES-522) Having the ClamAVScan mailet configured, but clamd unavailable when JAMES starts, keeps JAMES from starting.

2006-06-05 Thread Vincenzo Gianferrari Pini (JIRA)
[ 
http://issues.apache.org/jira/browse/JAMES-522?page=comments#action_12414751 ] 

Vincenzo Gianferrari Pini commented on JAMES-522:
-

I would keep things as now, because this was the intended behaviour. If 
maxPingsn/maxPings, with n  0, the desired behaviour is to delay the 
startup of James until clamd is up and running, *without allowing any message 
to flow without an anti-virus check*. Such situation could arise with a server 
startup, where clamd could take longer than james to start. If after some time 
clamd has not yet started, James must fail and the administrator shall 
intervene to fix clamd.
If I don't want such safe behaviour, I can set maxPings0/maxPings as you 
did.
BTW, I'm changing config.xml to have a commented invocation of ClamAVScan (plus 
some other enhancements).

 Having the ClamAVScan mailet configured, but clamd unavailable when JAMES 
 starts, keeps JAMES from starting.
 

  Key: JAMES-522
  URL: http://issues.apache.org/jira/browse/JAMES-522
  Project: James
 Type: Bug

   Components: Matchers/Mailets (bundled)
 Reporter: Noel J. Bergman
 Assignee: Norman Maurer
 Priority: Trivial


 If JAMES attempts to start, ClamAVScan is configured, and clamd is not 
 running, ClamAVScan.init() will throw an exception, terminating JAMES 
 entirely.  This can be seen in ${james}/logs/phoenix.log where the maxPings 
 error will appear, and the spoolmanager component will be shown as failing.
 I'm marking this as minor since there is a work around, biut actually, I 
 consider it a more major error.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r411787 - /james/server/trunk/src/conf/james-config.xml

2006-06-05 Thread vincenzo
Author: vincenzo
Date: Mon Jun  5 06:48:27 2006
New Revision: 411787

URL: http://svn.apache.org/viewvc?rev=411787view=rev
Log:
1) Added a (commented) ClamAVScan mailet entry.
2) Added a (commented) SMIMESign mailet entry.
3) Added a (commented) AttachmentFileNameIs check for potential infected 
attached file extensions.
4) Added/rearranged some entries to deal better with antivirus and spam checks 
and actions.

Modified:
james/server/trunk/src/conf/james-config.xml

Modified: james/server/trunk/src/conf/james-config.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/src/conf/james-config.xml?rev=411787r1=411786r2=411787view=diff
==
--- james/server/trunk/src/conf/james-config.xml (original)
+++ james/server/trunk/src/conf/james-config.xml Mon Jun  5 06:48:27 2006
@@ -151,6 +151,69 @@
  !-- Important check to avoid looping --
  mailet match=RelayLimit=30 class=Null/
 
+ !-- Check for viruses --
+ !-- --
+ !-- Does an antivirus scan check using a ClamAV daemon (CLAMD). --
+ !-- --
+ !-- Interacts directly with the daemon using the stream method, --
+ !-- which should have the lowest possible overhead. --
+ !-- The CLAMD daemon will typically reside on localhost, but could 
reside on a --
+ !-- different host. --
+ !-- It may also consist on a set of multiple daemons, each residing 
on a different --
+ !-- server and on different IP number. --
+ !-- In such case a DNS host name with multiple IP addresses 
(round-robin load sharing) --
+ !-- is supported by the mailet (but on the same port number). --
+ !-- --
+ !-- Handles the following init parameters: --
+ !-- debug --
+ !-- host: the host name of the server where CLAMD runs. It can 
either be --
+ !-- a machine name, such as --
+ !-- java.sun.com, or a textual representation of its --
+ !-- IP address. If a literal IP address is supplied, only the --
+ !-- validity of the address format is checked. --
+ !-- If the machine name resolves to multiple IP addresses, 
round-robin load sharing will --
+ !-- be used. --
+ !-- The default is localhost. --
+ !-- port: the port on which CLAMD listens. The default is 3310. 
--
+ !-- maxPings: the maximum number of connection retries during 
startup. --
+ !-- If the value is 0 no startup test will be done. --
+ !-- The default is 6. --
+ !-- pingIntervalMilli: the interval (in milliseconds) --
+ !-- between each connection retry during startup. --
+ !-- The default is 3 (30 seconds). --
+ !-- streamBufferSize: the BufferedOutputStream buffer size to use  
--
+ !-- writing to the stream connection. The default is 8192. --
+ !--
+ mailet match=All class=ClamAVScan onMailetException=ignore
+debug true /debug
+ /mailet 
+ --
+
+ !-- If infected go to virus processor --
+ mailet match=HasMailAttributeWithValue=org.apache.james.infected, 
true class=ToProcessor
+processor virus /processor
+ /mailet
+
+ !-- Check attachment extensions for possible viruses --
+ !-- The -z option requests the check to be non-recursively applied 
--
+ !-- to the contents of any attached '*.zip' file. --
+ !-- 
+ mailet match=AttachmentFileNameIs=-d -z *.exe *.com *.bat *.cmd 
*.pif *.scr *.vbs *.avi *.mp3 *.mpeg *.shs class=Bounce 
onMatchException=error
+inlineheads/inline
+attachmentnone/attachment
+passThroughfalse/passThrough
+prefix[REJECTED]/prefix
+notice
+The Security Policy of XXX does not allow to forward messages containing 
attachments having any of the extensions .exe, .com, .bat, .cmd, .pif, .scr, 
.vbs, .avi, .mp3, .mpeg, .shs, therefore your message has been rejected.
+
+Please don't reply to this e-mail as it has been automatically sent by the 
antivirus system.
+
+Regards, Postmaster XXX.YYY
+.
+/notice
+ /mailet
+ --
+
  !-- not spam bayesian analysis feeder. --
  !--
  mailet match=[EMAIL PROTECTED] class=BayesianAnalysisFeeder
@@ -169,6 +232,28 @@
  /mailet
  --
 
+ !-- sample SMIME mailets configuration --
+ !-- In order to use SMIME capabilities you need to install the 
bouncycastle JCE --
+ !-- provider in your environment (james/lib) --
+ !-- e.g: bcprov-jdk14-129.jar from 
http://www.bouncycastle.org/latest_releases.html --
+ !-- 
+ mailet match=IsSMIMEEncrypted class=SMIMEDecrypt
+keyStoreTypepkcs12/keyStoreType
+keyStoreFileNamec:/path.pfx/keyStoreFileName
+  

svn commit: r411789 - /james/server/branches/v2.3/src/conf/james-config.xml

2006-06-05 Thread vincenzo
Author: vincenzo
Date: Mon Jun  5 06:49:57 2006
New Revision: 411789

URL: http://svn.apache.org/viewvc?rev=411789view=rev
Log:
1) Added a (commented) ClamAVScan mailet entry.
2) Added a (commented) SMIMESign mailet entry.
3) Added a (commented) AttachmentFileNameIs check for potential infected 
attached file extensions.
4) Added/rearranged some entries to deal better with antivirus and spam checks 
and actions.

Modified:
james/server/branches/v2.3/src/conf/james-config.xml

Modified: james/server/branches/v2.3/src/conf/james-config.xml
URL: 
http://svn.apache.org/viewvc/james/server/branches/v2.3/src/conf/james-config.xml?rev=411789r1=411788r2=411789view=diff
==
--- james/server/branches/v2.3/src/conf/james-config.xml (original)
+++ james/server/branches/v2.3/src/conf/james-config.xml Mon Jun  5 06:49:57 
2006
@@ -151,6 +151,69 @@
  !-- Important check to avoid looping --
  mailet match=RelayLimit=30 class=Null/
 
+ !-- Check for viruses --
+ !-- --
+ !-- Does an antivirus scan check using a ClamAV daemon (CLAMD). --
+ !-- --
+ !-- Interacts directly with the daemon using the stream method, --
+ !-- which should have the lowest possible overhead. --
+ !-- The CLAMD daemon will typically reside on localhost, but could 
reside on a --
+ !-- different host. --
+ !-- It may also consist on a set of multiple daemons, each residing 
on a different --
+ !-- server and on different IP number. --
+ !-- In such case a DNS host name with multiple IP addresses 
(round-robin load sharing) --
+ !-- is supported by the mailet (but on the same port number). --
+ !-- --
+ !-- Handles the following init parameters: --
+ !-- debug --
+ !-- host: the host name of the server where CLAMD runs. It can 
either be --
+ !-- a machine name, such as --
+ !-- java.sun.com, or a textual representation of its --
+ !-- IP address. If a literal IP address is supplied, only the --
+ !-- validity of the address format is checked. --
+ !-- If the machine name resolves to multiple IP addresses, 
round-robin load sharing will --
+ !-- be used. --
+ !-- The default is localhost. --
+ !-- port: the port on which CLAMD listens. The default is 3310. 
--
+ !-- maxPings: the maximum number of connection retries during 
startup. --
+ !-- If the value is 0 no startup test will be done. --
+ !-- The default is 6. --
+ !-- pingIntervalMilli: the interval (in milliseconds) --
+ !-- between each connection retry during startup. --
+ !-- The default is 3 (30 seconds). --
+ !-- streamBufferSize: the BufferedOutputStream buffer size to use  
--
+ !-- writing to the stream connection. The default is 8192. --
+ !--
+ mailet match=All class=ClamAVScan onMailetException=ignore
+debug true /debug
+ /mailet 
+ --
+
+ !-- If infected go to virus processor --
+ mailet match=HasMailAttributeWithValue=org.apache.james.infected, 
true class=ToProcessor
+processor virus /processor
+ /mailet
+
+ !-- Check attachment extensions for possible viruses --
+ !-- The -z option requests the check to be non-recursively applied 
--
+ !-- to the contents of any attached '*.zip' file. --
+ !-- 
+ mailet match=AttachmentFileNameIs=-d -z *.exe *.com *.bat *.cmd 
*.pif *.scr *.vbs *.avi *.mp3 *.mpeg *.shs class=Bounce 
onMatchException=error
+inlineheads/inline
+attachmentnone/attachment
+passThroughfalse/passThrough
+prefix[REJECTED]/prefix
+notice
+The Security Policy of XXX does not allow to forward messages containing 
attachments having any of the extensions .exe, .com, .bat, .cmd, .pif, .scr, 
.vbs, .avi, .mp3, .mpeg, .shs, therefore your message has been rejected.
+
+Please don't reply to this e-mail as it has been automatically sent by the 
antivirus system.
+
+Regards, Postmaster XXX.YYY
+.
+/notice
+ /mailet
+ --
+
  !-- not spam bayesian analysis feeder. --
  !--
  mailet match=[EMAIL PROTECTED] class=BayesianAnalysisFeeder
@@ -169,6 +232,28 @@
  /mailet
  --
 
+ !-- sample SMIME mailets configuration --
+ !-- In order to use SMIME capabilities you need to install the 
bouncycastle JCE --
+ !-- provider in your environment (james/lib) --
+ !-- e.g: bcprov-jdk14-129.jar from 
http://www.bouncycastle.org/latest_releases.html --
+ !-- 
+ mailet match=IsSMIMEEncrypted class=SMIMEDecrypt
+keyStoreTypepkcs12/keyStoreType
+

svn commit: r411812 - /james/server/trunk/src/conf/james-config.xml

2006-06-05 Thread vincenzo
Author: vincenzo
Date: Mon Jun  5 08:18:14 2006
New Revision: 411812

URL: http://svn.apache.org/viewvc?rev=411812view=rev
Log:
Minor change to the notice text to be sent in case over quota is met.

Modified:
james/server/trunk/src/conf/james-config.xml

Modified: james/server/trunk/src/conf/james-config.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/src/conf/james-config.xml?rev=411812r1=411811r2=411812view=diff
==
--- james/server/trunk/src/conf/james-config.xml (original)
+++ james/server/trunk/src/conf/james-config.xml Mon Jun  5 08:18:14 2006
@@ -449,8 +449,6 @@
 
 It is likely that you have set, in your mail client account, the option leave 
a copy of messages on server. For any help ask your administrators.
 
-Please don't reply to this e-mail as it has been automatically sent by the 
antivirus system.
-
 Regards, Postmaster XXX.YYY
 .
 /message



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r411813 - /james/server/branches/v2.3/src/conf/james-config.xml

2006-06-05 Thread vincenzo
Author: vincenzo
Date: Mon Jun  5 08:20:18 2006
New Revision: 411813

URL: http://svn.apache.org/viewvc?rev=411813view=rev
Log:
Minor change to the notice text to be sent in case over quota is met.

Modified:
james/server/branches/v2.3/src/conf/james-config.xml

Modified: james/server/branches/v2.3/src/conf/james-config.xml
URL: 
http://svn.apache.org/viewvc/james/server/branches/v2.3/src/conf/james-config.xml?rev=411813r1=411812r2=411813view=diff
==
--- james/server/branches/v2.3/src/conf/james-config.xml (original)
+++ james/server/branches/v2.3/src/conf/james-config.xml Mon Jun  5 08:20:18 
2006
@@ -449,8 +449,6 @@
 
 It is likely that you have set, in your mail client account, the option leave 
a copy of messages on server. For any help ask your administrators.
 
-Please don't reply to this e-mail as it has been automatically sent by the 
antivirus system.
-
 Regards, Postmaster XXX.YYY
 .
 /message



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [jira] Assigned: (JAMES-123) List matchers and mailets

2006-06-05 Thread Norman Maurer
Hi Serge,

why you want this at all ? What is the idea behind this feature ? Cause
we cannot add/remove matchers/mailets dynamicly from RemoteManager it
seems useless for me. 

bye
Norman

Am Sonntag, den 04.06.2006, 16:14 + schrieb Norman Maurer (JIRA):
  [ http://issues.apache.org/jira/browse/JAMES-123?page=all ]
 
 Norman Maurer reassigned JAMES-123:
 ---
 
 Assign To: Norman Maurer
 
 I will do a first version and only scan the packages which are configured for 
 matcher and mailets.
 
  List matchers and mailets
  -
 
   Key: JAMES-123
   URL: http://issues.apache.org/jira/browse/JAMES-123
   Project: James
  Type: New Feature
 
Components: Remote Manager
  Versions: 2.1
   Environment: Operating System: Other
  Platform: Other
  Reporter: Serge Knystautas
  Assignee: Norman Maurer
  Priority: Minor
   Fix For: 2.4.0
 
 
  Add to remote manager the ability to list what matchers and mailets are
  currently available in the classpath.  This would have to be through 
  reflection
  somehow, although the list of packages to scan would be defined in the conf 
  file
  (and should be listed as part of these commands).
 


signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


using jMock in Apache projects

2006-06-05 Thread Joachim Draeger


Hi!

before starting a discussion about pro/contra jMock: Are there any 
license issues using it in Apache projects? It looks like a very liberal 
custom license.

(I made the experience that this should always be the first question)

Joachim

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: using jMock in Apache projects

2006-06-05 Thread Serge Knystautas

On 6/5/06, Joachim Draeger [EMAIL PROTECTED] wrote:

before starting a discussion about pro/contra jMock: Are there any
license issues using it in Apache projects? It looks like a very liberal
custom license.
(I made the experience that this should always be the first question)


Seems like a very relaxed license.  My read says it's fine to use.

http://www.jmock.org/license.html

--
Serge Knystautas
Lokitech  software . strategy . design  http://www.lokitech.com
p. 301.656.5501
e. [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: using jMock in Apache projects

2006-06-05 Thread Stefano Bagnara

It seems a standard BSD license.
Compatible ;-)

Stefano

Joachim Draeger wrote:


Hi!

before starting a discussion about pro/contra jMock: Are there any 
license issues using it in Apache projects? It looks like a very liberal 
custom license.

(I made the experience that this should always be the first question)

Joachim



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Commented: (JSPF-7) Send openspf.org the link of this project on public release

2006-06-05 Thread Julian Mehnle (JIRA)
[ http://issues.apache.org/jira/browse/JSPF-7?page=comments#action_12414845 
] 

Julian Mehnle commented on JSPF-7:
--

I hope this hasn't been forgotten. What's the status of jSPF?

 Send openspf.org the link of this project on public release
 ---

  Key: JSPF-7
  URL: http://issues.apache.org/jira/browse/JSPF-7
  Project: jSPF
 Type: Task

 Reporter: Norman Maurer
 Assignee: Norman Maurer


 We should send the guys from openspf.org the link of this project if we have 
 the first public release. They will include a link to their homepage.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Proposal: new approach to spooling

2006-06-05 Thread Steve Brewin
Noel J. Bergman wrote:

Hi

I think there is a lot of merit in coming up with a new queueing mechanism
and I know this has been discussed on and off for awhile. Still, I think
that before launching into concepts we should explain the benefits any
proposed change is seeking to achieve. Without putting words into your
mouth, might these be support for distributed operation, integration into
other service oriented architectures?

It would be better to clearly state the goals before we begin to ponder on
how we might implement such a thing.

Cheers

-- Steve

 Concepts:

   - Each processor is a named queue entry.  This is
 not a change from today, except that these may
 be real queues in the JMS sense of the word if
 the underlying queue manager uses JMS.  But the
 approach should NOT be JSM/MQ specific.  It
 should work just fine with JDBC-based queues.

   - A queue entry would normally contain a JAMES Mail
 object.  JavaMail Message objects would be
 contained, or more likely referenced, by a JAMES
 Mail object.  I say normally just in case we
 want to permit other message types, e.g., JAMES
 control messages, to be posted, since JAMES
 processors effectively become services.

   - Each processor is a transaction.  What this means
 is that we can try to wrap a global transaction
 around behavior within the processor.  This will
 have some impact on Mailets, too.

   - Each processor is associated with a queue manager
 and, optionally, a retry schedule.

   - I believe that a queue implementation independent
 scheduler that provides the next time at which a
 message should be processed may be sufficient.
 Each queue entry would carry a timestamp before
 which it should not be processed.  Restarting
 the queue would be as simple as changing that
 timestamp entry.

   - A new RETRY Mail state can be set to rollback the
 transaction and put the Mail back into the queue.
 We should decide on commit and rollback semantics.

   - The processor acquires a new attribute that explicitly
 sets the fall-through state.  The default shall be the
 new RETRY state, except for messages that exhause the
 retry schedule.

 There are all sorts of ways to express this in XML, one of
 which might be:

   processor name=queue-name
  [onException=...]
  [fallthrough=message-state def: RETRY]
  [class=class def: LinearProcessor] 

 queue [queueManager=class def: DefaultQueueManager] 
   !-- queue configuration --
 /queue

 schedule [class=class def: DefaultScheduler]
   !-- see RemoteDelivery --
 /schedule

 mailet ...

   /processor

 Despite that this defines the queue manager as a child of the
 processor, we
 would invert that in code, with the queue manager calling the
 processor.  I
 believe that thread management is defined squarely on the
 queue manager.

 The concept still needs fleshing out, but I wanted to air the
 thoughts.
 This gives a lot of flexibility in implementation.  For
 example, one might
 implement a processor as an MDB.  The processor is
 responsible for workflow
 within the transaction, and for bridging between the queue
 manager and the
 mailet API.

 For this reason, I would not define interfaces for the queue
 manager and
 processor, but rather define semantics and responsibilities.
 The Mailet API
 is the inviolate API that all processors would be expected to
 support.  A
 processor would accept the queue entry from the queue
 manager, invoke the
 mailet pipeline, handle any exceptions, etc.  A queue manager
 would handle
 acquisition of appropriate entries from the queue queue,
 threading, calling
 the processor, etc.  I envision enhancements to the
 ToProcessor mailet, and
 related calls, and am still debating how queue aliases might
 be handled,
 which can be quite powerful.

   --- Noel


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: ApacheCon

2006-06-05 Thread Alan D. Cabrera



Noel J. Bergman wrote:

Norman,

As far as I know, it will be you, me, Danny and Vincenzo.  I will arrive on
Saturday and leave on the Wednesday after ApacheCon.
  


I'll be here too!


Regards,
Alan



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]