Commit graph

758 commits

Author SHA1 Message Date
abraunegg 8d272b0f77 Update sync.d
* Update logging output
2023-12-21 07:33:32 +11:00
abraunegg cbe55cd4d2 Update sync.d
* Add warning message about HTML characters in JSON element
2023-12-21 06:56:02 +11:00
abraunegg 06061da419 Update sync.d
Change the handling of selfBuiltPath so correct path is used when attempting to test against 'sync_list'
2023-12-20 18:49:25 +11:00
abraunegg c2e98ff639 Update sync.d
* Potentially fix crash identified by #2562
2023-12-18 18:55:54 +11:00
abraunegg 5fbfc49e32 Handle --upload-only & --remove-source-files for upload session resumption
* Handle --upload-only & --remove-source-files for upload session resumption
2023-11-09 13:37:45 +11:00
abraunegg bcc77b79eb Add resumable session uploads
* Check the system for any session files, that indicate that a session upload did not complete
* Change from using a CRC32 of the file, to a random 16 character alphanumeric string to use as the session filename extension as it is not computationally valid to do a CRC32 on large files
2023-11-09 12:20:11 +11:00
abraunegg 423bf07b77 Replace safeRename() with safeBackup()
* Finally replace safeRename() with safeBackup() to ensure consistent messaging and process when a local file is being renamed.
2023-11-08 15:30:31 +11:00
abraunegg 677f0764ff Update PR
* Update PR to add a test for entrypoint.sh to exist, to assist with Docker first run scenario
2023-11-01 16:07:41 +11:00
abraunegg 673c0a25ed Update config.d
* When --syncdir is being used, and no initial config file exists, write the --syncdir value to a new default configuration file, so that when the client is run again, the --syncdir value is used. If an existing config file is present, update the sync_dir config value that was passed in, but only if it is different to the existing set value
2023-11-01 05:09:13 +11:00
abraunegg 3798e1acd0 Fix memory leak on exit when using webhooks
* Fix memory leak on exit when using webhooks
2023-10-29 08:04:57 +11:00
abraunegg 4df36ffbbe Fix webhook application hang on exit
* Import d9fee18b28 manually
2023-10-28 07:21:54 +11:00
abraunegg 16595efbdb Update FR #2359
Update --display-quota output to:

Deleted:   8.19 GB (8793627814 bytes)
Remaining: 25580.69 GB (27467060611614 bytes)
State:     normal
Total:     25600.00 GB (27487790694400 bytes)
Used:      11.12 GB (11936454972 bytes)
2023-10-27 05:27:38 +11:00
abraunegg 8979bf7437 Update main.d
* Fix exit coredump when using -s -v
2023-10-27 05:26:02 +11:00
abraunegg 6bb380c306 Update main.d
* Update exit scope handling, ensure that oneDriveApiInstance is shutdown otherwise memory leak occurs on exit

PRECHANGE:

==442773== LEAK SUMMARY:
==442773==    definitely lost: 0 bytes in 0 blocks
==442773==    indirectly lost: 0 bytes in 0 blocks
==442773==      possibly lost: 32 bytes in 1 blocks
==442773==    still reachable: 175,810 bytes in 13 blocks
==442773==         suppressed: 0 bytes in 0 blocks

POSTCHANGE:

==450812== LEAK SUMMARY:
==450812==    definitely lost: 0 bytes in 0 blocks
==450812==    indirectly lost: 0 bytes in 0 blocks
==450812==      possibly lost: 32 bytes in 1 blocks
==450812==    still reachable: 153,856 bytes in 5 blocks
==450812==         suppressed: 0 bytes in 0 blocks
2023-10-26 06:23:05 +11:00
abraunegg 58d17d5e89 Update main.d
* Simplify existing shutdown cleanup before #2519 is merged
2023-10-25 15:03:15 +11:00
abraunegg b3a1e4acb5 Add debug output to determine DB access threadsafe value
* Add debug output to determine DB access threadsafe value
2023-10-25 09:14:46 +11:00
abraunegg b9f20cd357 Update main.d
* Wait for all parallel jobs that depend on the database to complete - added from f86c4b9d9e
2023-10-25 08:36:16 +11:00
JC-comp 1d29ca0489
Fix curl reusing socket (#2526)
* Fix curl reusing socket
2023-10-25 07:20:16 +11:00
abraunegg 5dedd26359 Update onedrive.d
* Cherry pick 5a4a351ea5

Fix by @JC-comp
2023-10-23 09:59:27 +11:00
abraunegg 5fddd74570 Update onedrive.d
* Add missing curlEngine.http.clearRequestHeaders(); from 'patch' and 'post'
2023-10-23 09:40:53 +11:00
abraunegg 77c294ba0c Implement --display-quota
* Implement --display-quota
2023-10-20 08:53:59 +11:00
abraunegg d7ea79773f Update sync.d
* Add a check when using --download-only to test if the file already exists locally, and if it does, has the local file been modified since the file was last downloaded. If it has, then rename the existing file to preserve it to prevent local data loss
2023-10-20 05:45:33 +11:00
abraunegg 2257f0ba92 Update PR
* Fix onedrive -s --download-only
* Fix onedrive -s --download-only --local-first
2023-10-19 21:27:03 +11:00
abraunegg 25015daf11 Update config.d
* --download-only and --local-first cannot be used together
2023-10-19 21:09:07 +11:00
abraunegg 144985550f Update PR
* Add documentation notes for webhooks
* Fix variable naming
2023-10-19 18:37:14 +11:00
abraunegg 158a571738 Update webhook feature with #2516 changes
* Update webhook feature with #2516 changes
2023-10-19 16:33:25 +11:00
abraunegg d653ff33a5 Update sync.d
* Fix that the '.' were not being printed in --verbose mode for fetching the /delta response
2023-10-19 10:05:36 +11:00
abraunegg 3a3c954756 Add webhook functionality back in
* Add webhook functionality back in
2023-10-19 06:48:25 +11:00
abraunegg 35edb4c1b0 Uplift to v2.5.0-alpha-3
* Uplift to v2.5.0-alpha-3
2023-10-19 05:39:33 +11:00
abraunegg 4253318835 Squashed commit of the following:
commit 1eff2d7d67
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Wed Oct 18 19:15:27 2023 +1100

    Update PR

    * Add  --source-directory 'path/as/source/' --destination-directory 'path/as/destination' functionality

commit ad3ddee0ec
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Wed Oct 18 17:32:24 2023 +1100

    Update PR

    * Add --create-directory
    * Add --remove-directory

commit 7dfe6b65b7
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Wed Oct 18 12:27:03 2023 +1100

    Update PR

    * Update PR

commit 75c071e56f
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Wed Oct 18 10:12:05 2023 +1100

    Update PR

    * Update PR

commit 6db484cdad
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Mon Oct 16 17:01:25 2023 +1100

    Update PR

    * Update PR

commit d893ea5460
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Wed Oct 11 10:43:50 2023 +1100

    Update PR

    * Update PR

commit 82bd593bf4
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Wed Oct 11 09:14:17 2023 +1100

    Update PR

    * Validate and document --auth-files operation

commit c551203f4c
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Wed Oct 11 05:48:22 2023 +1100

    Update PR

    * Add --create-share-link

commit fbf63999ff
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Tue Oct 10 18:39:21 2023 +1100

    Update PR

    * Update PR

commit 72a4680035
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Tue Oct 10 17:43:15 2023 +1100

    Update PR

    * Add --get-file-link
    * Add --modified-by

commit 0d3fc3ebf2
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Tue Oct 10 14:28:10 2023 +1100

    Add --display-sync-status

    * Add --display-sync-status

commit 1f183ca03e
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Mon Oct 9 08:18:13 2023 +1100

    Update PR

    * Update PR with doc updates

commit b0628d7099
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Sun Oct 8 10:52:52 2023 +1100

    Update PR

    * Update PR

commit 7e3df956ce
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Sat Oct 7 05:31:26 2023 +1100

    Update PR

    * Update PR

commit c69f2abc4b
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Sat Oct 7 05:28:28 2023 +1100

    Update PR

    * Update PR

commit ea1ca33374
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Fri Oct 6 14:57:51 2023 +1100

    Update PR

    * Update PR

commit 1503f969df
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Fri Oct 6 09:19:04 2023 +1100

    Update PR

    * Update PR

commit 5127464f2c
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Fri Oct 6 06:48:20 2023 +1100

    Change when the integrity check is performed

    * Change when the integrity check is performed

commit c7cc45d95c
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Thu Oct 5 19:40:05 2023 +1100

    Update maxInotifyWatches location

    * Update maxInotifyWatches location

commit c44ad963a6
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Thu Oct 5 17:41:31 2023 +1100

    Update main.d

    * Fix --version segfault

commit 51f0ffcb1f
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Thu Oct 5 17:24:30 2023 +1100

    Uplift to v2.5.0-alpha-2

    * Uplift to v2.5.0-alpha-2

commit cbe3e6ea84
Author: abraunegg <alex.braunegg@gmail.com>
Date:   Thu Oct 5 17:17:26 2023 +1100

    Clean up before onedrive-v2.5.0-alpha-2

    * Clean up before onedrive-v2.5.0-alpha-2
2023-10-19 05:31:50 +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 fb0a5f0796
Fix unhandled exception when authurl path is non-existent (#2456)
* Catch an unhandled exception when the user sets the authurl file to a location that cannot be accessed
2023-07-23 10:13:03 +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 3340fcca6a
Update util.d (#2428)
* Remove running version obsolete flag as this causes a false flagging as obsolete
2023-06-20 11:18:20 +10:00
abraunegg dfd1d1aa4a
Implement #2414 to allow HTTP session timeout(s) tuning via config (#2425)
* Implement #2414 to allow HTTP session timeout(s) tuning via config (taken from v2.5.x)
2023-06-20 09:28:17 +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 16b751971f
Fix Unable to perform a database vacuum: out of memory when exiting (#2398)
* Due to many poor Internet sources of how to use this application, may folk still do not add --synchronize or --monitor switches because their documentation source fails to detail this. When this is the case, the itemdb does not get fully initialised, but when we exit, we try and clean up, because we have partially initalised, we cannot perform a vacuum of the database which generates an error. This patch adds a flag for this specific scenario, so that if triggered, we do not try to vacuum the database and not triggering a false error.
2023-05-12 18:41:01 +10:00
abraunegg 8c6bdb984d
Fix deprecation warnings with dmd 2.103.0 (#2364)
* Update cgi.d to commit 680003a - last upstream change before requiring `core.d` dependency requirement
* Fix deprecation warnings with dmd 2.103.0 by find/replace `isVirtualFunction` with `isVirtualMethod` in cgi.d
2023-04-03 07:13:11 +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 6607ba537b
Fix webhook subscription creation for SharePoint Libraries (#2339)
* Fix webhook subscription creation for SharePoint Libraries
2023-03-18 10:03:49 +11:00
NigelVanHattum 52b1276282
Fix for extra encoded quotation marks surrounding Docker environment variables (#2319)
* Fix for extra encoded quotation marks surrounding Docker environment variables

---------

Co-authored-by: Hattum van <Nigel.van.Hattum@rabobank.nl>
Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2023-03-18 09:53:58 +11:00
abraunegg d043d5584f
Update handling of --source-directory and --destination-directory if empty (#2278)
* Update handling of --source-directory and --destination-directory if one is empty or missing and if used with --synchronize or --monitor
2023-01-02 09:17:39 +11:00
abraunegg 6bf0ea5deb
Update version checks (#2269)
* Update version checks to use current application version release date as part of calculating if the client is obsolete and not supported.
2022-12-20 16:48:15 +11:00
abraunegg 3bca35d345
Update version release notification handling (#2267)
* Update the GitHub version check to also utilise the date a release was done, to allow 1 month grace period before generating obsolete version message.
2022-12-17 06:56:12 +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 817656ba90
Fix creation of parent empty directories when parent is excluded by sync_list (#2245)
* When a parental path is to be excluded, and it is an exact match to be excluded, but further 'included' by a wildcard path match, the parental path exclude needs to take precedence, so that empty local directories are not created when they are mean to be excluded
2022-12-06 06:08:55 +11:00
abraunegg 1d8e0204bf
Update config change detection handling (#2246)
* Update the detection handling of enabling any configuration item change for the first time that required a --resync. Previously initial config changes were being missed.
2022-12-06 06:02:41 +11:00
abraunegg 19727d9c57
Fix application crash when exiting due to failure state (#2244)
* Fix a potential crash when an unclean exit is performed and any database access cannot be cleanly shutdown
2022-12-04 20:20:55 +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