RE: Out going AUTH
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
> 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
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
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
> -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
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
> 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
> 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
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]