Re: Bug in Geronimo JavaMail

2009-10-15 Thread Rick McGuire

This sounds like a new issue.  Please open a Jira against this.

Rick

von Janowsky, Simon wrote:

  Hello,
we found a bug in the geronimo javamail, and couldn't find
a issue for this in jira.

When a url ist set to receive email the username ist extracted correctly
using UrlName class,
but when querying  the imap server the system defined username is used
instead.

This is because the username in the connect Method in Service.java
overrides
the
username from the url. See this code excerpt from
javax.mail.Service.class
in geronimo-javamail_1.4_spec-1.6.jar 




   if (user == null) {
// first choice is from the url, if we have
if (url != null) {
user = url.getUsername();
// make sure we get the password from the url, if we
can.
if (password == null) {
password = url.getPassword();
}
// user still null?  We have several levels of
properties to try yet
if (user == null) {
if (protocol != null) {
user = session.getProperty("mail." +
protocol + ".user");
}
}
}

// this may still be null...get the global mail property
if (user == null) {
user = session.getProperty("mail.user");
}

// finally, we try getting the system defined user name
// HERE THE USER IS ALWAYS OVERWRITTEN
// HERE THE USER IS ALWAYS OVERWRITTEN
// HERE THE USER IS ALWAYS OVERWRITTEN
try {
user = System.getProperty("user.name");
} catch (SecurityException e) {
// we ignore this, and just us a null username.
}
}




With kind regards,
Simon von Janowsky


  




Bug in Geronimo JavaMail

2009-10-14 Thread von Janowsky, Simon
  Hello,
we found a bug in the geronimo javamail, and couldn't find
a issue for this in jira.

When a url ist set to receive email the username ist extracted correctly
using UrlName class,
but when querying  the imap server the system defined username is used
instead.

This is because the username in the connect Method in Service.java
overrides
the
username from the url. See this code excerpt from
javax.mail.Service.class
in geronimo-javamail_1.4_spec-1.6.jar 



   if (user == null) {
// first choice is from the url, if we have
if (url != null) {
user = url.getUsername();
// make sure we get the password from the url, if we
can.
if (password == null) {
password = url.getPassword();
}
// user still null?  We have several levels of
properties to try yet
if (user == null) {
if (protocol != null) {
user = session.getProperty("mail." +
protocol + ".user");
}
}
}

// this may still be null...get the global mail property
if (user == null) {
user = session.getProperty("mail.user");
}

// finally, we try getting the system defined user name
// HERE THE USER IS ALWAYS OVERWRITTEN
// HERE THE USER IS ALWAYS OVERWRITTEN
// HERE THE USER IS ALWAYS OVERWRITTEN
try {
user = System.getProperty("user.name");
} catch (SecurityException e) {
// we ignore this, and just us a null username.
}
}




With kind regards,
Simon von Janowsky