Re: Using James 3.8.0 with Microsoft SQL Server

2023-10-20 Thread Benoit TELLIER
Hello Matt

Pointer to a working example relying on docker: 
https://github.com/apache/james-project/tree/master/server/apps/jpa-app#using-alternative-jdbc-drivers
 



-- 

Best regards,

Benoit TELLIER

General manager of Linagora VIETNAM.
Product owner for Team-Mail product.
Chairman of the Apache James project.

Mail: btell...@linagora.com
Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal)


On Oct 20, 2023 9:13 PM, from Matt Pryor I have also tried editing my startup 
command as follows but still getting
the same result:

java -javaagent:james-server-jpa-app.lib\openjpa-3.2.0.jar
-Dworking.directory=. -Djdk.tls.ephemeralDHKeySize=2048
-Dlogback.configurationFile=conf\logback.xml -cp
"james-server-jpa-app.jar:james-server-jpa-app.lib/*:
extension-jars/mssql-jdbc-7.4.1.jre8.jar" -jar james-server-jpa-app.jar

Thanks
Matt



On Fri, 20 Oct 2023 at 14:59, Matt Pryor 
wrote:

> Hello
>
> I have the following in james-database.properties:
>
> database.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
> database.url=jdbc:sqlserver://sqlserver_host_name;DatabaseName=apache_james
> database.username=james
> database.password=x
>
> vendorAdapter.database=SQL_SERVER
>
> I'm getting ClassNotFoundException for SQLServerDriver.
>
> The driver jar is in /extension-jars
>
> I have also tried putting it in james-server-jpa-app.lib but still getting
> the same error.
>
> Is there somewhere else I have to specify the jar location so it gets
> included in the classpath?
>
> Regards
> Matt
>
>
>
> --
> Kind regards
> Matt Pryor
> Software Developer
>
> The International Presence Group of Companies
> EMAIL: pr...@presencebpm.com
> URL: International-presence.com
>
>
>

--
Kind regards
Matt Pryor
Software Developer

The International Presence Group of Companies
EMAIL: pr...@presencebpm.com
URL: International-presence.com




Re: Error on startup

2023-10-20 Thread Benoit TELLIER
Are you running on Windows?

We did some changes to prevent privilege escalation with JMX but apparently 
file permission handling fails on windows.

We can likely avoid setting permissions when on Windows.

CF https://issues.apache.org/jira/browse/JAMES-3949

-- 

Best regards,

Benoit TELLIER

General manager of Linagora VIETNAM.
Product owner for Team-Mail product.
Chairman of the Apache James project.

Mail: btell...@linagora.com
Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal)


On Oct 20, 2023 7:31 PM, from Matt Pryor Hello

Just trying to get the latest Guice version of James up and running. I'm
currently using the default configuration files and was planning on setting
everything correctly to match the old version settings once I get it
started.

I'm seeing this error on startup. Should I worry about this, and if so how
do I fix it?

java.lang.UnsupportedOperationException: null
at
java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2168)
at
org.apache.james.modules.server.JMXServer.setPermissionOwnerOnly(JMXServer.java:202)
at
org.apache.james.modules.server.JMXServer.generateJMXPasswordFile(JMXServer.java:179)
at
org.apache.james.modules.server.JMXServer.generateJMXPasswordFileIfNeed(JMXServer.java:164)
at
org.apache.james.modules.server.JMXServer.doStart(JMXServer.java:123)
at
org.apache.james.modules.server.JMXServer.start(JMXServer.java:94)
at
org.apache.james.modules.server.JMXServerModule.lambda$startJmxServer$0(JMXServerModule.java:124)
at
org.apache.james.utils.InitilizationOperationBuilder$PrivateImpl.initModule(InitilizationOperationBuilder.java:71)
at
com.github.fge.lambdas.consumers.ConsumerChainer.lambda$sneakyThrow$9(ConsumerChainer.java:73)
at
java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:540)
at
java.base/java.util.stream.DistinctOps$1$2.accept(DistinctOps.java:174)
at
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at
java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
at
java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
at
java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at
java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
at
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at
java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
at
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at
org.apache.james.utils.InitializationOperations.processStartables(InitializationOperations.java:51)
at
org.apache.james.utils.InitializationOperations.initModules(InitializationOperations.java:41)
at org.apache.james.GuiceJamesServer.start(GuiceJamesServer.java:93)
at org.apache.james.JamesServerMain.main(JamesServerMain.java:30)
at
org.apache.james.JPAJamesServerMain.main(JPAJamesServerMain.java:110)



Thanks!
Matt


--
Kind regards
Matt Pryor
Software Developer

The International Presence Group of Companies
EMAIL: pr...@presencebpm.com
URL: International-presence.com


Re: Using James 3.8.0 with Microsoft SQL Server

2023-10-20 Thread Matt Pryor
I have also tried editing my startup command as follows but still getting
the same result:

java -javaagent:james-server-jpa-app.lib\openjpa-3.2.0.jar
-Dworking.directory=. -Djdk.tls.ephemeralDHKeySize=2048
-Dlogback.configurationFile=conf\logback.xml -cp
"james-server-jpa-app.jar:james-server-jpa-app.lib/*:
extension-jars/mssql-jdbc-7.4.1.jre8.jar" -jar james-server-jpa-app.jar

Thanks
Matt



On Fri, 20 Oct 2023 at 14:59, Matt Pryor 
wrote:

> Hello
>
> I have the following in james-database.properties:
>
> database.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
> database.url=jdbc:sqlserver://sqlserver_host_name;DatabaseName=apache_james
> database.username=james
> database.password=x
>
> vendorAdapter.database=SQL_SERVER
>
> I'm getting ClassNotFoundException for SQLServerDriver.
>
> The driver jar is in /extension-jars
>
> I have also tried putting it in james-server-jpa-app.lib but still getting
> the same error.
>
> Is there somewhere else I have to specify the jar location so it gets
> included in the classpath?
>
> Regards
> Matt
>
>
>
> --
> Kind regards
> Matt Pryor
> Software Developer
>
> The International Presence Group of Companies
> EMAIL: pr...@presencebpm.com
> URL: www.International-presence.com
>
>
>

-- 
Kind regards
Matt Pryor
Software Developer

The International Presence Group of Companies
EMAIL: pr...@presencebpm.com
URL: www.International-presence.com


Using James 3.8.0 with Microsoft SQL Server

2023-10-20 Thread Matt Pryor
Hello

I have the following in james-database.properties:

database.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
database.url=jdbc:sqlserver://sqlserver_host_name;DatabaseName=apache_james
database.username=james
database.password=x

vendorAdapter.database=SQL_SERVER

I'm getting ClassNotFoundException for SQLServerDriver.

The driver jar is in /extension-jars

I have also tried putting it in james-server-jpa-app.lib but still getting
the same error.

Is there somewhere else I have to specify the jar location so it gets
included in the classpath?

Regards
Matt



-- 
Kind regards
Matt Pryor
Software Developer

The International Presence Group of Companies
EMAIL: pr...@presencebpm.com
URL: www.International-presence.com


Re: Error on startup

2023-10-20 Thread Matt Pryor
Also just spotted this in the startup logs:

13:23:25.049 ←[31m[WARN ]←[0;39m o.a.j.m.s.JMXServer - No authentication
setted up for the JMX component. This expose you to local privilege
escalation attacks risk.

Thanks
Matt


On Fri, 20 Oct 2023 at 13:29, Matt Pryor 
wrote:

> Hello
>
> Just trying to get the latest Guice version of James up and running. I'm
> currently using the default configuration files and was planning on setting
> everything correctly to match the old version settings once I get it
> started.
>
> I'm seeing this error on startup. Should I worry about this, and if so how
> do I fix it?
>
> java.lang.UnsupportedOperationException: null
> at
> java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2168)
> at
> org.apache.james.modules.server.JMXServer.setPermissionOwnerOnly(JMXServer.java:202)
> at
> org.apache.james.modules.server.JMXServer.generateJMXPasswordFile(JMXServer.java:179)
> at
> org.apache.james.modules.server.JMXServer.generateJMXPasswordFileIfNeed(JMXServer.java:164)
> at
> org.apache.james.modules.server.JMXServer.doStart(JMXServer.java:123)
> at
> org.apache.james.modules.server.JMXServer.start(JMXServer.java:94)
> at
> org.apache.james.modules.server.JMXServerModule.lambda$startJmxServer$0(JMXServerModule.java:124)
> at
> org.apache.james.utils.InitilizationOperationBuilder$PrivateImpl.initModule(InitilizationOperationBuilder.java:71)
> at
> com.github.fge.lambdas.consumers.ConsumerChainer.lambda$sneakyThrow$9(ConsumerChainer.java:73)
> at
> java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:540)
> at
> java.base/java.util.stream.DistinctOps$1$2.accept(DistinctOps.java:174)
> at
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
> at
> java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
> at
> java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
> at
> java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
> at
> java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
> at
> java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
> at
> java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
> at
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
> at
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
> at
> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
> at
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
> at
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> at
> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
> at
> java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
> at
> java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
> at
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
> at
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
> at
> java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
> at
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> at
> java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
> at
> org.apache.james.utils.InitializationOperations.processStartables(InitializationOperations.java:51)
> at
> org.apache.james.utils.InitializationOperations.initModules(InitializationOperations.java:41)
> at
> org.apache.james.GuiceJamesServer.start(GuiceJamesServer.java:93)
> at org.apache.james.JamesServerMain.main(JamesServerMain.java:30)
> at
> org.apache.james.JPAJamesServerMain.main(JPAJamesServerMain.java:110)
>
>
>
> Thanks!
> Matt
>
>
> --
> Kind regards
> Matt Pryor
> Software Developer
>
> The International Presence Group of Companies
> EMAIL: pr...@presencebpm.com
> URL: www.International-presence.com
>
>
>

-- 
Kind regards
Matt Pryor
Software Developer

The International Presence Group of Companies
EMAIL: pr...@presencebpm.com
URL: www.International-presence.com


Error on startup

2023-10-20 Thread Matt Pryor
Hello

Just trying to get the latest Guice version of James up and running. I'm
currently using the default configuration files and was planning on setting
everything correctly to match the old version settings once I get it
started.

I'm seeing this error on startup. Should I worry about this, and if so how
do I fix it?

java.lang.UnsupportedOperationException: null
at
java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2168)
at
org.apache.james.modules.server.JMXServer.setPermissionOwnerOnly(JMXServer.java:202)
at
org.apache.james.modules.server.JMXServer.generateJMXPasswordFile(JMXServer.java:179)
at
org.apache.james.modules.server.JMXServer.generateJMXPasswordFileIfNeed(JMXServer.java:164)
at
org.apache.james.modules.server.JMXServer.doStart(JMXServer.java:123)
at
org.apache.james.modules.server.JMXServer.start(JMXServer.java:94)
at
org.apache.james.modules.server.JMXServerModule.lambda$startJmxServer$0(JMXServerModule.java:124)
at
org.apache.james.utils.InitilizationOperationBuilder$PrivateImpl.initModule(InitilizationOperationBuilder.java:71)
at
com.github.fge.lambdas.consumers.ConsumerChainer.lambda$sneakyThrow$9(ConsumerChainer.java:73)
at
java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:540)
at
java.base/java.util.stream.DistinctOps$1$2.accept(DistinctOps.java:174)
at
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at
java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
at
java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
at
java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at
java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
at
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at
java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
at
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at
org.apache.james.utils.InitializationOperations.processStartables(InitializationOperations.java:51)
at
org.apache.james.utils.InitializationOperations.initModules(InitializationOperations.java:41)
at org.apache.james.GuiceJamesServer.start(GuiceJamesServer.java:93)
at org.apache.james.JamesServerMain.main(JamesServerMain.java:30)
at
org.apache.james.JPAJamesServerMain.main(JPAJamesServerMain.java:110)



Thanks!
Matt


-- 
Kind regards
Matt Pryor
Software Developer

The International Presence Group of Companies
EMAIL: pr...@presencebpm.com
URL: www.International-presence.com