[jira] [Resolved] (JAMES-2340) Configure SpamAssassin mailet pipeline

2018-02-26 Thread Antoine Duprat (JIRA)

 [ 
https://issues.apache.org/jira/browse/JAMES-2340?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Antoine Duprat resolved JAMES-2340.
---
Resolution: Fixed

Merge

> Configure SpamAssassin mailet pipeline
> --
>
> Key: JAMES-2340
> URL: https://issues.apache.org/jira/browse/JAMES-2340
> Project: James Server
>  Issue Type: New Feature
>Reporter: Antoine Duprat
>Priority: Major
>
> We should provide an example of the mailet pipeline needed for SpamAssassin 
> configuration in James.
> To achieve that, we may introduce a new docker-compose with SpamAssassin in 
> docker (https://hub.docker.com/r/dinkel/spamassassin/).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Closed] (JAMES-2340) Configure SpamAssassin mailet pipeline

2018-02-26 Thread Antoine Duprat (JIRA)

 [ 
https://issues.apache.org/jira/browse/JAMES-2340?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Antoine Duprat closed JAMES-2340.
-

> Configure SpamAssassin mailet pipeline
> --
>
> Key: JAMES-2340
> URL: https://issues.apache.org/jira/browse/JAMES-2340
> Project: James Server
>  Issue Type: New Feature
>Reporter: Antoine Duprat
>Priority: Major
>
> We should provide an example of the mailet pipeline needed for SpamAssassin 
> configuration in James.
> To achieve that, we may introduce a new docker-compose with SpamAssassin in 
> docker (https://hub.docker.com/r/dinkel/spamassassin/).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



james-project git commit: JAMES-2340 Introduce IsMarkedAsSpam matcher

2018-02-26 Thread aduprat
Repository: james-project
Updated Branches:
  refs/heads/master 21bd4ffad -> 500510f11


JAMES-2340 Introduce IsMarkedAsSpam matcher


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/500510f1
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/500510f1
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/500510f1

Branch: refs/heads/master
Commit: 500510f11432196114023c7bcac37d985ad5b7f2
Parents: 21bd4ff
Author: Antoine Duprat 
Authored: Tue Feb 20 15:17:38 2018 +0100
Committer: Antoine Duprat 
Committed: Tue Feb 27 08:36:09 2018 +0100

--
 .../transport/matchers/IsMarkedAsSpam.java  |  83 +
 .../transport/matchers/IsMarkedAsSpamTest.java  | 121 +++
 2 files changed, 204 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/james-project/blob/500510f1/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
--
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
new file mode 100644
index 000..4faea53
--- /dev/null
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
@@ -0,0 +1,83 @@
+/
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information*
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the*
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *  *
+ *   http://www.apache.org/licenses/LICENSE-2.0 *
+ *  *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY   *
+ * KIND, either express or implied.  See the License for the*
+ * specific language governing permissions and limitations  *
+ * under the License.   *
+ /
+
+package org.apache.james.transport.matchers;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Locale;
+
+import javax.mail.MessagingException;
+
+import org.apache.james.core.MailAddress;
+import org.apache.james.util.scanner.SpamAssassinInvoker;
+import org.apache.mailet.Mail;
+import org.apache.mailet.base.GenericMatcher;
+
+import com.google.common.collect.ImmutableList;
+
+/**
+ * 
+ * Matches mails having a org.apache.james.spamassassin.status 
attribute with a Yes value.
+ * 
+ * 
+ * As an example, here is a part of a mailet pipeline which can be used in 
your LocalDelivery processor:
+ * {@code
+ * 
+ * 
+ * spamassassin
+ * 783
+ * 
+ * 
+ * Spam
+ * true
+ * 
+ * 
+ * }
+ */
+public class IsMarkedAsSpam extends GenericMatcher {
+
+private static final String YES = "yes";
+
+@Override
+public String getMatcherInfo() {
+return "Has org.apache.james.spamassassin.status attribute with a Yes 
value Matcher";
+}
+
+@Override
+public void init() throws MessagingException {
+}
+
+@Override
+public Collection match(Mail mail) throws MessagingException {
+Serializable attribute = 
mail.getAttribute(SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME);
+if (isMarkedAsSpam(attribute)) {
+return mail.getRecipients();
+}
+return ImmutableList.of();
+}
+
+private boolean isMarkedAsSpam(Serializable attribute) {
+return attribute != null &&
+attribute.toString()
+.toLowerCase(Locale.US)
+.startsWith(YES);
+}
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/500510f1/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsMarkedAsSpamTest.java
--
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsMarkedAsSpamTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsMarkedAsSpamTest.java
new file mode 100644
index 000..a33f763
--- 

[jira] [Created] (JAMES-2344) WebAdmin should allow user quota management

2018-02-26 Thread Matthieu Baechler (JIRA)
Matthieu Baechler created JAMES-2344:


 Summary: WebAdmin should allow user quota management
 Key: JAMES-2344
 URL: https://issues.apache.org/jira/browse/JAMES-2344
 Project: James Server
  Issue Type: Bug
  Components: webadmin
Affects Versions: 3.0.1
Reporter: Matthieu Baechler


Endpoint should be
{code:java}
/quota/users/{user}/size{code}
and
{code:java}
/quota/users/{user}/count{code}
and should support PUT, DELETE and GET verbs.

GET should return hierarchical values like :

 
{code:java}
{

default : {

  size: "12345"

},

domain : {

  count : "12345"

},

user : {

  size : "-1", //for infinity

  count : "9"

},

computed : {

  size : "-1",

  count: "9"

}

}
{code}
"-1" should be considered a special value meaning infinity.


Setting a quota that is smaller that current user usage should return a 409 
Conflict response.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (JAMES-2320) MailQueue element removal should be backed by a Task

2018-02-26 Thread Matthieu Baechler (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-2320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16376960#comment-16376960
 ] 

Matthieu Baechler commented on JAMES-2320:
--

The task could the Type and the value as parameters and call queue.remove 
blindly, don't you thing ?

> MailQueue element removal should be backed by a Task
> 
>
> Key: JAMES-2320
> URL: https://issues.apache.org/jira/browse/JAMES-2320
> Project: James Server
>  Issue Type: Improvement
>  Components: Queue, webadmin
>Affects Versions: master
>Reporter: Tellier Benoit
>Priority: Major
>  Labels: feature, newbie
>
> {code:java}
> DELETE /mailQueues/:name/messages/ ?sender ?name ?recipient 
> 201 + taskId
> {code}
> Should generate a Task.No status is required as it might be complicated to 
> implement.
> You need to write related unit tests.
> A few indications:
>  - *MailQueueRoutes* declares the /mailQueues webAdmin endpoints
>  - You need to implement a *Task** performing DELETE in a mailQueue
>  - *TaskManager* is used to submit the task (and can be injected. Have a look 
> to MailRepositoriesRoutes if you are looking for an example.
>  - Use *TaskIdDto::respond* in order to send a valid response.
>  - You need some additional tests in *MailQueueRoutesTest* :
>-- Ensure that the status is 201, and that the Location header is well 
> positionned.
>-- Check the created task details
>-- Await the end of the task, and check the effects.
> (Again, a look to *MailRepositoriesRoutesTest::reprocessingOneTaskShould\** 
> tests can be helpful)
> If you need more details to implement this feature, we are willing to provide 
> support. Don't hesitate to ask on https://gitter.im/apache/james-project. We 
> are willing to provide guidance.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (JAMES-2319) As an administrator I want to clear a mailQueue

2018-02-26 Thread Matthieu Baechler (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-2319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16376950#comment-16376950
 ] 

Matthieu Baechler commented on JAMES-2319:
--

Hi Sameera,

Usually, we try to keep tasks small so that it reach master faster. Our review 
process can sometimes be hard at first, so the smaller the PR you propose, the 
easier it would be for everyone.

Of course, other features you described are very welcome too, but I would 
rather create a new ticket for that.

Is it ok to you ?

> As an administrator I want to clear a mailQueue
> ---
>
> Key: JAMES-2319
> URL: https://issues.apache.org/jira/browse/JAMES-2319
> Project: James Server
>  Issue Type: Improvement
>  Components: Queue, webadmin
>Affects Versions: master
>Reporter: Tellier Benoit
>Priority: Major
>  Labels: feature, newbie
>
> The goal of this ticket is to implement an additional webadmin mailqueue 
> management endpoint.
> {code:java}
> DELETE /mailQueues/:name/messages/
> {code}
> This should purge the mail queue (akka delete all mails from the queue).
> You need to enhance the behaviour of MailQueueRoutes (deleteMails). You need 
> a DELETE without query parameters to call ManageableMailQueue::clear.
> You will need tests in *MailQueueRoutesTest* to show:
>  - The status corresponds to 204
>  - The mail queue is purged: all enqueued mails are removed
>  - Purging an empty queue is allowed.
> This task is related to JAMES-2320 which should add a task for this.
> If you need more details to implement this feature, we are willing to provide 
> support. Don't hesitate to ask on https://gitter.im/apache/james-project. We 
> are willing to provide guidance.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



james-site git commit: Update Hupa documents banner.

2018-02-26 Thread dongxu
Repository: james-site
Updated Branches:
  refs/heads/asf-site 8f1511840 -> 652615d9c


Update Hupa documents banner.


Project: http://git-wip-us.apache.org/repos/asf/james-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-site/commit/652615d9
Tree: http://git-wip-us.apache.org/repos/asf/james-site/tree/652615d9
Diff: http://git-wip-us.apache.org/repos/asf/james-site/diff/652615d9

Branch: refs/heads/asf-site
Commit: 652615d9c7c5b9ec7a8e725b89a04a5091756752
Parents: 8f15118
Author: Echo Wang 
Authored: Mon Feb 26 19:56:13 2018 +0800
Committer: Echo Wang 
Committed: Mon Feb 26 19:56:13 2018 +0800

--
 content/hupa/images/logos/asf_logo_small.png | Bin 0 -> 12945 bytes
 content/hupa/index.html  |  67 +-
 2 files changed, 27 insertions(+), 40 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/james-site/blob/652615d9/content/hupa/images/logos/asf_logo_small.png
--
diff --git a/content/hupa/images/logos/asf_logo_small.png 
b/content/hupa/images/logos/asf_logo_small.png
new file mode 100644
index 000..e8093ea
Binary files /dev/null and b/content/hupa/images/logos/asf_logo_small.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/652615d9/content/hupa/index.html
--
diff --git a/content/hupa/index.html b/content/hupa/index.html
index 06e04fa..ce0e218 100644
--- a/content/hupa/index.html
+++ b/content/hupa/index.html
@@ -60,54 +60,41 @@
 
   
 
-  
-  
-
-
-
-  http://www.apache.org/index.html; 
id="bannerRight">
-  
-
-
-
-
-
-  
+
+
+
+
+
+http://www.apache.org/index.html; id="bannerRight">
+
+
+
+
+
+
+
 
 
-
-
-
-Last Published: 2012-06-07
-  
-Home
-|
-Server
-|
-Hupa
-|
-Protocols
-|
-IMAP
-|
-Mailets
-|
-Mailbox
+
+
+Last Published: 2018-02-26
+
+Home
 |
-Mime4J
+James
 |
-jSieve
+Mime4J
 |
-jSPF
+jSieve
 |
-jDKIM
+jSPF
 |
-MPT
+jDKIM
 |
-Postage
-  
-
-  
+Hupa
+
+
+
   
 
   


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



james-site git commit: Update XSS issues fixed information for Hupa release 0.0.3.

2018-02-26 Thread dongxu
Repository: james-site
Updated Branches:
  refs/heads/asf-site e6edcf292 -> 8f1511840


Update XSS issues fixed information for Hupa release 0.0.3.


Project: http://git-wip-us.apache.org/repos/asf/james-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-site/commit/8f151184
Tree: http://git-wip-us.apache.org/repos/asf/james-site/tree/8f151184
Diff: http://git-wip-us.apache.org/repos/asf/james-site/diff/8f151184

Branch: refs/heads/asf-site
Commit: 8f151184018c42d018352d245bcdcf6efa975207
Parents: e6edcf2
Author: Echo Wang 
Authored: Mon Feb 26 19:21:32 2018 +0800
Committer: Echo Wang 
Committed: Mon Feb 26 19:21:32 2018 +0800

--
 content/hupa/index.html | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/james-site/blob/8f151184/content/hupa/index.html
--
diff --git a/content/hupa/index.html b/content/hupa/index.html
index dd49404..06e04fa 100644
--- a/content/hupa/index.html
+++ b/content/hupa/index.html
@@ -278,7 +278,11 @@
 
 News
 2012
-Jun/2012 - Hupa 0.0.2 released
+Aug/2012 - Hupa 0.0.3 released
+
+Fixes http://svn.apache.org/viewvc?view=revision=1373762; 
target="_blank">various XSS issues CVE-2012-3536
+
+Jun/2012 - Hupa 0.0.2 
released
 
First stable version.
 


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



[jira] [Commented] (JAMES-2319) As an administrator I want to clear a mailQueue

2018-02-26 Thread Sameera Kannangara (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-2319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16376663#comment-16376663
 ] 

Sameera Kannangara commented on JAMES-2319:
---

Hi,

I started implementing a task following the structure of 
org.apache.james.webadmin.routes.MailRepositoriesRoutes to clear a mail queue. 
My implementation is committed at [1]. Relating to JAMES-2320 can this task be 
extended to support mail deletion from queues with sender email, name or 
recipient email?.

Thanks,

Sameera.

 [1] 
https://github.com/sameerak/james-project/commit/0511c546ae51320de9abe369a8085e8d60b721ee

> As an administrator I want to clear a mailQueue
> ---
>
> Key: JAMES-2319
> URL: https://issues.apache.org/jira/browse/JAMES-2319
> Project: James Server
>  Issue Type: Improvement
>  Components: Queue, webadmin
>Affects Versions: master
>Reporter: Tellier Benoit
>Priority: Major
>  Labels: feature, newbie
>
> The goal of this ticket is to implement an additional webadmin mailqueue 
> management endpoint.
> {code:java}
> DELETE /mailQueues/:name/messages/
> {code}
> This should purge the mail queue (akka delete all mails from the queue).
> You need to enhance the behaviour of MailQueueRoutes (deleteMails). You need 
> a DELETE without query parameters to call ManageableMailQueue::clear.
> You will need tests in *MailQueueRoutesTest* to show:
>  - The status corresponds to 204
>  - The mail queue is purged: all enqueued mails are removed
>  - Purging an empty queue is allowed.
> This task is related to JAMES-2320 which should add a task for this.
> If you need more details to implement this feature, we are willing to provide 
> support. Don't hesitate to ask on https://gitter.im/apache/james-project. We 
> are willing to provide guidance.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (JAMES-2320) MailQueue element removal should be backed by a Task

2018-02-26 Thread Sameera Kannangara (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-2320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16376654#comment-16376654
 ] 

Sameera Kannangara commented on JAMES-2320:
---

Hi all,

As per my understanding single implementation of org.apache.james.task.Task can 
execute only a single operation. Therefore does this issue require to implement 
three separate tasks to delete based on sender, name and recipient?

Thanks,

Sameera.

> MailQueue element removal should be backed by a Task
> 
>
> Key: JAMES-2320
> URL: https://issues.apache.org/jira/browse/JAMES-2320
> Project: James Server
>  Issue Type: Improvement
>  Components: Queue, webadmin
>Affects Versions: master
>Reporter: Tellier Benoit
>Priority: Major
>  Labels: feature, newbie
>
> {code:java}
> DELETE /mailQueues/:name/messages/ ?sender ?name ?recipient 
> 201 + taskId
> {code}
> Should generate a Task.No status is required as it might be complicated to 
> implement.
> You need to write related unit tests.
> A few indications:
>  - *MailQueueRoutes* declares the /mailQueues webAdmin endpoints
>  - You need to implement a *Task** performing DELETE in a mailQueue
>  - *TaskManager* is used to submit the task (and can be injected. Have a look 
> to MailRepositoriesRoutes if you are looking for an example.
>  - Use *TaskIdDto::respond* in order to send a valid response.
>  - You need some additional tests in *MailQueueRoutesTest* :
>-- Ensure that the status is 201, and that the Location header is well 
> positionned.
>-- Check the created task details
>-- Await the end of the task, and check the effects.
> (Again, a look to *MailRepositoriesRoutesTest::reprocessingOneTaskShould\** 
> tests can be helpful)
> If you need more details to implement this feature, we are willing to provide 
> support. Don't hesitate to ask on https://gitter.im/apache/james-project. We 
> are willing to provide guidance.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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