Commit graph

446 commits

Author SHA1 Message Date
abraunegg 26f92b6191 Update sync.d
* Update when deltaLinkCache is set
* Update logging output when deltaLinkCache is used
2024-03-30 07:03:59 +11:00
abraunegg 4af2420944 Update sync.d
* Remove testing code that was not needed
2024-03-30 06:58:42 +11:00
abraunegg 90010b2c1d Update sync.d
* whitespace cleanup
2024-03-29 20:13:44 +11:00
abraunegg 3d660921dd Update sync.d
* Resolve issue where if ^C or something else happens, before jsonItemsToProcess is processed, ensure the database is only updated with the deltaLink post all items being processed, which included downloading of any applicable items.
2024-03-29 20:11:13 +11:00
abraunegg 37434dd71e Update sync.d
* Update comments
* Add check to ensure when creating a new directory, the value passed in must not be empty
* Update logging output to be consistent with other actions
2024-03-27 05:36:59 +11:00
abraunegg 8493ea8744 Update sync.d
* Update messaging that this is the online file data being checked
* Ensure that if the file exists online, integrity validation checks are logged
2024-03-18 07:17:32 +11:00
abraunegg 074b29b031 Update sync.d
* Fix spelling error (#2668)
2024-03-18 06:51:35 +11:00
abraunegg 86b4cd3452 Restore i386 build using Debian 12
* Restore i386 build using Debian 12
* Tested on i386 and x86_64
* ARM64 and ARMHF not yet tested / validated
2024-03-12 19:16:17 +11:00
abraunegg 75c3d0d939
Implement Feature Request #1300 - Support the syncing of individual business shared files (#2646)
* Implement Feature Request #1300 - Support the syncing of individual business shared files
2024-03-09 07:15:11 +11:00
abraunegg e895a1174c Update sync.d
* Change local directory creation to a reusable function
2024-02-26 10:32:53 +11:00
abraunegg fecec1ba72 Handle #2626 | Case 2-1 and Case 2-2 items
* Specifically resolve #2626 | Case 2-1 and Case 2-2 items
2024-02-19 10:29:49 +11:00
JC-comp a92221bb50
Add support for batched local monitor processing (#2609)
* Fix file upload fallback for all scenario
* Add support for batched monitor
* Add recursive match
* Adjust logging output
* Add error handling
2024-02-12 17:12:20 +11:00
abraunegg 1be74fc982 Resolve Issue #2625
* Local files should be safely backed up when the item is not in sync locally to prevent data loss when they are deleted online
2024-02-12 09:45:15 +11:00
abraunegg d2a78be396 Resolve that upload session are not canceled with resync option
* Resolve that upload session are not canceled with resync option
2024-02-11 17:46:07 +11:00
abraunegg 83726ac4de Refine Shared Folder Handling
* Update Shared Folder Handling so when adding a SharePoint Library as a Shared Folder to a Business Account these are correctly handled.
* Validate that DB matches in 'online first' vs 'local first' when using Shared Folders and SharePoint added libraries (in the case of Business Accounts)
* Tested and revalided with OneDrive Business Account with 'sync_business_shared_items = "true"'
* Tested and revalided with OneDrive Business Account with 'sync_business_shared_items = "false"'
* Tested and revalided with OneDrive Personal Account
2024-02-11 11:29:27 +11:00
JC-comp 1630ae37f3
Suppress processing dots in verbose mode (#2622)
* Suppress processing dots in verbose mode
* Fix coding style
2024-02-04 15:34:45 +11:00
abraunegg 6d3b96bdc8 Update sync.d
* Ensure that 'cachedOnlineDriveData' contains valid quota data if using --local-first
* In a --local-first scenario, query the DB for unique driveId's rather than use 'cachedOnlineDriveData' which may not be fully populated
2024-02-04 15:03:34 +11:00
abraunegg d0214a8624 Update sync.d
* If the timestamp was corrected locally, and the files are now equal, save the data to the database to ensure this record is kept
2024-02-04 07:51:37 +11:00
abraunegg 627726edd1 Update sync.d
* Fix regression introduced before 'alpha-5' somewhere
2024-02-04 06:49:27 +11:00
abraunegg 593c6ead80 Change quota tracking and handling
* Change how online space available is being tracked to significantly reduce quota API calls when uploading new or modified data
2024-02-03 05:49:07 +11:00
JC-comp 1a3724d44b
Add processing dots for all long running operation (#2606)
Changes
- Add helper for processing log with message and dots
- Set a rate limit of 1 second for processing dots.
- Showing processing dots during
    1. db consistency check
    2. file system walk.
2024-01-27 10:03:46 +11:00
JC-comp 8094d86ed5
Fix file upload fallback (#2603)
* Fix file upload fallback
2024-01-25 13:18:54 +11:00
abraunegg 5a32a3298d Update sync.d
In a --resync --local-first scenario, a Shared Folder will always be 'remote' so we need to check the remote parent id, rather than parentItem details and ensure we have a DB Tie record for the shared folder in the DB
2024-01-24 22:56:45 +11:00
abraunegg d5185e5207 Update sync.d
* Move 'thisFileSize = getSize(fileToUpload)' back to original location
* Add check if path exists before attempting upload
2024-01-24 08:12:40 +11:00
abraunegg e2f1b68b1a Update sync.d
* Whenever the function is being returned, ensure that API instance is shutdown and destroyed
2024-01-22 08:25:51 +11:00
abraunegg e92947ea32 Update path validation
* Update check for ASCII control codes and specific non-ASCII control characters
* Add UTF-16 path validation check
2024-01-21 16:15:56 +11:00
abraunegg f2414f4a56 Update sync.d
* Update logging output for added clarity
2024-01-21 07:11:58 +11:00
abraunegg c8d29c8231 Add libcurl timeout on handle messaging
* Add libcurl timeout on handle messaging to use 'ip_protocol_version' to set what IP protocol to use. Testing has shown that when this is triggered, it is libcurl having an issue with IPv6 DNS resolution.
2024-01-20 07:41:53 +11:00
abraunegg 814d364c13 Update libcurl socket reuse handling
* Clarify CURLOPT_CONNECTTIMEOUT in documentation
* Clarify CURLOPT_TIMEOUT in documentation
* Add 'threads' as a config file option to control the number of threads used, default of 8, max of 16
* Change CURLOPT_CONNECTTIMEOUT value to v2.4.x value default of 10 seconds
* Configure libcurl to reuse connections
2024-01-20 06:15:33 +11:00
abraunegg 4e93777d7a Fix edge case file upload bugs when using --local-first
* Add PR 2527v2 to 'alpha-5': Fix edge case file upload bugs when using --local-first
2024-01-20 05:09:17 +11:00
abraunegg e470b21818 Update sync.d
* Add UTC note when detailing that there is a time difference
2024-01-19 09:08:50 +11:00
abraunegg a1f10cc5eb Update sync.d
* Add further timestamp qualifications
2024-01-18 18:56:22 +11:00
abraunegg e8406b719e Reinstate safeRename for online item moves
Reinstate safeRename for online item moves
2024-01-17 09:46:36 +11:00
abraunegg c328b029c5 Fix debug output
* Fix debug output
2024-01-17 09:04:42 +11:00
abraunegg b1a07a25f5 Update sync.d
* If timestamp needs to be corrected, return false so that the correct actions can be taken
* If in a --download-only scenario, do not update the timestamp online
2024-01-17 08:53:50 +11:00
abraunegg c5f2ec4622 Update sync.d
Fix reported bug where the online date is being changed in download-only mode
2024-01-16 05:19:25 +11:00
abraunegg 635102e8af Perform DB scan earlier and reuse result
* Remove potentially redundant applicability check of a path if this is already in the database. This is a manual merge of #2525
2024-01-14 07:17:25 +11:00
abraunegg 0ce088f0e2 Update 'root:' removal for 'skip_dir' path checking
* Update 'root:' removal for 'skip_dir' path checking
2024-01-13 16:03:43 +11:00
abraunegg d20b62da57 Fix 'config' file parsing and option handling
Fix that 'config' does not load when a deprecated option is at the beginning of the config file
2024-01-13 07:46:47 +11:00
abraunegg e4a6d62072 Update sync.d
* Cleanup array memory before we start adding files
2024-01-11 20:52:41 +11:00
abraunegg 34407b451f Update sync.d
* Just sync the triggered file, no scan of parent directory
2024-01-11 12:26:38 +11:00
abraunegg ca8c2d1bdc Fix zero byte file handling
* Fix zero byte file handling
2024-01-11 10:51:18 +11:00
abraunegg 48a803aa46 Initial commit of onedrive-v2.5.0-alpha-5
* Initial commit of onedrive-v2.5.0-alpha-5
2024-01-09 09:13:17 +11:00
abraunegg 43b0bed4cb
Fix debugging log output when reporting file size and hash mismatch (#2473)
* Fix debug logging output with correct hash values as these were switched
* Only calculate local file size post download once and reuse value
2023-08-24 18:08:21 +10:00
abraunegg 268dcf9120
Fix that zero-byte files do not have a hash as reported by the OneDrive API thus should not generate an error message (#2436)
* The OneDrive API does not present a hash for all files, most notably those that are zero byte in size (this may be fixed by the OneDrive API in the future). Add a wrapper to the existing makeItem function to test the file size before working out if this is a going to be a problem and if it is, then print out an error message if the file size is greater than 0 including either the full filename path or the items id.
2023-06-21 13:21:05 +10:00
abraunegg 06420c9a0a
Remove sha1 use and cleanup defunct remaining crc32 use (#2424)
* Remove sha1 from being used by the client as this is being depreciated by Microsoft in July 2023 - https://devblogs.microsoft.com/microsoft365dev/deprecation-of-sha1hash-on-onedrive-personal/
* Complete the removal of crc32 as this is also no longer present for a long time, but some code elements still existed
* Only compute quickXorHash, not quickXorHash and sha256Hash as computing sha256Hash is CPU expensive
* Update cache database stored items to only store quickXorHash and sha256Hash values (remove crc32 and sha1)
2023-06-20 06:55:00 +10:00
abraunegg 00ce7eed0e
Fix that folders are renamed despite using --dry-run (#2343)
* Fix that folders are renamed despite using --dry-run
2023-03-27 17:22:48 +11:00
abraunegg cfb4933778
Fix that a HTTP 504 - Gateway Timeout causes local files to be deleted when using --download-only & --cleanup-local-files mode (#2342)
* Fix that a HTTP 504 - Gateway Timeout causes local files to be deleted when using --download-only & --cleanup-local-files mode
2023-03-19 09:54:58 +11:00
abraunegg 678add91f8
Update --get-O365-drive-id error handling (#2266)
* Ensure a 'Personal' account type is not being used
* If the /sites?search API cannot be found, display a more appropriate error message
2022-12-16 06:08:46 +11:00
abraunegg 0b89a1fea0
Change order of Microsoft OneDrive restrictions and limitations check and skip_file|skip_dir (#2238)
* Perform check against Microsoft OneDrive restriction and limitations after user configured items to skip has been performed
2022-11-26 05:42:38 +11:00