RE: Out going AUTH

2003-08-24 Thread Noel J. Bergman
In reply to:

http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]
e.org&msgNo=6698

Bill Shannon wrote:
> Noel J. Bergman wrote:
> > Actually, I was re-reading
http://james.apache.org/rfclist/smtp/rfc2554.txt.
> > [The] sending server can use:
> >
> >   MAIL FROM: <[EMAIL PROTECTED]> [EMAIL PROTECTED]
> >
> > to indicate that it authenticated frodo (or trusts a server that had
> > similarly relayed for an authenticated sender).

[clip]

> > [Unfortunately, ] JavaMail's SMTP transport doesn't appear to support
the
> > MAIL FROM AUTH= extension.

[clip]

> > Something to pass onto Bill Shannon, and a simple change (JavaMail
already
> > supports a similar extension, MAIL FROM RET=), but I'm afraid that we
may
> > have missed the window to get it into JavaMail.

> You did.  :-(
>
> Am I right in assuming this only needs to be set by servers that are
> relaying messages?
>
> Should this "submitter" information be an attribute of an SMTPMessage
> object, or should it be set in the SMTPTransport object to be used
> for subsequent sends?  It seems like it should be attached to the
> message, not the transport.

Correct.  After the transport authenticates as normal (and currently
supported), it has to know (and use if found) the authenticated sender
information for each message.

And, yes, this is something needed only by a relay, and only where one can
have an unbroken chain of authentication.

--- Noel


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



RE: From email address validation

2003-08-24 Thread Noel J. Bergman
Guys,

With respect to verifying that the sender is really the sender, there are
two basic means.  One is a digital signature, the other is MAIL FROM AUTH=,
which is part of SMTP AUTH.  In something of an ironic coincidence, I just
heard back from Bill Shannon regarding JavaMail support for MAIL FROM AUTH=,
and will CC the mailing list on my response.

MAIL FROM AUTH= is used to pass on the identity of the authenticated sender
in a chain of authenticated trust.  Unfortunately, not only does JavaMail
not support this now, but we have missed the window to get it into J2EE 1.4.
We can try fixing this on our end by extending the MimeMessage and replacing
the SMTP transport.  The other caveat is that it requires an unbroken chain
of authentication, so it has limited applicability on the Internet at large.

Vincenzo has proposed that if SMTP AUTH is used the server could use a
"server" certificate to sign the message, verifying that the server believes
the sender to be authentic:

> if (i) SMTPAuth is on, and (ii) the "From" user is the same as the
> SMTPAuth-enticated user, a "Sign" mailet could sign the message
> using a single common "server" certificate, certifying that the
> sender email address was not forged.

One of the checks performed on digitally signed e-mail is that the sender
address be one of the authorized addresses within the public certificate.
So it seems to me that in order to properly use a "server signed"
certificate approach, we need to have the signing mailet set the RFC 2822
Sender: header to the address for the server certificate.  So what I might
get would be e-mail from Vincenzo, but sent (and signed) by
[EMAIL PROTECTED]

The RFC 2822 headers would then include:

  Sender: <[EMAIL PROTECTED]>
  From: <[EMAIL PROTECTED]>

Neither of which should be confused with the reverse-path provided to MAIL
FROM.

This seems roughly right from my quick reading of the RFCs.  RFC 2633,
section 3.1 says "A MIME entity that is the whole message includes only the
MIME headers and MIME body, and does not include the RFC-822 headers."  A
practical suggestion within the WG was that as a way to protect the headers
"the full 822 messsage is wrapped and protected in S/MIME.  Then, outer
headers for the S/MIME message are added that suffice for message delivery."
This may be why most products of this nature are paired; at each end of the
transfer are agents that employ S/MIME encoding, hiding it from an MUA.

One benefit of doing this should be that we not only provide the server's
warrant of trust in the sender's indentity, but can also certify that the
message content has not changed since it left the server.

But I haven't gone too deep into the details.  S/MIME is pretty involved.
If we're going add S/MIME support to James, I suggest that we get in touch
with http://www.bouncycastle.org/, and ask them to help out.  They have both
code we can use (perfectly compatible license) and expertise in the domain.

--- Noel

ref: S/MIME Working Group
http://www.ietf.org/html.charters/smime-charter.html
 RFC 2633 (S/MIME v3) http://www.ietf.org/rfc/rfc2633.txt
 Interet Mail Consortium on S/MIME:
http://www.imc.org/smime-pgpmime.html
 RSA S/MIME FAQ: http://www.rsasecurity.com/standards/smime/faq.html


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



Re: From email address validation

2003-08-24 Thread Serge Knystautas
Noel J. Bergman wrote:
Guys,

With respect to verifying that the sender is really the sender, there are
two basic means.  One is a digital signature, the other is MAIL FROM AUTH=,
which is part of SMTP AUTH.  In something of an ironic coincidence, I just
heard back from Bill Shannon regarding JavaMail support for MAIL FROM AUTH=,
and will CC the mailing list on my response.
Yeah Noel, don't take this the wrong way, but I think cow's will fly 
before this approach.  You've enumerated a string of unimplemented RFCs, 
libraries that don't support them, and have complex behavior that would 
be an inconvenience for non-adopters.

Here are some thoughts about what is needed for trusted email approach 
(whatever form you're talking) needs to obey to take off:
1. Does not create multi-part content
Developers and users alike would rather not deal with multipart content 
if they didn't have to.  Not to mention CPUs and disk space.

2. Cannot rely on "network effect"
You cannot necessitate getting a critical mass of users before it 
becomes useful.  It needs to be useful to someone from the beginning 
and/or extremely trivial to add (gets into 3)

3. Simple enough for a Perl developer to hack together
Whatever approach should be easy enough for a Perl developer to mimic.
Probably others... those are just some I've seen from looking at what 
email add-ons have taken off.  Here are some attempts with theories on 
why they failed:

Message integrity is great, until you have to send an email from a 
company that attaches a disclaimer or you send to a mailing list that 
adds an advertisement or sign-off instructions.

Client certs are great until you realize you need to support a person 
read/sending email from webmail as well as their desktop.

Server call-backs would be great until you see how many servers would 
have to agree to this approach for it to be worth anything.

Anyway, I have no idea who or how this is going to get figured out... 
hopefully as the VC market starts spending on IT again, a bunch of new 
untested ideas will get tested and we may get something that sticks for 
 a change.  Spam and identity theft can probably scare a lot more money 
out of a VCs wallets these days...

--
Serge Knystautas
President
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: From email address validation

2003-08-24 Thread Noel J. Bergman
Serge wrote:
> > With respect to verifying that the sender is really the sender, there
are
> > two basic means.  One is a digital signature, the other is MAIL FROM
AUTH=,
> > which is part of SMTP AUTH.  In something of an ironic coincidence, I
just
> > heard back from Bill Shannon regarding JavaMail support for MAIL FROM
AUTH=,
> > and will CC the mailing list on my response.

> Yeah Noel, don't take this the wrong way, but I think cow's will fly
> before this approach.  You've enumerated a string of unimplemented RFCs,
> libraries that don't support them, and have complex behavior that would
> be an inconvenience for non-adopters.

Are you referring to MAIL FROM AUTH= as the approach that would come in
second to airborne bovines in an aerodynamics contest?  It is implemented
(albeit not by JavaMail), but it won't solve your general Internet desires,
and I wasn't proposing it as the ultimate approach.

> Spam and identity theft can probably scare a lot more money
> out of a VCs wallets these days...

It would be great to come up with something as elegantly simple as VERP for
authentication.

We would want broad support.  I don't know anything broader than S/MIME.
One thing that I have seen is that the first time you send me mail, my MTA
will respond with an bounce message containing a unique URL.  Using that URL
you can install a public key for me.  That public key is generated by me,
and encoded for your e-mail address.  I am a CA, but instead of providing
you with your own private key, from your perspective the key is my public
key.  Most mailers make sending encrypted e-mail pretty easy.  The key tells
me which address had received the key, and is thus eligible to use it.
Revocation and filtering are trivial, and handled by my MTA, requiring no
assistance from my MUA.

That is something we could build fairly readily.  It does not handle mailing
lists, nor would it work with most web-mail providers.  It is strictly 1:1,
and requires the sender to have an S/MIME capable MUA.  The closest I have
seen so far that would handle a mailing list are some of the TMDA
techniques.  On the other hand, you could expect a good list to be filtered,
and filter messages purporting to come from a list based upon known servers
for that list.

Raining milk yet?

--- Noel


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



[PATCH] JDBCVirtualUserTable - One-to-Many Mapping, Flexible SQL

2003-08-24 Thread Kenny Smith
Hello all,

I made this change sometime late last year but never submitted it. :/ 
Any suggestions or design considerations are welcome. I focused on a 
working solution as opposed to the most efficient, elegant solution so 
it probably could be better.

The two major features included in the patch are:

1) One to Many Mapping - I've changed the destination address field to 
be a TEXT field instead of a VARCHAR so that it can contain multiple 
addresses (separated by \n). The payload of the TEXT field is split on 
\n, each element is trimmed and then the mail is delivered to the 
resulting address.

2) Flexible SQL - Previously, the parameters bound into the query were 
hardcoded so the possibilities for what kind of query to use were 
highly limited. This change allows the mailet configuration to declare 
what params are bound in what order (user and host parameters only).  
Obviously, the possible queries are still limited because you can only 
bind user and host, but this improves the flexibility a great deal.

Again, any suggestions, criticism, questions are all welcome.

Thanks,
Kenny Smith
JournalScape.com

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

building from james head

2003-08-24 Thread Stephen McConnell
Earlier today I tested James against a local version of the james CVS 
using the final cornerstone builds.  That worked fine and James built 
and run without problem.  Following that I started to put in place the 
changes to the james build.xml and validate against the latest state of 
James HEAD. However, I'm running into some problems.   First of all - 
commons-dbcp is referenced somewhere but not included in the lib 
directory.  I corrected that by dowbnloading the 1.0 release and that 
problem dissapeared.

However, I left with the following compilation error:

   [javac] 
F:\dev\james-server\src\java\org\apache\james\util\dbcp\JdbcDataSource.java:111: 
cannot access org.apache.co
mmons.pool.impl.GenericObjectPool
   [javac] file org\apache\commons\pool\impl\GenericObjectPool.class 
not found
   [javac] connectionPool.setTestOnBorrow(true);
   [javac]   ^

Any suggestions?

In the meantime I'm be committing updates to the build.xml so we are all 
in sync.

Stephen.

--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net
Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin


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


cvs commit: james-server/lib/candidates cornerstone-connection-api-1.0.jar cornerstone-connection-impl-1.0.jar cornerstone-datasources-api-1.0.jar cornerstone-datasources-impl-1.0.jar cornerstone-scheduler-api-1.0.jar cornerstone-scheduler-impl-1.0.jar cornerstone-sockets-api-1.0.jar cornerstone-sockets-impl-1.0.jar cornerstone-store-api-1.0.jar cornerstone-store-impl-1.0.jar cornerstone-threads-api-1.0.jar cornerstone-threads-impl-1.0.jar excalibur-thread-1.1.1.jar cornerstone-connection-1.0.jar cornerstone-datasources-1.0.jar cornerstone-scheduler-1.0.jar cornerstone-sockets-1.0.jar cornerstone-store-1.0.jar cornerstone-threads-1.0.jar excalibur-thread-1.1.jar

2003-08-24 Thread mcconnell
mcconnell2003/08/24 06:51:12

  Modified:.build.bat build.xml include.properties
  Added:   lib  commons-dbcp-1.0.jar
   lib/candidates cornerstone-connection-api-1.0.jar
cornerstone-connection-impl-1.0.jar
cornerstone-datasources-api-1.0.jar
cornerstone-datasources-impl-1.0.jar
cornerstone-scheduler-api-1.0.jar
cornerstone-scheduler-impl-1.0.jar
cornerstone-sockets-api-1.0.jar
cornerstone-sockets-impl-1.0.jar
cornerstone-store-api-1.0.jar
cornerstone-store-impl-1.0.jar
cornerstone-threads-api-1.0.jar
cornerstone-threads-impl-1.0.jar
excalibur-thread-1.1.1.jar
  Removed: lib/candidates cornerstone-connection-1.0.jar
cornerstone-datasources-1.0.jar
cornerstone-scheduler-1.0.jar
cornerstone-sockets-1.0.jar
cornerstone-store-1.0.jar
cornerstone-threads-1.0.jar
excalibur-thread-1.1.jar
  Log:
  Update to latest cornerstone candidates (in lib/candidates) and added 1.0 version of 
commons dbcp to the lib directory.
  
  Revision  ChangesPath
  1.11  +18 -18james-server/build.bat
  
  Index: build.bat
  ===
  RCS file: /home/cvs/james-server/build.bat,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- build.bat 17 Feb 2003 13:09:31 -  1.10
  +++ build.bat 24 Aug 2003 13:51:12 -  1.11
  @@ -1,18 +1,18 @@
  [EMAIL PROTECTED] off
  -
  -echo.
  -echo James Build System
  -echo ---
  -
  -set OLD_ANT_HOME=%ANT_HOME%
  -set ANT_HOME=tools
  -
  -set OLD_CLASSPATH=%CLASSPATH%
  -set 
CLASSPATH=phoenix-bin\lib\xercesImpl-2.0.2.jar;phoenix-bin\lib\xml-apis.jar;tools\lib\velocity-1.3-dev.jar;tools\lib\jdom-b7.jar
  -
  -%ANT_HOME%\bin\ant.bat -emacs %1 %2 %3 %4 %5 %6 %7 %8
  -goto cleanup
  -
  -:cleanup
  -set ANT_HOME=%OLD_ANT_HOME%
  -set CLASSPATH=%OLD_CLASSPATH%
  [EMAIL PROTECTED] off
  +
  +echo.
  +echo James Build System
  +echo ---
  +
  +set OLD_ANT_HOME=%ANT_HOME%
  +set ANT_HOME=tools
  +
  +set OLD_CLASSPATH=%CLASSPATH%
  +set 
CLASSPATH=phoenix-bin\lib\xercesImpl-2.0.2.jar;phoenix-bin\lib\xml-apis.jar;tools\lib\velocity-1.3-dev.jar;tools\lib\jdom-b7.jar
  +
  +%ANT_HOME%\bin\ant.bat -emacs %1 %2 %3 %4 %5 %6 %7 %8
  +goto cleanup
  +
  +:cleanup
  +set ANT_HOME=%OLD_ANT_HOME%
  +set CLASSPATH=%OLD_CLASSPATH%
  
  
  
  1.135 +29 -16james-server/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/james-server/build.xml,v
  retrieving revision 1.134
  retrieving revision 1.135
  diff -u -r1.134 -r1.135
  --- build.xml 26 Jul 2003 00:17:21 -  1.134
  +++ build.xml 24 Aug 2003 13:51:12 -  1.135
  @@ -48,6 +48,7 @@
 
 
 
  +  
 
 
 
  @@ -56,12 +57,18 @@
 
 
 
  -  
  -  
  -  
  -  
  -  
  -  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
 
 
 
  @@ -385,14 +392,14 @@
 
 
  +   
includes="org/apache/mailet/Mailet.class,org/apache/mailet/MailetConfig.class,org/apache/mailet/Mail.class,org/apache/mailet/MailetContext.class,org/apache/mailet/MailAddress.class,org/apache/mailet/MailRepository,org/apache/mailet/SpoolRepository,org/apache/mailet/UserRepository,org/apache/mailet/Datasource,org/apache/mailet/User,org/apache/mailet/MailetException"/>
   
 
 
 
  +   
excludes="org/apache/mailet/Mailet.class,org/apache/mailet/MailetConfig.class,org/apache/mailet/Mail.class,org/apache/mailet/MailetContext.class,org/apache/mailet/MailAddress.class,org/apache/mailet/MailRepository,org/apache/mailet/SpoolRepository,org/apache/mailet/UserRepository,org/apache/mailet/Datasource,org/apache/mailet/User,org/apache/mailet/MailetException"/>
   
 
 
  @@ -433,15 +440,21 @@
 
   
   
  -  
  +   
 
 
  -  
  -  
  -  
  -  
  -  
  -  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
  +  
   
   
 
  
  
  
  1.4   +16 -14james-server/include.properties
  
  Index: include.properties
  ===
  RCS file: /home/cvs/james-server

Re: building from james head

2003-08-24 Thread Stephen McConnell


Seems that commons-pool is required but not included in the lib directory.
Have fixed this and am moving on with testing.
Stephen.

Stephen McConnell wrote:

Earlier today I tested James against a local version of the james CVS 
using the final cornerstone builds.  That worked fine and James built 
and run without problem.  Following that I started to put in place the 
changes to the james build.xml and validate against the latest state 
of James HEAD. However, I'm running into some problems.   First of all 
- commons-dbcp is referenced somewhere but not included in the lib 
directory.  I corrected that by dowbnloading the 1.0 release and that 
problem dissapeared.

However, I left with the following compilation error:

   [javac] 
F:\dev\james-server\src\java\org\apache\james\util\dbcp\JdbcDataSource.java:111: 
cannot access org.apache.co
mmons.pool.impl.GenericObjectPool
   [javac] file org\apache\commons\pool\impl\GenericObjectPool.class 
not found
   [javac] connectionPool.setTestOnBorrow(true);
   [javac]   ^

Any suggestions?

In the meantime I'm be committing updates to the build.xml so we are 
all in sync.

Stephen.


--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net
Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin


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


cvs commit: james-server build.xml include.properties

2003-08-24 Thread mcconnell
mcconnell2003/08/24 07:03:22

  Modified:.build.xml include.properties
  Log:
  Add missing commons-pool-1.0.
  
  Revision  ChangesPath
  1.136 +2 -1  james-server/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/james-server/build.xml,v
  retrieving revision 1.135
  retrieving revision 1.136
  diff -u -r1.135 -r1.136
  --- build.xml 24 Aug 2003 13:51:12 -  1.135
  +++ build.xml 24 Aug 2003 14:03:22 -  1.136
  @@ -49,6 +49,7 @@
 
 
 
  +  
 
 
 
  
  
  
  1.5   +1 -0  james-server/include.properties
  
  Index: include.properties
  ===
  RCS file: /home/cvs/james-server/include.properties,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- include.properties24 Aug 2003 13:51:12 -  1.4
  +++ include.properties24 Aug 2003 14:03:22 -  1.5
  @@ -65,6 +65,7 @@
   # - Commons  -
   commons-net.jar=${lib.dir}/commons-net-1.0.0-dev.jar
   commons-dbcp.jar=${lib.dir}/commons-dbcp-1.0.jar
  +commons-pool.jar=${lib.dir}/commons-pool-1.0.jar
   commons-collections.jar=${candidates.dir}/commons-collections-2.1.jar
   
   # - Jakarta ORO -
  
  
  

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



Re: building from james head

2003-08-24 Thread Stephen McConnell
This one is interesting:

The class org.apache.james.util.NetMatcher includes references to the 
inner class InetNetwork.  However, if we look at the source we see that 
InetNetwork is not defined as an inner class (at least not in a way I am 
familiar with).

What we have is :



   public class NetMatcher
   {
// stuff
   }
   class InetNetwork
   {
// stuff
   }
   // more stuff



Ok - it compiles but is this really a valid source?

Stephen.

Internal error during kernel instantiation.
---
Exception: org.apache.avalon.merlin.kernel.KernelException
Message: Deployment failure.
Cause: org.apache.avalon.activation.appliance.DeploymentException
Message: Composite deployment failure in block: [block:/james]
Cause: org.apache.avalon.activation.lifecycle.LifecycleException
Message: Unable to create a new component instance in appliance 
[/james/spool] due to a component deployment failure.

Cause: org.apache.avalon.activation.lifecycle.LifecycleException
Message: Component initiated initialization failure.
Cause: java.lang.NoClassDefFoundError
Message: org/apache/james/util/InetNetwork
 stack trace --
java.lang.NoClassDefFoundError: org/apache/james/util/InetNetwork
   at 
org.apache.james.transport.matchers.AbstractNetworkMatcher.init(AbstractNetworkMatcher.java:95)
   at org.apache.mailet.GenericMatcher.init(GenericMatcher.java:154)
   at 
org.apache.james.transport.MatchLoader.getMatcher(MatchLoader.java:108)
   at 
org.apache.james.transport.JamesSpoolManager.initialize(JamesSpoolManager.java:212)
   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.applyInitialization(DefaultAppliance.java:952)
   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.newInstance(DefaultAppliance.java:637)
   at 
org.apache.avalon.activation.lifestyle.impl.SingletonLifestyleHandler.resolve(SingletonLifestyleHandler.java:
94)
   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.resolve(DefaultAppliance.java:585)
   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.resolve(DefaultAppliance.java:571)
   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.deploy(DefaultAppliance.java:520)
   at 
org.apache.avalon.activation.appliance.impl.DefaultBlock.deploy(DefaultBlock.java:625)
   at 
org.apache.avalon.activation.appliance.impl.BlockThread.run(BlockThread.java:111)
---

--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net
Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin


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


cvs commit: james-server build.xml

2003-08-24 Thread mcconnell
mcconnell2003/08/24 07:28:06

  Modified:.build.xml
  Log:
  Add extras for phoenix (needs to be tested).
  
  Revision  ChangesPath
  1.137 +3 -1  james-server/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/james-server/build.xml,v
  retrieving revision 1.136
  retrieving revision 1.137
  diff -u -r1.136 -r1.137
  --- build.xml 24 Aug 2003 14:03:22 -  1.136
  +++ build.xml 24 Aug 2003 14:28:06 -  1.137
  @@ -439,6 +439,8 @@
 
 
 
  +  
  +  
   
   
  
  
  
  

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



cvs commit: james-server/src/java/org/apache/james/util NetMatcher.java

2003-08-24 Thread mcconnell
mcconnell2003/08/24 07:32:50

  Modified:src/java/org/apache/james/util NetMatcher.java
  Log:
  Move InetNetwork to a static inner class (not sure if this is correct but it 
compiles and the runtime now works).
  
  Revision  ChangesPath
  1.4   +2 -2  james-server/src/java/org/apache/james/util/NetMatcher.java
  
  Index: NetMatcher.java
  ===
  RCS file: /home/cvs/james-server/src/java/org/apache/james/util/NetMatcher.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- NetMatcher.java   7 Jun 2003 03:05:41 -   1.3
  +++ NetMatcher.java   24 Aug 2003 14:32:50 -  1.4
  @@ -151,9 +151,8 @@
   }
   
   protected void log(String s) { }
  -}
   
  -class InetNetwork
  +static class InetNetwork
   {
   /*
* Implements network masking, and is compatible with RFC 1518 and
  @@ -302,4 +301,5 @@
   }
   return addr;
   }
  +}
   }
  
  
  

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



Re: building from james head

2003-08-24 Thread Stephen McConnell
Hi:

Have just committed a change to NetMatcher.  I moved the InetNetwork
class to be a proper inner class of NetMatcher and changed it to a
static class.  I have not idea if this is what was intended - but now it
compiles *and* James runtime works.
Stephen.



Stephen McConnell wrote:

This one is interesting:

The class org.apache.james.util.NetMatcher includes references to the 
inner class InetNetwork.  However, if we look at the source we see 
that InetNetwork is not defined as an inner class (at least not in a 
way I am familiar with).

What we have is :



   public class NetMatcher
   {
// stuff
   }
   class InetNetwork
   {
// stuff
   }
   // more stuff



Ok - it compiles but is this really a valid source?

Stephen.

Internal error during kernel instantiation.
---
Exception: org.apache.avalon.merlin.kernel.KernelException
Message: Deployment failure.
Cause: org.apache.avalon.activation.appliance.DeploymentException
Message: Composite deployment failure in block: [block:/james]
Cause: org.apache.avalon.activation.lifecycle.LifecycleException
Message: Unable to create a new component instance in appliance 
[/james/spool] due to a component deployment failure.

Cause: org.apache.avalon.activation.lifecycle.LifecycleException
Message: Component initiated initialization failure.
Cause: java.lang.NoClassDefFoundError
Message: org/apache/james/util/InetNetwork
 stack trace --
java.lang.NoClassDefFoundError: org/apache/james/util/InetNetwork
   at 
org.apache.james.transport.matchers.AbstractNetworkMatcher.init(AbstractNetworkMatcher.java:95) 

   at org.apache.mailet.GenericMatcher.init(GenericMatcher.java:154)
   at 
org.apache.james.transport.MatchLoader.getMatcher(MatchLoader.java:108)
   at 
org.apache.james.transport.JamesSpoolManager.initialize(JamesSpoolManager.java:212) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.applyInitialization(DefaultAppliance.java:952) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.newInstance(DefaultAppliance.java:637) 

   at 
org.apache.avalon.activation.lifestyle.impl.SingletonLifestyleHandler.resolve(SingletonLifestyleHandler.java: 

94)
   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.resolve(DefaultAppliance.java:585) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.resolve(DefaultAppliance.java:571) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.deploy(DefaultAppliance.java:520) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultBlock.deploy(DefaultBlock.java:625) 

   at 
org.apache.avalon.activation.appliance.impl.BlockThread.run(BlockThread.java:111) 

---

--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net
Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin




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


cvs commit: james-server/lib commons-pool-1.0.jar

2003-08-24 Thread mcconnell
mcconnell2003/08/24 08:28:43

  Added:   lib  commons-pool-1.0.jar
  Log:
  Add missing commons pool dependency.
  
  Revision  ChangesPath
  1.1  james-server/lib/commons-pool-1.0.jar
  
<>
  
  

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



cvs commit: james-server/lib activation.jar mail-1.3.1.jar

2003-08-24 Thread noel
noel2003/08/24 08:33:52

  Removed: lib  Tag: branch_2_1_fcs activation.jar mail-1.3.1.jar
  Log:
  Can't have JavaMail and JAF jars in CVS.

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



cvs commit: james-server/lib commons-pool-1.0.jar

2003-08-24 Thread noel
noel2003/08/24 08:38:36

  Removed: lib  commons-pool-1.0.jar
  Log:
  Replaced (actually had already been using) with Jakarta Commons Pool v1.0.1

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



cvs commit: james-server/lib commons-pool-1.0.1.jar

2003-08-24 Thread noel
noel2003/08/24 08:37:10

  Added:   lib  commons-pool-1.0.1.jar
  Log:
  Added Jakarta Commons Pool v1.0.1
  
  Revision  ChangesPath
  1.1  james-server/lib/commons-pool-1.0.1.jar
  
<>
  
  

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



RE: building from james head

2003-08-24 Thread Noel J. Bergman
Stephen,

> In the meantime I'm be committing updates to the build.xml so we are all
> in sync.

I hadn't committed my changes because I couldn't get things to work here,
but I believe that I had everything you do.  I'll commit now so that we're
not stepping on each other.  Please review, and let me know if you see any
problems.

Commons Pool was actually v1.0.1, so I renamed that jar.

Is the project.class.path value used at runtime, or only at compile time?

--- Noel


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



High CPU Usage

2003-08-24 Thread Kenny Smith
Hi all,

I know people have talked about this before and I tried searching 
through mail-archive.com, but I couldn't find a solution.

When I start up James on my server, it grows very quickly (3-4 seconds) 
to using 95% of the CPU and it hovers above 90% forever.

I'm running the v2.1.3 with java 1.4.1_02 on RH 8.0

Anyone know what might cause it? Or how I might determine what is 
causing it?

Kenny

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


Re: building from james head

2003-08-24 Thread Richard O. Hammer
This is valid source as far as the Java language is concerned. 
InetNetwork is not an inner class, but rather is another class in the 
same package.  While it is customary to put each class in its own file 
this is not required by Java standards.

But, from scanning the Exception message which you attach, this 
practice seems to violate a design assumption of Avalon.

Although I have not tried this, I suspect you could make InetNetwork 
into an inner class simply by moving the closing brace of class 
NetMatcher down below the closing brace of InetNetwork.  That might 
fly, and might even have been intended, if no class but NetMatcher 
uses reference to InetNetwork.

Rich Hammer
Hillsborough, N.C.
Stephen McConnell wrote:
This one is interesting:

The class org.apache.james.util.NetMatcher includes references to the 
inner class InetNetwork.  However, if we look at the source we see that 
InetNetwork is not defined as an inner class (at least not in a way I am 
familiar with).

What we have is :



   public class NetMatcher
   {
// stuff
   }
   class InetNetwork
   {
// stuff
   }
   // more stuff



Ok - it compiles but is this really a valid source?

Stephen.

Internal error during kernel instantiation.
---
Exception: org.apache.avalon.merlin.kernel.KernelException
Message: Deployment failure.
Cause: org.apache.avalon.activation.appliance.DeploymentException
Message: Composite deployment failure in block: [block:/james]
Cause: org.apache.avalon.activation.lifecycle.LifecycleException
Message: Unable to create a new component instance in appliance 
[/james/spool] due to a component deployment failure.

Cause: org.apache.avalon.activation.lifecycle.LifecycleException
Message: Component initiated initialization failure.
Cause: java.lang.NoClassDefFoundError
Message: org/apache/james/util/InetNetwork
 stack trace --
java.lang.NoClassDefFoundError: org/apache/james/util/InetNetwork
   at 
org.apache.james.transport.matchers.AbstractNetworkMatcher.init(AbstractNetworkMatcher.java:95) 

   at org.apache.mailet.GenericMatcher.init(GenericMatcher.java:154)
   at 
org.apache.james.transport.MatchLoader.getMatcher(MatchLoader.java:108)
   at 
org.apache.james.transport.JamesSpoolManager.initialize(JamesSpoolManager.java:212) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.applyInitialization(DefaultAppliance.java:952) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.newInstance(DefaultAppliance.java:637) 

   at 
org.apache.avalon.activation.lifestyle.impl.SingletonLifestyleHandler.resolve(SingletonLifestyleHandler.java: 

94)
   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.resolve(DefaultAppliance.java:585) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.resolve(DefaultAppliance.java:571) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultAppliance.deploy(DefaultAppliance.java:520) 

   at 
org.apache.avalon.activation.appliance.impl.DefaultBlock.deploy(DefaultBlock.java:625) 

   at 
org.apache.avalon.activation.appliance.impl.BlockThread.run(BlockThread.java:111) 

---



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


cvs commit: james-server build.xml default.properties include.properties projectdocs.xml

2003-08-24 Thread noel
noel2003/08/24 10:36:23

  Modified:.build.xml default.properties include.properties
projectdocs.xml
  Log:
  project.class.path just needs API jars.  Commons Pool is v1.0.1  Excalibur Thread 
was updated by Stephen to v1.1.1.  Mailet API is (tentatively) v3.  JavaMail had been 
updated to v1.3.1.
  
  Revision  ChangesPath
  1.138 +9 -15 james-server/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/james-server/build.xml,v
  retrieving revision 1.137
  retrieving revision 1.138
  diff -u -r1.137 -r1.138
  --- build.xml 24 Aug 2003 14:28:06 -  1.137
  +++ build.xml 24 Aug 2003 17:36:22 -  1.138
  @@ -58,18 +58,12 @@
 
 
 
  -  
  -  
  -  
  -  
  -  
  -  
  -  
  -  
  -  
  -  
  -  
  -  
  +  
  +  
  +  
  +  
  +  
  +  
 
 
 
  @@ -440,10 +434,10 @@
 
 
 
  -  
  +  
   
   
  -   
  +  
 
 
 
  
  
  
  1.8   +2 -2  james-server/default.properties
  
  Index: default.properties
  ===
  RCS file: /home/cvs/james-server/default.properties,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- default.properties23 Jun 2003 15:51:01 -  1.7
  +++ default.properties24 Aug 2003 17:36:22 -  1.8
  @@ -9,8 +9,8 @@
   name=james
   Name=James Mail Server
   version=3.0a1
  -mailet-version=1.0
  -mailet-api-version=1.0
  +mailet-version=3.0
  +mailet-api-version=3.0
   #package-version=3.0a1
   year=1999-2003
   extension.name=org.apache.james
  
  
  
  1.6   +9 -18 james-server/include.properties
  
  Index: include.properties
  ===
  RCS file: /home/cvs/james-server/include.properties,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- include.properties24 Aug 2003 14:03:22 -  1.5
  +++ include.properties24 Aug 2003 17:36:22 -  1.6
  @@ -54,7 +54,7 @@
   xerces.jar = ${lib.dir}/xerces-1.4.3.jar
   
   # - Javax mail -
  -javax-mail.jar=${lib.dir}/mail_1_3.jar
  +javax-mail.jar=${lib.dir}/mail-1.3.1.jar
   
   # - Activation -
   javax-activation.jar=${lib.dir}/activation.jar
  @@ -62,44 +62,35 @@
   # - DNS -
   dns.jar=${lib.dir}/dnsjava-1.3.2.jar
   
  -# - Commons  -
  +# - Commons -
   commons-net.jar=${lib.dir}/commons-net-1.0.0-dev.jar
   commons-dbcp.jar=${lib.dir}/commons-dbcp-1.0.jar
  -commons-pool.jar=${lib.dir}/commons-pool-1.0.jar
  +commons-pool.jar=${lib.dir}/commons-pool-1.0.1.jar
   commons-collections.jar=${candidates.dir}/commons-collections-2.1.jar
   
   # - Jakarta ORO -
   jakarta-oro.jar=${lib.dir}/jakarta-oro-2.0.1.jar
   
   # - Cornerstone threads, version 1.0 or later -
  -cornerstone-threads-api.jar=${candidates.dir}/cornerstone-threads-api-1.0.jar
  -cornerstone-threads-impl.jar=${candidates.dir}/cornerstone-threads-impl-1.0.jar
  +cornerstone-threads.jar=${candidates.dir}/cornerstone-threads-api-1.0.jar
   
   # - Cornerstone connection, version 1.0 or later -
  -cornerstone-connection-api.jar=${candidates.dir}/cornerstone-connection-api-1.0.jar
  
-cornerstone-connection-impl.jar=${candidates.dir}/cornerstone-connection-impl-1.0.jar
  +cornerstone-connection.jar=${candidates.dir}/cornerstone-connection-api-1.0.jar
   
   # - Cornerstone masterstore, version 1.0 or later -
  -cornerstone-store-api.jar=${candidates.dir}/cornerstone-store-api-1.0.jar
  -cornerstone-store-impl.jar=${candidates.dir}/cornerstone-store-impl-1.0.jar
  +cornerstone-store.jar=${candidates.dir}/cornerstone-store-api-1.0.jar
   
   # - Cornerstone sockets, version 1.0 or later -
  -cornerstone-sockets-api.jar=${candidates.dir}/cornerstone-sockets-api-1.0.jar
  -cornerstone-sockets-impl.jar=${candidates.dir}/cornerstone-sockets-impl-1.0.jar
  +cornerstone-sockets.jar=${candidates.dir}/cornerstone-sockets-api-1.0.jar
   
   # - Cornerstone scheduler, version 1.0 or later -
  -cornerstone-scheduler-api.jar=${candidates.dir}/cornerstone-scheduler-api-1.0.jar
  -cornerstone-scheduler-impl.jar=${candidates.dir}/cornerstone-scheduler-impl-1.0.jar
  +cornerstone-scheduler.jar=${candidates.dir}/cornerstone-scheduler-api-1.0.jar
   
   # - Cornerstone scheduler, version 1.0 or later -
  
-cornerstone-datasources-api.jar=${candidates.dir}/cornerstone-datasources-api-1.0.jar
  
-cornerstone-datasources-impl.jar=${candidates.dir}/cornerstone-datasources-impl-1.0.jar
  +cornerstone-datasources.jar=${candidates.dir}/cornerstone-datasources-api-1.0.jar
   
   # - Excalibur thread, 

Re: building from james head

2003-08-24 Thread Stephen McConnell


Noel J. Bergman wrote:

Stephen,

 

In the meantime I'm be committing updates to the build.xml so we are all
in sync.
   

I hadn't committed my changes because I couldn't get things to work here,
but I believe that I had everything you do.  I'll commit now so that we're
not stepping on each other.  Please review, and let me know if you see any
problems.
If I do a cvs diff I don't see anything different (diff invoked at 20:49 
Paris time).  I replaced the cornerstone-xxx-1.0.jar with 
corenerstone-xxx-api-1.0.jar and corenerstone-xxx-impl-1.0.jar.  The 
reason for this is that I would like to set the context for talking you 
guys into a seperation of impl from api so that we can move towards 
greater reusability of james.  But that's another subject.


Commons Pool was actually v1.0.1, so I renamed that jar.

Renamed or replaced?
The jar I committed was 1.0 from ibiblio.
Is the project.class.path value used at runtime, or only at compile time?

Compile time only.

Stephen.

	--- Noel

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


 

--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net
Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin


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


RE: building from james head

2003-08-24 Thread Noel J. Bergman
> The class org.apache.james.util.NetMatcher includes references to the
> inner class InetNetwork.

It isn't an inner class.  Nor is it a public class.  The language and usage
are perfectly legal.  See section 6.6.4 of the Java Language Specification.

  ref:
http://java.sun.com/docs/books/jls/first_edition/html/6.doc.html#36060

The bug is a packaging error that I have seen from time to time with Ant,
and which always seems to be resolved by doing a clean build.

--- Noel


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



Re: From email address validation

2003-08-24 Thread Serge Knystautas
Noel J. Bergman wrote:
We would want broad support.  I don't know anything broader than S/MIME.
I would differ with that, or at least put a spin on it... S/MIME is the 
John Malkovich of the email world... everyone has heard and has respect 
for it, but can you name a time you used it?

That is something we could build fairly readily.  It does not handle mailing
lists, nor would it work with most web-mail providers.  It is strictly 1:1,
and requires the sender to have an S/MIME capable MUA.  The closest I have
seen so far that would handle a mailing list are some of the TMDA
techniques.  On the other hand, you could expect a good list to be filtered,
and filter messages purporting to come from a list based upon known servers
for that list.
Raining milk yet?
Let me know when you're ready to have an email address that you can't 
send to mailing lists or check via webmail.  Then I'll put the cups 
outside to catch the milk. :)

--
Serge Knystautas
President
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: [PATCH] JDBCVirtualUserTable - One-to-Many Mapping, Flexible SQL

2003-08-24 Thread Kenny Smith
Sorry, I could have sworn I attached it. Here it is in a jar.



On Sunday, August 24, 2003, at 12:30 PM, Noel J. Bergman wrote:

Kenny,

We received no such attachment.  Please resend, with the attachment in 
a
.ZIP/.JAR or other.

	--- Noel


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

RE: High CPU Usage

2003-08-24 Thread Steve Brewin
> -Original Message-
> From: Kenny Smith [mailto:[EMAIL PROTECTED]
> Sent: 24 August 2003 16:13
> To: [EMAIL PROTECTED]
> Subject: High CPU Usage
>
>
> Hi all,
>
> I know people have talked about this before and I tried searching
> through mail-archive.com, but I couldn't find a solution.
>
> When I start up James on my server, it grows very quickly
> (3-4 seconds)
> to using 95% of the CPU and it hovers above 90% forever.
>
> I'm running the v2.1.3 with java 1.4.1_02 on RH 8.0
>
> Anyone know what might cause it? Or how I might determine what is
> causing it?
>
> Kenny

If you have access to a perfromance profiling tool such as JProbe its easy.
If not, when you believe the app. should be dormant, take a few thread
dumps, identify the active threads and the code they are executing. This
should enable you to narrow it down.

-- Steve


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



RE: building from james head

2003-08-24 Thread Noel J. Bergman
Richard O. Hammer wrote:
> This is valid source as far as the Java language is concerned.
> InetNetwork is not an inner class, but rather is another class
> in the same package.

Correct.

> While it is customary to put each class in its own file
> this is not required by Java standards.

Unnecessary for what is currently just a helper class in that package.  See
JLS 6.6.4.

> But, from scanning the Exception message which you attach, this
> practice seems to violate a design assumption of Avalon.

Actually, no.  What I've seen is that the class somehow gets built into
build/classes, but is not copied into the packaging.  Anytime I have seen
this, doing a build.sh clean followed by a rebuild clears it up.

> I suspect you could make InetNetwork into an inner class simply
> by moving the closing brace of class NetMatcher down below the
> closing brace of InetNetwork.  That might fly, and might even
> have been intended, if no class but NetMatcher uses reference
> to InetNetwork.

No, that would be bad.  InetNetwork does not want an enclosing instance.
Stephen was correct that if it were to be an inner class (which it did not
need to be, but harms none in James and handles the packaging bug), it
should be static.

-- Noel


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



RE: High CPU Usage

2003-08-24 Thread Noel J. Bergman
> When I start up James on my server, it grows very quickly (3-4 seconds)
> to using 95% of the CPU and it hovers above 90% forever.

Define forever.  Do you have any large file system repositories that are
being prepared?  The file system based repositories start by checking for
unmatched *Object* and *Stream* files to clean up, and building in-memory
key sets.

If necessary, turn on DEBUG for the various targets, and see if anything
seems to be looping.

> I'm running the v2.1.3 with java 1.4.1_02 on RH 8.0

I'm running v2.2.0-something-around-a8 (will update to -cvs soon) on JVM
1.4.1_02 on RH 8.0 with no such problems.  The spool and inboxes use dbfile;
the rest are file system based.

--- Noel


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



RE: building from james head

2003-08-24 Thread Noel J. Bergman
> If I do a cvs diff I don't see anything different (diff invoked at 20:49
> Paris time).

Look again.  My changes were all complete by 14:09 EDT.

> I replaced the cornerstone-xxx-1.0.jar with corenerstone-xxx-api-1.0.jar
> and corenerstone-xxx-impl-1.0.jar.

I agree with your premise, but if you look at build.xml the way it is right
now (http://cvs.apache.org/viewcvs/james-server/build.xml?annotate=1.138),
the API and IMPL jars are all listed when making the SAR.  The project
classpath doesn't care about separation.  It just wants whatever jar(s) it
needs.  In this case, entries like:

  

are symbolic references to the API jars defined in the properties file.

> > Commons Pool was actually v1.0.1, so I renamed that jar.
> Renamed or replaced?  The jar I committed was 1.0 from ibiblio.

Replaced.  The one we had already been using was an unlabeled v1.0.1,
downloaded from the Jakarta Commons release area.

--- Noel


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



RE: [PATCH] JDBCVirtualUserTable - One-to-Many Mapping, Flexible SQL

2003-08-24 Thread Noel J. Bergman
Kenny,

We received no such attachment.  Please resend, with the attachment in a
.ZIP/.JAR or other.

--- Noel


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