Author: bago Date: Mon Aug 8 10:43:28 2005 New Revision: 230821 URL: http://svn.apache.org/viewcvs?rev=230821&view=rev Log: Upgrade to dnsjava 2.0.0 (JAMES-388) Add derby support (JAMES-390) Invert "precompilation" logic for jdbc3 (JAMES-389) Move "candidates" libraries to the official lib / remove unused libraries (JAMES-391) Also updated some old build.xml jar reference and removed unused rows from include.properties (e.g: xerces, commons-net)
Added: james/server/trunk/lib/commons-collections-2.1.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/commons-collections-2.1.jar james/server/trunk/lib/cornerstone-connection-api-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-connection-api-1.0.jar james/server/trunk/lib/cornerstone-connection-impl-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-connection-impl-1.0.jar james/server/trunk/lib/cornerstone-datasources-api-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-datasources-api-1.0.jar james/server/trunk/lib/cornerstone-datasources-impl-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-datasources-impl-1.0.jar james/server/trunk/lib/cornerstone-scheduler-api-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-scheduler-api-1.0.jar james/server/trunk/lib/cornerstone-scheduler-impl-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-scheduler-impl-1.0.jar james/server/trunk/lib/cornerstone-sockets-api-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-sockets-api-1.0.jar james/server/trunk/lib/cornerstone-sockets-impl-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-sockets-impl-1.0.jar james/server/trunk/lib/cornerstone-store-api-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-store-api-1.0.jar james/server/trunk/lib/cornerstone-store-impl-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-store-impl-1.0.jar james/server/trunk/lib/cornerstone-threads-api-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-threads-api-1.0.jar james/server/trunk/lib/cornerstone-threads-impl-1.0.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/cornerstone-threads-impl-1.0.jar james/server/trunk/lib/derby.jar (with props) james/server/trunk/lib/derbytools.jar (with props) james/server/trunk/lib/dnsjava-2.0.0.jar (with props) james/server/trunk/lib/dnsjava.LICENSE james/server/trunk/lib/excalibur-io-1.1.jar (with props) james/server/trunk/lib/excalibur-pool-1.2.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/excalibur-pool-1.2.jar james/server/trunk/lib/excalibur-thread-1.1.1.jar - copied unchanged from r230548, james/server/trunk/lib/candidates/excalibur-thread-1.1.1.jar Removed: james/server/trunk/lib/.cvsignore james/server/trunk/lib/commons-net-1.0.0-dev.jar james/server/trunk/lib/dnsjava-1.6.2.jar james/server/trunk/lib/junit-3.7.jar Modified: james/server/trunk/build.xml james/server/trunk/include.properties james/server/trunk/lib/ (props changed) james/server/trunk/lib/readme.xml james/server/trunk/src/conf/sqlResources.xml james/server/trunk/src/java/org/apache/james/util/mordred/PoolConnEntry.java Modified: james/server/trunk/build.xml URL: http://svn.apache.org/viewcvs/james/server/trunk/build.xml?rev=230821&r1=230820&r2=230821&view=diff ============================================================================== --- james/server/trunk/build.xml (original) +++ james/server/trunk/build.xml Mon Aug 8 10:43:28 2005 @@ -68,14 +68,11 @@ <path id="project.class.path"> <pathelement location="${dns.jar}"/> - <pathelement location="${commons-net.jar}"/> <pathelement location="${commons-collections.jar}"/> <pathelement location="${commons-dbcp.jar}"/> <pathelement location="${commons-pool.jar}"/> <pathelement location="${jakarta-oro.jar}"/> <pathelement location="${avalon-framework.jar}"/> - <pathelement location="${excalibur-threadcontext.jar}"/> - <pathelement location="${excalibur-collections.jar}"/> <pathelement location="${excalibur-pool.jar}"/> <pathelement location="${excalibur-thread.jar}"/> <pathelement location="${excalibur-datasource.jar}"/> @@ -99,9 +96,7 @@ <fileset dir="${tools.lib.dir}"> <include name="*.jar"/> </fileset> - <fileset dir="${phoenix.lib.dir}"> - <include name="*.jar"/> - </fileset> + <pathelement location="${phoenix-client.jar}"/> </path> <taskdef name="phoenix-mxinfo" classname="org.apache.avalon.phoenix.tools.xdoclet.PhoenixXDoclet"> @@ -190,16 +185,13 @@ <copy todir="${dist.dir}"> <fileset dir="${phoenix.dir}"> <exclude name="CVS/**"/> - <!-- exclude the thread and pool jars and use the candidate releases instead --> - <exclude name="**/excalibur-thread-1.0.jar"/> - <exclude name="**/excalibur-pool-1.0.jar"/> </fileset> </copy> <copy todir="${dist.dir}/lib" flatten="true"> <fileset dir="${candidates.dir}"> <exclude name="CVS/**"/> - <include name="excalibur-thread-1.1.jar"/> + <include name="excalibur-thread-1.1.1.jar"/> <include name="**/excalibur-pool-1.2.jar"/> <include name="**/commons-collections-2.1.jar"/> </fileset> @@ -249,10 +241,10 @@ jdbc3 =================================================================== --> - <target name="prepare-jdbc3" depends="prepare-common" if="jdbc3.present"> - <echo message="JDBC v3 in classpath - making code JDBC 3.0 compliant"/> - <replace file="${build.src}/${poolconn.file}" token="/* JDBC_3_ANT_KEY" value=""/> - <replace file="${build.src}/${poolconn.file}" token="JDBC_3_ANT_KEY */" value=""/> + <target name="prepare-jdbc3" depends="prepare-common" unless="jdbc3.present"> + <echo message="JDBC v3 not in classpath - making code compliant with older JDBC"/> + <replace file="${build.src}/${poolconn.file}" token="/*-- JDBC_3_ANT_KEY */" value="/* JDBC_3_ANT_KEY"/> + <replace file="${build.src}/${poolconn.file}" token="/* JDBC_3_ANT_KEY --*/" value="JDBC_3_ANT_KEY */"/> </target> <!-- @@ -486,24 +478,26 @@ <include name="mailet-${mailet-version}.jar"/> <include name="james-${version}.jar"/> </lib> - <lib dir="lib"> - <include name="dnsjava-1.6.2.jar"/> + <lib dir="${lib.dir}"> + <include name="dnsjava-2.0.0.jar"/> <include name="jakarta-oro-2.0.8.jar"/> + <include name="derby.jar"/> + <include name="derbytools.jar"/> <include name="mm.mysql-2.0.14.jar"/> <include name="mm.mysql.LICENCE"/> - <include name="avalon-framework-4.1.3.jar"/> + <include name="avalon-framework-4.1.4.jar"/> <!--<include name="cornerstone.jar"/>--> <include name="excalibur-datasource-1.0.jar"/> <include name="activation.jar"/> <include name="mail-1.3.2.jar"/> - <include name="commons-net-1.0.0-dev.jar"/> + <!--include name="commons-net-1.0.0-dev.jar"/--> <include name="commons-dbcp-1.2.1.jar"/> <include name="commons-pool-1.2.jar"/> <include name="bcmail-jdk13-124.jar"/> <include name="bcprov-jdk13-124.jar"/> <include name="jce-jdk13-124.jar"/> </lib> - <lib dir="lib/candidates"> + <lib dir="${candidates.dir}"> <include name="excalibur-thread-1.1.1.jar"/> <include name="excalibur-pool-1.2.jar"/> <include name="commons-collections-2.1.jar"/> @@ -519,7 +513,6 @@ <include name="cornerstone-sockets-impl-1.0.jar"/> <include name="cornerstone-datasources-api-1.0.jar"/> <include name="cornerstone-datasources-impl-1.0.jar"/> - </lib> <zipfileset dir="${conf.dir}" fullpath="conf/sqlResources.xml"> <include name="sqlResources.xml"/> Modified: james/server/trunk/include.properties URL: http://svn.apache.org/viewcvs/james/server/trunk/include.properties?rev=230821&r1=230820&r2=230821&view=diff ============================================================================== --- james/server/trunk/include.properties (original) +++ james/server/trunk/include.properties Mon Aug 8 10:43:28 2005 @@ -17,42 +17,23 @@ lib.dir = ${james.dir}/lib phoenix.dir = ${james.dir}/phoenix-bin phoenix.lib.dir = ${phoenix.dir}/lib -candidates.dir = ${lib.dir}/candidates - +candidates.dir = ${lib.dir} # -------------------------------------------------- # REQUIRED LIBRARIES # -------------------------------------------------- - -# ----- From Phoenix-bin/lib - -# ----- Excalibur collections, version 1.0 or later ----- -excalibur-collections.jar=${phoenix.lib.dir}/excalibur-collections-1.0.jar - -# ----- Excalibur threadcontext, version 1.0 or later ----- -excalibur-threadcontext.jar=${phoenix.lib.dir}/excalibur-threadcontext-1.0.jar +# ----- Avalon Framework ----- +avalon-framework.jar=${phoenix.lib.dir}/avalon-framework-4.1.4.jar # ----- Phoenix Client ----- phoenix-client.jar=${phoenix.lib.dir}/phoenix-client.jar -# ----- Excalibur datasource ----- -excalibur-io.jar=${phoenix.lib.dir}/excalibur-io-1.1.jar - -# ----- Excalibur cli ----- -excalibur-cli.jar=${phoenix.lib.dir}/excalibur-cli-1.0.jar - -# ----- Avalon Framework ----- -avalon-framework.jar=${phoenix.lib.dir}/avalon-framework-4.1.4.jar - # ----- From lib # ----- Excalibur datasource ----- excalibur-datasource.jar=${lib.dir}/excalibur-datasource-1.0.jar -# ----- Xerces --------------- -xerces.jar = ${lib.dir}/xerces-1.4.3.jar - # ----- Javax mail ----- javax-mail.jar=${lib.dir}/${javamail.id}.jar @@ -60,16 +41,18 @@ javax-activation.jar=${lib.dir}/${activation.id}.jar # ----- DNS ----- -dns.jar=${lib.dir}/dnsjava-1.6.2.jar +dns.jar=${lib.dir}/dnsjava-2.0.0.jar # ----- Commons ----- -commons-net.jar=${lib.dir}/commons-net-1.0.0-dev.jar commons-dbcp.jar=${lib.dir}/commons-dbcp-1.2.1.jar commons-pool.jar=${lib.dir}/commons-pool-1.2.jar commons-collections.jar=${candidates.dir}/commons-collections-2.1.jar # ----- Jakarta ORO ----- jakarta-oro.jar=${lib.dir}/jakarta-oro-2.0.8.jar + +# ----- Excalibur datasource ----- +excalibur-io.jar=${candidates.dir}/excalibur-io-1.1.jar # ----- Cornerstone threads, version 1.0 or later ----- cornerstone-threads.jar=${candidates.dir}/cornerstone-threads-api-1.0.jar Propchange: james/server/trunk/lib/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Mon Aug 8 10:43:28 2005 @@ -1,3 +1,5 @@ + mail_1_3.jar activation.jar mail-1.3.1.jar +mail-*.jar Added: james/server/trunk/lib/derby.jar URL: http://svn.apache.org/viewcvs/james/server/trunk/lib/derby.jar?rev=230821&view=auto ============================================================================== Binary file - no diff available. Propchange: james/server/trunk/lib/derby.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: james/server/trunk/lib/derbytools.jar URL: http://svn.apache.org/viewcvs/james/server/trunk/lib/derbytools.jar?rev=230821&view=auto ============================================================================== Binary file - no diff available. Propchange: james/server/trunk/lib/derbytools.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: james/server/trunk/lib/dnsjava-2.0.0.jar URL: http://svn.apache.org/viewcvs/james/server/trunk/lib/dnsjava-2.0.0.jar?rev=230821&view=auto ============================================================================== Binary file - no diff available. Propchange: james/server/trunk/lib/dnsjava-2.0.0.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: james/server/trunk/lib/dnsjava.LICENSE URL: http://svn.apache.org/viewcvs/james/server/trunk/lib/dnsjava.LICENSE?rev=230821&view=auto ============================================================================== --- james/server/trunk/lib/dnsjava.LICENSE (added) +++ james/server/trunk/lib/dnsjava.LICENSE Mon Aug 8 10:43:28 2005 @@ -0,0 +1,122 @@ +dnsjava v2.0 + +http://www.xbill.org/dnsjava +http://www.dnsjava.org/ + +Author: + +Brian Wellington ([EMAIL PROTECTED]) +March 12, 2004 + +Overview: + +dnsjava is an implementation of DNS in Java. It supports all defined record +types (including the DNSSEC types), and unknown types. It can be used for +queries, zone transfers, and dynamic updates. It includes a cache which can be +used by clients, and an authoritative only server. It supports TSIG +authenticated messages, partial DNSSEC verification, and EDNS0. It is fully +thread safe. It can be used to replace the native DNS support in Java. + +dnsjava was started as an excuse to learn Java. It was useful for testing new +features in BIND without rewriting the C resolver. It was then cleaned up and +extended in order to be used as a testing framework for DNS interoperability +testing. The high level API and caching resolver were added to make it useful +to a wider audience. The authoritative only server was added as proof of +concept. + + +Getting started: + +Run 'ant' from the toplevel directory to build dnsjava (a Makefile is also +provided, but does not have all of the features of the ant script). JDK 1.4 +or higher is required. + +To compile name service provider support (org.xbill.DNS.spi), run 'ant spi'. + + +Replacing the standard Java DNS functionality: + +Beginning with Java 1.4, service providers can be loaded at runtime. To load +the dnsjava service provider, build it as explained above and set the system +property: + + sun.net.spi.nameservice.provider.1=dns,dnsjava + +This instructs the JVM to use the dnsjava service provide for DNS at the +highest priority. + + +Testing dnsjava: + +Matt Rutherford <[EMAIL PROTECTED]> contributed a number of unit +tests, which are in the tests subdirectory. The hierarchy under tests +mirrors the org.xbill.DNS classes. To build the unit tests, run +'ant compile_tests', and to run then, run 'ant run_tests'. The tests require +JUnit (http://www.junit.org) to be installed. + +Some high-level test programs are in org/xbill/DNS/tests. + + +Limitations: + +There's no way to determine what the local nameserver is at runtime from within +the JVM. First, the property 'dns.server' (a comma delimited list) is +checked. These can either be IP addresses or hostnames (which are resolved +using Java's built in DNS support). If the underlying OS is unix-based, the +dnsjava package can parse /etc/resolv.conf and determine the nameservers. If +the underlying OS is Windows, winipcfg/ipconfig can be called and the output +parsed. Note that this may fail for some non-English versions of Windows. +Otherwise, or if these attempts fail, the default nameserver is +"localhost". This is unavoidable. Unfortunately, I have no idea how to +determine the nameserver for any other OSes. Contributions of code +are welcome (see org/xbill/DNS/ResolverConfig.java for the basic structure). + +The underlying platform must use an ASCII encoding of characters. This means +that dnsjava will not work on OS/390, for example. + + +Additional documentation: + +Javadoc documentation is provided in the doc/ subdirectory of binary +distributions, and can be built with 'ant docs'. + + +License: + +dnsjava is placed under the BSD license. Several files are also under +additional licenses; see the individual files for details. + +Copyright (c) 1999-2005, Brian Wellington +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the dnsjava project nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Final notes: + + - Thanks to Network Associates, Inc. for sponsoring some of the original + dnsjava work in 1999-2000. + + - Thanks to Nominum, Inc. for sponsoring some work on dnsjava from 2000 to + the present. Added: james/server/trunk/lib/excalibur-io-1.1.jar URL: http://svn.apache.org/viewcvs/james/server/trunk/lib/excalibur-io-1.1.jar?rev=230821&view=auto ============================================================================== Binary file - no diff available. Propchange: james/server/trunk/lib/excalibur-io-1.1.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Modified: james/server/trunk/lib/readme.xml URL: http://svn.apache.org/viewcvs/james/server/trunk/lib/readme.xml?rev=230821&r1=230820&r2=230821&view=diff ============================================================================== --- james/server/trunk/lib/readme.xml (original) +++ james/server/trunk/lib/readme.xml Mon Aug 8 10:43:28 2005 @@ -42,7 +42,7 @@ <library> <filename>dnsjava.jar</filename> <url>http://www.xbill.org/dnsjava/</url> - <version>1.1.6</version> + <version>2.0.0</version> <name>dnsjava</name> <desc>dnsjava is an implementation of DNS in Java. Great thanks to Brian Wellington <[EMAIL PROTECTED]> for his contributions</desc> </library> @@ -56,9 +56,9 @@ </library> <library> - <filename>mail_1_3.jar</filename> + <filename>mail-1.3.2.jar</filename> <url>http://java.sun.com/products/javamail/</url> - <version>1.3</version> + <version>1.3.2</version> <name>JavaMail</name> <desc>Client and message parsing libraries from JavaSoft. Includes all service providers.</desc> </library> Modified: james/server/trunk/src/conf/sqlResources.xml URL: http://svn.apache.org/viewcvs/james/server/trunk/src/conf/sqlResources.xml?rev=230821&r1=230820&r2=230821&view=diff ============================================================================== --- james/server/trunk/src/conf/sqlResources.xml (original) +++ james/server/trunk/src/conf/sqlResources.xml Mon Aug 8 10:43:28 2005 @@ -19,6 +19,7 @@ <dbMatcher db="mssql" databaseProductName="microsoft sql server"/> <dbMatcher db="oracle" databaseProductName="oracle.*"/> <dbMatcher db="mysql" databaseProductName="my.*"/> + <dbMatcher db="derby" databaseProductName="derby.*"/> <dbMatcher db="postgresql" databaseProductName="postgres.*"/> <dbMatcher db="sapdb" databaseProductName="sap.*"/> <dbMatcher db="hypersonic" databaseProductName="HypersonicSQL"/> @@ -61,6 +62,8 @@ <dbOption db="oracle" name="getAttributes" value="useBlob"/> <dbOption db="mysql" name="getBody" value="useBytes"/> <dbOption db="mysql" name="getAttributes" value="useBytes"/> + <dbOption db="derby" name="getBody" value="useBytes"/> + <dbOption db="derby" name="getAttributes" value="useBytes"/> <dbOption db="postgresql" name="getBody" value="useBytes"/> <dbOption db="postgresql" name="getAttributes" value="useBytes"/> <dbOption db="sapdb" name="getBody" value="useBytes"/> @@ -247,6 +250,7 @@ <sql name="retrieveMessageBodySizeSQL" db="oracle">SELECT dbms_lob.getlength(message_body) FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> <sql name="retrieveMessageBodySizeSQL" db="db2">SELECT length(message_body) FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> <sql name="retrieveMessageBodySizeSQL" db="ingres">SELECT length(message_body) FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> + <sql name="retrieveMessageBodySizeSQL" db="derby">SELECT length(message_body) FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> <!-- Statements used to delete a message stored in this repository. --> <sql name="removeMessageSQL">DELETE FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> @@ -382,6 +386,22 @@ last_updated DATE NOT NULL ) </sql> + <sql name="createTable" db="derby"> + CREATE TABLE ${table} ( + message_name varchar (200) NOT NULL, + repository_name varchar (255) NOT NULL, + message_state varchar (30) NOT NULL , + error_message varchar (200) , + sender varchar (255) , + recipients long varchar NOT NULL , + remote_host varchar (255) NOT NULL , + remote_addr varchar (20) NOT NULL , + message_body blob NOT NULL , + message_attributes blob , + last_updated timestamp NOT NULL, + PRIMARY KEY (repository_name, message_name) + ) + </sql> </sqlDefs> <!-- SQL statements to support the JDBCSpoolRepository class --> @@ -559,6 +579,22 @@ message_body LONG BYTE NOT NULL , message_attributes LONG BYTE , last_updated DATE NOT NULL + ) + </sql> + <sql name="createTable" db="derby"> + CREATE TABLE ${table} ( + message_name varchar (200) NOT NULL, + repository_name varchar (255) NOT NULL, + message_state varchar (30) NOT NULL , + error_message varchar (200) , + sender varchar (255) , + recipients long varchar NOT NULL , + remote_host varchar (255) NOT NULL , + remote_addr varchar (20) NOT NULL , + message_body blob NOT NULL , + message_attributes blob , + last_updated timestamp NOT NULL, + PRIMARY KEY (message_name, repository_name) ) </sql> </sqlDefs> Modified: james/server/trunk/src/java/org/apache/james/util/mordred/PoolConnEntry.java URL: http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/util/mordred/PoolConnEntry.java?rev=230821&r1=230820&r2=230821&view=diff ============================================================================== --- james/server/trunk/src/java/org/apache/james/util/mordred/PoolConnEntry.java (original) +++ james/server/trunk/src/java/org/apache/james/util/mordred/PoolConnEntry.java Mon Aug 8 10:43:28 2005 @@ -335,7 +335,7 @@ connection.setTypeMap( map ); } - /* JDBC_3_ANT_KEY + /*-- JDBC_3_ANT_KEY */ public final void setHoldability(int holdability) throws SQLException { @@ -418,6 +418,6 @@ { throw new SQLException("This is not a Jdbc 3.0 Compliant Connection"); } - JDBC_3_ANT_KEY */ + /* JDBC_3_ANT_KEY --*/ } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]