You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ponymail.apache.org by hu...@apache.org on 2016/07/10 11:09:17 UTC
[1/7] incubator-ponymail git commit: Use the right document type for
asssessment
Repository: incubator-ponymail
Updated Branches:
refs/heads/master 3efed647f -> 272c74833
Use the right document type for asssessment
mbox_source does not equate mbox docs in terms of
tags allocated, so let's use mbox first and then switch
to source once tags have been processed.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/commit/03fc55df
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/tree/03fc55df
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/diff/03fc55df
Branch: refs/heads/master
Commit: 03fc55df427f3d6e33a004dd013671de2a792002
Parents: 3efed64
Author: humbedooh <hu...@apache.org>
Authored: Mon Jun 13 11:14:39 2016 +0200
Committer: humbedooh <hu...@apache.org>
Committed: Mon Jun 13 11:14:39 2016 +0200
----------------------------------------------------------------------
site/api/source.lua | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/03fc55df/site/api/source.lua
----------------------------------------------------------------------
diff --git a/site/api/source.lua b/site/api/source.lua
index c7b2b60..45305e4 100644
--- a/site/api/source.lua
+++ b/site/api/source.lua
@@ -26,16 +26,16 @@ function handle(r)
r.content_type = "text/plain"
local get = r:parseargs()
local eid = (get.id or r.path_info):gsub("\"", ""):gsub("/", "")
- local doc = elastic.get("mbox_source", eid or "hmm")
+ local doc = elastic.get("mbox", eid or "hmm")
-- Try searching by mid if not found, for backward compat
if not doc or not doc.subject then
- local docs = elastic.find("message-id:\"" .. r:escape(eid) .. "\"", 1, "mbox_source")
+ local docs = elastic.find("message-id:\"" .. r:escape(eid) .. "\"", 1, "mbox")
if #docs == 1 then
doc = docs[1]
end
end
- if doc and doc.source then
+ if doc then
local canAccess = false
if doc.private then
local account = user.get(r)
@@ -56,7 +56,12 @@ function handle(r)
end
if canAccess then
doc.tid = doc.request_id
- r:puts(doc.source)
+ local doc_raw = elastic.get('mbox_source', doc.request_id)
+ if doc_raw then
+ r:puts(doc_raw.source)
+ else
+ r:puts("No such email")
+ end
else
r:puts("You do not have access to view this email, sorry.")
end
[6/7] incubator-ponymail git commit: trim NOTICE,
use httpd's format for referring to donation
Posted by hu...@apache.org.
trim NOTICE, use httpd's format for referring to donation
Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/commit/5a3aa23f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/tree/5a3aa23f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/diff/5a3aa23f
Branch: refs/heads/master
Commit: 5a3aa23f8283a1c3396cf6a3db81fa127b94e785
Parents: 1f94877
Author: humbedooh <hu...@apache.org>
Authored: Tue Jul 5 17:32:58 2016 +0200
Committer: humbedooh <hu...@apache.org>
Committed: Tue Jul 5 17:32:58 2016 +0200
----------------------------------------------------------------------
NOTICE | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/5a3aa23f/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
index 18b17e6..0c7b940 100644
--- a/NOTICE
+++ b/NOTICE
@@ -4,17 +4,5 @@ Copyright 2015-2016 The Apache Software Foundation.
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
-This product includes software developed at
+Portions of this software were developed by Quenda IvS,
Quenda (http://www.quenda.co/)
-
-This product includes code (stylesheets/javascript) developed
-by Twitter, inc. (BootStrap), Licensed under MIT license
-
-This product includes code (JS regex def) developed
-by Diego Perini, licensed under the MIT license
-
-This product includes code developed by the jQuery
-Foundation, licensed under the MIT license.
-
-This produce includes code (quokka.js) developed
-by Daniel Gruno, licensed under the Apache License v/2.0
[7/7] incubator-ponymail git commit: update changelog
Posted by hu...@apache.org.
update changelog
add the new editor features
Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/commit/272c7483
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/tree/272c7483
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/diff/272c7483
Branch: refs/heads/master
Commit: 272c74833590e890ff98665a4896e2c2f76633f9
Parents: 5a3aa23
Author: Daniel Gruno <hu...@apache.org>
Authored: Sun Jul 10 13:08:35 2016 +0200
Committer: Daniel Gruno <hu...@apache.org>
Committed: Sun Jul 10 13:08:35 2016 +0200
----------------------------------------------------------------------
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/272c7483/CHANGELOG.md
----------------------------------------------------------------------
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5dfd0ed..28848bf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,10 @@
- Added support for Maildir imports
- Added three distinct Message-ID generators (short, medium, full)
- Fixed some issues with email association
+- Added obfuscation mechanism to the list editor
+- Added a dry-run feature to the list editor (no changes made)
+- Added a single-message edit feature for the liste editor
+
## CHANGES in 0.8b:
[4/7] incubator-ponymail git commit: add a few new features to list
editor
Posted by hu...@apache.org.
add a few new features to list editor
- Allow a single message to be edited, by ID
- Allow obfuscation of specific parts of a message
- Allow for test runs where no changes are applied
Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/commit/75feb484
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/tree/75feb484
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/diff/75feb484
Branch: refs/heads/master
Commit: 75feb484af84d689d71542c380b5c5b7e919b6e4
Parents: 0e86b6d
Author: humbedooh <hu...@apache.org>
Authored: Mon Jul 4 15:35:46 2016 +0200
Committer: humbedooh <hu...@apache.org>
Committed: Mon Jul 4 15:35:46 2016 +0200
----------------------------------------------------------------------
tools/edit-list.py | 79 +++++++++++++++++++++++++++++++++++--------------
1 file changed, 56 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/75feb484/tools/edit-list.py
----------------------------------------------------------------------
diff --git a/tools/edit-list.py b/tools/edit-list.py
index c5a562a..b416834 100644
--- a/tools/edit-list.py
+++ b/tools/edit-list.py
@@ -46,6 +46,9 @@ wildcard = None
debug = False
notag = False
desc = None
+mid = None
+dryrun = False
+obfuscate = None
ssl = False
dbname = config.get("elasticsearch", "dbname")
@@ -70,10 +73,14 @@ rootURL = ""
parser = argparse.ArgumentParser(description='Command line options.')
parser.add_argument('--source', dest='source', type=str, nargs=1,
help='Source list to edit')
+parser.add_argument('--mid', dest='mid', type=str, nargs=1,
+ help='Source Message-ID to edit')
parser.add_argument('--rename', dest='target', type=str, nargs=1,
help='(optional) new list ID')
parser.add_argument('--desc', dest='desc', type=str, nargs=1,
help='(optional) new list description')
+parser.add_argument('--obfuscate', dest='obfuscate', type=str, nargs=1,
+ help='Things to obfuscate in body, if any')
parser.add_argument('--private', dest='private', action='store_true',
help='Make all emails in list private')
parser.add_argument('--public', dest='public', action='store_true',
@@ -86,6 +93,8 @@ parser.add_argument('--debug', dest='debug', action='store_true',
help='Debug output - very noisy!')
parser.add_argument('--notag', dest='notag', action='store_true',
help='List IDs do not have <> in them')
+parser.add_argument('--test', dest='test', action='store_true',
+ help='Only test for occurrences, do not run the chosen action (dry run)')
args = parser.parse_args()
@@ -107,13 +116,19 @@ if args.debug:
debug = args.debug
if args.notag:
notag = args.notag
-
-
-if not sourceLID:
+if args.mid:
+ mid = args.mid[0]
+if args.obfuscate:
+ obfuscate = args.obfuscate[0]
+if args.test:
+ dryrun = args.test
+
+
+if not sourceLID and not mid:
print("No source list ID specified!")
parser.print_help()
sys.exit(-1)
-if not (targetLID or makePrivate or makePublic or deleteEmails or desc):
+if not (targetLID or makePrivate or makePublic or deleteEmails or desc or obfuscate):
print("Nothing to do! No target list ID or action specified")
parser.print_help()
sys.exit(-1)
@@ -122,12 +137,13 @@ if makePublic and makePrivate:
parser.print_help()
sys.exit(-1)
-sourceLID = ("%s" if notag else "<%s>") % sourceLID.replace("@", ".").strip("<>")
+if sourceLID:
+ sourceLID = ("%s" if notag else "<%s>") % sourceLID.replace("@", ".").strip("<>")
if targetLID:
targetLID = "<%s>" % targetLID.replace("@", ".").strip("<>")
print("Beginning list edit:")
-print(" - List ID: %s" % sourceLID)
+print(" - List ID: %s" % (sourceLID if sourceLID else mid))
if targetLID:
print(" - Target ID: %s" % targetLID)
if makePublic:
@@ -136,7 +152,8 @@ if makePrivate:
print(" - Action: Mark all emails private")
if deleteEmails:
print(" - Action: Delete emails (sources will be kept!)")
-
+if obfuscate:
+ print(" - Action: Obfuscate parts of email containing: %s" % obfuscate)
count = 0
if desc:
@@ -154,9 +171,22 @@ if desc:
}
)
-if targetLID or makePrivate or makePublic or deleteEmails:
+if targetLID or makePrivate or makePublic or deleteEmails or mid:
+ if dryrun:
+ print("DRY RUN - NO CHANGES WILL BE MADE")
print("Updating docs...")
then = time.time()
+ terms = {
+ 'wildcard' if wildcard else 'term': {
+ 'list_raw': sourceLID
+ }
+ }
+ if mid:
+ terms = {
+ 'term': {
+ 'mid': mid
+ }
+ }
page = es.search(
index=dbname,
doc_type="mbox",
@@ -167,11 +197,7 @@ if targetLID or makePrivate or makePublic or deleteEmails:
'query': {
'bool': {
'must': [
- {
- 'wildcard' if wildcard else 'term': {
- 'list_raw': sourceLID
- }
- }
+ terms
]
}
}
@@ -191,6 +217,10 @@ if targetLID or makePrivate or makePublic or deleteEmails:
for hit in page['hits']['hits']:
doc = hit['_id']
body = {}
+ if obfuscate:
+ body['body'] = hit['_source']['body'].replace(obfuscate, "...")
+ body['subject'] = hit['_source']['subject'].replace(obfuscate, "...")
+ body['from'] = hit['_source']['from'].replace(obfuscate, "...")
if targetLID:
body['list_raw'] = targetLID
body['list'] = targetLID
@@ -198,21 +228,24 @@ if targetLID or makePrivate or makePublic or deleteEmails:
body['private'] = True
if makePublic:
body['private'] = False
- js_arr.append({
- '_op_type': 'delete' if deleteEmails else 'update',
- '_index': dbname,
- '_type': 'mbox',
- '_id': doc,
- 'doc': body
- })
+ if not dryrun:
+ js_arr.append({
+ '_op_type': 'delete' if deleteEmails else 'update',
+ '_index': dbname,
+ '_type': 'mbox',
+ '_id': doc,
+ 'doc': body
+ })
count += 1
if (count % 500 == 0):
print("Processed %u emails..." % count)
- helpers.bulk(es, js_arr)
- js_arr = []
+ if not dryrun:
+ helpers.bulk(es, js_arr)
+ js_arr = []
if len(js_arr) > 0:
- helpers.bulk(es, js_arr)
+ if not dryrun:
+ helpers.bulk(es, js_arr)
print("All done, processed %u docs in %u seconds" % (count, time.time() - then))
[2/7] incubator-ponymail git commit: switch to using gmtime instead
of localtime
Posted by hu...@apache.org.
switch to using gmtime instead of localtime
for consistent date strings, should the archiver's time zone
settings change.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/commit/f6f453ef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/tree/f6f453ef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/diff/f6f453ef
Branch: refs/heads/master
Commit: f6f453efa6a2565d53519254068beb180b786511
Parents: 03fc55d
Author: humbedooh <hu...@apache.org>
Authored: Mon Jun 13 11:15:14 2016 +0200
Committer: humbedooh <hu...@apache.org>
Committed: Mon Jun 13 11:15:14 2016 +0200
----------------------------------------------------------------------
tools/archiver.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/f6f453ef/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index e6e0d0a..36b9227 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -271,7 +271,7 @@ class Archiver(object):
elif not mdate:
print("Date seems totally wrong, setting to _now_ instead.")
mdate = time.gmtime()
- mdatestring = time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(email.utils.mktime_tz(mdate)))
+ mdatestring = time.strftime("%Y/%m/%d %H:%M:%S", time.gmtime(email.utils.mktime_tz(mdate)))
body = self.msgbody(msg)
try:
if 'content-type' in msg_metadata and msg_metadata['content-type'].find("flowed") != -1:
[3/7] incubator-ponymail git commit: add a filter for only parsing
email from a specific sender
Posted by hu...@apache.org.
add a filter for only parsing email from a specific sender
Sometimes we'll need to import only email from a specific
(broken?) sender, so let's add a quick filter for this.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/commit/0e86b6df
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/tree/0e86b6df
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/diff/0e86b6df
Branch: refs/heads/master
Commit: 0e86b6dfb7ee06cd707426e00c69e7b97d78c219
Parents: f6f453e
Author: humbedooh <hu...@apache.org>
Authored: Mon Jun 13 11:37:48 2016 +0200
Committer: humbedooh <hu...@apache.org>
Committed: Mon Jun 13 11:37:48 2016 +0200
----------------------------------------------------------------------
tools/import-mbox.py | 8 ++++++++
1 file changed, 8 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/0e86b6df/tools/import-mbox.py
----------------------------------------------------------------------
diff --git a/tools/import-mbox.py b/tools/import-mbox.py
index 0b59d1f..5c62d20 100644
--- a/tools/import-mbox.py
+++ b/tools/import-mbox.py
@@ -73,6 +73,7 @@ parseHTML = False
iBody = None
resendTo = None
timeout = 600
+fromFilter = None
# Fetch config
config = configparser.RawConfigParser()
@@ -239,6 +240,9 @@ class SlurpThread(Thread):
LEY = EY
for message in messages:
+ # If --filter is set, discard any messages not matching by continuing to next email
+ if fromFilter and 'from' in message and message['from'].find(fromFilter) == -1:
+ continue
if resendTo:
print("Delivering message %s via MTA" % message['message-id'] if 'message-id' in message else '??')
s = SMTP('localhost')
@@ -356,6 +360,8 @@ parser.add_argument('--resend', dest='resend', type=str, nargs=1,
help='DANGER ZONE: Resend every read email to this recipient as a new email')
parser.add_argument('--timeout', dest='timeout', type=int, nargs=1,
help='Optional timeout in secs for importing an mbox/maildir file (default is 600 seconds)')
+parser.add_argument('--filter', dest = 'fromfilter', type=str, nargs=1,
+ help = 'Optional sender filter: Only import emails from this address')
args = parser.parse_args()
@@ -388,6 +394,8 @@ if args.html2text:
parseHTML = True
if args.ibody:
archiver.iBody = args.ibody[0]
+if args.fromfilter:
+ fromFilter = args.fromfilter[0]
if args.resend:
resendTo = args.resend[0]
from smtplib import SMTP
[5/7] incubator-ponymail git commit: adding license headers to html
files
Posted by hu...@apache.org.
adding license headers to html files
Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/commit/1f94877e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/tree/1f94877e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/diff/1f94877e
Branch: refs/heads/master
Commit: 1f94877eac486c0986f27b81cb8074f323dd0137
Parents: 75feb48
Author: humbedooh <hu...@apache.org>
Authored: Mon Jul 4 16:15:38 2016 +0200
Committer: humbedooh <hu...@apache.org>
Committed: Mon Jul 4 16:15:38 2016 +0200
----------------------------------------------------------------------
site/index.html | 12 ++++++++++++
site/list.html | 12 ++++++++++++
site/merge.html | 12 ++++++++++++
site/ngrams.html | 12 ++++++++++++
site/notifications.html | 12 ++++++++++++
site/oauth.html | 12 ++++++++++++
site/permalink.html | 12 ++++++++++++
site/search.html | 12 ++++++++++++
site/thread.html | 12 ++++++++++++
site/trends.html | 13 +++++++++++++
10 files changed, 121 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/index.html
----------------------------------------------------------------------
diff --git a/site/index.html b/site/index.html
index be10566..e4b31d2 100644
--- a/site/index.html
+++ b/site/index.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/list.html
----------------------------------------------------------------------
diff --git a/site/list.html b/site/list.html
index 51f8608..805a96a 100644
--- a/site/list.html
+++ b/site/list.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/merge.html
----------------------------------------------------------------------
diff --git a/site/merge.html b/site/merge.html
index b112f80..5f65bb4 100644
--- a/site/merge.html
+++ b/site/merge.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/ngrams.html
----------------------------------------------------------------------
diff --git a/site/ngrams.html b/site/ngrams.html
index 6207085..7064ff1 100644
--- a/site/ngrams.html
+++ b/site/ngrams.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/notifications.html
----------------------------------------------------------------------
diff --git a/site/notifications.html b/site/notifications.html
index 08ac94e..a1c7b4f 100644
--- a/site/notifications.html
+++ b/site/notifications.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/oauth.html
----------------------------------------------------------------------
diff --git a/site/oauth.html b/site/oauth.html
index 2358a2a..19a0fb9 100644
--- a/site/oauth.html
+++ b/site/oauth.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/permalink.html
----------------------------------------------------------------------
diff --git a/site/permalink.html b/site/permalink.html
index 0faa58a..c667e52 100644
--- a/site/permalink.html
+++ b/site/permalink.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/search.html
----------------------------------------------------------------------
diff --git a/site/search.html b/site/search.html
index 0f24e34..6101851 100644
--- a/site/search.html
+++ b/site/search.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/thread.html
----------------------------------------------------------------------
diff --git a/site/thread.html b/site/thread.html
index 2740601..38017f6 100644
--- a/site/thread.html
+++ b/site/thread.html
@@ -1,4 +1,16 @@
<!DOCTYPE html>
+<!-- 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. -->
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1f94877e/site/trends.html
----------------------------------------------------------------------
diff --git a/site/trends.html b/site/trends.html
index c5b7d5d..3437702 100644
--- a/site/trends.html
+++ b/site/trends.html
@@ -1,4 +1,17 @@
<!DOCTYPE html>
+<!-- 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. -->
+
<html lang="en">
<head>
<meta charset="utf-8">