Re: cvs commit: jakarta-james build.xml
get http://cvs.apache.org/viewcvs.cgi/avalon/check-targets.ent http://cvs.apache.org/viewcvs.cgi/avalon/check-targets.properties put them in james cvs, modifying them to include additional information about the jars james needs (mostly very simple cut-n-paste). Then update the james build.xml to kinda macro-include check-targets.ent. Some info on that in check-targets.ent itself. Also see http://cvs.apache.org/viewcvs.cgi/avalon/build.xml.diff?r1=1.159r2=1.160diff_format=h where I implemented this for avalon. Notes: - it is cleaner and neater to move to maven :D - licenses currently fetched from the OSI site, the maven repo will get updated to have the licenses there, and the script should be too cheers, - Leo Pseudo-build-file to give more ideas: ?xml version=1.0? !DOCTYPE project [ !ENTITY forrest-targets SYSTEM file:forrest-targets.ent ] project name=James default=main basedir=. snip/ property name=Name value=JAMES/ snip/ property name=lib.dir value=lib// snip/ path id=project.class.path pathelement path=${java.class.path} / fileset dir=${lib.dir} include name=*.jar / /fileset pathelement path=${target.classes} / /path snip/ check-targets; snip/ !-- Set up properties -- target name=setup-properties depends=setup-dependencies snip/ /target !-- defer to check-targets.ent for figuring out dependencies -- target name=check-dependencies depends=junit-check,log4j-check,logkit-check,jdk14-check/ !-- defer to check-targets.ent for downloading dependencies -- target name=import-dependencies depends=import-junit,import-log4j,import-logkit/ !-- Prepares the build directory -- target name=prepare depends=check-dependencies snip/ /target !-- Compiles the source code -- target name=compile depends=setup-properties,setup-dependencies,prepare description=compiles the source code mkdir dir=${target.classes}/ javac srcdir=${java.dir} destdir=${target.classes} debug=${debug} optimize=${optimize} deprecation=${deprecation} target=1.2 classpath refid=project.class.path / src path=${test.dir}/ exclude name=org/apache/avalon/framework/logger/LogKit*.java unless=logkit.present/ exclude name=org/apache/avalon/framework/logger/AvalonFormatter.java unless=logkit.present/ exclude name=org/apache/avalon/framework/logger/Log4JLogger.java unless=log4j.present/ exclude name=org/apache/avalon/framework/logger/AbstractLoggable.java unless=logkit.present/ exclude name=org/apache/avalon/framework/logger/Loggable.java unless=logkit.present/ exclude name=org/apache/avalon/framework/logger/Jdk14Logger.java unless=jdk14.present/ exclude name=org/apache/avalon/framework/logger/CommonsLogger.java unless=commons-logging.present/ /javac /target target name=test depends=compile,junit-check description=perform unit tests snip/ /target snip/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
SMTP Auth incompatibility (fix included)
Hello, I just discovered a small incompatibility between my eMail Client (Forte Agent), and James in the way they handle SMTP-AUTH. If James requires SMTP Authentication, he sends something like this at the start of an SMTP Session: 220 dualserver.buchseiten.com SMTP Server (JAMES SMTP Server 2.1.1a6) ready Sun, 9 Feb 2003 11:32:22 +0100 (CET) EHLO elias 250-dualserver.buchseiten.com Hello elias (192.168.0.112 [192.168.0.112]) 250 AUTH LOGIN PLAIN --- Now, as it turns out, Forte Agent would expect the 250 AUTH LOGIN PLAIN part of the EHLO Greeting in the Format 250 AUTH=LOGIN PLAIN (Note the equals sign). It simply does not try to authenticate if it receives the above, and then reports an error if it gets a response that authentification would have been required. I tried the same with a Postfix setup, and Postfix sends an EHLO greeting like this: 220 dualserver.buchseiten.com ESMTP Postfix (Debian/GNU) EHLO elias 250-dualserver.buchseiten.com 250-PIPELINING 250-SIZE 1024 250-VRFY 250-ETRN 250-AUTH GSSAPI CRAM-MD5 DIGEST-MD5 LOGIN PLAIN NTLM 250-AUTH=GSSAPI CRAM-MD5 DIGEST-MD5 LOGIN PLAIN NTLM 250-XVERP 250 8BITMIME AUTH LOGIN As you can see, there are 2 250-AUTH Statements - one without, and one with an equals sign. Forte Agent works perfectly well in conjuction with Postfix, so I guessed the missing equals sign was the problem. And actually, it was. I changed the following lines from org/apache/james/smtpserver/SMTPHandler.java in the methods doHELO() and doEHLO() (both contain partially the same code) --- original --- if (theConfigData.isAuthRequired()) { writeLoggedResponse(responseString); responseString = 250 AUTH LOGIN PLAIN; } fixed - if (theConfigData.isAuthRequired()) { writeLoggedResponse(responseString); responseString = 250-AUTH LOGIN PLAIN; writeLoggedResponse(responseString); responseString = 250 AUTH=LOGIN PLAIN; } After I rebuilt, it worked fine .. I don't know if other eMail Clients are affected by this, but Forte Agent definitely is. with best regards, Kai Londenberg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Critical bug in James 2.1 and 2.1.1
Hello, In the meantime I upgraded to James 2.1.1a6. In this version, the Exception did not occur. I guess this is due to the fact that JavaMail 1.3 along with a current activation.jar are used in this version. I've written a few Applications using JavaMail myself, and I've always had problems with JavaMail 1.2 - Version 1.3 is much more robust. I can only recommend to release 2.1.1 - Put in the latest bug fixes (note my SMTP Auth incompatibility report :)) and release it as a Milestone Release at least. When it comes to the MySQL Corruption, obviuously it wasn't James fault, since even when the Exception happened, it released every resource gracefully, and even finished the Insert. With the Exception being gone in 2.1.1a6, everything works fine - until I use MySQL Front to view the table, that is. As it turned out, somehow my MySQL Client seems to be responsible for the problem. It accessed the data, and it seems as if it wasn't able to cope with the stored data and locked up. So maybe there is a bug in the libraries it uses to access MySQL. PHPMyAdmin on the other hand is capable of dealing with the contents of the tables. Another coincidence seems to be that myisamchk reports errors on perfectly working tables, even on empty ones. I don't know why - maybe myisamchk doesn't know how to handle primary keys of varchar type, and/or spanning two columns. Or the Table structure is somehow working, but invalid. Maybe those of you who also use MySQL should try myisamchk on their own tables, and see if they get error-reports as well. The fact that I cannot reproduce your results notwithstanding, I have several observations. First, thank you for the report. Looking over the stack trace has given me ideas regarding optimizing future versions of James. We should be able to speed up performance of the message stores. In the meantime, I see what enables the potential problem, and I don't believe that we need to do it that way. We just want to stream the raw data (minus the headers) to the output stream. Will see if I can bypass that portion of JavaMail entirely. Should have a test build for that this weekend. By the way: I'd like to contribute to James as a developer. I am propably going to use James as the underlying Mail-Server in a Unified Messaging Portal. (See http://www.my-vwclub.de and http://www.zoomie.de - both in German) As an experienced Java developer, I guess that I'll go ahead and fix bugs and implement new features out of sheer necessity. And why shouldn't I contribute those additions back to the official James distribution ? What do I need to do to get CVS Access ? with best regards, Kai Londenberg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Critical bug in James 2.1 and 2.1.1
Kai, As an experienced Java developer, I guess that I'll go ahead and fix bugs and implement new features out of sheer necessity. And why shouldn't I contribute those additions back to the official James distribution ? No reason at all, we'd be glad to acceot any contributions. What do I need to do to get CVS Access ? First read this http://james.apache.org/contribute.html ... Now get involved, particiate in discussions, give people advice, but most importantly submit patches and code. The existing commiters will be watching you, and if we like what you're doing someone will propose you and we'll hold an election. d.
Re: cvs commit: jakarta-james build.xml
Thanks Leo! Leo Simons wrote: get http://cvs.apache.org/viewcvs.cgi/avalon/check-targets.ent http://cvs.apache.org/viewcvs.cgi/avalon/check-targets.properties put them in james cvs, modifying them to include additional information about the jars james needs (mostly very simple cut-n-paste). Then update the james build.xml to kinda macro-include check-targets.ent. Some info on that in check-targets.ent itself. Also see http://cvs.apache.org/viewcvs.cgi/avalon/build.xml.diff?r1=1.159r2=1.160diff_format=h where I implemented this for avalon. Notes: - it is cleaner and neater to move to maven :D - licenses currently fetched from the OSI site, the maven repo will get updated to have the licenses there, and the script should be too cheers, - Leo Pseudo-build-file to give more ideas: ?xml version=1.0? !DOCTYPE project [ !ENTITY forrest-targets SYSTEM file:forrest-targets.ent ] project name=James default=main basedir=. snip/ property name=Name value=JAMES/ snip/ property name=lib.dir value=lib// snip/ path id=project.class.path pathelement path=${java.class.path} / fileset dir=${lib.dir} include name=*.jar / /fileset pathelement path=${target.classes} / /path snip/ check-targets; snip/ !-- Set up properties -- target name=setup-properties depends=setup-dependencies snip/ /target !-- defer to check-targets.ent for figuring out dependencies -- target name=check-dependencies depends=junit-check,log4j-check,logkit-check,jdk14-check/ !-- defer to check-targets.ent for downloading dependencies -- target name=import-dependencies depends=import-junit,import-log4j,import-logkit/ !-- Prepares the build directory -- target name=prepare depends=check-dependencies snip/ /target !-- Compiles the source code -- target name=compile depends=setup-properties,setup-dependencies,prepare description=compiles the source code mkdir dir=${target.classes}/ javac srcdir=${java.dir} destdir=${target.classes} debug=${debug} optimize=${optimize} deprecation=${deprecation} target=1.2 classpath refid=project.class.path / src path=${test.dir}/ exclude name=org/apache/avalon/framework/logger/LogKit*.java unless=logkit.present/ exclude name=org/apache/avalon/framework/logger/AvalonFormatter.java unless=logkit.present/ exclude name=org/apache/avalon/framework/logger/Log4JLogger.java unless=log4j.present/ exclude name=org/apache/avalon/framework/logger/AbstractLoggable.java unless=logkit.present/ exclude name=org/apache/avalon/framework/logger/Loggable.java unless=logkit.present/ exclude name=org/apache/avalon/framework/logger/Jdk14Logger.java unless=jdk14.present/ exclude name=org/apache/avalon/framework/logger/CommonsLogger.java unless=commons-logging.present/ /javac /target target name=test depends=compile,junit-check description=perform unit tests snip/ /target snip/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Stephen J. McConnell mailto:[EMAIL PROTECTED] http://www.osm.net - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-james check-targets.properties check-targets.ent default.properties build.xml
mcconnell2003/02/09 06:49:06 Modified:.default.properties build.xml Added: .check-targets.properties check-targets.ent Log: Addition of autochecking of jars plus some property checking. Revision ChangesPath 1.2 +20 -20jakarta-james/default.properties Index: default.properties === RCS file: /home/cvs/jakarta-james/default.properties,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- default.properties9 Feb 2003 02:54:42 - 1.1 +++ default.properties9 Feb 2003 14:49:06 - 1.2 @@ -103,61 +103,61 @@ xerces.jar = ${lib.dir}/xerces-1.4.3.jar # - Avalon Framework - -avalon-framework.jar=${phoenix-lib}/avalon-framework-4.1.3.jar +avalon-framework.jar=${phoenix.lib.dir}/avalon-framework-4.1.3.jar # - Cornerstone threads, version 1.0 or later - -cornerstone-threads.jar=${candidates}/cornerstone-threads-1.0.jar +cornerstone-threads.jar=${candidates.dir}/cornerstone-threads-1.0.jar # - Cornerstone connection, version 1.0 or later - -cornerstone-connection.jar=${candidates}/cornerstone-connection-1.0.jar +cornerstone-connection.jar=${candidates.dir}/cornerstone-connection-1.0.jar # - Cornerstone masterstore, version 1.0 or later - -cornerstone-store.jar=${candidates}/cornerstone-store-1.0.jar +cornerstone-store.jar=${candidates.dir}/cornerstone-store-1.0.jar # - Cornerstone sockets, version 1.0 or later - -cornerstone-sockets.jar=${candidates}/cornerstone-sockets-1.0.jar +cornerstone-sockets.jar=${candidates.dir}/cornerstone-sockets-1.0.jar # - Cornerstone scheduler, version 1.0 or later - -cornerstone-scheduler.jar=${candidates}/cornerstone-scheduler-1.0.jar +cornerstone-scheduler.jar=${candidates.dir}/cornerstone-scheduler-1.0.jar # - Cornerstone scheduler, version 1.0 or later - -cornerstone-datasources.jar=${candidates}/cornerstone-datasources-1.0.jar +cornerstone-datasources.jar=${candidates.dir}/cornerstone-datasources-1.0.jar # - Excalibur collections, version 1.0 or later - -excalibur-collections.jar=${phoenix-lib}/excalibur-collections-1.0.jar +excalibur-collections.jar=${phoenix.lib.dir}/excalibur-collections-1.0.jar # - Excalibur threadcontext, version 1.0 or later - -excalibur-threadcontext.jar=${phoenix-lib}/excalibur-threadcontext-1.0.jar +excalibur-threadcontext.jar=${phoenix.lib.dir}/excalibur-threadcontext-1.0.jar # - Excalibur cli - -excalibur-cli.jar=${phoenix-lib}/excalibur-cli-1.0.jar +excalibur-cli.jar=${phoenix.lib.dir}/excalibur-cli-1.0.jar # - Excalibur thread, version 1.0 or later - -excalibur-thread.jar=${candidates}/excalibur-thread-1.1.jar +excalibur-thread.jar=${candidates.dir}/excalibur-thread-1.1.jar # - Excalibur pool - -excalibur-pool.jar=${candidates}/excalibur-pool-1.2.jar +excalibur-pool.jar=${candidates.dir}/excalibur-pool-1.2.jar # - Excalibur datasource - -excalibur-datasource.jar=${lib}/excalibur-datasource-1.0.jar +excalibur-datasource.jar=${lib.dir}/excalibur-datasource-1.0.jar # - Excalibur datasource - -excalibur-io.jar=${phoenix-lib}/excalibur-io-1.1.jar +excalibur-io.jar=${phoenix.lib.dir}/excalibur-io-1.1.jar # - Javax mail - -javax-mail.jar=${lib}/mail_1_3.jar +javax-mail.jar=${lib.dir}/mail_1_3.jar # - Activation - -javax-activation.jar=${lib}/activation.jar +javax-activation.jar=${lib.dir}/activation.jar # - DNS - -dns.jar=${lib}/dnsjava-1.3.2.jar +dns.jar=${lib.dir}/dnsjava-1.3.2.jar # - Commons Net - -commons-net.jar=${lib}/commons-net-1.0.0-dev.jar +commons-net.jar=${lib.dir}/commons-net-1.0.0-dev.jar # - Jakarta ORO - -jakarta-oro.jar=${lib}/jakarta-oro-2.0.1.jar +jakarta-oro.jar=${lib.dir}/jakarta-oro-2.0.1.jar # - Commons Collections - -commons-collections.jar=${candidates}/commons-collections-2.1.jar +commons-collections.jar=${candidates.dir}/commons-collections-2.1.jar 1.126 +14 -1 jakarta-james/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-james/build.xml,v retrieving revision 1.125 retrieving revision 1.126 diff -u -r1.125 -r1.126 --- build.xml 9 Feb 2003 03:41:15 - 1.125 +++ build.xml 9 Feb 2003 14:49:06 - 1.126 @@ -1,4 +1,8 @@ ?xml version=1.0? + !DOCTYPE project [ +!ENTITY check-targets SYSTEM file:check-targets.ent + ] + !-- == James build file $Revision$ Committed on $Date$ by: $Author$ @@ -63,9 +67,18 @@ /fileset
Re: cvs commit: jakarta-james build.xml
Noel J. Bergman wrote: There are libraries that we are likely to need to remove from the CVS, specifically, mail_1_3.jar and activation.jar. We are allowed to put them in the builds, but not in the CVS, apparently. What I have in mind is modifying .cvsignore and the Ant scripts so that if they are not present, the Ant script tells the user that they need to be downloaded, and from where. The .cvsignore will keep cvs from trying to put them back in the module. Noel: I've put in place Leo's script that puts up details of where to download javamail and activation. If you want to see it in action - just rename either of these resources in james/lib you will get the details of where to download and the license location. I havn't done the stuff related to .cvsignore - maybe we can get to that later (I think it's a good idea). Cheers, Steve. -- Stephen J. McConnell mailto:[EMAIL PROTECTED] http://www.osm.net - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-james build.xml
mcconnell2003/02/09 07:18:52 Modified:.build.xml Log: Enable dependency checking. Revision ChangesPath 1.127 +4 -3 jakarta-james/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-james/build.xml,v retrieving revision 1.126 retrieving revision 1.127 diff -u -r1.126 -r1.127 --- build.xml 9 Feb 2003 14:49:06 - 1.126 +++ build.xml 9 Feb 2003 15:18:52 - 1.127 @@ -77,8 +77,9 @@ Dependency Check === -- + check-targets; -target name=test depends=javamail-check,activation-check,junit-check/ +target name=check-dependencies depends=javamail-check,activation-check,junit-check/ !-- === @@ -93,7 +94,7 @@ all targets === -- -target name=prepare-common +target name=prepare-common depends=check-dependencies echo message=Preparing code/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-james/src/java/org/apache/james/smtpserver SMTPHandler.java
noel2003/02/09 09:33:25 Modified:src/java/org/apache/james/smtpserver Tag: branch_2_1_fcs SMTPHandler.java Log: Some SMTP clients require the '=' in 250 AUTH=LOGIN Revision ChangesPath No revision No revision 1.35.4.6 +8 -4 jakarta-james/src/java/org/apache/james/smtpserver/SMTPHandler.java Index: SMTPHandler.java === RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/smtpserver/SMTPHandler.java,v retrieving revision 1.35.4.5 retrieving revision 1.35.4.6 diff -u -r1.35.4.5 -r1.35.4.6 --- SMTPHandler.java 6 Feb 2003 21:06:02 - 1.35.4.5 +++ SMTPHandler.java 9 Feb 2003 17:33:25 - 1.35.4.6 @@ -604,10 +604,12 @@ responseString = clearResponseBuffer(); if (theConfigData.isAuthRequired()) { writeLoggedResponse(responseString); -responseString = 250 AUTH LOGIN PLAIN; +responseString = 250-AUTH LOGIN PLAIN; +writeLoggedResponse(responseString); +responseString = 250 AUTH=LOGIN PLAIN; } -} writeLoggedFlushedResponse(responseString); +} } /** @@ -648,7 +650,9 @@ responseString = clearResponseBuffer(); if (theConfigData.isAuthRequired()) { writeLoggedResponse(responseString); -responseString = 250 AUTH LOGIN PLAIN; +responseString = 250-AUTH LOGIN PLAIN; +writeLoggedResponse(responseString); +responseString = 250 AUTH=LOGIN PLAIN; } writeLoggedFlushedResponse(responseString); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Critical bug in James 2.1 and 2.1.1
Kai, It probably was the activation.jar, but I just made some changes to avoid rendering the content with data handlers unless we really must. The same changes should also address Danny's issue with volatile Message-ID. These changes are not in HEAD, yet, but will be in 2.1.1a7, which I'll be uploading shortly. Please test it to make sure that I haven't accidently introduced a regression. So far it looks good in my tests, but my tests do more in terms of load testing than functional verification. I'm not seeing problems with myisamchk, but I'll check again. We would be happy to have you contribute to James. Our plans for James v3 further expand it into a unified messaging server. You may have noticed comments regarding a Jabber service, for example, and both IMAP and NNTP need attention. CVS access for writes is earned (and voted upon). CVS access for reads is easy. I just posted a message with instructions, since the question has come up before. I'd thought I had sent that message on Thursday, but apparently it had still been pending. --- Noel -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Sunday, February 09, 2003 8:52 To: [EMAIL PROTECTED] Subject: RE: Critical bug in James 2.1 and 2.1.1 Hello, In the meantime I upgraded to James 2.1.1a6. In this version, the Exception did not occur. I guess this is due to the fact that JavaMail 1.3 along with a current activation.jar are used in this version. I've written a few Applications using JavaMail myself, and I've always had problems with JavaMail 1.2 - Version 1.3 is much more robust. I can only recommend to release 2.1.1 - Put in the latest bug fixes (note my SMTP Auth incompatibility report :)) and release it as a Milestone Release at least. When it comes to the MySQL Corruption, obviuously it wasn't James fault, since even when the Exception happened, it released every resource gracefully, and even finished the Insert. With the Exception being gone in 2.1.1a6, everything works fine - until I use MySQL Front to view the table, that is. As it turned out, somehow my MySQL Client seems to be responsible for the problem. It accessed the data, and it seems as if it wasn't able to cope with the stored data and locked up. So maybe there is a bug in the libraries it uses to access MySQL. PHPMyAdmin on the other hand is capable of dealing with the contents of the tables. Another coincidence seems to be that myisamchk reports errors on perfectly working tables, even on empty ones. I don't know why - maybe myisamchk doesn't know how to handle primary keys of varchar type, and/or spanning two columns. Or the Table structure is somehow working, but invalid. Maybe those of you who also use MySQL should try myisamchk on their own tables, and see if they get error-reports as well. The fact that I cannot reproduce your results notwithstanding, I have several observations. First, thank you for the report. Looking over the stack trace has given me ideas regarding optimizing future versions of James. We should be able to speed up performance of the message stores. In the meantime, I see what enables the potential problem, and I don't believe that we need to do it that way. We just want to stream the raw data (minus the headers) to the output stream. Will see if I can bypass that portion of JavaMail entirely. Should have a test build for that this weekend. By the way: I'd like to contribute to James as a developer. I am propably going to use James as the underlying Mail-Server in a Unified Messaging Portal. (See http://www.my-vwclub.de and http://www.zoomie.de - both in German) As an experienced Java developer, I guess that I'll go ahead and fix bugs and implement new features out of sheer necessity. And why shouldn't I contribute those additions back to the official James distribution ? What do I need to do to get CVS Access ? with best regards, Kai Londenberg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Message-ID bug
Jason (and Danny), We rely on the message-id being correct (i.e. the original message). Can you check to see if the current patch I submitted to the v2.1 branch works for you? --- Noel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Submitting a patch
- Original Message - From: Noel J. Bergman [EMAIL PROTECTED] If you are on linux, cvs is included in most distros. If you are on Windows, there are several good CVS GUIs. Would like to add that cvs is included in cygwin distribution. It is compatible with linux cvs and works very well. One can get cygwin from http://sources.redhat.com/cygwin/ It provides unix environment on windows and has other tools like patch, diff etc. Harmeet - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Third party jar dependency checking
Stephen and Leo, Thanks! :-) I'll update my copy of HEAD later today, and then try to backport the changes to the v2.1 branch, without changing the Avalon dependencies. After all of the Avalon jars are released, maybe we should look at updating the v2.1 branch, but not until after all of the necessary jars are in Release state. --- Noel -Original Message- From: Stephen McConnell [mailto:[EMAIL PROTECTED]] Sent: Sunday, February 09, 2003 9:56 To: James Developers List Subject: Re: cvs commit: jakarta-james build.xml Noel J. Bergman wrote: There are libraries that we are likely to need to remove from the CVS, specifically, mail_1_3.jar and activation.jar. We are allowed to put them in the builds, but not in the CVS, apparently. What I have in mind is modifying .cvsignore and the Ant scripts so that if they are not present, the Ant script tells the user that they need to be downloaded, and from where. The .cvsignore will keep cvs from trying to put them back in the module. Noel: I've put in place Leo's script that puts up details of where to download javamail and activation. If you want to see it in action - just rename either of these resources in james/lib you will get the details of where to download and the license location. I havn't done the stuff related to .cvsignore - maybe we can get to that later (I think it's a good idea). Cheers, Steve. -- Stephen J. McConnell mailto:[EMAIL PROTECTED] http://www.osm.net - 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]
cvs commit: jakarta-james/www changelog.html weare.html
noel2003/02/09 11:21:31 Modified:www changelog.html weare.html Log: updated changes, added Kai Londenberg to list of contributors Revision ChangesPath 1.16 +6 -0 jakarta-james/www/changelog.html Index: changelog.html === RCS file: /home/cvs/jakarta-james/www/changelog.html,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- changelog.html6 Feb 2003 06:19:26 - 1.15 +++ changelog.html9 Feb 2003 19:21:30 - 1.16 @@ -174,6 +174,12 @@ pExpected release February 2003/p +li [KL] (code) SMTP AUTH compatibility change/li + +li [NjB] (code) Changed MimeMessageWrapper to use the raw stream when possible/li + +li [NjB] (code) Fixed synchronization bug in AvalonMailRepository/li + li [NjB] (update) Updated Avalon LogKit/li li [NjB] (code) Infinite loops are interruptable/li 1.16 +4 -0 jakarta-james/www/weare.html Index: weare.html === RCS file: /home/cvs/jakarta-james/www/weare.html,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- weare.html6 Feb 2003 06:19:26 - 1.15 +++ weare.html9 Feb 2003 19:21:31 - 1.16 @@ -292,6 +292,10 @@ bSerge Sergei Sozonoff (serge at globalbeach.com) (SS4)/b /p +p +bKai Londenberg (kai.londenberg at my-vwclub.de) [KL]/b +/p + /blockquote /td /tr - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-james/src/xdocs changelog.xml weare.xml
noel2003/02/09 11:26:05 Modified:src/xdocs changelog.xml weare.xml Log: updated changes, added Kai Londenberg and Stephen McConnell to contributors Revision ChangesPath 1.16 +3 -0 jakarta-james/src/xdocs/changelog.xml Index: changelog.xml === RCS file: /home/cvs/jakarta-james/src/xdocs/changelog.xml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- changelog.xml 6 Feb 2003 06:14:29 - 1.15 +++ changelog.xml 9 Feb 2003 19:26:05 - 1.16 @@ -20,6 +20,9 @@ section name=Version 2.1.1 pExpected release February 2003/p +li [KL] (code) SMTP AUTH compatibility change/li +li [NjB] (code) Changed MimeMessageWrapper to use the raw stream when possible/li +li [NjB] (code) Fixed synchronization bug in AvalonMailRepository/li li [NjB] (update) Updated Avalon LogKit/li li [NjB] (code) Infinite loops are interruptable/li li [HB, NjB] (code) Fixed NNTP crossposting/li 1.14 +3 -2 jakarta-james/src/xdocs/weare.xml Index: weare.xml === RCS file: /home/cvs/jakarta-james/src/xdocs/weare.xml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- weare.xml 28 Jan 2003 21:06:56 - 1.13 +++ weare.xml 9 Feb 2003 19:26:05 - 1.14 @@ -4,8 +4,7 @@ properties titleWho We Are/title - author email=[EMAIL PROTECTED]Danny Angus/author - author email=[EMAIL PROTECTED]Serge Knystautas/author + author email=[EMAIL PROTECTED]James Team/author /properties body @@ -23,6 +22,7 @@ pbDanny Angus (danny at autonomous.co.uk) (DA)/bbr/ Danny is CTO of a href=http://www.autonomous.co.uk;Autonomous Software Ltd./a where I try not to get too distracted by open source projects./p pbPeter M. Goldstein (farsight at alum.mit.edu) (PG)/b/p pbNoel J. Bergman (noel at devtech.com) (NjB)/b/p +pbStephen J. McConnell (mcconnell at apache.org) (SJM)/b/p /section section name=Other Contributors @@ -46,6 +46,7 @@ pbSteve Short (sshort at postx.com) (SS3)/b/p pbAaron Knauf (aknauf at xtra.co.nz) (AK)/b/p pbSerge Sergei Sozonoff (serge at globalbeach.com) (SS4)/b/p +pbKai Londenberg (kai.londenberg at my-vwclub.de) [KL]/b/p /section /body - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-james/www weare.html
noel2003/02/09 11:27:27 Modified:www weare.html Log: Added Stephen McConnell to Committers Revision ChangesPath 1.17 +6 -4 jakarta-james/www/weare.html Index: weare.html === RCS file: /home/cvs/jakarta-james/www/weare.html,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- weare.html9 Feb 2003 19:21:31 - 1.16 +++ weare.html9 Feb 2003 19:27:27 - 1.17 @@ -2,10 +2,8 @@ head META http-equiv=Content-Type content=text/html; charset=iso-8859-1 titleApache James - Who We Are - Java Mail and News server, SMTP POP3 NNTP/title -meta value=Danny Angus name=author -meta value=[EMAIL PROTECTED] name=email -meta value=Serge Knystautas name=author -meta value=[EMAIL PROTECTED] name=email +meta value=James Team name=author +meta value=[EMAIL PROTECTED] name=email meta content=mail,email,news,SMTP,POP3,NNTP,IMAP,MAILET,JAVA,WINDOWS,LINUX,server,Windows,2k,NT,98,ME,XP,Linux. name=keywords meta content=Free (Open Source) Java mail server (mailserver) from Apache. Providing SMTP POP3 IMAP and News NNTP runs on Microsoft Windows 2k,NT,98,ME,XP, and most flavours of Linux. name=description meta content=ALL name=ROBOTS @@ -198,6 +196,10 @@ p bNoel J. Bergman (noel at devtech.com) (NjB)/b +/p + +p +bStephen J. McConnell (mcconnell at apache.org) (SJM)/b /p /blockquote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-james/src/xdocs changelog.xml weare.xml
noel2003/02/09 11:28:40 Modified:src/xdocs Tag: branch_2_1_fcs changelog.xml weare.xml Log: updated changes, added Kai Londenberg and Stephen McConnell to contributors Revision ChangesPath No revision No revision 1.11.4.4 +3 -0 jakarta-james/src/xdocs/changelog.xml Index: changelog.xml === RCS file: /home/cvs/jakarta-james/src/xdocs/changelog.xml,v retrieving revision 1.11.4.3 retrieving revision 1.11.4.4 diff -u -r1.11.4.3 -r1.11.4.4 --- changelog.xml 6 Feb 2003 06:14:44 - 1.11.4.3 +++ changelog.xml 9 Feb 2003 19:28:40 - 1.11.4.4 @@ -13,6 +13,9 @@ /p section name=Version 2.1.1 pExpected release February 2003/p +li [KL] (code) SMTP AUTH compatibility change/li +li [NjB] (code) Changed MimeMessageWrapper to use the raw stream when possible/li +li [NjB] (code) Fixed synchronization bug in AvalonMailRepository/li li [NjB] (update) Updated Avalon LogKit/li li [NjB] (code) Infinite loops are interruptable/li li [HB, NjB] (code) Fixed NNTP crossposting/li 1.12.4.2 +3 -2 jakarta-james/src/xdocs/weare.xml Index: weare.xml === RCS file: /home/cvs/jakarta-james/src/xdocs/weare.xml,v retrieving revision 1.12.4.1 retrieving revision 1.12.4.2 diff -u -r1.12.4.1 -r1.12.4.2 --- weare.xml 30 Jan 2003 04:26:50 - 1.12.4.1 +++ weare.xml 9 Feb 2003 19:28:40 - 1.12.4.2 @@ -4,8 +4,7 @@ properties titleWho We Are/title - author email=[EMAIL PROTECTED]Danny Angus/author - author email=[EMAIL PROTECTED]Serge Knystautas/author + author email=[EMAIL PROTECTED]James Team/author /properties body @@ -23,6 +22,7 @@ pbDanny Angus (danny at autonomous.co.uk) (DA)/bbr/ Danny is CTO of a href=http://www.autonomous.co.uk;Autonomous Software Ltd./a where I try not to get too distracted by open source projects./p pbPeter M. Goldstein (farsight at alum.mit.edu) (PG)/b/p pbNoel J. Bergman (noel at devtech.com) (NjB)/b/p +pbStephen J. McConnell (mcconnell at apache.org) (SJM)/b/p /section section name=Other Contributors @@ -46,6 +46,7 @@ pbSteve Short (sshort at postx.com) (SS3)/b/p pbAaron Knauf (aknauf at xtra.co.nz) (AK)/b/p pbSerge Sergei Sozonoff (serge at globalbeach.com) (SS4)/b/p +pbKai Londenberg (kai.londenberg at my-vwclub.de) [KL]/b/p /section /body - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-james/src/java/org/apache/james/core MimeMessageWrapper.java
noel2003/02/09 11:29:54 Modified:src/java/org/apache/james/core Tag: branch_2_1_fcs MimeMessageWrapper.java Log: removed tabs Revision ChangesPath No revision No revision 1.17.4.4 +4 -4 jakarta-james/src/java/org/apache/james/core/MimeMessageWrapper.java Index: MimeMessageWrapper.java === RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/core/MimeMessageWrapper.java,v retrieving revision 1.17.4.3 retrieving revision 1.17.4.4 diff -u -r1.17.4.3 -r1.17.4.4 --- MimeMessageWrapper.java 9 Feb 2003 06:54:16 - 1.17.4.3 +++ MimeMessageWrapper.java 9 Feb 2003 19:29:54 - 1.17.4.4 @@ -262,9 +262,9 @@ MimeMessageWrapper wrapper = (MimeMessageWrapper)message; wrapper.writeTo(headerOs, bodyOs, ignoreList); } else { - if(message.getMessageID() == null) { - message.saveChanges(); - } +if(message.getMessageID() == null) { +message.saveChanges(); +} //Write the headers (minus ignored ones) Enumeration headers = message.getNonMatchingHeaderLines(ignoreList); @@ -920,7 +920,7 @@ if (message == null) { loadMessage(); } - modified = true; +modified = true; message.saveChanges(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
CIDr Addition
Just read the Submit Patch post and understand that - have winCVS and am gettting aquainted with it ... I am adding two new classes and patching two others heavily. The attached files are my contribution to James for the CIDR process we spoke of earlier. It compiles and runs - I will be testing this more later on this afternoon, but in the meantime, I thought I would pass them off for review. I can diff the RemoteAddressInNetwork and RemortAddressNotInNetwork and pass those in as patches, but without the other two classes, they are meaningless. Thanks for your time ... Alan - Message Forwarded on 2003-02-09 - From: alan.gerhard [EMAIL PROTECTED] To: James Users List [EMAIL PROTECTED] Subject: RE: CIDR Notation Date: Sun, 02 Feb 2003 03:00:52 -0500 Noel - You are suggesting to create a apache.mailet.GenericAddressMatcher abstract that folds most of the 'common' code of the RemoteAddrInNetwork and RemoteAddrNotInNetwork classes - similar to the GenericRecipientMatcher abstract .. Okay - I'll have a good at it; see what I can come up with. Alan, I don't believe that you are missing something. It isn't an oversight, just nothing that anyone got around to. When I first picked up the code, it didn't accept domain names, either. I think I have some code for CIDR around here somewhere, but never finished adding it to those matchers. Actually, if you're going to do it, I suggest that you take those matchers, factor out most of the code into GenericAddressMatcher, and then subclass them for the specific behavior. That'll make it easier to enhance them in the future. --- Noel /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.james.util; import java.net.InetAddress; import java.net.UnknownHostException; import java.math.BigInteger; import java.util.StringTokenizer; /** * RFC 1518, 1519 - Classless Inter-Domain Routing (CIDR) * Known as 'Slash Notation' where an IP address range is described as * IPADDRESS / SUBMASK = * 60.182.194.0/24 = * a Class C = * 60.182.194.0 - 60.182.194.255 * * Simple class used to validate and check a given IP addresses against * the allowed range as described above * * As of 2003-02-08 System.out.println() needs to be either piped back to caller * or switched with DEEP_DEBUG boolean; currently, with error, output is sent to the console * * @author Alan Gerhard[EMAIL PROTECTED] * @version This is $Revision: 5 $ */ public class CIDR { /** * Stirng constants based on the expected characters as defined for the CIDR Notation */ private String SLASH = /; private String DOT = .; /** * Method to check whether or not the given InetAddress object falls within * the sub-net as described by the given CIDR String. * @param pInetObj - an InetAddress object to be tesed * @paran pCIDR - a String representation of a CIDR subnet definition * @param pValidate - boolean specifying weather to validate the CIDR or not * @return ( addressInSubnet(pInetObj.getHostAddress(), pCIDR, pValidate) ) */ public boolean addressInSubnet ( InetAddress pInetObj, String pCIDR, boolean pValidate ) { return( addressInSubnet ( pInetObj.getHostAddress(), pCIDR, pValidate) ); } // EoM /** * Method to check whether or not the given string IP Address ( 127.0.0.1 ) falls within * the sub-net as described by the given CIDR String. * @param pInetObj - a String representation of a valid IP address to be tesed * @paran pCIDR - a String representation of a CIDR subnet definition * @param pValidate - boolean specifying weather to validate the CIDR or not * @return true if pIPAddr is within the subnet as defined by pCIDR */ public boolean addressInSubnet ( String pIPAddr, String pCIDR, boolean pValidate ) { if (pValidate ) { if ( !validCIDR(pCIDR) ) { System.out.println(CIDR [ + pCIDR + ] is not valid); return (false); } } BigInteger theMask = new BigInteger ( mkBinaryMask(pCIDR),2 ); BigInteger testIPAddress = new BigInteger (mkBinaryAddress(pIPAddr).substring(0,mkBinaryMask(pCIDR).length()), 2 ); BigInteger theCIDR = new BigInteger (mkBinaryAddress(pCIDR.substring(0, pCIDR.indexOf(SLASH))).substring(0,mkBinaryMask(pCIDR).length()), 2 ); return (testIPAddress.and(theMask).equals(theCIDR)); } // EoM /** validCIDR will check the given CIDR string aginst it's defined mask such that * the given IPAddress MASK shall equal 0 * BRexample: * BR 255.255.255.16/28 256.256.132.0/11 * BR
Tarpitting/Firewalling Spammers
Hello, I'd just like to know if James somehow supports a feature often called Tarpitting, or if someone is working on such support. It simply works this way: If a given host produces too many (x) errors in a given timespan (t), that host will not be allowed to connect to the SMTP Server at all for a given timespan (usually 20 minutes or so). With the SMTP Server I currently use at work (Merak Mailserver), this seems to be the only feature which really works to keep consistent spammers from using up system, and bandwidth resources. It can also stop brute-force SMTP-AUTH breaking attempts, or simple DoS Attacks where the wannabe-hacker reconnects very fast, or simultaneously. If that feature isn't available, I'll try to implement it myself. What do you think would be the best approach ? There could be a mailet in the error and/or spam processors, which logs errors, and puts spammers on a blacklist, and possibly even execute some command to put them on a (dynamic) firewall blacklist. A TimerTask could then be responsible for removing entries from the internal and firewall blacklists. Is there already a Timer class in the framework to register TimerTasks with ? No need to create another Thread if there is one for such purposes already. Which class would have to be modified to drop connection attempts from blacklisted hosts ? with best regards, Kai Londenberg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tarpitting/Firewalling Spammers
- Original Message - From: [EMAIL PROTECTED] I'd just like to know if James somehow supports a feature often called Tarpitting, or if someone is working on such support. .. If that feature isn't available, I'll try to implement it myself. This feature isn't available yet. Hopefully soon going by your last patch. :-) What do you think would be the best approach ? It may be a good idea to collect statistics at mailet level and override connection listener to implement blocking logic based on a statisitics collection. Statistics Collector could be in memory or persistent based on if you want single or multiple instances of mail server or if you want another process monitor stats and trigger blocking logic in firewall. Take a look at server-sockets in 'Socket Manager Block' in config.xml. It will point you to the class and abstractions. Is there already a Timer class in the framework to register TimerTasks with ? There is time scheduler block used by POP3 Mail Fetcher and watchdog abstraction used by protocol handlers, but if you want to block connections from an aggressive client, a statistical feedback from mailet could be sufficient. Harmeet - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tarpitting/Firewalling Spammers
Hello It simply works this way: If a given host produces too many (x) errors in a given timespan (t), that host will not be allowed to connect to the SMTP Server at all for a given timespan (usually 20 minutes or so). Thinking a little bit more about it, it would also make sense to keep track of successfully delivered mails, so that the tarpitting code does not put large mailservers or mailing lists on a blacklist which just happen to send 1000 Mails within 2 minutes and a 2% failure rate to a given server. What do you think ? Kai Londenberg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Virtual Hosts, Database Structure and IMAP-Folders
Hello, There are a few other points in James I wanted to comment upon. I don't know exactly what your plans for changes are, but these are some ideas that came to my mind. Sure, this is nothing for an 2.1.1 release, but nevertheless .. I've read about the way James supports Virtual Hosting so far. One question came to my mind: Why do users need to have a unique name ? You could just request that they have a unique username / password hash combination. Another thing that left me wondering was the database format. As far as I know, it's not very efficient to have non-numerical primary keys. Give each user an unique numerical primary key, and create another table which just maps eMail Adresses to user-ids. And at once, you have a very flexible and fast database structure which would support virtual hosting, multiple eMail Addresses per user and so on. Of course another table with local domains would help a lot as well. In that table I'd have at least 3 fields: domain-ID (numerical, primary key) domain-Name (varchar) catch-all-user (numerical reference) Also I'd possibly include the user id for domain-administrator users. Of course I do not know about the file based repositories, but from a database perspective that's how I'd do it. In the inbox table, I'd give every message a unique numerical id, and associate it with the recipients user-id. Also I'd add another field specifying the name of the folder (POP3 could just ignore that, but for IMAP this is just as well a neccessity as the numerical ID). To make it even more scalable I'd add another table with folders, associating unique folder-ids with folder names, parent folders and user-ids. I guess this would require writing an alternative JDBC Repository, but it would make virtual hosting and IMAP much easier, and could improve the performance and scalability for larger systems a lot. Some more ideas: Add a size-field to every message. Add message count/mailbox size as well as quota fields to every user. Add a timestamp to every received message to be able to filter by date. (Like delete all mails older than XX days or show all mails from 3 to 10 january). Add an extension-header field to messages in the db, so they can be marked somehow. (You could for example give them spam-levels from statistical analysis, or mark them as likely containing a virus, or as having been modified by a virus scanner/filter) For powerful search capabilities, add full-text indices to the message-bodies, so they can be searched (using text fields instead of blob in MySQL). I hope this wasn't too chaotic. It's late :) bye, Kai Londenberg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tarpitting/Firewalling Spammers
Kai, No, James doesn't support tarpitting. There are some plans to add a generic filter package to James v3, which would bridge between the Mailet API and the handlers for purposes of providing a means to short circuit or otherwise control a connection. If you search the archives, you ought to find discussion on the subject, as it comes up from time to time. I would only use the Mailets / Matchers to educate the filter. The implementation of the package would have access to Avalon services that we don't expose to Matchers and Mailets, such as a Scheduler. The SMTO handler changes to accommodate this, and there are some issues related to RFC compliance. Again, there should be discussion of this in the archives. Someone has already been working on this, so let me find out the status before you invest effort in it. --- Noel P.S. Someone had also been working on a metrics package a while back, which perhaps might be resurrected in some form or another. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Virtual Hosts, Database Structure and IMAP-Folders
Kai, You have a lot of reading to do in the archives. :-) Your comments are based upon James v2 repositories, and we're looking at replacing the user repositories with JNDI, and using JavaMail interfaces for stores in James v3. And, yes, we'll have to implement optimized service providers, as well as support the current formats. Virtual hosting is something that still needs to be resolved, but it ought to be in the context of the rest of what we're doing. Why do users need to have a unique name ? You could just request that they have a unique username / password hash combination. When e-mail comes in we need a unique mailbox. We don't need have their password; we need a unique SMTP - mailbox mapping. And what if two people with the same name chose the same password? What do you do if someone loses their password? You want a unique mailbox ID, although it does not have to be their e-mail name. Give each user an unique numerical primary key, and create another table which just maps eMail Adresses to user-ids. You might want to look at the JDBCVirtualUserTable mailet. Does that and more, except we don't need a nuberical key. Non-numerical primary keys aren't actually that bad, and we don't do much more than a straight lookup. If we were doing a lot of database manipulation, I would agree with you. FWIW, I'm hoping that in James v3 we will include hsqldb, so that we can always assume the presence of a database, although there is a need to allow some things to be in the file system if user want to configure it that way. --- Noel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[PATCH] xdocs
in documentation_2_1.xml, insert after line 51 lia href=dns_configuration_2_1.htmlDNS Server Configuration/a/li Also, add the attached to ..\src\xdocs\dns_configuration_2_1.xml ___ thanks, alan ?xml version=1.0? document properties titleJames 2.1 - Configuring DNS Services/title /properties body section name=DNS Configuration pDNS Transport services are controlled by a configuration block in the config.xml. This block affects SMTP remote delivery./p pThe dnsserver tag defines the boundaries of the configuration block. It encloses all the relevant configuration for the DNS server. The behavior of the DNS service is controlled by the attributes and children of this tag./p pThe standard children of the dnsserver tag are:/p ul listrongservers/strong - This is a list of DNS Servers to be used by James and are specified by one, or more strongiserver/i/strong elements, which are child elements. Each server element is the IP address of a single DNS server. plt;serversgt;/p pnbsp;lt;servergt;127.0.0.1lt;/servergt;/p pnbsp;lt;serverv166.181.194.205lt;/servergt;/p plt;/serversgt;/p /li listrongauthoritative/strong - (strongtrue/false/strong)This tag specifies whether or not to require authoritative (non-cached) DNS records; to only accept DNS responses that are authoritative for the domain. It is primarily useful in an intranet/extranet environment. pThis should always be strongfalse/strong unless you understand the implications. /li /ul /section /body /document - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Phoenix updates complete
Stephen, Would you please recheck? I cannot do a build of HEAD. I have done both a cvs update -Pd, and finally deleted both lib/ and phoenix-bin/ just to be sure. For one thing, I don't see some of the updated excalibur jars, and I do see old ones. --- Noel -Original Message- From: Stephen McConnell [mailto:[EMAIL PROTECTED]] Sent: Saturday, February 08, 2003 22:18 To: James Developers List Subject: Phoenix updates complete Hi everyone: Have just updated the buildfile with some changes to the prepare-phoenix task. These changes include the following: 1. ensures that excalibur-thread-1.1 is placed in the phoenix/lib directory instead of the 1.0 version 2. ensures that ecalibur-pool-1.2 is placed in the phoenix/lib directory (required by thread 1.1) instead of 1.0 3. adds the commons-collections-2.1 jar to phoenix/lib (required by pool 2.1) The changes to thread 1.0 - 1.1 include the bug fix concernign the max pool parameter. The 1.1 version introduces the dependency on pool 1.2 which in turn has been recently updated with the replacement of the depricated excalibur-collections with commons-collections library. All of the above are on the Avalon Considated Release schedule so we should be able to lock onto released content reasonably soon. I've tested all of the above and everything is working fine. I also updated the formatting in the buildfile to make it easier to read and shifted property declarations into default.properties (hope that's ok). Based on these changes - the build file I was using is now redundant (james.xml and james.properties), however, I suggest we leave it there until I've cleaned up the test build file. Cheers, Steve. -- Stephen J. McConnell mailto:[EMAIL PROTECTED] http://www.osm.net - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: CIDr Addition
Alan, Thanks. I did a little bit of cleanup work on it, but I haven't compiled the changes, yet (birthing pains in HEAD). Still, I thought that you might want to look over what I did, finish any cleanup (like with the docs), and do some testing. --- Noel -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Sunday, February 09, 2003 16:17 To: James Developers List Subject: CIDr Addition Just read the Submit Patch post and understand that - have winCVS and am gettting aquainted with it ... I am adding two new classes and patching two others heavily. The attached files are my contribution to James for the CIDR process we spoke of earlier. It compiles and runs - I will be testing this more later on this afternoon, but in the meantime, I thought I would pass them off for review. I can diff the RemoteAddressInNetwork and RemortAddressNotInNetwork and pass those in as patches, but without the other two classes, they are meaningless. Thanks for your time ... Alan - Message Forwarded on 2003-02-09 - From: alan.gerhard [EMAIL PROTECTED] To: James Users List [EMAIL PROTECTED] Subject: RE: CIDR Notation Date: Sun, 02 Feb 2003 03:00:52 -0500 Noel - You are suggesting to create a apache.mailet.GenericAddressMatcher abstract that folds most of the 'common' code of the RemoteAddrInNetwork and RemoteAddrNotInNetwork classes - similar to the GenericRecipientMatcher abstract .. Okay - I'll have a good at it; see what I can come up with. Alan, I don't believe that you are missing something. It isn't an oversight, just nothing that anyone got around to. When I first picked up the code, it didn't accept domain names, either. I think I have some code for CIDR around here somewhere, but never finished adding it to those matchers. Actually, if you're going to do it, I suggest that you take those matchers, factor out most of the code into GenericAddressMatcher, and then subclass them for the specific behavior. That'll make it easier to enhance them in the future. --- Noel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: CIDr Addition
Alan, [Resending. Weird, but it looks like the attachments were stripped.] Thanks. I did a little bit of cleanup work on it, but I haven't compiled the changes, yet (birthing pains in HEAD). Still, I thought that you might want to look over what I did, finish any cleanup (like with the docs), and do some testing. --- Noel -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Sunday, February 09, 2003 16:17 To: James Developers List Subject: CIDr Addition Just read the Submit Patch post and understand that - have winCVS and am gettting aquainted with it ... I am adding two new classes and patching two others heavily. The attached files are my contribution to James for the CIDR process we spoke of earlier. It compiles and runs - I will be testing this more later on this afternoon, but in the meantime, I thought I would pass them off for review. I can diff the RemoteAddressInNetwork and RemortAddressNotInNetwork and pass those in as patches, but without the other two classes, they are meaningless. Thanks for your time ... Alan - Message Forwarded on 2003-02-09 - From: alan.gerhard [EMAIL PROTECTED] To: James Users List [EMAIL PROTECTED] Subject: RE: CIDR Notation Date: Sun, 02 Feb 2003 03:00:52 -0500 Noel - You are suggesting to create a apache.mailet.GenericAddressMatcher abstract that folds most of the 'common' code of the RemoteAddrInNetwork and RemoteAddrNotInNetwork classes - similar to the GenericRecipientMatcher abstract .. Okay - I'll have a good at it; see what I can come up with. Alan, I don't believe that you are missing something. It isn't an oversight, just nothing that anyone got around to. When I first picked up the code, it didn't accept domain names, either. I think I have some code for CIDR around here somewhere, but never finished adding it to those matchers. Actually, if you're going to do it, I suggest that you take those matchers, factor out most of the code into GenericAddressMatcher, and then subclass them for the specific behavior. That'll make it easier to enhance them in the future. --- Noel Network.zip Description: Zip compressed data - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]