From cf1ca5789344b9c9a2e8275260f4da1de1dec7b1 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Mon, 19 Mar 2018 09:22:38 +0000 Subject: [PATCH 01/35] [maven-release-plugin] prepare release alfresco-remote-api-6.21 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index d9a0104962..a6f6cb36f4 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.21-SNAPSHOT + 6.21 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.21 From c70e4ab50e3feb74f9f7fd372cacbe2ed76c8b0c Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Mon, 19 Mar 2018 09:22:44 +0000 Subject: [PATCH 02/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index a6f6cb36f4..bd7e799c29 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.21 + 6.22-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.21 + HEAD From 0821ae509c820686b9f2313913ac492360daadaf Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Tue, 20 Mar 2018 12:32:30 +0100 Subject: [PATCH 03/35] Upgrade alfresco-repository to 6.37 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bd7e799c29..7bd7fed3a1 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ ${project.build.directory}/alf_data convert - 6.36 + 6.37 7.1 8.2 1.1 From 3a1a5ac4831f240393b6eb92397b76b623d0814c Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 20 Mar 2018 11:46:30 +0000 Subject: [PATCH 04/35] [maven-release-plugin] prepare release alfresco-remote-api-6.22 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index bd7e799c29..5eb6902746 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.22-SNAPSHOT + 6.22 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.22 From b1a44b443852cdcc43b26d7b4bb75512e003f72a Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 20 Mar 2018 11:46:36 +0000 Subject: [PATCH 05/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 5eb6902746..963ca3d455 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.22 + 6.23-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.22 + HEAD From 927670e2c0dd384a1ad2642e0fe849df0688e0dd Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 20 Mar 2018 12:48:11 +0000 Subject: [PATCH 06/35] [maven-release-plugin] prepare release alfresco-remote-api-6.23 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index bc1d53fd77..88c4064eb8 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.23-SNAPSHOT + 6.23 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.23 From 993f4f0b9667438245005a34e2264e888f557f4c Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 20 Mar 2018 12:48:18 +0000 Subject: [PATCH 07/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 88c4064eb8..78b8e023cb 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.23 + 6.24-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.23 + HEAD From f48e3da9e98563170db782b95ea95cafd2c1c47e Mon Sep 17 00:00:00 2001 From: gbroadbent Date: Tue, 27 Mar 2018 10:22:54 +0100 Subject: [PATCH 08/35] ALL LANGUAGES except Norwegian - Correction to translation of two strings. Based on EN rev 2018-03-27 --- .../alfresco/messages/rest-framework-messages_de.properties | 4 ++-- .../alfresco/messages/rest-framework-messages_es.properties | 4 ++-- .../alfresco/messages/rest-framework-messages_fr.properties | 6 +++--- .../alfresco/messages/rest-framework-messages_it.properties | 4 ++-- .../alfresco/messages/rest-framework-messages_ja.properties | 4 ++-- .../alfresco/messages/rest-framework-messages_nl.properties | 4 ++-- .../messages/rest-framework-messages_pt_BR.properties | 2 +- .../alfresco/messages/rest-framework-messages_ru.properties | 4 ++-- .../messages/rest-framework-messages_zh_CN.properties | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_de.properties b/src/main/resources/alfresco/messages/rest-framework-messages_de.properties index fe6b2c7437..f397629585 100755 --- a/src/main/resources/alfresco/messages/rest-framework-messages_de.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_de.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=Berechtigung verweigert framework.exception.StaleEntity=Versuch, eine gegenstandslose Entity zu aktualisieren framework.exception.UnsupportedResourceOperation=Der Vorgang wird nicht unterst\u00fctzt framework.exception.DeletedResource=In dieser Version der REST-API wurde die Ressource {0} gel\u00f6scht -framework.exception.RequestEntityTooLarge=Anfrage-Entity zu gro\u00df -framework.exception.InsufficientStorage=Content-Speicherkontingent \u00fcberschritten +framework.exception.RequestEntityTooLarge=Die Datei kann nicht hochgeladen werden da sie die maximale Upload-Gr\u00f6\u00dfe \u00fcberschreitet +framework.exception.InsufficientStorage=Der Datei-Upload \u00fcberschreitet das erlaubte Speicherkontingent framework.no.stacktrace=Aus Sicherheitsgr\u00fcnden wird die Stapelverfolgung nicht mehr angezeigt. Die Eigenschaft wird jedoch f\u00fcr \u00e4ltere Versionen beibehalten diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_es.properties b/src/main/resources/alfresco/messages/rest-framework-messages_es.properties index 388fff0dd2..c4b797990e 100755 --- a/src/main/resources/alfresco/messages/rest-framework-messages_es.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_es.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=Se ha denegado el permiso framework.exception.StaleEntity=Intento de actualizar una entidad obsoleta framework.exception.UnsupportedResourceOperation=No se admite la operaci\u00f3n framework.exception.DeletedResource=En esta versi\u00f3n de la API REST, se ha eliminado el recurso {0} -framework.exception.RequestEntityTooLarge=Entidad de solicitud demasiado grande -framework.exception.InsufficientStorage=Se ha excedido la cuota de almacenamiento de contenido +framework.exception.RequestEntityTooLarge=No se puede cargar el fichero porque excede el tama\u00f1o m\u00e1ximo de carga permitido +framework.exception.InsufficientStorage=El fichero cargado excede la cuota de almacenamiento de contenido framework.no.stacktrace=Por motivos de seguridad, ya no se muestra el seguimiento de la pila, pero se guarda la propiedad para versiones anteriores diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_fr.properties b/src/main/resources/alfresco/messages/rest-framework-messages_fr.properties index 2d5ec5ca00..16ab6a6f8b 100755 --- a/src/main/resources/alfresco/messages/rest-framework-messages_fr.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_fr.properties @@ -3,7 +3,7 @@ framework.exception.ApiDefault=Erreur inconnue lors de l'appel de l'API Rest framework.exception.ConstraintViolated=Une contrainte n'a pas \u00e9t\u00e9 respect\u00e9e framework.exception.InvalidArgument=Un argument non valide a \u00e9t\u00e9 re\u00e7u : {0} framework.exception.InvalidProperty=La propri\u00e9t\u00e9 ''{0}'' avec la valeur ''{1}'' n''est pas valide pour la comparaison {2} -framework.exception.InvalidQuery=Une requ\u00eate WHERE non valide a \u00e9t\u00e9 re\u00e7ue: {0} +framework.exception.InvalidQuery=Une requ\u00eate WHERE non valide a \u00e9t\u00e9 re\u00e7ue : {0} framework.exception.InvalidSelect=Une requ\u00eate {1} non valide a \u00e9t\u00e9 re\u00e7ue. {0} framework.exception.NotFound={0} introuvable framework.exception.EntityNotFound=L''entit\u00e9 associ\u00e9e \u00e0 l''id : {0} est introuvable @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=Droit d'acc\u00e8s refus\u00e9 framework.exception.StaleEntity=Tentative de mise \u00e0 jour d'une entit\u00e9 hors service framework.exception.UnsupportedResourceOperation=L'op\u00e9ration n'est pas prise en charge framework.exception.DeletedResource=Dans cette version de l''API REST, la ressource {0} a \u00e9t\u00e9 supprim\u00e9e -framework.exception.RequestEntityTooLarge=Entit\u00e9 de requ\u00eate trop volumineuse -framework.exception.InsufficientStorage=Quota de stockage de contenu d\u00e9pass\u00e9 +framework.exception.RequestEntityTooLarge=Impossible d'importer le fichier car il d\u00e9passe la taille maximale de t\u00e9l\u00e9chargement +framework.exception.InsufficientStorage=La taille du fichier\u00e0 importer d\u00e9passe la limite de stockage autoris\u00e9e framework.no.stacktrace=Pour des raisons de s\u00e9curit\u00e9, le tra\u00e7age de la pile n'est plus affich\u00e9, mais la propri\u00e9t\u00e9 est conserv\u00e9e dans les versions pr\u00e9c\u00e9dente diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_it.properties b/src/main/resources/alfresco/messages/rest-framework-messages_it.properties index 46298cecdc..ffd1237d87 100755 --- a/src/main/resources/alfresco/messages/rest-framework-messages_it.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_it.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=Permesso negato framework.exception.StaleEntity=Si \u00e8 tentato di aggiornare un'entit\u00e0 obsoleta framework.exception.UnsupportedResourceOperation=Questa operazione non \u00e8 supportata framework.exception.DeletedResource={0} \u00e8 stato eliminato in questa versione della risorsa REST API -framework.exception.RequestEntityTooLarge=Entit\u00e0 della richiesta troppo grande -framework.exception.InsufficientStorage=Quota di archiviazione dei contenuti superata +framework.exception.RequestEntityTooLarge=Impossibile caricare il file perch\u00e9 \u00e8 pi\u00f9 grande della dimensione massima consentita +framework.exception.InsufficientStorage=Il caricamento del file supera la quota massima di archiviazione framework.no.stacktrace=Per motivi di sicurezza l'analisi dello stack non viene pi\u00f9 visualizzata, ma viene mantenuta la propriet\u00e0 per le versioni precedenti diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_ja.properties b/src/main/resources/alfresco/messages/rest-framework-messages_ja.properties index 2ff003216a..1dd733b359 100755 --- a/src/main/resources/alfresco/messages/rest-framework-messages_ja.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_ja.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=\u6a29\u9650\u304c\u62d2\u5426\u3055\u308c\ framework.exception.StaleEntity=\u53e4\u3044\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u66f4\u65b0\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f framework.exception.UnsupportedResourceOperation=\u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093 framework.exception.DeletedResource=REST API \u30ea\u30bd\u30fc\u30b9 ''{0}'' \u306e\u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u524a\u9664\u3055\u308c\u3066\u3044\u307e\u3059 -framework.exception.RequestEntityTooLarge=\u30ea\u30af\u30a8\u30b9\u30c8\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u304c\u5927\u304d\u3059\u304e\u307e\u3059 -framework.exception.InsufficientStorage=\u30b3\u30f3\u30c6\u30f3\u30c4\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u30af\u30a9\u30fc\u30bf\u304c\u8d85\u3048\u3066\u3044\u307e\u3059 +framework.exception.RequestEntityTooLarge=\u30d5\u30a1\u30a4\u30eb\u304c\u6700\u5927\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u30b5\u30a4\u30ba\u3088\u308a\u5927\u304d\u3044\u305f\u3081\u3001\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093 +framework.exception.InsufficientStorage=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u304c\u3001\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u8a31\u5bb9\u7bc4\u56f2\u3092\u8d85\u3048\u3066\u3044\u307e\u3059 framework.no.stacktrace=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5bfe\u7b56\u306e\u305f\u3081\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u306f\u8868\u793a\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u304c\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u4ee5\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u305f\u3081\u306b\u6b8b\u3063\u3066\u3044\u307e\u3059 diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_nl.properties b/src/main/resources/alfresco/messages/rest-framework-messages_nl.properties index d1b8607d55..ca35dd6c42 100644 --- a/src/main/resources/alfresco/messages/rest-framework-messages_nl.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_nl.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=Toegang is geweigerd framework.exception.StaleEntity=Poging tot het bijwerken van een oude entiteit framework.exception.UnsupportedResourceOperation=De bewerking wordt niet ondersteund framework.exception.DeletedResource=De resource {0} is verwijderd uit deze versie van de REST API -framework.exception.RequestEntityTooLarge=Aanvraag-entiteit te groot -framework.exception.InsufficientStorage=Limiet contentopslag overschreden +framework.exception.RequestEntityTooLarge=Het bestand kan niet worden ge\u00fcpload omdat het groter is dan de maximale grootte voor uploads +framework.exception.InsufficientStorage=Bij het uploaden van het bestand wordt de toegestane contentopslag overschreden framework.no.stacktrace=Om veiligheidsredenen wordt de stacktracering niet meer weergegeven, maar de eigenschap wordt bewaard voor vorige versies diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_pt_BR.properties b/src/main/resources/alfresco/messages/rest-framework-messages_pt_BR.properties index 4bfac52e75..c3381ed394 100644 --- a/src/main/resources/alfresco/messages/rest-framework-messages_pt_BR.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_pt_BR.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=Permiss\u00e3o negada framework.exception.StaleEntity=Tentativa de atualizar uma entidade obsoleta framework.exception.UnsupportedResourceOperation=A opera\u00e7\u00e3o n\u00e3o \u00e9 suportada framework.exception.DeletedResource=Nesta vers\u00e3o do recurso REST API, {0} foi exclu\u00eddo -framework.exception.RequestEntityTooLarge=Entidade de solicita\u00e7\u00e3o muito grande +framework.exception.RequestEntityTooLarge=O arquivo n\u00e3o pode ser carregado pois \u00e9 maior do que o tamanho m\u00e1ximo permitido para carregamento framework.exception.InsufficientStorage=Cota de conte\u00fado de armazenamento excedida framework.no.stacktrace=Por motivos de seguran\u00e7a, o rastreamento de pilha n\u00e3o \u00e9 mais exibido, mas a propriedade foi mantida para as vers\u00f5es anteriores diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_ru.properties b/src/main/resources/alfresco/messages/rest-framework-messages_ru.properties index c2cc45a223..96008edb2d 100644 --- a/src/main/resources/alfresco/messages/rest-framework-messages_ru.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_ru.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=\u0412 \u0440\u0430\u0437\u0440\u0435\u0448 framework.exception.StaleEntity=\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0443\u044e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c framework.exception.UnsupportedResourceOperation=\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f framework.exception.DeletedResource=\u0412 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 REST API \u0440\u0435\u0441\u0443\u0440\u0441 {0} \u0443\u0434\u0430\u043b\u0435\u043d -framework.exception.RequestEntityTooLarge=\u0421\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 -framework.exception.InsufficientStorage=\u041f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0430 \u043a\u0432\u043e\u0442\u0430 \u043d\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 +framework.exception.RequestEntityTooLarge=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u0430\u0439\u043b, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 +framework.exception.InsufficientStorage=\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u043a\u0432\u043e\u0442\u0443 \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 framework.no.stacktrace=\u0418\u0437 \u0441\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u0431\u043e\u043b\u0435\u0435 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_zh_CN.properties b/src/main/resources/alfresco/messages/rest-framework-messages_zh_CN.properties index fd84ef75ab..38c6784206 100644 --- a/src/main/resources/alfresco/messages/rest-framework-messages_zh_CN.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_zh_CN.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=\u6743\u9650\u88ab\u62d2\u7edd framework.exception.StaleEntity=\u5c1d\u8bd5\u66f4\u65b0\u8fc7\u671f\u7684\u5b9e\u4f53 framework.exception.UnsupportedResourceOperation=\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c framework.exception.DeletedResource=\u5728\u6b64\u7248\u672c\u7684 REST API \u4e2d\uff0c\u5df2\u5220\u9664\u8d44\u6e90 {0} -framework.exception.RequestEntityTooLarge=\u8bf7\u6c42\u5b9e\u4f53\u592a\u5927 -framework.exception.InsufficientStorage=\u8d85\u8fc7\u5185\u5bb9\u5b58\u50a8\u989d\u5ea6 +framework.exception.RequestEntityTooLarge=\u6587\u4ef6\u65e0\u6cd5\u88ab\u4e0a\u4f20\uff0c\u56e0\u4e3a\u5b83\u8d85\u8fc7\u4e86\u6700\u5927\u53ef\u4e0a\u4f20\u7684\u5927\u5c0f +framework.exception.InsufficientStorage=\u4e0a\u4f20\u6587\u4ef6\u8d85\u8fc7\u5185\u5bb9\u5b58\u50a8\u9650\u989d framework.no.stacktrace=\u51fa\u4e8e\u5b89\u5168\u539f\u56e0\uff0c\u4e0d\u518d\u663e\u793a\u5806\u6808\u8f68\u8ff9\uff0c\u4f46\u4e3a\u5148\u524d\u7248\u672c\u4fdd\u7559\u4e86\u8be5\u5c5e\u6027 From 60f04455dbf9d22819d4b5bb2c9cbed82fc7718e Mon Sep 17 00:00:00 2001 From: Cristian Turlica Date: Tue, 27 Mar 2018 15:01:42 +0300 Subject: [PATCH 09/35] Upgraded repository to 6.38 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 78b8e023cb..317dfef6e0 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ ${project.build.directory}/alf_data convert - 6.37 + 6.38 7.1 8.2 1.1 From 31fb37b08d50c0476a94a6d25445ca8bf641bbd8 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 27 Mar 2018 13:31:08 +0100 Subject: [PATCH 10/35] [maven-release-plugin] prepare release alfresco-remote-api-6.24 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 317dfef6e0..bb2488ef2c 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.24-SNAPSHOT + 6.24 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.24 From 87a7cb4368b3b37ce429450e5e1f9380054c3041 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 27 Mar 2018 13:31:14 +0100 Subject: [PATCH 11/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index bb2488ef2c..fe57f8fc77 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.24 + 6.25-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.24 + HEAD From a2e8e2ad194d3f65fe1b463dbc03a5789cf700d3 Mon Sep 17 00:00:00 2001 From: Mihaela Popa Date: Tue, 27 Mar 2018 18:06:57 +0300 Subject: [PATCH 12/35] REPO-3300: Deployment: 6.0 Base Images Stack Alignment Update the postgres driver to 42.2.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fe57f8fc77..4692d5b50f 100644 --- a/pom.xml +++ b/pom.xml @@ -44,7 +44,7 @@ 6.13 1.0.0 5.0.4.RELEASE - 9.4.1212 + 42.2.1 5.1.40 From 197b3911ef7e735c06b7db8b855bcad53bebfaaa Mon Sep 17 00:00:00 2001 From: gbroadbent Date: Wed, 28 Mar 2018 09:48:50 +0100 Subject: [PATCH 13/35] NORWEGIAN (Bokmal) - Correction to translation of two strings. Based on EN rev 2018-03-27 --- .../alfresco/messages/rest-framework-messages_nb.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/alfresco/messages/rest-framework-messages_nb.properties b/src/main/resources/alfresco/messages/rest-framework-messages_nb.properties index b6dd031f74..a0e2fa7b01 100644 --- a/src/main/resources/alfresco/messages/rest-framework-messages_nb.properties +++ b/src/main/resources/alfresco/messages/rest-framework-messages_nb.properties @@ -12,6 +12,6 @@ framework.exception.PermissionDenied=Tillatelse avvist framework.exception.StaleEntity=Fors\u00f8ker \u00e5 oppdatere en foreldet enhet framework.exception.UnsupportedResourceOperation=Handlingen st\u00f8ttes ikke framework.exception.DeletedResource=I denne versjonen av REST har API-ressursen {0} blitt slettet -framework.exception.RequestEntityTooLarge=Den forespurte enheten er for stor -framework.exception.InsufficientStorage=Kvoten for innholdslagring er overskredet +framework.exception.RequestEntityTooLarge=Filen kan ikke lastes opp fordi den er st\u00f8rre enn maksimum opplastingsst\u00f8rrelse +framework.exception.InsufficientStorage=Filopplastingen overskrider tillatt innholdslagring framework.no.stacktrace=Av sikkerhetsmessige \u00e5rsaker vises ikke stakksporing lenger, men egenskapen beholdes for tidlige versjoner From 5c1c7117f21acc4417ac0d16197fc2539ccd36f7 Mon Sep 17 00:00:00 2001 From: Cristian Turlica Date: Wed, 28 Mar 2018 17:06:42 +0300 Subject: [PATCH 14/35] REPO-1318: Upgrade Jetty (#60) - upgraded jetty libs to 8.2.0.v20160908 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 4692d5b50f..ac93b7fe29 100644 --- a/pom.xml +++ b/pom.xml @@ -237,20 +237,20 @@ org.eclipse.jetty jetty-server - 7.3.0.v20110203 + 8.2.0.v20160908 test org.eclipse.jetty jetty-security - 7.3.0.v20110203 + 8.2.0.v20160908 test org.eclipse.jetty jetty-webapp - 7.3.0.v20110203 - test + 8.2.0.v20160908 + test From 33ef10ea4972863e7e8f8b19f992195e3625434a Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Thu, 29 Mar 2018 06:37:17 +0100 Subject: [PATCH 15/35] [maven-release-plugin] prepare release alfresco-remote-api-6.25 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ac93b7fe29..430f312d2a 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.25-SNAPSHOT + 6.25 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.25 From 480983b22bd060e4e667119f9f8a8ed7b87ef359 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Thu, 29 Mar 2018 06:37:24 +0100 Subject: [PATCH 16/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 430f312d2a..17b98765f9 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.25 + 6.26-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.25 + HEAD From f1a99e88772781a4b4829e5d1a0a873aeb99aed3 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Fri, 30 Mar 2018 16:28:27 +0300 Subject: [PATCH 17/35] REPO-1323: Upgrade alfresco-repository 6.39 (with Rhino 1.7.9) (#63) - Replace the use of concat() on a Java array in js --- pom.xml | 2 +- .../org/alfresco/repository/site/roles/roles.get.js | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 17b98765f9..a1f85a7d90 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ ${project.build.directory}/alf_data convert - 6.38 + 6.39 7.1 8.2 1.1 diff --git a/src/main/resources/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.js b/src/main/resources/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.js index e6136019fc..b8e8f18f64 100644 --- a/src/main/resources/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.js +++ b/src/main/resources/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.js @@ -11,8 +11,15 @@ function main() } // calculate the available "roles" and permissions groups for this site + var siteRoles = []; + var rolesList = siteService.listSiteRoles(); + for (var i in rolesList) + { + siteRoles.push(rolesList[i]); + } // add the "None" pseudo role - var siteRoles = siteService.listSiteRoles().concat(["None"]); + siteRoles.push("None"); + var sitePermissionGroups = site.sitePermissionGroups; sitePermissionGroups["everyone"] = "GROUP_EVERYONE"; From c41910df9849f9e507c277d88b76c8d95b308d78 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Mon, 2 Apr 2018 16:09:24 +0300 Subject: [PATCH 18/35] REPO-1323: Upgrade surf-webscripts to version 6.16 (with Rhino 1.7.9) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a1f85a7d90..0882ca8316 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,7 @@ 1.1 2.8.10 - 6.13 + 6.16 1.0.0 5.0.4.RELEASE 42.2.1 From fba5a95775d3f915df37104bd24e6200c8aa6c19 Mon Sep 17 00:00:00 2001 From: CodrinChirica Date: Tue, 3 Apr 2018 10:34:51 +0300 Subject: [PATCH 19/35] Upgrade data-model to 8.3 and alfresco-repository to 6.40 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 0882ca8316..ac51abe769 100644 --- a/pom.xml +++ b/pom.xml @@ -35,9 +35,9 @@ ${project.build.directory}/alf_data convert - 6.39 + 6.40 7.1 - 8.2 + 8.3 1.1 2.8.10 From 2789407e1b8eeac289638ba4bcc63d166456cc23 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 3 Apr 2018 10:02:02 +0000 Subject: [PATCH 20/35] [maven-release-plugin] prepare release alfresco-remote-api-6.26 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ac51abe769..8d879baaa7 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.26-SNAPSHOT + 6.26 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.26 From 5b9473cbb22efc8d578529ff05e24db4eb74dcf7 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 3 Apr 2018 10:02:12 +0000 Subject: [PATCH 21/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 8d879baaa7..511d517b4a 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.26 + 6.27-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.26 + HEAD From caecf0725f3ff9a9da1a187d6dcc514751409f88 Mon Sep 17 00:00:00 2001 From: ramunteanu Date: Tue, 3 Apr 2018 16:51:05 +0300 Subject: [PATCH 22/35] REPO-1294: EOL myfaces-api, myfaces-impl & jsp-api (#62) * REPO-1294: EOL myfaces-api, myfaces-impl & jsp-api - Moved authentication filter from community-acs-packaging to remote-api --- .../servlet/AlfrescoX509ServletFilter.java | 82 ++++++++++ .../CmisSecurityContextCleanerFilter.java | 63 +++++++ .../app/servlet/GlobalLocalizationFilter.java | 145 +++++++++++++++++ .../servlet/KerberosAuthenticationFilter.java | 120 ++++++++++++++ .../app/servlet/NTLMAuthenticationFilter.java | 119 ++++++++++++++ .../WebScriptSSOAuthenticationFilter.java | 132 +++++++++++++++ .../WebscriptCookieAuthenticationFilter.java | 87 ++++++++++ .../alfrescoNtlm/ntlm-filter-context.xml | 127 +++++++++++++++ .../alfrescoNtlm/ntlm-filter.properties | 4 + .../external/external-filter-context.xml | 30 ++++ .../kerberos/kerberos-filter-context.xml | 154 ++++++++++++++++++ .../kerberos/kerberos-filter.properties | 6 + .../passthru/ntlm-filter-context.xml | 130 +++++++++++++++ .../passthru/ntlm-filter.properties | 4 + 14 files changed, 1203 insertions(+) create mode 100644 src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java create mode 100644 src/main/java/org/alfresco/web/app/servlet/CmisSecurityContextCleanerFilter.java create mode 100644 src/main/java/org/alfresco/web/app/servlet/GlobalLocalizationFilter.java create mode 100644 src/main/java/org/alfresco/web/app/servlet/KerberosAuthenticationFilter.java create mode 100644 src/main/java/org/alfresco/web/app/servlet/NTLMAuthenticationFilter.java create mode 100644 src/main/java/org/alfresco/web/app/servlet/WebScriptSSOAuthenticationFilter.java create mode 100644 src/main/java/org/alfresco/web/app/servlet/WebscriptCookieAuthenticationFilter.java create mode 100644 src/main/resources/alfresco/subsystems.Authentication/alfrescoNtlm/ntlm-filter-context.xml create mode 100644 src/main/resources/alfresco/subsystems.Authentication/alfrescoNtlm/ntlm-filter.properties create mode 100644 src/main/resources/alfresco/subsystems.Authentication/external/external-filter-context.xml create mode 100644 src/main/resources/alfresco/subsystems.Authentication/kerberos/kerberos-filter-context.xml create mode 100644 src/main/resources/alfresco/subsystems.Authentication/kerberos/kerberos-filter.properties create mode 100644 src/main/resources/alfresco/subsystems.Authentication/passthru/ntlm-filter-context.xml create mode 100644 src/main/resources/alfresco/subsystems.Authentication/passthru/ntlm-filter.properties diff --git a/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java b/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java new file mode 100644 index 0000000000..eaab3ba845 --- /dev/null +++ b/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java @@ -0,0 +1,82 @@ +/* + * #%L + * Alfresco Repository WAR Community + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ + +package org.alfresco.web.app.servlet; + +import java.io.IOException; +import java.util.Properties; + +import javax.servlet.ServletContext; + +import org.alfresco.web.scripts.servlet.X509ServletFilterBase; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + +/** + * The AlfrescoX509ServletFilter implements the checkEnforce method of the X509ServletFilterBase. + * This allows the configuration of X509 authentication to be toggled on/off through a + * configuration outside of the web.xml. + **/ + +public class AlfrescoX509ServletFilter extends X509ServletFilterBase +{ + private static final String BEAN_GLOBAL_PROPERTIES = "global-properties"; + private static final String SECURE_COMMS = "solr.secureComms"; + + private static Log logger = LogFactory.getLog(AlfrescoX509ServletFilter.class); + + @Override + protected boolean checkEnforce(ServletContext servletContext) throws IOException + { + /* + * Get the secureComms setting from the global properties bean. + */ + + WebApplicationContext wc = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); + Properties globalProperties = (Properties) wc.getBean(BEAN_GLOBAL_PROPERTIES); + String prop = globalProperties.getProperty(SECURE_COMMS); + + if(logger.isDebugEnabled()) + { + logger.debug("secureComms:"+prop); + } + + /* + * Return true or false based on the property. This will switch on/off X509 enforcement in the X509ServletFilterBase. + */ + + if (prop == null || "none".equals(prop)) + { + return false; + } + else + { + return true; + } + } +} \ No newline at end of file diff --git a/src/main/java/org/alfresco/web/app/servlet/CmisSecurityContextCleanerFilter.java b/src/main/java/org/alfresco/web/app/servlet/CmisSecurityContextCleanerFilter.java new file mode 100644 index 0000000000..7c962950d8 --- /dev/null +++ b/src/main/java/org/alfresco/web/app/servlet/CmisSecurityContextCleanerFilter.java @@ -0,0 +1,63 @@ +/* + * #%L + * Alfresco Repository WAR Community + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.web.app.servlet; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +import net.sf.acegisecurity.context.ContextHolder; + +/** + * Clears security context. It should follow Authentication filters in the chain and should be mapped for CMIS requests only + * + * @author Dmitry Velichkevich + * @since 4.1.5 + */ +public class CmisSecurityContextCleanerFilter implements Filter +{ + @Override + public void destroy() + { + } + + @Override + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException + { + ContextHolder.setContext(null); + chain.doFilter(servletRequest, servletResponse); + } + + @Override + public void init(FilterConfig config) throws ServletException + { + } +} diff --git a/src/main/java/org/alfresco/web/app/servlet/GlobalLocalizationFilter.java b/src/main/java/org/alfresco/web/app/servlet/GlobalLocalizationFilter.java new file mode 100644 index 0000000000..41dc64cb24 --- /dev/null +++ b/src/main/java/org/alfresco/web/app/servlet/GlobalLocalizationFilter.java @@ -0,0 +1,145 @@ +/* + * #%L + * Alfresco Repository WAR Community + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.web.app.servlet; + +import java.io.IOException; +import java.util.Locale; +import java.util.StringTokenizer; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpServletResponseWrapper; + +import org.springframework.extensions.surf.util.I18NUtil; + +/** + * @author Stas Sokolovsky + * + * Servlet filter responsible for setting a fallback default locale for ALL requests. + */ +public class GlobalLocalizationFilter implements Filter +{ + /** + * Run the filter + * + * @param request ServletRequest + * @param response ServletResponse + * @param chain FilterChain + * @exception IOException + * @exception ServletException + */ + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException + { + // Clear content locale from this thread (it may be set later) + I18NUtil.setContentLocale(null); + + setLanguageFromRequestHeader((HttpServletRequest) request); + + // continue filter chaining + chain.doFilter(request, new HttpServletResponseWrapper((HttpServletResponse) response){ + + /* (non-Javadoc) + * @see javax.servlet.ServletResponseWrapper#setContentType(java.lang.String) + */ + @Override + public void setContentType(String type) + { + super.setContentType(type); + + // Parse the parameters of the media type, since some app servers (Websphere) refuse to pay attention if the + // character encoding isn't explicitly set + int startIndex = type.indexOf(';') + 1; + int length = type.length(); + while (startIndex != 0 && startIndex < length) + { + int endIndex = type.indexOf(';', startIndex); + if (endIndex == -1) + { + endIndex = length; + } + String param = type.substring(startIndex, endIndex); + int sepIndex = param.indexOf('='); + if (sepIndex != -1) + { + String name = param.substring(0, sepIndex).trim(); + if (name.equalsIgnoreCase("charset")) + { + String charset = param.substring(sepIndex + 1).trim(); + if ((null != charset) && ((charset.startsWith("\"") && charset.endsWith("\"")) || (charset.startsWith("'") && charset.endsWith("'")))) + { + charset = charset.substring(1, (charset.length() - 1)); + } + setCharacterEncoding(charset); + break; + } + } + startIndex = endIndex + 1; + } + } + }); + + } + + /** + * Apply Client and Repository language locale based on the 'Accept-Language' request header + * + * @param req HttpServletRequest + */ + public void setLanguageFromRequestHeader(HttpServletRequest req) + { + Locale locale = null; + + String acceptLang = req.getHeader("Accept-Language"); + if (acceptLang != null && acceptLang.length() > 0) + { + StringTokenizer tokenizer = new StringTokenizer(acceptLang, ",; "); + // get language and convert to java locale format + String language = tokenizer.nextToken().replace('-', '_'); + locale = I18NUtil.parseLocale(language); + I18NUtil.setLocale(locale); + } + else + { + I18NUtil.setLocale(Locale.getDefault()); + } + } + + public void init(FilterConfig filterConfig) throws ServletException + { + // Nothing to do + } + + public void destroy() + { + // Nothing to do + } +} diff --git a/src/main/java/org/alfresco/web/app/servlet/KerberosAuthenticationFilter.java b/src/main/java/org/alfresco/web/app/servlet/KerberosAuthenticationFilter.java new file mode 100644 index 0000000000..b0e9bce098 --- /dev/null +++ b/src/main/java/org/alfresco/web/app/servlet/KerberosAuthenticationFilter.java @@ -0,0 +1,120 @@ +/* + * #%L + * Alfresco Repository WAR Community + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.web.app.servlet; + +import java.io.IOException; +import java.io.PrintWriter; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.alfresco.repo.web.auth.WebCredentials; +import org.alfresco.repo.webdav.auth.AuthenticationDriver; +import org.alfresco.repo.webdav.auth.BaseKerberosAuthenticationFilter; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Kerberos Authentication Filter Class + * + * @author GKSpencer + */ +public class KerberosAuthenticationFilter extends BaseKerberosAuthenticationFilter +{ + // Debug logging + + private static Log logger = LogFactory.getLog(KerberosAuthenticationFilter.class); + + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseKerberosAuthenticationFilter#init() + */ + @Override + protected void init() throws ServletException + { + // Call the base Kerberos filter initialization + super.init(); + + // Use the web client user attribute name + setUserAttributeName(AuthenticationDriver.AUTHENTICATION_USER); + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter#onValidateFailed(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.http.HttpSession) + */ + @Override + protected void onValidateFailed(ServletContext sc, HttpServletRequest req, HttpServletResponse res, HttpSession session, WebCredentials credentials) + throws IOException + { + super.onValidateFailed(sc, req, res, session, credentials); + + // Redirect to the login page if user validation fails + redirectToLoginPage(req, res); + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter#onLoginComplete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) + */ + @Override + protected boolean onLoginComplete(ServletContext sc, HttpServletRequest req, HttpServletResponse res, boolean userInit) + throws IOException + { + String requestURI = req.getRequestURI(); + return true; + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter#writeLoginPageLink(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) + */ + @Override + protected void writeLoginPageLink(ServletContext context, HttpServletRequest req, HttpServletResponse resp) + throws IOException + { + String redirectURL = req.getRequestURI(); + resp.setContentType("text/html; charset=UTF-8"); + resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + + final PrintWriter out = resp.getWriter(); + out.println(""); + // Remove the auto refresh to avoid refresh loop, MNT-16931 +// out.println(""); + out.println("

Please log in.

"); + out.println(""); + out.close(); + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter#getLogger() + */ + @Override + final protected Log getLogger() + { + return logger; + } +} diff --git a/src/main/java/org/alfresco/web/app/servlet/NTLMAuthenticationFilter.java b/src/main/java/org/alfresco/web/app/servlet/NTLMAuthenticationFilter.java new file mode 100644 index 0000000000..4251204977 --- /dev/null +++ b/src/main/java/org/alfresco/web/app/servlet/NTLMAuthenticationFilter.java @@ -0,0 +1,119 @@ +/* + * #%L + * Alfresco Repository WAR Community + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.web.app.servlet; + +import java.io.IOException; +import java.io.PrintWriter; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.alfresco.repo.web.auth.WebCredentials; +import org.alfresco.repo.webdav.auth.AuthenticationDriver; +import org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Web-client NTLM Authentication Filter Class + * + * @author GKSpencer + */ +public class NTLMAuthenticationFilter extends BaseNTLMAuthenticationFilter +{ + // Debug logging + private static Log logger = LogFactory.getLog(NTLMAuthenticationFilter.class); + + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter#init() + */ + @Override + protected void init() throws ServletException + { + // Call the base NTLM filter initialization + super.init(); + + // Use the web client user attribute name + setUserAttributeName(AuthenticationDriver.AUTHENTICATION_USER); + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter#onValidateFailed(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.http.HttpSession) + */ + @Override + protected void onValidateFailed(ServletContext sc, HttpServletRequest req, HttpServletResponse res, HttpSession session, WebCredentials credentials) + throws IOException + { + super.onValidateFailed(sc, req, res, session, credentials); + + // Redirect to the login page if user validation fails + redirectToLoginPage(req, res); + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter#onLoginComplete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) + */ + @Override + protected boolean onLoginComplete(ServletContext sc, HttpServletRequest req, HttpServletResponse res, boolean userInit) + throws IOException + { + String requestURI = req.getRequestURI(); + return true; + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter#writeLoginPageLink(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) + */ + @Override + protected void writeLoginPageLink(ServletContext context, HttpServletRequest req, HttpServletResponse resp) + throws IOException + { + String redirectURL = req.getRequestURI(); + resp.setContentType("text/html; charset=UTF-8"); + resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + + final PrintWriter out = resp.getWriter(); + out.println(""); + // Remove the auto refresh to avoid refresh loop, MNT-16931 +// out.println(""); + out.println("

Please log in.

"); + out.println(""); + out.close(); + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter#getLogger() + */ + @Override + final protected Log getLogger() + { + return logger; + } +} diff --git a/src/main/java/org/alfresco/web/app/servlet/WebScriptSSOAuthenticationFilter.java b/src/main/java/org/alfresco/web/app/servlet/WebScriptSSOAuthenticationFilter.java new file mode 100644 index 0000000000..9aca0463c5 --- /dev/null +++ b/src/main/java/org/alfresco/web/app/servlet/WebScriptSSOAuthenticationFilter.java @@ -0,0 +1,132 @@ +/* + * #%L + * Alfresco Repository WAR Community + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.web.app.servlet; + +import java.io.IOException; + +import javax.servlet.FilterChain; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; + +import org.alfresco.repo.management.subsystems.ActivateableBean; +import org.alfresco.repo.web.filter.beans.DependencyInjectedFilter; +import org.alfresco.repo.webdav.auth.BaseAuthenticationFilter; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.extensions.surf.util.URLDecoder; +import org.springframework.extensions.webscripts.Description.RequiredAuthentication; +import org.springframework.extensions.webscripts.Match; +import org.springframework.extensions.webscripts.RuntimeContainer; + +/** + * WebScript aware Authentication Filter Class. Takes into account the authentication setting in the descriptor for the + * webscript before chaining to the downstream authentication filters. If authentication is not required then chains + * with the NO_AUTH_REQUIRED request attribute set, which should cause any downstream authentication filter to bypass + * authentication checks. + * + * @author Kevin Roast + * @author dward + */ +public class WebScriptSSOAuthenticationFilter extends BaseAuthenticationFilter implements DependencyInjectedFilter, + ActivateableBean +{ + private static final Log logger = LogFactory.getLog(WebScriptSSOAuthenticationFilter.class); + private RuntimeContainer container; + private boolean isActive = true; + + /** + * @param container the container to set + */ + public void setContainer(RuntimeContainer container) + { + this.container = container; + } + + /** + * Activates or deactivates the bean + * + * @param active + * true if the bean is active and initialization should complete + */ + public final void setActive(boolean active) + { + this.isActive = active; + } + + /* + * (non-Javadoc) + * @see org.alfresco.repo.management.subsystems.ActivateableBean#isActive() + */ + public final boolean isActive() + { + return isActive; + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter#doFilter(javax.servlet.ServletContext, javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) + */ + public void doFilter(ServletContext context, ServletRequest sreq, ServletResponse sresp, FilterChain chain) + throws IOException, ServletException + { + // Get the HTTP request/response + HttpServletRequest req = (HttpServletRequest)sreq; + + // find a webscript match for the requested URI + String requestURI = req.getRequestURI(); + String pathInfo = requestURI.substring((req.getContextPath() + req.getServletPath()).length()); + + if (getLogger().isDebugEnabled()) + getLogger().debug("Processing request: " + requestURI + " SID:" + + (req.getSession(false) != null ? req.getSession().getId() : null)); + + Match match = container.getRegistry().findWebScript(req.getMethod(), URLDecoder.decode(pathInfo)); + if (match != null && match.getWebScript() != null) + { + // check the authentication required - if none then we don't want any of + // the filters down the chain to require any authentication checks + if (RequiredAuthentication.none == match.getWebScript().getDescription().getRequiredAuthentication()) + { + if (getLogger().isDebugEnabled()) + getLogger().debug("Found webscript with no authentication - set NO_AUTH_REQUIRED flag."); + req.setAttribute(NO_AUTH_REQUIRED, Boolean.TRUE); + } + } + + chain.doFilter(sreq, sresp); + } + + /* (non-Javadoc) + * @see org.alfresco.repo.webdav.auth.BaseAuthenticationFilter#getLogger() + */ + @Override + protected Log getLogger() + { + return logger; + } +} diff --git a/src/main/java/org/alfresco/web/app/servlet/WebscriptCookieAuthenticationFilter.java b/src/main/java/org/alfresco/web/app/servlet/WebscriptCookieAuthenticationFilter.java new file mode 100644 index 0000000000..2f5111f4a3 --- /dev/null +++ b/src/main/java/org/alfresco/web/app/servlet/WebscriptCookieAuthenticationFilter.java @@ -0,0 +1,87 @@ +/* + * #%L + * Alfresco Repository WAR Community + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.web.app.servlet; + +import java.io.IOException; + +import javax.servlet.FilterChain; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.alfresco.repo.web.filter.beans.DependencyInjectedFilter; +import org.alfresco.repo.webdav.auth.AuthenticationDriver; +import org.alfresco.repo.webdav.auth.BaseAuthenticationFilter; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * WebScript aware Authentication Filter. Directly handles login script calls, allowing Surf to establish a cookie + * for a manual login, rather than the usual stateless ticket based logins. + *

+ * This functionality has been extracted from the WebScriptSSOAuthenticationFilter so that they can work independently. + * + * @author Gethin James + */ +public class WebscriptCookieAuthenticationFilter extends BaseAuthenticationFilter implements DependencyInjectedFilter +{ + private static final Log logger = LogFactory.getLog(WebscriptCookieAuthenticationFilter.class); + private static final String API_LOGIN = "/api/login"; + + public WebscriptCookieAuthenticationFilter() + { + setUserAttributeName(AuthenticationDriver.AUTHENTICATION_USER); + } + + + @Override + public void doFilter(ServletContext context, ServletRequest sreq, ServletResponse sresp, FilterChain chain) throws IOException, ServletException + { + // Get the HTTP request/response + HttpServletRequest req = (HttpServletRequest)sreq; + HttpServletResponse res = (HttpServletResponse)sresp; + + // Allow propagation of manual logins to the session user + if (API_LOGIN.equals(req.getPathInfo()) && req.getMethod().equalsIgnoreCase("POST")) + { + handleLoginForm(req, res); + } + else + { + chain.doFilter(sreq, sresp); + } + } + + @Override + protected Log getLogger() + { + return logger; + } + +} diff --git a/src/main/resources/alfresco/subsystems.Authentication/alfrescoNtlm/ntlm-filter-context.xml b/src/main/resources/alfresco/subsystems.Authentication/alfrescoNtlm/ntlm-filter-context.xml new file mode 100644 index 0000000000..1a78ceeee2 --- /dev/null +++ b/src/main/resources/alfresco/subsystems.Authentication/alfrescoNtlm/ntlm-filter-context.xml @@ -0,0 +1,127 @@ + + + + + + + ${ntlm.authentication.sso.enabled} + + + + + + + + + + + + + + + + + + + + + ${ntlm.authentication.sso.enabled} + + + ${ntlm.authentication.browser.ticketLogons} + + + + + + + + + + + + + + + + + + + + + + + + ${ntlm.authentication.mapUnknownUserToGuest} + + + + + + + + + ${ntlm.authentication.sso.enabled} + + + + + + + + + + + + + + + + + + + + + + + + ${ntlm.authentication.sso.enabled} + + + true + + + + + + + + + + + + + + + + + + + + + + + + ${ntlm.authentication.mapUnknownUserToGuest} + + + + + + ${ntlm.authentication.sso.fallback.enabled} + + + + + + \ No newline at end of file diff --git a/src/main/resources/alfresco/subsystems.Authentication/alfrescoNtlm/ntlm-filter.properties b/src/main/resources/alfresco/subsystems.Authentication/alfrescoNtlm/ntlm-filter.properties new file mode 100644 index 0000000000..9cc090ae55 --- /dev/null +++ b/src/main/resources/alfresco/subsystems.Authentication/alfrescoNtlm/ntlm-filter.properties @@ -0,0 +1,4 @@ +ntlm.authentication.sso.enabled=false +ntlm.authentication.mapUnknownUserToGuest=false +ntlm.authentication.browser.ticketLogons=true +ntlm.authentication.sso.fallback.enabled=true \ No newline at end of file diff --git a/src/main/resources/alfresco/subsystems.Authentication/external/external-filter-context.xml b/src/main/resources/alfresco/subsystems.Authentication/external/external-filter-context.xml new file mode 100644 index 0000000000..d036677849 --- /dev/null +++ b/src/main/resources/alfresco/subsystems.Authentication/external/external-filter-context.xml @@ -0,0 +1,30 @@ + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/alfresco/subsystems.Authentication/kerberos/kerberos-filter-context.xml b/src/main/resources/alfresco/subsystems.Authentication/kerberos/kerberos-filter-context.xml new file mode 100644 index 0000000000..5146915660 --- /dev/null +++ b/src/main/resources/alfresco/subsystems.Authentication/kerberos/kerberos-filter-context.xml @@ -0,0 +1,154 @@ + + + + + + + ${kerberos.authentication.sso.enabled} + + + + + + + + + + + + + + + + + + + + + ${kerberos.authentication.sso.enabled} + + + ${kerberos.authentication.browser.ticketLogons} + + + + + + + + + + + + + + + + + + + + + + + + ${kerberos.authentication.realm} + + + ${kerberos.authentication.http.password} + + + ${kerberos.authentication.http.configEntryName} + + + ${kerberos.authentication.stripUsernameSuffix} + + + + + + ${kerberos.authentication.sso.fallback.enabled} + + + + + + + + + ${kerberos.authentication.sso.enabled} + + + + + + + + + + + + + + + + + + + + + + + + ${kerberos.authentication.sso.enabled} + + + true + + + + + + + + + + + + + + + + + + + + + + + + ${kerberos.authentication.realm} + + + ${kerberos.authentication.http.password} + + + ${kerberos.authentication.http.configEntryName} + + + ${kerberos.authentication.stripUsernameSuffix} + + + + + + ${kerberos.authentication.sso.fallback.enabled} + + + + + + ${kerberos.authentication.sso.login.page.link} + + + \ No newline at end of file diff --git a/src/main/resources/alfresco/subsystems.Authentication/kerberos/kerberos-filter.properties b/src/main/resources/alfresco/subsystems.Authentication/kerberos/kerberos-filter.properties new file mode 100644 index 0000000000..cd69a1b87d --- /dev/null +++ b/src/main/resources/alfresco/subsystems.Authentication/kerberos/kerberos-filter.properties @@ -0,0 +1,6 @@ +kerberos.authentication.http.configEntryName=AlfrescoHTTP +kerberos.authentication.http.password=secret +kerberos.authentication.sso.enabled=true +kerberos.authentication.browser.ticketLogons=true +kerberos.authentication.sso.fallback.enabled=true +kerberos.authentication.sso.login.page.link=/webdav \ No newline at end of file diff --git a/src/main/resources/alfresco/subsystems.Authentication/passthru/ntlm-filter-context.xml b/src/main/resources/alfresco/subsystems.Authentication/passthru/ntlm-filter-context.xml new file mode 100644 index 0000000000..d4545e79e9 --- /dev/null +++ b/src/main/resources/alfresco/subsystems.Authentication/passthru/ntlm-filter-context.xml @@ -0,0 +1,130 @@ + + + + + + + ${ntlm.authentication.sso.enabled} + + + + + + + + + + + + + + + + + + + + + ${ntlm.authentication.sso.enabled} + + + ${ntlm.authentication.browser.ticketLogons} + + + + + + + + + + + + + + + + + + + + + + + + ${ntlm.authentication.mapUnknownUserToGuest} + + + + + + ${ntlm.authentication.sso.fallback.enabled} + + + + + + + + + ${ntlm.authentication.sso.enabled} + + + + + + + + + + + + + + + + + + + + + + + + ${ntlm.authentication.sso.enabled} + + + true + + + + + + + + + + + + + + + + + + + + + + + + ${ntlm.authentication.mapUnknownUserToGuest} + + + ${ntlm.authentication.sso.fallback.enabled} + + + + + + \ No newline at end of file diff --git a/src/main/resources/alfresco/subsystems.Authentication/passthru/ntlm-filter.properties b/src/main/resources/alfresco/subsystems.Authentication/passthru/ntlm-filter.properties new file mode 100644 index 0000000000..8de728ef8f --- /dev/null +++ b/src/main/resources/alfresco/subsystems.Authentication/passthru/ntlm-filter.properties @@ -0,0 +1,4 @@ +ntlm.authentication.sso.enabled=true +ntlm.authentication.mapUnknownUserToGuest=false +ntlm.authentication.browser.ticketLogons=true +ntlm.authentication.sso.fallback.enabled=true \ No newline at end of file From afc3610303dd4f977ba04d15edae668eb6c0c23a Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Tue, 3 Apr 2018 17:08:09 +0300 Subject: [PATCH 23/35] Upgrade alfresco-repository to 6.41 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 511d517b4a..6d2b03b032 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ ${project.build.directory}/alf_data convert - 6.40 + 6.41 7.1 8.3 1.1 From 92c7ca280eea037264eece30ce795e429c311b10 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 3 Apr 2018 14:27:53 +0000 Subject: [PATCH 24/35] [maven-release-plugin] prepare release alfresco-remote-api-6.27 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 6d2b03b032..061f939044 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.27-SNAPSHOT + 6.27 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.27 From 416e2743b5e657a291c0fd5566836ae07fc7b9f3 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 3 Apr 2018 14:27:59 +0000 Subject: [PATCH 25/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 061f939044..26385e4b40 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.27 + 6.28-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.27 + HEAD From 7335119e44eb1289440bbc68b1e9e9f14c761133 Mon Sep 17 00:00:00 2001 From: Erik Knizat Date: Fri, 6 Apr 2018 13:34:40 +0100 Subject: [PATCH 26/35] REPO-3428: EOL Library JSR-168 Portlets API * Remove javax.portlet:portlet-api dependecy * Remove JSR168PortletAuthenticatorFactory and its bean definition --- pom.xml | 5 - .../JSR168PortletAuthenticatorFactory.java | 186 ------------------ .../web-scripts-application-context.xml | 6 - 3 files changed, 197 deletions(-) delete mode 100644 src/main/java/org/alfresco/repo/web/scripts/portlet/JSR168PortletAuthenticatorFactory.java diff --git a/pom.xml b/pom.xml index 26385e4b40..e951124c05 100644 --- a/pom.xml +++ b/pom.xml @@ -125,11 +125,6 @@ commons-csv 20110211 - - javax.portlet - portlet-api - 2.0 - org.alfresco.surf spring-webscripts diff --git a/src/main/java/org/alfresco/repo/web/scripts/portlet/JSR168PortletAuthenticatorFactory.java b/src/main/java/org/alfresco/repo/web/scripts/portlet/JSR168PortletAuthenticatorFactory.java deleted file mode 100644 index e935368d4e..0000000000 --- a/src/main/java/org/alfresco/repo/web/scripts/portlet/JSR168PortletAuthenticatorFactory.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * #%L - * Alfresco Remote API - * %% - * Copyright (C) 2005 - 2016 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.repo.web.scripts.portlet; - -import javax.portlet.RenderRequest; -import javax.portlet.RenderResponse; -import javax.servlet.http.HttpServletResponse; -import javax.transaction.UserTransaction; - -import org.alfresco.error.AlfrescoRuntimeException; -import org.alfresco.repo.security.authentication.AuthenticationUtil; -import org.alfresco.service.cmr.security.AuthenticationService; -import org.alfresco.service.transaction.TransactionService; -import org.springframework.extensions.webscripts.Authenticator; -import org.springframework.extensions.webscripts.WebScriptException; -import org.springframework.extensions.webscripts.Description.RequiredAuthentication; -import org.springframework.extensions.webscripts.portlet.PortletAuthenticatorFactory; -import org.springframework.extensions.webscripts.portlet.WebScriptPortletRequest; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - - -/** - * Portlet authenticator - * - * @author davidc - */ -public class JSR168PortletAuthenticatorFactory implements PortletAuthenticatorFactory -{ - // Logger - private static final Log logger = LogFactory.getLog(JSR168PortletAuthenticatorFactory.class); - - // dependencies - private AuthenticationService unprotAuthenticationService; - private TransactionService txnService; - - /** - * @param authenticationService AuthenticationService - */ - public void setUnprotAuthenticationService(AuthenticationService authenticationService) - { - this.unprotAuthenticationService = authenticationService; - } - - /** - * @param transactionService TransactionService - */ - public void setTransactionService(TransactionService transactionService) - { - this.txnService = transactionService; - } - - /* (non-Javadoc) - * @see org.alfresco.web.scripts.portlet.PortletAuthenticatorFactory#create(javax.portlet.RenderRequest, javax.portlet.RenderResponse) - */ - public Authenticator create(RenderRequest req, RenderResponse res) - { - return new JSR168PortletAuthenticator(req, res); - } - - - /** - * Portlet authenticator - * - * @author davidc - */ - public class JSR168PortletAuthenticator implements Authenticator - { - // dependencies - private RenderRequest req; - - /** - * Construct - * - * @param req RenderRequest - * @param res RenderResponse - */ - public JSR168PortletAuthenticator(RenderRequest req, RenderResponse res) - { - this.req = req; - } - - /*(non-Javadoc) - * @see org.alfresco.web.scripts.Authenticator#authenticate(org.alfresco.web.scripts.Description.RequiredAuthentication, boolean) - */ - public boolean authenticate(RequiredAuthentication required, boolean isGuest) - { - // first look for the username key in the session - we add this by hand for some portals - // when the WebScriptPortletRequest is created - String portalUser = (String)req.getPortletSession().getAttribute(WebScriptPortletRequest.ALFPORTLETUSERNAME); - if (portalUser == null) - { - portalUser = req.getRemoteUser(); - } - - if (logger.isDebugEnabled()) - { - logger.debug("JSR-168 Remote user: " + portalUser); - } - - if (isGuest || portalUser == null) - { - if (logger.isDebugEnabled()) - logger.debug("Authenticating as Guest"); - - // authenticate as guest - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getGuestUserName()); - } - else - { - if (logger.isDebugEnabled()) - logger.debug("Authenticating as user " + portalUser); - - UserTransaction txn = null; - try - { - txn = txnService.getUserTransaction(); - txn.begin(); - - if (!unprotAuthenticationService.authenticationExists(portalUser)) - { - throw new WebScriptException(HttpServletResponse.SC_FORBIDDEN, "User " + portalUser + " is not a known Alfresco user"); - } - AuthenticationUtil.setFullyAuthenticatedUser(portalUser); - } - catch (Throwable err) - { - throw new AlfrescoRuntimeException("Error authenticating user: " + portalUser, err); - } - finally - { - try - { - if (txn != null) - { - txn.rollback(); - } - } - catch (Exception tex) - { - // nothing useful we can do with this - } - } - } - - return true; - } - - /* (non-Javadoc) - * @see org.alfresco.web.scripts.Authenticator#emptyCredentials() - */ - public boolean emptyCredentials() - { - String portalUser = (String)req.getPortletSession().getAttribute(WebScriptPortletRequest.ALFPORTLETUSERNAME); - if (portalUser == null) - { - portalUser = req.getRemoteUser(); - } - return (portalUser == null); - } - } - -} diff --git a/src/main/resources/alfresco/web-scripts-application-context.xml b/src/main/resources/alfresco/web-scripts-application-context.xml index abf4654c5e..d11b2e79bf 100644 --- a/src/main/resources/alfresco/web-scripts-application-context.xml +++ b/src/main/resources/alfresco/web-scripts-application-context.xml @@ -218,12 +218,6 @@ - - - - - - From 5394043cd353aeeaaedebfb54dce56583dc895d7 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Fri, 6 Apr 2018 15:38:03 +0000 Subject: [PATCH 27/35] [maven-release-plugin] prepare release alfresco-remote-api-6.28 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e951124c05..49b0e02b89 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.28-SNAPSHOT + 6.28 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.28 From 910793c5f40e3fa7370d136792223b4a5fad2ae9 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Fri, 6 Apr 2018 15:38:12 +0000 Subject: [PATCH 28/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 49b0e02b89..47eab9d234 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.28 + 6.29-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.28 + HEAD From 5812b630bb65d0fb74c45dde045a60b1136bc0f4 Mon Sep 17 00:00:00 2001 From: Andreea Nechifor Date: Thu, 12 Apr 2018 14:59:22 +0300 Subject: [PATCH 29/35] REPO-3435: upgrade to Jackson 2.9.4 (CVE-2017-17285) for ACS 6.0 / Spring 5 . --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 47eab9d234..3914b87eaa 100644 --- a/pom.xml +++ b/pom.xml @@ -35,11 +35,11 @@ ${project.build.directory}/alf_data convert - 6.41 + 6.43 7.1 - 8.3 + 8.4 1.1 - 2.8.10 + 2.9.4 6.16 1.0.0 From f05942cc441ceab107817642a5bf7c3aa4e3004b Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Fri, 13 Apr 2018 12:29:06 +0300 Subject: [PATCH 30/35] REPO-3435: Revert Jackson to 2.8.10 on master until the tests are fixed. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3914b87eaa..d83099ad3b 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ 7.1 8.4 1.1 - 2.9.4 + 2.8.10 6.16 1.0.0 From 621fd7ae20bafb74fce2ebf63f96d37c6171f4e7 Mon Sep 17 00:00:00 2001 From: Martin Muller Date: Mon, 16 Apr 2018 13:17:00 +0100 Subject: [PATCH 31/35] repo-3442 make copyright dyn --- .../webscripts/org/alfresco/repository/admin/admin-template.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/alfresco/templates/webscripts/org/alfresco/repository/admin/admin-template.ftl b/src/main/resources/alfresco/templates/webscripts/org/alfresco/repository/admin/admin-template.ftl index ff592e7ad3..8d8900d2ec 100644 --- a/src/main/resources/alfresco/templates/webscripts/org/alfresco/repository/admin/admin-template.ftl +++ b/src/main/resources/alfresco/templates/webscripts/org/alfresco/repository/admin/admin-template.ftl @@ -617,7 +617,7 @@ Admin.addEventListener(window, 'load', function() {

<#else> From 171b92936a3627a2a814c3f975529403f5dedfc5 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Mon, 16 Apr 2018 18:43:03 +0300 Subject: [PATCH 32/35] REPO-3435: Upgrade to Jackson to 2.8.11(.1) (includes CVE-2017-17285) --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index d83099ad3b..889f4188ef 100644 --- a/pom.xml +++ b/pom.xml @@ -37,9 +37,9 @@ 6.43 7.1 - 8.4 + 8.5 1.1 - 2.8.10 + 2.8.11 6.16 1.0.0 @@ -88,7 +88,7 @@ com.fasterxml.jackson.core jackson-databind - ${dependency.jackson.version} + 2.8.11.1 com.fasterxml.jackson.core From 978abc8432213cc2911a8eea9b9d32f8f414f540 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Tue, 17 Apr 2018 10:03:15 +0300 Subject: [PATCH 33/35] REPO-3435: Upgrade alfresco-repository --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 889f4188ef..77a2d94254 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ ${project.build.directory}/alf_data convert - 6.43 + 6.44 7.1 8.5 1.1 From 51183a75ad48a319ebc31ebae984079434394504 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 17 Apr 2018 08:11:21 +0000 Subject: [PATCH 34/35] [maven-release-plugin] prepare release alfresco-remote-api-6.29 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 77a2d94254..d2c768f6a3 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.29-SNAPSHOT + 6.29 jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - HEAD + alfresco-remote-api-6.29 From 66093bd8a7ec7ffec59a8e61c50ff82f4b37b442 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Tue, 17 Apr 2018 08:11:27 +0000 Subject: [PATCH 35/35] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index d2c768f6a3..909db47055 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-remote-api Alfresco Remote API - 6.29 + 6.30-SNAPSHOT jar @@ -15,7 +15,7 @@ scm:git:git@github.com:Alfresco/alfresco-remote-api.git scm:git:git@github.com:Alfresco/alfresco-remote-api.git https://github.com/Alfresco/alfresco-remote-api - alfresco-remote-api-6.29 + HEAD