Re: [Vote] migration to java 11

2019-10-27 Thread Tellier Benoit
On 26/10/2019 09:27, Garry Hurley wrote:
> -1
> 
> While I agree it is good to support Java 11, forcing a move to Java 11 will
> hamstring some users of James.  First of all, government agencies are slow
> to adopt new versions, mainly because they have few actual employees
> well-versed enough to know what enhancements the new versions of Java would
> do.  Additionally, they have other legacy applications which require older
> versions of Java to run, often on the same machine as their James server.

Running different applications with different versions of Java does not
seem an issue to me.

> That being said, I do think moving to Java 11 is a good strategy, but
> keeping compatibility with Java 8 is essential for now.  I would ensure
> that you compile to Java 8 standards in order to help wider adoption.

That could be a solution to me. We could let the time between to
releases for people to adapt.

> Please do not recompile older binaries into Java 11, as some of us have to
> jump through sixteen flaming hoops in gasoline-soaked coveralls in order to
> get approval to get a version of James installed, let alone get Java
> upgraded to a proper version.

That won't happen.

Also keep in mind that Apache delivers code, binaries are just here for
convenience. (old release code will be unchanged anyway, and you will be
able to recompile to JRE 8)

> Also, the packages of Java that have been
> bundled with and which have patches in different versions of Red Hat
> Enterprise Linux and SuSE Linux Enterprise Server are not just able to
> install the latest and greatest Linux.

Getting a JRE that is still maintained looks like a big deal to me, I
believe such governement agencies would feel the same. And maybe it's
not packaged out of the box but you should still be able to install a
JRE 11 on such old machines.

> On Thu, Oct 24, 2019 at 10:43 AM Matthieu Baechler 
> wrote:
> 
>> Hi,
>>
>> I would like to propose the migration to Java 11 as a runtime.
>>
>> I opened an ADR here: https://github.com/apache/james-project/pull/174
>>
>> Here is the content of this ADR:
>>
>> ---
>> # 9. Migration to Java Runtime Environment 11
>>
>> Date: 2019-10-24
>>
>> ## Status
>>
>> Proposed
>>
>> ## Context
>>
>> Java 11 is the only "Long Term Support" java release right now so more
>> and more people will use it exclusively.
>>
>> James is known to build with Java Compiler 11 for some weeks.
>>
>> ## Decision
>>
>> We adopt Java Runtime Environment 11 for James as a runtime to benefits
>> from a supported runtime and new features
>> of the languages and the platform.
>>
>> ## Consequences
>>
>> * It requires the upgrade of Spring to 4.3.x.
>> * All docker images should be updated to adoptopenjdk 11.
>> * The documentation should be updated accordingly.
>>
>> ---
>>
>> Voting rules:
>>
>> I do propose a vote to ensure consensus on it:
>>  - Answer this mail with "+1" to support this decision
>>  - Answer this mail with "-1" if you reject this decision
>>
>> Negative votes should be motivated. Voting ends on 31th October 2019
>> 8am UTC.
>>
>> Cheers,
>>
>> --
>> Matthieu Baechler
>>
>>
>> -
>> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
>> For additional commands, e-mail: server-dev-h...@james.apache.org
>>
>>
> 

-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



[jira] [Created] (JAMES-2933) Update Build from source documentation page

2019-10-27 Thread Jira
René Cordier created JAMES-2933:
---

 Summary: Update Build from source documentation page
 Key: JAMES-2933
 URL: https://issues.apache.org/jira/browse/JAMES-2933
 Project: James Server
  Issue Type: Bug
  Components: Documentation
Reporter: René Cordier


The documentation page [https://james.apache.org/server/dev-build.html] is 
completely outdated. We need to update it to the build of latest James version 
(3.4.0).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



Re: [Vote] migration to java 11

2019-10-27 Thread Tellier Benoit
+1

Thanks for the proposal.

On 24/10/2019 21:43, Matthieu Baechler wrote:
> Hi,
> 
> I would like to propose the migration to Java 11 as a runtime.
> 
> I opened an ADR here: https://github.com/apache/james-project/pull/174
> 
> Here is the content of this ADR:
> 
> ---
> # 9. Migration to Java Runtime Environment 11
> 
> Date: 2019-10-24
> 
> ## Status
> 
> Proposed
> 
> ## Context
> 
> Java 11 is the only "Long Term Support" java release right now so more
> and more people will use it exclusively.
> 
> James is known to build with Java Compiler 11 for some weeks.
> 
> ## Decision
> 
> We adopt Java Runtime Environment 11 for James as a runtime to benefits
> from a supported runtime and new features
> of the languages and the platform.
> 
> ## Consequences
> 
> * It requires the upgrade of Spring to 4.3.x.
> * All docker images should be updated to adoptopenjdk 11.
> * The documentation should be updated accordingly.
> 
> ---
> 
> Voting rules:
> 
> I do propose a vote to ensure consensus on it:
>  - Answer this mail with "+1" to support this decision
>  - Answer this mail with "-1" if you reject this decision
> 
> Negative votes should be motivated. Voting ends on 31th October 2019
> 8am UTC.
> 
> Cheers,
> 

-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



Re: Trouble building the latest master.

2019-10-27 Thread Rene Cordier

Hi Mark,

Yes good guess for the first issue, you need indeed now Java 11 to 
compile the project.


The documentation that you are pointing to is completely outdated I'm 
afraid, sorry for that.


If you want to pass the tests with maven, you can add this option in 
your maven command line "-DskipTests". It will skip the test phase.


I think the README at the base of the github project is better 
up-to-date for project's compilation.


Regards,

Rene Cordier.

On 26/10/2019 09:14, Mark Gordon wrote:

I got past the previous problem by commenting out the release line on the
following xml.   I think this may have to do with the
plan to go to jdk 11?

It got past the compile now it is failing a cassandra
test apache-james-backends-cassandra

Can i go directly to package?  I am not using cassandra HOw do I avoid
the testing or get past this error.


 org.apache.maven.plugins
 maven-compiler-plugin
 3.8.1
 
 true
 ${target.jdk}
 ${target.jdk}
 
 
 



[INFO]

[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test)
on project apache-james-backends-cassandra: There are test failures.
[ERROR]
[ERROR] Please refer to
/home/orderpt/james-project/backends-common/cassandra/target/surefire-reports
for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump,
[date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,
please read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the
command
[ERROR]   mvn  -rf :apache-james-backends-cassandra

On Fri, Oct 25, 2019 at 6:09 PM Mark Gordon  wrote:


I have used james in the past but now having trouble getting 3.4 to
deliver mail.

I would like to be able to build the latest release so I and figure out
what is going on.   Also would like to work on some maillets.
Is there an up to date tutorial on building the latest master?

I did not make it very far

Any direction would be appreciated.

I cloned the repository and I get this error when I try to compile.
https://james.apache.org/server/3/dev-build.html

In the JAMES_SRC_HOME top level directory (where the parent pom.xml
resides), invoke maven with 'mvn' with any of the following command line
arguments:

- clean - deletes the target directory, making the system ready for a
clean build.
- compile - compiles the source code.
- test - run unit tests for James.
- *package - generates all the James distributions, packed. From the
root directory, cd to 'server/container/spring/target' to have the build
distribution. Notice, for the latest trunk(revision 1430655+), a specific
profile argument need to be set: '-Pwith-assembly'. The location of final
distributions is also changed to 'JAMES_SRC_HOME/server/app/target'.*
- javadocs:javadocs - builds the James javadocs.
- site - builds the entirety of the James website.


I did:

clone
mvn clean
mvn compile


[INFO] Apache James :: Server :: Web Admin server integration tests SKIPPED
[INFO]

[INFO] BUILD FAILURE
[INFO]

[INFO] Total time:  16.635 s
[INFO] Finished at: 2019-10-25T18:04:55Z
[INFO]

[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
(default-compile) on project james-server-util: Fatal error compiling:
invalid flag: --release -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the
-e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,
please read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the
command
[ERROR]   mvn  -rf :james-server-util

--
Mark Gordon 

OrderTech Corporation | 819 W Fairmont Dr Ste 2 | Tempe, AZ 85282

*o:* (480) 285-1403 <4802851403> | *f:* (480) 464-5824 <4804645824> | *m:*
  (602) 549-0488 <6025490488>

www.ordertech.com

LinkedIn  | Twitter
 

Re: [Vote] migration to java 11

2019-10-27 Thread Rene Cordier

+1

On 24/10/2019 21:43, Matthieu Baechler wrote:

Hi,

I would like to propose the migration to Java 11 as a runtime.

I opened an ADR here: https://github.com/apache/james-project/pull/174

Here is the content of this ADR:

---
# 9. Migration to Java Runtime Environment 11

Date: 2019-10-24

## Status

Proposed

## Context

Java 11 is the only "Long Term Support" java release right now so more
and more people will use it exclusively.

James is known to build with Java Compiler 11 for some weeks.

## Decision

We adopt Java Runtime Environment 11 for James as a runtime to benefits
from a supported runtime and new features
of the languages and the platform.

## Consequences

* It requires the upgrade of Spring to 4.3.x.
* All docker images should be updated to adoptopenjdk 11.
* The documentation should be updated accordingly.  

---

Voting rules:

I do propose a vote to ensure consensus on it:
  - Answer this mail with "+1" to support this decision
  - Answer this mail with "-1" if you reject this decision

Negative votes should be motivated. Voting ends on 31th October 2019
8am UTC.

Cheers,



-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



RRT on Sender

2019-10-27 Thread Jerry Malcolm
How is RRT supposed to work with the sender side?  I understand that RRT 
stands for "Recipient..".  But the translations still need to work 
on outbound as well for storing in the 'sent' folder.  I don't see 
anywhere in the code that sender rrt is processed.   And I confirmed 
that ToSenderFolder was attempting to store my email using my 'alias' 
sender address instead of the user account the alias address maps to in rrt.


Is the intended architecture design that RRT should handle sender as 
well as recipient?  Or should sender mapping be done elsewhere?  I can 
make the necessary changes and submit them to git.  But as in other 
cases, I want to do it the 'intended' way.


Jerry


-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



User-From-Sender Problem

2019-10-27 Thread Jerry Malcolm
My previous post explains a problem when there are capitalization 
inconsistencies between the target acct name and the user name. I've 
traced through the code and see how this is happening:


The "To" and "Sender" fields can be any case:  je...@xyz.com. 
usersRepository.getUser(sender) lowercases the domain portion of the 
address, but does not lowercase the name portion of the address.  It 
will return je...@xyz.com, which has no correlation to the actual 
account name.  This results in the mailbox "ReadOnly" exception which 
actually means mailbox not found.


I believe the usersRepository.getUser(sender) should do a lookup in the 
usersRepository and return the actual user name and case from the 
repository.  And if the derived 'user name' doesn't match an account, I 
think an error should be returned.


I can make the changes.  But again, I want to make sure I'm not 
violating what was intended with this function.  I just need 
confirmation that what I'm proposing is correct.


Jerry



-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



I Found Where Lots of Mail Has Been Going (Bug?)

2019-10-27 Thread Jerry Malcolm
When storing mail, the target account and folder are passed in to one of 
the three mail-store mailets.  If the folder doesn't exist on the target 
account, it makes sense that this folder be created automatically.  I 
don't have a problem with that.  However, if the target account doesn't 
exist, a completely new target account mailbox is created even though 
there is not a matching user account.  Granted, in a perfect world, a 
non-existent target account should not be passed in.  But it is 
happening (a lot). I plan to track back and figure that out next.  But 
currently, I have over 1000 new mailboxes created, mostly from spammers.


MailBoxAppender immediately tries to create the mailbox if it doesn't 
exist.  StoreMailBoxManager checks for a valid mailbox name, but does 
NOT check to see if an account exists for this mailbox.  It then creates 
the mailbox and downstream code dutifully stores the requested email in 
this 'orphan' mailbox that has no way to be accessed.


Question: I assume that there is no reason a mailbox should be created 
for "wearespamm...@spammers.com" just because some upstream code asked 
for it.  I assume that MailBoxAppender 'should' receive an exception in 
this case.  Is this correct?


Question 2: Assuming I am correct in my assumption, I can fix it by 
adding a check if there is an actual user matching the mailbox.  But 
with all of the implementation variations, I don't know the best 
'abstract' way of checking if a user name is valid that will work across 
all variations.  So if someone can tell me the correct way to check a 
user name, I'll make the change.


In the meantime, for users who can't find mail (Mark Gordon, et al) 
should check to see if you have a bunch of orphaned mailboxes in your 
database.


BTW This could explain why I was getting 'Read-only' mailbox errors 
which was actually 'mailbox doesn't exist'.  I was only getting those 
errors when there was a capitalization error in the account name.  I 
suspect that somehow mailbox names are case-normalized and the create 
failed because the normalized mailbox name existed.  But when the 
appender tried to write to the mailbox, it was case-sensitive, so the 
mailbox it was seeking still didn't exist.  However, when the 
create-mailbox was for a completely random account name, the create 
worked, and there was no error.


Still a problem with upstream sending in mixed case target account names 
that don't match users.  I'll look into that soon.


Jerry


-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org