Commit Graph

62 Commits

Author SHA1 Message Date
evasques
2c5044896b MNT-21837 - License expires 23h earlier - correction (#544) (#547)
* period.getMillis() (joda lib) returns an int instead of a long, so on larger periods (like 30days) we get an error that the value cannot fit in an int
* Changed the validation to only calculate the remaining milliseconds in the edge case of the remaining days being zero (as both 23h before and 23h after correspond to 0 remaining days)
* Added a unit test that validates the usage 60 days up from the licence expiring to validate the problem stops occurring
* Added a unit test that validates the usage 30 days after the licence expiring to cover all use cases

(cherry picked from commit 6e1d25a8f0)
2021-06-21 17:11:34 +01:00
Alan Davis
24454afe6b MNT-22388 [Security] multiple pdfbox vulnerabilities (Repo) (#539) (#548)
* Remove pdfbox jars as they should no longer be needed.
* Reintroduce tests that use Tika to 'guess' mimetypes as it was the tika parse that was pulling in the pdfbox libraries.

Classes that use Tika:
* HTMLRenderingEngine - removed as it is no longer used
* RemoteConnectorResponseImpl - called tika utility toByteArray so not using pdfbox
* TikaCharsetFinder - called to identify the charset not mimetype so not using pdfbox
* MimetypeMap - main use of Tika. Used to detect mimetypes. Might have been using pdfbox.

Cherry pick from master (7.1.0)
2021-06-21 16:42:33 +01:00
evasques
e523245a10 MNT-21837 License expires 23h earlier (#541) (#543)
* MNT-21837 - License expires 23h earlier
* Original problem is that the remaining time to license expires is calculated in days (long, not double) and anything less then 24h computes to 0 days. The validation for license being valid is that the remaining days is more than zero.
* Added method calculateMs in DateUtil class to return the interval in ms considering 2 given dates and respective timezones
* Changed the validation to use the remaining milliseconds value instead of remaining days
* Added unit test where license expires 6 hours from now - repo is not supposed to enter read-only mode
* Added unit test where license expired 1 minute ago - repo is supposed to enter read-only mode

* Removed unused import

(cherry picked from commit 630cd99067)
2021-06-18 15:34:35 +01:00
cturlica
3f52aec2dc MNT-22186: propTablesCleanupJobDetail v2 can cause Out of Memory
Cherry-picked f201f35 b7828c0 from master to release/7.0.N
2021-06-07 17:13:13 +03:00
Nana Insaidoo
b9b41a10e8 MNT-22385 Cmis query GetTotalNumItems is returning wrong value (#504)
* Changes made to correct the value of totalItems when performing a TMDQ

* Fixes after review

- Slight change was made to NodePermissionAssessor to log when permission
  limits are exceeded

* Now pre-computing maxPermissionChecks value as per review suggestion

(cherry picked from commit cb636d1140)
2021-05-28 11:01:25 +01:00
tiagosalvado10
f0638e8d7d [MNT-20006] Obtaining the site as system in order to allow the activity record when an user is not member of a site (#459) 2021-05-24 12:47:55 +01:00
alandavis
ddb299ab03 MNT-22409 Legacy transformer fails to generate multi-page TIFF preview
Originally fixed on 6.2.N. A couple of the Legacy classes no longer exist so changes are not on master. Changes to the renditions, default page limit and test still apply.

(cherry picked from commit 9d276aed7081e0078ed3f7f01dabdec20c599bfe)
2021-05-17 17:38:35 +01:00
alandavis
a3b0541560 Feature/search 2802 shared secret auth (#382)
* SEARCH-2802: Filter HTTP requests (now "none" and "secret" communication methods are available) from X509 Web Filter.

* SEARCH-2802: HttpClientFactory (for Repository and Search Services clients) support for Shared Secret communication.

* SEARCH-2802: Fix HttpClientFactory base unit tests.

(cherry picked from commit 20dd0efc6f)
2021-05-11 13:16:50 +01:00
alandavis
82d3828351 MNT-21898 Unexpected ACLs when job runs Fix (#344)
* On move node, verify if parent has pending acl aspect applied and consider the pending shared ACL to update inheritance to avoid ending up with mixed permissions as children of pending acl nodes do not have the correct acls and when moved, keep their wrong acl.
* Add public method setInheritanceForChildren that receives an additional param: forceSharedACL. If an unexpected ACL occurs in a child, it can be overridden by setting it.
* Implement method setInheritanceForChildren that receives an additional parameter: forceSharedACL
* Add method setFixedAcls that receives an additional parameter: forceSharedACL - When a child node has an unexpected ACL, setting this parameter to true will force it to assume the new shared ACL instead of throwing a concurrency exception. When the shared ACL is forces, a warning is thrown in the log informing on what node exactly are we forcing the ACL. This is only possible when the child ACL is type SHARED and when it has an unexpected ACL
* All methods that called setFixedAcls without the new parameter will continue to operate as normal, as having forceSharedACL=false
* Added property forceSharedACL to the FixedACLUpdaterJob. If set to true it will force shared ACL to propagate through children even if there is an unexpected ACL
* When there is a exception detected when doing setInheritanceForChildren on the job, catch and log the error, but do not rollback the entire batch
* On copy/move unit tests I changed the ACL of the target folders on copy and move tests so that the old shared ACL accessed was never the same for origin and target folders as happens when performing these operations between sites
* Added unit test to verify fix for MNT-21898 - testAsyncWithNodeMoveChildToChildPendingFolder
* Added unit test to verify system property for the job: forceSharedACL - testAsyncWithErrorsForceSharedACL

(cherry picked from commit ace87c9c3b)
[skip ci]
2021-05-11 13:13:43 +01:00
alandavis
c986498481 MNT-21694 fix test 2021-05-11 13:06:33 +01:00
alandavis
c93d81379e MNT-21694 500 error on new logo upload with Legacy transforms (#284)
The TransformationOptionsConverter class did not convert the newer transform option format a Map<String, String> to the legacy ImageTransformationOptions class that contains the commandOption (OPT_COMMAND_OPTIONS) property. As a result no legacy transformer is asked if it can do the transform.

There are no Legacy transformers in ACS 7, so this fix cannot be applied there as the class has been removed. Fixing on 6.2.N.

(cherry picked from commit 3a8cb74f26)
[skip ci]
2021-05-11 12:58:59 +01:00
Alan Davis
78ad14b696 Bugfix/repo 5610 events are not actually sent to activemq (#360) (#380)
Original issue was ACS-1291, however the original commit for this on master was reverted and then later included in REPO-5610

REPO-5610 events are not actually sent to activemq (#360)
*   Add events tests
*  Polished put test: connects to JMS via TCP and validate that the event sent is also received back
*  Now the tests provides a simple main() that listens on the topic, useful for quick debug sessions
*  Now the user name is collected in the calling thread, so that the sendEvent does not silently fails
*  Apply changes following review
*  Now using queue system to guarantee events order
*  Add license
*  Updated logs and corrected comments
*  Remove empty methods
*  Now catering for spurious events at startup when database is bootstrapped
*  Now preserving the txn-id in all events
*  Moved up definitions in events2.xml after PR feedback
Co-authored-by: Bruno Bossola bruno@meterian.com
(cherry picked from commit 046116d)

Backport to alfresco-enterprise-repo will also include fixes for MNT-22301 Query Accelerator - datetime & stores
2021-04-12 10:56:08 +01:00
Alan Davis
e88aab47f7 REPO-5376 Query Accelerator Remove all temporary code (#308)
* REPO-5376 Remove all temporary code

* Remove DBStats, SingleTaskRestartableWatch
* Remove propertiesCache and aspectsCache from DBQueryEngine as they were marked as temporary

* Remove further temporary code

Co-authored-by: Nana Insaidoo <insaidoo.nana@yahoo.it>
2021-02-23 16:54:58 +00:00
Andrea Gazzarini
1ff90242b0 [SEARCH-2677] Extract SearchEngineResultSet and SearchEngineResultMetadata interfaces (#286)
* [SEARCH-2677] Extract SearchEngineResultSet and SearchEngineResultMetadata interfaces

* [SEARCH-2677] Scan the ResultSet decorator chain for a maximum of 3 nested levels
2021-02-19 12:09:40 +01:00
Cristian Turlica
cee63b31f6 ACS-1264: Content Model changes dynamically updated to node caches across a cluster deadlock (#289)
Re enabling changes disabled in ACS-936 we can see deadlock in asynchronouslyRefreshedCacheThreadPool (AbstractAsynchronouslyRefreshedCache).

There should be no reason to be calling the dictionary destroy method before the doCall() finishes...and it is the use of the destroy method that carries the risk of deadlock.

Proposed fix: the liveLock is used for the doCall() method, this will stop deadlock from external calls to dictionary destroy() while doCall is in progress.

Removed invalidating cache fix (e.g. fix the issue where cluster nodes could have null values and other nodes had default value… so no properly invalidated on node startup). This fix was moved in ClusteringBootstrap as the initial one was causing issues.
2021-02-19 09:46:36 +02:00
Nana Insaidoo
e3dca6ecbd Apply changes to enable node ownership evaluation to happen on ent. as before (#279) 2021-02-08 15:21:44 +00:00
evasques
592dde531f MNT-22135 Filter policy to only run on admin auth - Unit test (#275)
Created unit test testIfGroupIsAdminAuthority to check if public method isAdminAuthority correctly validates groups:
* Verify it can identify GROUP_ALFRESCO_ADMINISTRATORS as an admin group
* Verify created groups (non administrators) and users are not considered administrators
* Add a subgroup to the parent group and verify if its still identified as non admin
* Add the group to the administrators group and verify if both group and subgroup are identified correctly as admins
* Add the user to the subgroup and verify if he's an admin
* Create a group with the same name as an admin user, group should not be identified as admin
2021-02-08 10:53:35 +00:00
Nana Insaidoo
a84a68cb9a Bugfix/APPS-766 classification children job not picking rm types (#272)
* Now handling System reading

* Address changes requested in PR #272
2021-02-04 13:00:18 +00:00
Alan Davis
a903d9ec44 REPO-5549 Fix: Local transformer names must exist and be unique docli… (#264)
* REPO-5549 Fix: Local transformer names must exist and be unique doclib Read from ... when overriding a Local transform.

* Problem was that there were two conflicting pieces of code in play in the LocalTransformRegistry.register method. One that checked for duplicate T-Engine names and the other that allowed transforms to be overridden if they had the same name.
* The code checking for duplicate names needed an extra clause to only look at T-Engines (they have a T-Engine url associated with them).
* The code that overrode transforms then worked, but still had issues as the supported source to target mimetypes, priorities and max sizes were not cleared.
* It turned out to be simpler to split the original LocalTransformRegistry.register method into two. Extracting a new method into CombinedConfig.removeOverriddenOrInvalidTransformers that discarded invalid or overridden config before the list of supported source to target mimetypes was created rather than try to fix them up later. This is why there appear to be quite a few changes.
* More extensive unit tests were also added.
2021-01-29 20:04:55 +00:00
Nana Insaidoo
358bd704df [ACS-1160] Handle null Authority (#249) 2021-01-20 14:57:17 +00:00
Denis Ungureanu
a9e54bd08c ACS-1043 : Camel upgrade to 3.7.0 (#235)
ACS-1043: Upgrade Camel version
2021-01-12 11:41:23 +02:00
Alan Davis
8fcaa7febb ACS-247 Query accelerator (#234)
Provides hook points for the query accelerator in alfresco-enterprise-repo.

In addition to these, it also includes temporary code to add timing headers to REST API calls. These will be removed as part of REPO-5376.

Commits mainly by Bruno and Nana. Merging from old projects and changes from master by Alan.
2021-01-11 11:31:36 +00:00
Nicolas Barithel
a6fce739b6 MNT-21968 : Cannot use some document names if Smart Folders feature is enabled
MNT-21968 : Cannot use some document names if Smart Folders feature is enabled
   - catch NumberFormatException on parseInt
   - test case "v00Draft.pdf"
2021-01-11 12:23:30 +02:00
Alan Davis
04d699cf86 REPO-5191 Bug: T-Engine should provide mapping rather than the repo. (#227)
Bug found while reviewing documents on how to create a custom metadata extractor. The original refactor had left the repo doing the mapping. It should have been passing the fully qualified repo properties to the T-Engine to do the mapping.

Linked to:
    Alfresco/acs-packaging#1826
    Alfresco/alfresco-transform-core#316
2021-01-07 11:56:42 +00:00
Alan Davis
5d2c83c14b REPO-5203 Remove legacy transformers (#181)
Now that the T-Engines provide parity with in process legacy transforms and metadata extract, the legacy transform code is now being removed. This will allow the documentation to be greatly simplified and a number of libraries to be removed.

Custom legacy transforms need to be moved to T-Engines. ACS 6 still provides a version where both may be run in parallel. New versions of the document transform engine (DTE) and media management (MM) are planned for ACS 7.
2021-01-03 13:20:22 +00:00
Denis Ungureanu
f786f4ffaf ACS-1033 : Spring upgrade to 5.3.2 (#213)
- Update test as per 5de549d7d4
- before spring 5.3.0, AbstractFallbackSQLExceptionTranslator was translating org.postgresql.util.PSQLException as UncategorizedSQLException - now it returns null (ref. e9cded560d (diff-c6aa1c6a4b11e8a722808e945c4c5b6ef471c42871c7ce830554dde81ad7f2c2L89))

Co-authored-by: CezarLeahu <35226487+CezarLeahu@users.noreply.github.com>
2020-12-23 12:21:03 +02:00
Adina Ababei
3891306459 ACS-1041 Fixed intermittent test failure - events2 (#208) 2020-12-16 15:23:55 +02:00
evasques
1b2c5d4c37 MNT-22040 Copying nodes that contain sys:pendingFixAcl aspect (#188)
* MNT-22040 - Copying nodes that contain sys:pendingFixAcl aspect
* Increased coverage of unit tests
* Added public method removePendingAclAspect
* Changed the job to use the removePendingAclAspect method instead of
repeating the same set of operations twice
* Changed method setFixedAcls to use sharedAclToReplace property of node
if it has the pendingFixAcl aspect applied instead of using the current
shared ACL to be replaced

* Added more tests and validations

* Fixed cuncurrency issues when updating parent and child at the same time, permissions triggered by a move on a node with a pending acl and permissions needeing to be reapplied on nodes that already have the pending acl aspect

* Increase the tree strcuture as sometimes we don't reach the timeout in tests

* code cleanup and formatting
2020-12-14 15:08:21 +00:00
Angel Borroy
8da40d0d57 SEARCH-2589: Additional check for the SOLR 6 Tracking Bean. 2020-12-04 13:57:07 +01:00
Angel Borroy
9f2c10e6be SEARCH-2589: Check Solr6 subsystem doesn't include the ShardRegistry reference for Community 2020-12-04 13:13:35 +01:00
Angel Borroy
e949437be8 Merge pull request #193 from Alfresco/fix/SEARCH-2602_MissedInformationSearchPage
Fix/search 2602 missed information search page
2020-12-04 12:58:08 +01:00
Angel Borroy
908157bc01 SEARCH-2602: Mock test for Solr Summary report unmarshalling 2020-12-03 14:32:46 +01:00
Alan Davis
bfffcd3f61 ACS-960 Disable very frequent intermittent test failures (#187)
Part of Epic: ACS-959 Fix or suppress the content repository's intermittent test failures
2020-12-03 11:46:06 +00:00
Alan Davis
2d2b4357f9 ACS-976 Metadata extraction NPE thrown in multi-node cluster using ATS (#190)
* ACS-976 Metadata extraction NPE thrown in multi-node cluster using ATS

In a multi repo node cluster, it is possible one node requests a metadata extract via the ATS and
that another responds to it. In this case the responder needs to recreate the TransformRequest. In
this case the target mimetype was wrong, resulting in the TransformRequest being sent to the wrong
code which then through a NPE because there was no replyQueue specified on the TransformRequest.

* ACS-963 Investigate testSharedLinkCreateGetDelete failures

Modified date changes. It can change now as metadata extract is async
2020-12-03 09:38:12 +00:00
Alan Davis
ea4e18d347 ACS-953 Unable to upgrade from ACS-7.0-M1 or ACS-7.0-M2 to ACS-7.0-A12 (#183)
* ACS-953 Unable to upgrade from ACS-7.0-M1 or ACS-7.0-M2 to ACS-7.0-A12

Now that we create internal releases of the form M.m.r-M9 (milestone), M.m.r-A9 (alpha) and M.m.r-RC9 (release candidate) during development and testing, we need to ensure we can upgrade from any of these to any other, as they may occur in any order and also to the final external release M.m.r. We also will allow a change from the final release back to an internal one for regression testing. The code within ModuleComponentHelper which calls this method, checks if it is the same version (0) and then if it is downgrading (> 0), so if they share the same M.m.r part matches AND is one of these formats, we return <0.
2020-11-30 19:54:21 +00:00
Alan Davis
ed4f353f9c ACS-938 metadata is not added when using Transform Service #176 2020-11-26 12:35:33 +00:00
Alan Davis
33f37731c7 REPO-5219 Allow AGS AMP to specify metadata extract mapping (REPO) (#169)
Added an optional extractMapping transform option to all metadata extractors to override the default one in the T-Engine.

In the case of the AGS AMP it extends the RFC822MetadataExtracter with its own class to specify a different set of document to system mappings. The class in the repo no longer does extractions, but is now used by the AsynchronousExtractor, which offloads extractions to T-Engines to obtain the mappings if it has been extended that are then passed to the T-Engine.
2020-11-19 17:04:52 +00:00
Jamal Kaabi-Mofrad
427777a048 ACS-778: Fixed IDS auth component by allowing other authentication components in the chain to have a go at authenticating the given user. 2020-11-17 21:31:30 +00:00
Cristian Turlica
f4f7698295 MNT-20250: Model updates not working for deployment in cluster (#37)
- added includeNewCheck to putAndCheckUpdate as a new optional parameter (default to false)
   - updated tests
2020-11-17 16:49:04 +02:00
Elia Porciani
7f3788225c [SEARCH-2533] (#158)
removed evenType class
2020-11-17 13:04:50 +01:00
Eugenio Romano
963c874247 Merge pull request #120 from Alfresco/dev-dhrn-ACS-777
[ACS-777] Email notification for digital workspace
2020-11-16 09:24:26 +00:00
Alan Davis
d70790f0c2 REPO-5190 Remove Metadata Extractors that are been offloaded in 7.0.0 (#148)
Removed all the Extractors that now exist in the T-Engines:

    JodConnverterMetadataExtracter
    TikaPoweredMetadataExtracter – the abstract base class used by other extractors
    -- MailMetadataExtracter
    -- PoiMetadataExtracter
    -- TikaAutoMetadataExtracter
    -- MP3MetadataExtracter
    -- TikaSpringConfiguredMetadataExtracter - removed as it required Spring config and would run in process
    -- PdfBoxMetadataExtracter
    -- OpenDocumentMetadataExtracter
    -- OfficeMetadataExtracter
    -- DWGMetadataExtracter
    HtmlMetadataExtracter
    RFC822MetadataExtracter

XmlMetadataExtracter and XPathMetadataExtracter still exist but don't provide any extraction out of the box. The reason they still exist is to support custom transforms (in AMPs) to extract from XML. There are no XML extractors in the T-Engines at the moment, but that is where the custom transformer code really should be moved.

    There are new tests to ensure the async transforms take place as expected.
    Additionally many of the existing tests still exist (those not related to a specific extractor). Some of these have been modified to reflect that the extract is now async and to no longer check the modified value has not changed (it is now expected to change).
    There are also a number of new metadata extract smoke tests that ensure that a selected subset of extracts are supported by the OOTB T-Engines.
2020-11-12 14:08:04 +00:00
dhrn
297d1242a5 Merge branch 'master' into dev-dhrn-ACS-777 2020-11-12 11:28:51 +05:30
Alan Davis
cca20b3b18 REPO-5208 Metadata extract: overwritePolicy, enableStringTagging and carryAspectProperties tests (#116)
* REPO-5208 Addition of extra async metadata extract tests for overriding policy, tag extractio and carryAspectProperties

Main author: Adina Ababei <adina.ababei@ness.com>
Testing of tagging modified by Alan Davis to pass when Solr is not running.
2020-11-11 15:29:08 +00:00
Chris Shields
27d5e144a9 REPO-5209: Prevent creation of node updated event when property added and removed in same transaction (#113) 2020-11-09 11:34:53 +00:00
dhrn
014f0cd024 fixed comments 2020-11-05 18:48:22 +05:30
dhrn
6ccc4136ed Test added 2020-11-04 22:05:27 +05:30
dhrn
33b43ba93f * minor changes 2020-11-04 12:19:58 +05:30
dhrn
73081e43e5 * test added 2020-11-04 11:43:50 +05:30
dhrn
d9de437e68 * minor changes 2020-11-03 21:20:11 +05:30