commits@javamail.java.net

[javamail~mercurial:328] Fix deadlock between IMAP fetch and access to message objects.

From: <shannon_at_kenai.com>
Date: Tue, 11 Jan 2011 19:17:40 +0000

Project: javamail
Repository: mercurial
Revision: 328
Author: shannon
Date: 2011-01-05 23:50:05 UTC
Link:

Log Message:
------------
Improve text/xml DataContentHandle so that it works for JAX-WS as well.
Support Source objects as well as String.
Update URLs, copyright, license, etc. for Oracle.
Update version to 1.4.4-rc1.
Added tag JAVAMAIL-1_4_4-RC1 for changeset 0a99728ee1d1
Update maven repository URL.
Don't test when deploying artifacts to the repository.
Fix deadlock between IMAP fetch and access to message objects.


Revisions:
----------
323
324
325
326
327
328


Modified Paths:
---------------
mail/src/main/java/com/sun/mail/handlers/text_xml.java
doc/release/COPYRIGHT.txt
doc/release/LICENSE.txt
doc/release/NOTES.txt
doc/release/README.txt
doc/release/SSLNOTES.txt
doc/release/distributionREADME.txt
mail/src/main/java/javax/mail/package.html
mail/src/main/java/overview.html
client/pom.xml
demo/pom.xml
dsn/pom.xml
imap/pom.xml
javadoc/pom.xml
logging/pom.xml
mail/pom.xml
mailapi/pom.xml
mailapijar/pom.xml
mbox/dist/pom.xml
mbox/native/pom.xml
mbox/pom.xml
oldmail/pom.xml
outlook/pom.xml
parent-distrib/pom.xml
pom.xml
pop3/pom.xml
servlet/pom.xml
smtp/pom.xml
taglib/pom.xml
webapp/pom.xml
.hgtags
doc/release/CHANGES.txt
mail/src/main/java/com/sun/mail/imap/IMAPMessage.java


Added Paths:
------------
mail/src/test/java/com/sun/mail/handlers/TextXmlTest.java


Diffs:
------
diff -r 75aae993e34c -r 4a075c96b076 mail/src/main/java/com/sun/mail/handlers/text_xml.java
--- a/mail/src/main/java/com/sun/mail/handlers/text_xml.java Fri Nov 19 22:07:10 2010 -0800
+++ b/mail/src/main/java/com/sun/mail/handlers/text_xml.java Fri Dec 10 15:38:25 2010 -0800
@@ -40,19 +40,118 @@
 
 package com.sun.mail.handlers;
 
+import java.awt.datatransfer.DataFlavor;
+import java.io.IOException;
+import java.io.OutputStream;
+
 import javax.activation.ActivationDataFlavor;
+import javax.activation.DataContentHandler;
+import javax.activation.DataSource;
+import javax.mail.internet.ContentType;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
 
 /**
  * DataContentHandler for text/xml.
  *
+ * @author Anil Vijendran
+ * @author Bill Shannon
  */
 public class text_xml extends text_plain {
- private static ActivationDataFlavor myDF = new ActivationDataFlavor(
- java.lang.String.class,
- "text/xml",
- "XML String");
 
- protected ActivationDataFlavor getDF() {
- return myDF;
+ private final DataFlavor[] flavors;
+
+ public text_xml() {
+ flavors = new DataFlavor[] {
+ new ActivationDataFlavor(String.class, "text/xml", "XML String"),
+ new ActivationDataFlavor(String.class, "application/xml",
+ "XML String"),
+ new ActivationDataFlavor(StreamSource.class, "text/xml", "XML"),
+ new ActivationDataFlavor(StreamSource.class, "application/xml",
+ "XML")
+ };
+ }
+
+ /**
+ * Return the DataFlavors for this <code>DataContentHandler</code>.
+ *
+ * @return the DataFlavors
+ */
+ public DataFlavor[] getTransferDataFlavors() { // throws Exception;
+ return flavors;
+ }
+
+ /**
+ * Return the Transfer Data of type DataFlavor from InputStream.
+ *
+ * @param df the DataFlavor
+ * @param ds the InputStream corresponding to the data
+ * @return the constructed Object
+ */
+ public Object getTransferData(DataFlavor df, DataSource ds)
+ throws IOException {
+
+ for (int i = 0; i < flavors.length; i++) {
+ DataFlavor aFlavor = flavors[i];
+ if (aFlavor.equals(df)) {
+ if (aFlavor.getRepresentationClass() == String.class)
+ return super.getContent(ds);
+ else if (aFlavor.getRepresentationClass() == StreamSource.class)
+ return new StreamSource(ds.getInputStream());
+ else
+ return null; // XXX - should never happen
+ }
+ }
+ return null;
+ }
+
+ /**
+ */
+ public void writeTo(Object obj, String mimeType, OutputStream os)
+ throws IOException {
+ if (!isXmlType(mimeType))
+ throw new IOException(
+ "Invalid content type \"" + mimeType + "\" for text/xml DCH");
+ if (obj instanceof String) {
+ super.writeTo(obj, mimeType, os);
+ return;
+ }
+ if (!(obj instanceof DataSource || obj instanceof Source)) {
+ throw new IOException("Invalid Object type = "+obj.getClass()+
+ ". XmlDCH can only convert DataSource or Source to XML.");
+ }
+
+ try {
+ Transformer transformer =
+ TransformerFactory.newInstance().newTransformer();
+ StreamResult result = new StreamResult(os);
+ if (obj instanceof DataSource) {
+ // Streaming transform applies only to
+ // javax.xml.transform.StreamSource
+ transformer.transform(
+ new StreamSource(((DataSource)obj).getInputStream()),
+ result);
+ } else {
+ transformer.transform((Source)obj, result);
+ }
+ } catch (Exception ex) {
+ throw new IOException(
+ "Unable to run the JAXP transformer on a stream "
+ + ex.getMessage());
+ }
+ }
+
+ private boolean isXmlType(String type) {
+ try {
+ ContentType ct = new ContentType(type);
+ return ct.getSubType().equals("xml") &&
+ (ct.getPrimaryType().equals("text") ||
+ ct.getPrimaryType().equals("application"));
+ } catch (Exception ex) {
+ return false;
+ }
     }
 }

diff -r 75aae993e34c -r 4a075c96b076 mail/src/test/java/com/sun/mail/handlers/TextXmlTest.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/src/test/java/com/sun/mail/handlers/TextXmlTest.java Fri Dec 10 15:38:25 2010 -0800
@@ -0,0 +1,145 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.mail.handlers;
+
+import java.io.*;
+import java.util.*;
+import java.awt.datatransfer.DataFlavor;
+import javax.activation.*;
+import javax.mail.*;
+import javax.mail.util.ByteArrayDataSource;
+import javax.xml.transform.stream.*;
+
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Test the text/xml DataContentHandler.
+ *
+ * XXX - should test other Source objects in addition to StreamSource.
+ *
+ * @author Bill Shannon
+ */
+
+public class TextXmlTest {
+
+ private static String xml = "<test><foo>bar</foo></test>\n";
+ private static byte[] xmlBytes = xml.getBytes();
+
+ // test InputStream to String
+ @Test
+ public void testStreamToStringTextXml() throws Exception {
+ testStreamToString("text/xml");
+ }
+
+ // test InputStream to String
+ @Test
+ public void testStreamToStringApplicationXml() throws Exception {
+ testStreamToString("application/xml");
+ }
+
+ private static void testStreamToString(String mimeType) throws Exception {
+ DataContentHandler dch = new text_xml();
+ DataFlavor df = new ActivationDataFlavor(String.class, mimeType, "XML");
+ DataSource ds = new ByteArrayDataSource(xmlBytes, mimeType);
+ Object content = dch.getContent(ds);
+ assertEquals(String.class, content.getClass());
+ assertEquals(xml, (String)content);
+ content = dch.getTransferData(df, ds);
+ assertEquals(String.class, content.getClass());
+ assertEquals(xml, (String)content);
+ }
+
+ // test InputStream to StreamSource
+ @Test
+ public void testStreamToSource() throws Exception {
+ DataContentHandler dch = new text_xml();
+ DataFlavor df = new ActivationDataFlavor(StreamSource.class,
+ "text/xml", "XML stream");
+ DataSource ds = new ByteArrayDataSource(xmlBytes, "text/xml");
+ Object content = dch.getTransferData(df, ds);
+ assertEquals(StreamSource.class, content.getClass());
+ String sc = streamToString(((StreamSource)content).getInputStream());
+ assertEquals(xml, sc);
+ }
+
+ // test String to OutputStream
+ @Test
+ public void testStringToStream() throws Exception {
+ DataContentHandler dch = new text_xml();
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ dch.writeTo(xml, "text/xml", bos);
+ String sc = new String(bos.toByteArray(), "us-ascii");
+ assertEquals(xml, sc);
+ }
+
+ // test StreamSource to OutputStream
+ @Test
+ public void testSourceToStream() throws Exception {
+ DataContentHandler dch = new text_xml();
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ StreamSource ss = new StreamSource(new ByteArrayInputStream(xmlBytes));
+ dch.writeTo(ss, "text/xml", bos);
+ String sc = new String(bos.toByteArray(), "us-ascii");
+ // transformer adds an <?xml> header, so can't check for exact match
+ assertTrue(sc.indexOf(xml.trim()) >= 0);
+ }
+
+ /**
+ * Read a stream into a String.
+ */
+ private static String streamToString(InputStream is) {
+ try {
+ StringBuilder sb = new StringBuilder();
+ int c;
+ while ((c = is.read()) > 0)
+ sb.append((char)c);
+ return sb.toString();
+ } catch (IOException ex) {
+ return "";
+ } finally {
+ try {
+ is.close();
+ } catch (IOException cex) { }
+ }
+ }
+}


diff -r 4a075c96b076 -r 73dc645f421c doc/release/COPYRIGHT.txt
--- a/doc/release/COPYRIGHT.txt Fri Dec 10 15:38:25 2010 -0800
+++ b/doc/release/COPYRIGHT.txt Fri Dec 10 15:40:45 2010 -0800
@@ -1,87 +1,59 @@
-English:
+Copyright © 1997-2010, Oracle and/or its affiliates. All rights reserved.
 
-Copyright © 2009 Sun Microsystems, Inc., 4150 Network Circle,
-Santa Clara, California 95054, U.S.A. All rights reserved.
+This software and related documentation are provided under a license
+agreement containing restrictions on use and disclosure and are
+protected by intellectual property laws. Except as expressly permitted
+in your license agreement or allowed by law, you may not use, copy,
+reproduce, translate, broadcast, modify, license, transmit, distribute,
+exhibit, perform, publish, or display any part, in any form, or by any
+means. Reverse engineering, disassembly, or decompilation of this
+software, unless required by law for interoperability, is prohibited.
 
-Sun Microsystems, Inc. has intellectual property rights relating
-to technology embodied in the product that is described in this
-document. In particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents listed at
-http://www.sun.com/patents and one or more additional patents or pending
-patent applications in the U.S. and in other countries.
+The information contained herein is subject to change without notice
+and is not warranted to be error-free. If you find any errors, please
+report them to us in writing.
 
-U.S. Government Rights - Commercial software. Government users are subject
-to the Sun Microsystems, Inc. standard license agreement and applicable
-provisions of the FAR and its supplements.
+If this is software or related software documentation that is delivered
+to the U.S. Government or anyone licensing it on behalf of the U.S.
+Government, the following notice is applicable:
 
-Use is subject to license terms.
+U.S. GOVERNMENT RIGHTS Programs, software, databases, and related
+documentation and technical data delivered to U.S. Government customers
+are "commercial computer software" or "commercial technical data"
+pursuant to the applicable Federal Acquisition Regulation and
+agency-specific supplemental regulations. As such, the use,
+duplication, disclosure, modification, and adaptation shall be subject
+to the restrictions and license terms set forth in the applicable
+Government contract, and, to the extent applicable by the terms of the
+Government contract, the additional rights set forth in FAR 52.227-19,
+Commercial Computer Software License (December 2007). Oracle America,
+Inc., 500 Oracle Parkway, Redwood City, CA 94065.
 
-This distribution may include materials developed by third parties.
+This software or hardware is developed for general use in a variety of
+information management applications. It is not developed or intended
+for use in any inherently dangerous applications, including
+applications which may create a risk of personal injury. If you use
+this software or hardware in dangerous applications, then you shall be
+responsible to take all appropriate fail-safe, backup, redundancy, and
+other measures to ensure its safe use. Oracle Corporation and its
+affiliates disclaim any liability for any damages caused by use of this
+software or hardware in dangerous applications.
 
-Parts of the product may be derived from Berkeley BSD systems, licensed
-from the University of California. UNIX is a registered trademark in
-the U.S. and in other countries, exclusively licensed through X/Open
-Company, Ltd.
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
 
-Sun, Sun Microsystems, the Sun logo, Java, GlassFish, Java API for
-XML-based RPC, Java APIs for XML Web Services, Java Architecture for
-XML Binding, Java Authorization Contract for Containers, Java EE, Java
-Message Queue, Java Persistence API, Java Servlet, JavaMail, Enterprise
-JavaBeans, JavaServer Pages, JavaServer Faces, JDBC and Java API for XML
-Registries are trademarks or registered trademarks of Sun Microsystems,
-Inc. in the U.S. and other countries.
+AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. Intel and Intel Xeon
+are trademarks or registered trademarks of Intel Corporation. All SPARC
+trademarks are used under license and are trademarks or registered
+trademarks of SPARC International, Inc. UNIX is a registered trademark
+licensed through X/Open Company, Ltd.
 
-This product is covered and controlled by U.S. Export Control laws and
-may be subject to the export or import laws in other countries. Nuclear,
-missile, chemical biological weapons or nuclear maritime end uses or end
-users, whether direct or indirect, are strictly prohibited. Export or
-reexport to countries subject to U.S. embargo or to entities identified
-on U.S. export exclusion lists, including, but not limited to, the denied
-persons and specially designated nationals lists is strictly prohibited.
-
-
-French:
-
-Copyright © 2009 Sun Microsystems, Inc., 4150 Network Circle,
-Santa Clara, California 95054, Etats-Unis. Tous droits réservés.
-
-Sun Microsystems, Inc. détient les droits de propriété intellectuels
-relatifs à la technologie incorporée dans le produit qui est décrit
-dans ce document. En particulier, et ce sans limitation, ces droits
-de propriété intellectuelle peuvent inclure un ou plus des brevets
-américains listés à l'adresse http://www.sun.com/patents et un ou
-les brevets supplémentaires ou les applications de brevet en attente
-aux Etats - Unis et dans les autres pays.
-
-L'utilisation est soumise aux termes de la Licence.
-
-Cette distribution peut comprendre des composants développés par des
-tierces parties.
-
-Des parties de ce produit pourront être dérivées des systèmes
-Berkeley BSD licenciés par l'Université de Californie. UNIX est une
-marque déposée aux Etats-Unis et dans d'autres pays et licenciée
-exclusivement par X/Open Company, Ltd.
-
-Sun, Sun Microsystems, le logo Sun, Java, GlassFish, Java API for
-XML-based RPC, Java APIs for XML Web Services, Java Architecture for
-XML Binding, Java Authorization Contract for Containers, Java EE, Java
-Message Queue, Java Persistence API, Java Servlet, JavaMail, Enterprise
-JavaBeans, JavaServer Pages, JavaServer Faces, JDBC et Java API for XML
-Registries sont des marques de fabrique ou des marques déposées de
-Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays.
-
-Ce produit est soumis à la législation américaine en matière de
-contrôle des exportations et peut être soumis à la règlementation
-en vigueur dans d'autres pays dans le domaine des exportations et
-importations. Les utilisations, ou utilisateurs finaux, pour des
-armes nucléaires,des missiles, des armes biologiques et chimiques ou
-du nucléaire maritime, directement ou indirectement, sont strictement
-interdites. Les exportations ou réexportations vers les pays sous embargo
-américain, ou vers des entités figurant sur les listes d'exclusion
-d'exportation américaines, y compris, mais de manière non exhaustive,
-la liste de personnes qui font objet d'un ordre de ne pas participer,
-d'une façon directe ou indirecte, aux exportations des produits ou des
-services qui sont régis par la législation américaine en matière de
-contrôle des exportations et la liste de ressortissants spécifiquement
-désignés, sont rigoureusement interdites.
+This software or hardware and documentation may provide access to or
+information on content, products, and services from third parties.
+Oracle Corporation and its affiliates are not responsible for and
+expressly disclaim all warranties of any kind with respect to
+third-party content, products, and services. Oracle Corporation and its
+affiliates will not be responsible for any loss, costs, or damages
+incurred due to your access to or use of third-party content, products,
+or services.

diff -r 4a075c96b076 -r 73dc645f421c doc/release/LICENSE.txt
--- a/doc/release/LICENSE.txt Fri Dec 10 15:38:25 2010 -0800
+++ b/doc/release/LICENSE.txt Fri Dec 10 15:40:45 2010 -0800
@@ -1,4 +1,4 @@
-Sun Microsystems, Inc. ("Sun") ENTITLEMENT for SOFTWARE
+Oracle Corporation ("ORACLE") ENTITLEMENT for SOFTWARE
 
 Licensee/Company: Entity receiving Software.
 
@@ -44,10 +44,10 @@
 contained in or on the Redistributable.
 
 (f) You only distribute the Redistributable subject to a license
-agreement that protects Sun's interests consistent with the terms
+agreement that protects Oracle's interests consistent with the terms
 contained in this Agreement, and
 
-(g) You agree to defend and indemnify Sun and its licensors from and
+(g) You agree to defend and indemnify Oracle and its licensors from and
 against any damages, costs, liabilities, settlement amounts and/or
 expenses (including attorneys' fees) incurred in connection with any
 claim, lawsuit or action by any third party that arises or results from
@@ -58,29 +58,29 @@
 the behavior of, or authorize Your licensees to create, modify, or
 change the behavior of, classes, interfaces, or subpackages that are in
 any way identified as "java", "javax", "sun" or similar convention as
-specified by Sun in any naming convention designation.
+specified by Oracle in any naming convention designation.
 
 4. No Diagnostic, Maintenance, Repair or Technical Support Services.
 The scope of Your license does not include any right, express or
 implied, (i) to access, copy, distribute, display or use the Software
 to provide diagnostic, maintenance, repair or technical support
-services for Sun softwa re or Sun hardware on behalf of any third party
-for Your direct or indirect commercial gain or advantage, without Sun's
+services for Oracle software or Oracle hardware on behalf of any third party
+for Your direct or indirect commercial gain or advantage, without Oracle's
 prior written authorization, or (ii) for any third party to access,
 copy, distribute, display or use the Software to provide diagnostic,
-maintenance, repair or technical support services for Sun software or
-Sun hardware on Your behalf for such party's direct or indirect
-commercial gain or advantage, without Sun's prior written
+maintenance, repair or technical support services for Oracle software or
+Oracle hardware on Your behalf for such party's direct or indirect
+commercial gain or advantage, without Oracle's prior written
 authorization. The limitations set forth in this paragraph apply to any
 and all error corrections, patches, updates, and upgrades to the
 Software You may receive, access, download or otherwise obtain from
-Sun.
+Oracle.
 
 5. Records and Documentation. During the term of the SLA and
 Entitlement, and for a period of three (3) years thereafter, You agree
 to keep proper records and documentation of Your compliance with the
-SLA and Entitlement. Upon Sun's reasonable request, You will provide
-copies of such records and documentation to Sun for the purpose of
+SLA and Entitlement. Upon Oracle's reasonable request, You will provide
+copies of such records and documentation to Oracle for the purpose of
 confirming Your compliance with the terms and conditions of the SLA and
 Entitlement. This section will survive any termination of the SLA and
 Entitlement. You may terminate this SLA and Entitlement at any time by
@@ -88,7 +88,7 @@
 forth in Section 7 of the SLA shall apply.
 
 
-Sun Microsystems, Inc. ("Sun")
+Oracle Corporation ("ORACLE")
 SOFTWARE LICENSE AGREEMENT
 
 READ THE TERMS OF THIS AGREEMENT ("AGREEMENT") CAREFULLY BEFORE OPENING
@@ -107,7 +107,7 @@
 1. Definitions.
 
 (a) "Entitlement" means the collective set of applicable documents
-authorized by Sun evidencing your obligation to pay associated fees (if
+authorized by Oracle evidencing your obligation to pay associated fees (if
 any) for the license, associated Services, and the authorized scope of
 use of Software under this Agreement.
 
@@ -116,15 +116,15 @@
 
 (c) "Permitted Use" means the licensed Software use(s) authorized
 in this Agreement as specified in your Entitlement. The Permitted Use
-for any bundled Sun software not specified in your Entitlement will be
+for any bundled Oracle software not specified in your Entitlement will be
 evaluation use as provided in Section 3.
 
-(d) "Service" means the service(s) that Sun or its delegate will
+(d) "Service" means the service(s) that Oracle or its delegate will
 provide, if any, as selected in your Entitlement and as further
 described in the applicable service listings at
 www.sun.com/service/servicelist.
 
-(e) "Software" means the Sun software described in your
+(e) "Software" means the Oracle software described in your
 Entitlement. Also, certain software may be included for evaluation use
 under Section 3.
 
@@ -134,7 +134,7 @@
 
 2. License Grant and Entitlement.
 
-Subject to the terms of your Entitlement, Sun grants you a
+Subject to the terms of your Entitlement, Oracle grants you a
 nonexclusive, nontransferable limited license to use Software for its
 Permitted Use for the license term. Your Entitlement will specify (a)
 Software licensed, (b) the Permitted Use, (c) the license term, and (d)
@@ -150,7 +150,7 @@
 The Entitlement may be delivered to you in various ways depending on
 the manner in which you obtain Software and Services, for example, the
 Entitlement may be provided in your receipt, invoice or your contract
-with Sun or authorized Sun reseller. It may also be in electronic
+with Oracle or authorized Oracle reseller. It may also be in electronic
 format if you download Software.
 
 3. Permitted Use.
@@ -189,21 +189,21 @@
 5. Restrictions.
 
 (a) The copies of Software provided to you under this Agreement are
-licensed, not sold, to you by Sun. Sun reserves all rights not
+licensed, not sold, to you by Oracle. Oracle reserves all rights not
 expressly granted. (b) You may make a single archival copy of Software,
 but otherwise may not copy, modify, or distribute Software. However if
-the Sun documentation accompanying Software lists specific portions of
+the Oracle documentation accompanying Software lists specific portions of
 Software, such as header files, class libraries, reference source code,
 and/or redistributable files, that may be handled differently, you may
-do so only as provided in the Sun documentation. (c) You may not rent,
+do so only as provided in the Oracle documentation. (c) You may not rent,
 lease, lend or encumber Software. (d) Unless enforcement is prohibited
 by applicable law, you may not decompile, or reverse engineer Software.
 (e) The terms and conditions of this Agreement will apply to any
-Software updates, provided to you at Sun's discretion, that replace
+Software updates, provided to you at Oracle's discretion, that replace
 and/or supplement the original Software, unless such update contains a
 separate license. (f) You may not publish or provide the results of any
 benchmark or comparison tests run on Software to any third party
-without the prior written consent of Sun. (g) Software is confidential
+without the prior written consent of Oracle. (g) Software is confidential
 and copyrighted. (h) Unless otherwise specified, if Software is
 delivered with embedded or bundled software that enables functionality
 of Software, you may not use such software on a stand-alone basis or
@@ -211,14 +211,14 @@
 other than Software. (i) Software may contain programs that perform
 automated collection of system data and/or automated software updating
 services. System data collected through such programs may be used by
-Sun, its subcontractors, and its service delivery partners for the
+Oracle, its subcontractors, and its service delivery partners for the
 purpose of providing you with remote system services and/or improving
-Sun's software and systems. (j) Software is not designed, licensed or
+Oracle's software and systems. (j) Software is not designed, licensed or
 intended for use in the design, construction, operation or maintenance
-of any nuclear facility and Sun and its licensors disclaim any express
+of any nuclear facility and Oracle and its licensors disclaim any express
 or implied warranty of fitness for such uses. (k) No right, title or
 interest in or to any trademark, service mark, logo or trade name of
-Sun or its licensors is granted under this Agreement.
+Oracle or its licensors is granted under this Agreement.
 
 6. Java Compatibility and Open Source.
 
@@ -227,9 +227,9 @@
 compatibility requirements available under a separate agreement
 available at www.java.net.
 
-Sun supports and benefits from the global community of open source
+Oracle supports and benefits from the global community of open source
 developers, and thanks the community for its important contributions
-and open standards-based technology, which Sun has adopted into many of
+and open standards-based technology, which Oracle has adopted into many of
 its products.
 
 Please note that portions of Software may be provided with notices and
@@ -244,23 +244,23 @@
 
 The license and service term are set forth in your Entitlement(s). Your
 rights under this Agreement will terminate immediately without notice
-from Sun if you materially breach it or take any action in derogation
-of Sun's and/or its licensors' rights to Software. Sun may terminate
-this Agreement should any Software become, or in Sun's reasonable
+from Oracle if you materially breach it or take any action in derogation
+of Oracle's and/or its licensors' rights to Software. Oracle may terminate
+this Agreement should any Software become, or in Oracle's reasonable
 opinion likely to become, the subject of a claim of intellectual
 property infringement or trade secret misappropriation. Upon
 termination, you will cease use of, and destroy, Software and confirm
-compliance in writing to Sun. Sections 1, 5, 6, 7, and 9-15 will
+compliance in writing to Oracle. Sections 1, 5, 6, 7, and 9-15 will
 survive termination of the Agreement.
 
 8. Limited Warranty.
 
-Sun warrants to you that for a period of 90 days from the date of
+Oracle warrants to you that for a period of 90 days from the date of
 purchase, as evidenced by a copy of the receipt, the media on which
 Software is furnished (if any) will be free of defects in materials and
 workmanship under normal use. Except for the foregoing, Software is
-provided "AS IS". Your exclusive remedy and Sun's entire liability
-under this limited warranty will be at Sun's option to replace Software
+provided "AS IS". Your exclusive remedy and Oracle's entire liability
+under this limited warranty will be at Oracle's option to replace Software
 media or refund the fee paid for Software. Some states do not allow
 limitations on certain implied warranties, so the above may not apply
 to you. This limited warranty gives you specific legal rights. You may
@@ -276,12 +276,12 @@
 
 10. Limitation of Liability.
 
-TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS
+TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ORACLE OR ITS
 LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
 SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,
 HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR
-RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's
+RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF ORACLE HAS
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Oracle's
 liability to you, whether in contract, tort (including negligence), or
 otherwise, exceed the amount paid by you for Software under this
 Agreement. The foregoing limitations will apply even if the above
@@ -324,7 +324,7 @@
 15. Integration.
 
 This Agreement, including any terms contained in your Entitlement, is
-the entire agreement between you and Sun relating to its subject
+the entire agreement between you and Oracle relating to its subject
 matter. It supersedes all prior or contemporaneous oral or written
 communications, proposals, representations and warranties and prevails
 over any conflicting or additional terms of any quote, order,
@@ -333,7 +333,5 @@
 of this Agreement will be binding, unless in writing and signed by an
 authorized representative of each party.
 
-Please contact Sun Microsystems, Inc. 4150 Network Circle, Santa Clara,
-California 95054 if you have questions.
-
-
+For inquiries please contact: Oracle Corporation, 500 Oracle Parkway,
+Redwood Shores, California 94065, USA.

diff -r 4a075c96b076 -r 73dc645f421c doc/release/NOTES.txt
--- a/doc/release/NOTES.txt Fri Dec 10 15:38:25 2010 -0800
+++ b/doc/release/NOTES.txt Fri Dec 10 15:40:45 2010 -0800
@@ -9,7 +9,7 @@
 Please refer to CHANGES.txt for a list of the changes since the
 previous release.
 
-Please see the FAQ at http://java.sun.com/products/javamail/FAQ.html
+Please see the FAQ at http://www.oracle.com/technetwork/java/javamail/faq/
 
 Protocol Providers
 ------------------
@@ -52,7 +52,7 @@
 find an appropriate authentication mechanism. The SASL API also allows
 you to plug in support for custom authentication mechanisms. See The
 Java SASL API Programming and Deployment Guide at
-http://java.sun.com/j2se/1.5.0/docs/guide/security/sasl/sasl-refguide.html
+http://download.oracle.com/javase/6/docs/technotes/guides/security/sasl/sasl-refguide.html
 for details on developing custom SASL mechanisms. See the javadocs for
 the com.sun.mail.imap package for the properties required to enable and
 configure SASL support.
@@ -127,7 +127,7 @@
 Our response: Create a message with a MimeMultipart content. See the
                 sendfile.html and msgmultisendsample.java demo programs.
 
-Please check the FAQ at http://java.sun.com/products/javamail/FAQ.html
+Please check the FAQ at http://www.oracle.com/technetwork/java/javamail/faq/
 before submitting bug reports.
 
 Send your bug reports to:
@@ -141,9 +141,11 @@
 ----------------------------------------------
 
 1. This version of JavaMail will only work in applets when using
- the Java(TM) Plug-in (http://java.sun.com/products/plugin),
+ the Java(TM) Plug-in
+ (http://www.oracle.com/technetwork/java/index-jsp-141438.html),
    which is part of the current Java Runtime Environment (JRE)
- available from Sun at http://java.sun.com/javase/downloads/index.jsp.
+ available from Oracle at:
+ http://www.oracle.com/technetwork/java/javase/downloads/index.html
 
 2. Internationalization. Parameter encoding in MIME headers, as
    specified by RFC2231, *has* been implemented. Note that
@@ -190,6 +192,7 @@
 
   The IMAP implementation works with IMAP4 and IMAP4rev1 servers.
   The current release has been tested with:
+ Oracle Beehive
         Sun Java System Messaging Server version 7.0
         UW IMAP4 server version 2003.339
         Cyrus IMAP4 server version 1.6.19
@@ -207,6 +210,7 @@
 
   The current release of the SMTP implementation has been tested with:
         Sendmail version 8.13.8
+ Oracle Beehive
         Sun Java System Messaging Server version 7.0
 
   Previous releases have been tested with:
@@ -226,11 +230,12 @@
 
         javamail_ww_at_oracle.com
 
-Check out our website at http://java.sun.com/products/javamail
+Check out our website at:
+http://www.oracle.com/technetwork/java/javamail/
 
 You can also find help in the JavaMail forum:
 
- http://forums.sun.com/forum.jspa?forumID=43
+ http://forums.oracle.com/forums/forum.jspa?forumID=975
 
 
 ------------------------------------------------------------------

diff -r 4a075c96b076 -r 73dc645f421c doc/release/README.txt
--- a/doc/release/README.txt Fri Dec 10 15:38:25 2010 -0800
+++ b/doc/release/README.txt Fri Dec 10 15:40:45 2010 -0800
@@ -9,7 +9,7 @@
 service providers, some examples, and documentation for the JavaMail
 API.
 
-Please see the FAQ at http://java.sun.com/products/javamail/FAQ.html
+Please see the FAQ at http://www.oracle.com/technetwork/java/javamail/faq/
 
 JDK Version notes
 -----------------
@@ -45,8 +45,8 @@
         smtp Transport No Yes
         smtps Transport Yes Yes
 
-See our web page at http://java.sun.com/products/javamail for the
-latest information on third party protocol providers.
+See our web page at http://www.oracle.com/technetwork/java/javamail/
+for the latest information on third party protocol providers.
 
 
 Contents
@@ -142,7 +142,7 @@
 or earlier. Download the latest version of the JavaBeans Activation
 Framework from
 
- http://java.sun.com/beans/glasgow/jaf.html
+ http://www.oracle.com/technetwork/java/javase/index-jsp-136939.html
 
 and install it in a suitable location.
 
@@ -239,9 +239,9 @@
 Problems?
 ---------
 
-Our web page at http://java.sun.com/products/javamail has a pointer
-to the FAQ that includes information on protocols supported,
-installation problems, etc.
+The JavaMail FAQ at http://www.oracle.com/technetwork/java/javamail/faq/
+includes information on protocols supported, installation problems,
+debugging tips, etc.
 
 See the NOTES.txt file for information on how to report bugs.
 

diff -r 4a075c96b076 -r 73dc645f421c doc/release/SSLNOTES.txt
--- a/doc/release/SSLNOTES.txt Fri Dec 10 15:38:25 2010 -0800
+++ b/doc/release/SSLNOTES.txt Fri Dec 10 15:40:45 2010 -0800
@@ -103,7 +103,7 @@
         java -Djavax.net.ssl.trustStore=$HOME/.keystore ...
 
    See the JSSE Reference Guide for details:
- http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizingStores
+ http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizingStores
 
 
 -- Server Identity Check
@@ -153,7 +153,7 @@
 Debugging problems with certificates and keystores can be difficult.
 The JSSE Reference Guide contains information on debugging utilities
 that can help. See:
-http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#Debug
+http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#Debug
 
 There are some debugging options in the JDK that can help, depending
 on the sorts of problems you're having. Setting the following system
@@ -183,7 +183,7 @@
 
 For more information on using the keytool command, see the keytool
 reference pages at:
-http://java.sun.com/javase/6/docs/technotes/guides/security/index.html
+http://download.oracle.com/javase/6/docs/technotes/guides/security/index.html
 
 
 -- Configuring Your Own Trust Manager

diff -r 4a075c96b076 -r 73dc645f421c doc/release/distributionREADME.txt
--- a/doc/release/distributionREADME.txt Fri Dec 10 15:38:25 2010 -0800
+++ b/doc/release/distributionREADME.txt Fri Dec 10 15:40:45 2010 -0800
@@ -25,10 +25,10 @@
 contained in or on the Redistributable.
 
 (f) You only distribute the Redistributable subject to a license
-agreement that protects Sun's interests consistent with the terms
+agreement that protects Oracle's interests consistent with the terms
 contained in the Software License Agreement, and
 
-(g) You agree to defend and indemnify Sun and its licensors from and
+(g) You agree to defend and indemnify Oracle and its licensors from and
 against any damages, costs, liabilities, settlement amounts and/or
 expenses (including attorneys' fees) incurred in connection with any
 claim, lawsuit or action by any third party that arises or results from

diff -r 4a075c96b076 -r 73dc645f421c mail/src/main/java/javax/mail/package.html
--- a/mail/src/main/java/javax/mail/package.html Fri Dec 10 15:38:25 2010 -0800
+++ b/mail/src/main/java/javax/mail/package.html Fri Dec 10 15:40:45 2010 -0800
@@ -84,10 +84,10 @@
 in the "demo" directory.
 <P>
 Don't forget to see the
-<A HREF="http://java.sun.com/products/javamail/FAQ.html" TARGET="_top">
+<A HREF="http://www.oracle.com/technetwork/java/javamail/faq/" TARGET="_top">
 JavaMail API FAQ</A>
 for answers to the most common questions.
-The <A HREF="http://java.sun.com/products/javamail/" TARGET="_top">
+The <A HREF="http://www.oracle.com/technetwork/java/javamail/" TARGET="_top">
 JavaMail web site</A>
 contains many additional resources.
 <P>

diff -r 4a075c96b076 -r 73dc645f421c mail/src/main/java/overview.html
--- a/mail/src/main/java/overview.html Fri Dec 10 15:38:25 2010 -0800
+++ b/mail/src/main/java/overview.html Fri Dec 10 15:40:45 2010 -0800
@@ -84,10 +84,10 @@
 in the "demo" directory.
 <P>
 Don't forget to see the
-<A HREF="http://java.sun.com/products/javamail/FAQ.html" TARGET="_top">
+<A HREF="http://www.oracle.com/technetwork/java/javamail/faq/" TARGET="_top">
 JavaMail API FAQ</A>
 for answers to the most common questions.
-The <A HREF="http://java.sun.com/products/javamail/" TARGET="_top">
+The <A HREF="http://www.oracle.com/technetwork/java/javamail/" TARGET="_top">
 JavaMail web site</A>
 contains many additional resources.
 <P>


diff -r 73dc645f421c -r 0a99728ee1d1 client/pom.xml
--- a/client/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/client/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 demo/pom.xml
--- a/demo/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/demo/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 dsn/pom.xml
--- a/dsn/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/dsn/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 imap/pom.xml
--- a/imap/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/imap/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>parent-distrib</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
         <relativePath>../parent-distrib/pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 73dc645f421c -r 0a99728ee1d1 javadoc/pom.xml
--- a/javadoc/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/javadoc/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,13 +48,13 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>
     <artifactId>javadoc</artifactId>
     <packaging>pom</packaging>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     <name>JavaMail API javadocs</name>
     <description>${project.name}</description>
 

diff -r 73dc645f421c -r 0a99728ee1d1 logging/pom.xml
--- a/logging/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/logging/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 mail/pom.xml
--- a/mail/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/mail/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 mailapi/pom.xml
--- a/mailapi/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/mailapi/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -56,7 +56,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 mailapijar/pom.xml
--- a/mailapijar/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/mailapijar/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -55,7 +55,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>javax.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 mbox/dist/pom.xml
--- a/mbox/dist/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/mbox/dist/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 73dc645f421c -r 0a99728ee1d1 mbox/native/pom.xml
--- a/mbox/native/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/mbox/native/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 73dc645f421c -r 0a99728ee1d1 mbox/pom.xml
--- a/mbox/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/mbox/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 oldmail/pom.xml
--- a/oldmail/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/oldmail/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -53,7 +53,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>javax.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 outlook/pom.xml
--- a/outlook/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/outlook/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 parent-distrib/pom.xml
--- a/parent-distrib/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/parent-distrib/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 pom.xml
--- a/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -49,7 +49,7 @@
     <groupId>com.sun.mail</groupId>
     <artifactId>all</artifactId>
     <packaging>pom</packaging>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     <name>JavaMail API distribution</name>
     <description>${project.name}</description>
     <url>http://kenai.com/projects/javamail</url>
@@ -75,9 +75,9 @@
     </organization>
 
     <properties>
- <mail.version>1.4.4-SNAPSHOT</mail.version>
+ <mail.version>1.4.4-rc1</mail.version>
         <!-- like mail.version, but with underscores instead of dots -->
- <mail.zipversion>1_4_4-SNAPSHOT</mail.zipversion>
+ <mail.zipversion>1_4_4-rc1</mail.zipversion>
         <mail.spec.version>1.4</mail.spec.version>
         <activation-api.version>1.1</activation-api.version>
         <!-- defaults that are overridden in mail module -->

diff -r 73dc645f421c -r 0a99728ee1d1 pop3/pom.xml
--- a/pop3/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/pop3/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>parent-distrib</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
         <relativePath>../parent-distrib/pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 73dc645f421c -r 0a99728ee1d1 servlet/pom.xml
--- a/servlet/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/servlet/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 smtp/pom.xml
--- a/smtp/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/smtp/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>parent-distrib</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
         <relativePath>../parent-distrib/pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 73dc645f421c -r 0a99728ee1d1 taglib/pom.xml
--- a/taglib/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/taglib/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 73dc645f421c -r 0a99728ee1d1 webapp/pom.xml
--- a/webapp/pom.xml Fri Dec 10 15:40:45 2010 -0800
+++ b/webapp/pom.xml Fri Dec 10 17:16:00 2010 -0800
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.4.4-SNAPSHOT</version>
+ <version>1.4.4-rc1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>


diff -r 0a99728ee1d1 -r 4ea0459d58ac .hgtags
--- a/.hgtags Fri Dec 10 17:16:00 2010 -0800
+++ b/.hgtags Fri Dec 10 17:16:18 2010 -0800
@@ -5,3 +5,4 @@
 200b5a729cff286d1288b64287dc339233cd5040 JAVAMAIL-1_4_3
 200b5a729cff286d1288b64287dc339233cd5040 JAVAMAIL-1_4_3
 1f3f699ed17aa2c740eb09def5d83dd80671748a JAVAMAIL-1_4_3
+0a99728ee1d1d3d2b27ab76e0db05d9652ee1063 JAVAMAIL-1_4_4-RC1


diff -r 4ea0459d58ac -r bbea519b165e pom.xml
--- a/pom.xml Fri Dec 10 17:16:18 2010 -0800
+++ b/pom.xml Wed Jan 05 15:49:19 2011 -0800
@@ -3,7 +3,7 @@
 
     DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
- Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved.
 
     The contents of this file are subject to the terms of either the GNU
     General Public License Version 2 only ("GPL") or the Common Development
@@ -169,6 +169,17 @@
             <modules>
                 <module>parent-distrib</module>
             </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
         </profile>
 
         <!--
@@ -214,7 +225,9 @@
     <distributionManagement>
         <repository>
             <id>java.net-m2-repository</id>
- <url>java-net:/maven2-repository/trunk/repository/</url>
+ <url>
+ svn:https://svn.java.net/svn/maven2-repository~svn/trunk/repository
+ </url>
             <uniqueVersion>false</uniqueVersion>
         </repository>
     </distributionManagement>


diff -r bbea519b165e -r 3787150936bd doc/release/CHANGES.txt
--- a/doc/release/CHANGES.txt Wed Jan 05 15:49:19 2011 -0800
+++ b/doc/release/CHANGES.txt Wed Jan 05 15:50:05 2011 -0800
@@ -50,6 +50,7 @@
 <no id> add demo classes to support non-MIME messages from Outlook
 <no id> fix deadlock when using IMAP fetch and IDLE
 <no id> add support for mail.smtp.auth.<mechanism>.disable properties
+<no id> fix deadlock when accessing IMAP messages while doing a fetch
 
 
                   CHANGES IN THE 1.4.3 RELEASE

diff -r bbea519b165e -r 3787150936bd mail/src/main/java/com/sun/mail/imap/IMAPMessage.java
--- a/mail/src/main/java/com/sun/mail/imap/IMAPMessage.java Wed Jan 05 15:49:19 2011 -0800
+++ b/mail/src/main/java/com/sun/mail/imap/IMAPMessage.java Wed Jan 05 15:50:05 2011 -0800
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved.
  *
  * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common Development
@@ -100,17 +100,17 @@
     private String description; // decoded (Unicode) desc
 
     // Indicates that we've loaded *all* headers for this message
- private boolean headersLoaded = false;
+ private volatile boolean headersLoaded = f
[truncated due to length]