Commit graph

245 commits

Author SHA1 Message Date
abraunegg 73ec9e9520 Update PR
* Update PR
2023-09-27 10:05:26 +10:00
abraunegg d43ec6d208 Update PR
* Update PR
2023-09-27 08:42:45 +10:00
abraunegg a9eea441c4 Update PR
* Update PR
2023-09-27 05:16:05 +10:00
abraunegg dabe6f3aca Update PR
* Update PR
2023-09-24 13:17:44 +10:00
abraunegg 7b3051f449 Update PR
* Update PR
2023-09-24 11:07:26 +10:00
abraunegg 4bd9ae5092 Initial code commit for onedrive client version v2.5.0-alpha-1
Add initial code for onedrive client version v2.5.0-alpha-1, adding in support for OneDrive Business Shared Folders
2023-09-22 05:34:42 +10:00
abraunegg ee4092d9d4 Update PR
* Update PR
2023-09-13 06:15:17 +10:00
abraunegg a195fdc04c Update PR
* Update PR
2023-09-12 15:31:59 +10:00
abraunegg d38589dc26 Update PR
* Update PR
2023-09-10 14:53:31 +10:00
abraunegg fbfb339996 Update PR
* Update PR
2023-09-09 19:08:51 +10:00
abraunegg 4756680ccf Update PR
* Update PR
2023-09-09 07:36:24 +10:00
abraunegg 34cb3031e8 Update PR
* Update PR
2023-09-09 06:57:52 +10:00
abraunegg a656757a90 Update PR
* Update PR
2023-09-09 06:34:52 +10:00
abraunegg 54b3d52703 Update PR
* Update PR
2023-09-03 07:38:36 +10:00
abraunegg e3b3abb797 Update PR
* Update PR
2023-09-02 12:27:10 +10:00
abraunegg eb837dbe1f Update PR
* Update PR
2023-08-31 06:29:24 +10:00
abraunegg 44be502c62 Update PR
* Update PR
2023-08-29 09:56:55 +10:00
abraunegg 3f5a4fa29c Update PR
* Update PR
2023-08-28 16:56:16 +10:00
abraunegg 1ac5d9f9d8 Update PR
* Update PR
2023-08-27 14:22:06 +10:00
abraunegg 9062d0ecb7 Ensure version is v2.5.0-alpha-0
* Ensure version is v2.5.0-alpha-0
2023-08-27 09:42:40 +10:00
abraunegg eb9d637eba Initial commit of code re-write for v2.5.0
* Initial commit of v2.5.0-alpha-0 code changes, supporting fixing #232
2023-08-27 09:35:51 +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 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
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 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 87003c5923
Update when application exit message is printed (#2239)
* Update #2229 so that the exit message only appears when --synchronize is actually used
2022-11-25 06:57:30 +11:00
abraunegg f853b129cd
Display 'Sync with OneDrive is complete' when using --synchronize (#2229)
* When exiting the application when using --synchronize, display that the sync is complete if we are exiting cleanly and all sync operations are complete
2022-11-19 11:06:00 +11:00
abraunegg 62859609b7
Fix application crash due to access permissions on configured path for sync_dir (#2225)
* Fix application crash due to access permissions on configured path for sync_dir
2022-11-19 08:53:49 +11:00
abraunegg 7daf8797f8
Add performance output for key functions (#2180)
* Add developer option 'display_processing_time' to control if performance timing is outputted or not
* If option is enabled, print performance data around how long key functions are taking to process data to assist with understanding any performance related questions
2022-10-12 13:34:42 +11:00
abraunegg fd0a028276
Align application logging events to actual application defaults (#2170)
* Align application logging events to actual application defaults for --monitor operations
2022-10-07 06:52:38 +11:00
abraunegg 514df625b9
Add option to create a read-write shareable link (#2154)
* Implement Feature Request 2110 to add option to create a read-write shareable link
2022-09-26 17:56:42 +10:00
abraunegg a35c7c72f5
Update database access exclusivity test for --resync (#2155)
* Update database access exclusivity test for --resync
2022-09-26 11:49:48 +10:00
abraunegg 738be2d150
Add option to cleanup local files regardless of sync state when using --download-only (#2113)
* Add option to cleanup local files regardless of sync state when using --download-only
2022-08-31 06:41:52 +10:00
abraunegg 5288f94ac4
Resolve segfault when running 'onedrive --display-sync-status' when run as 2nd process (#2105)
* Rather than force exit if unable to lock the database, add a function and boolean to control if the database access has been init was successful. If not, use the exit scopes to exit the application
2022-08-30 19:09:35 +10:00
abraunegg 3b7a06cdcd
Fix where --resync is enforced for non-sync operations (#2111)
* Fix that the --resync option is wrongly enforced when the OneDrive client is started with --list-shared-folders option or other non-sync options. This only happens when configuration changes are detected.
2022-08-26 09:11:10 +10:00
abraunegg 33423ee441
Fix to allow non-sync tasks while sync is running (#2112)
* Fix to allow --get-file-link and --list-shared-folders when already running
2022-08-25 20:18:53 +10:00
abraunegg d169dfc642
Improve application logging output for error messages (#2100)
* When enabling system logging to a log file, the actual ERROR line is forced to a new line in the application log. The reason for this is the \n prefix in the error message, which was in place so that when performing CLI logging or systemd logging, the error message would be displayed clearly. This change removes the \n from the actual error message, but inserts a newline before the error message is displayed (and also in some cases post error message) - thus keeping the application runtime look and feel, but improving the application log output.
2022-08-18 09:14:13 +10:00
abraunegg eba676c600
Change the exit code of the application when a --resync is required (#2096)
* Change the exit code of the application when a --resync is required from a generic exit code of 1 to exit code 126, as 126 is supposed to be used when a command invoked cannot be executed - which, in this case, when a --resync is needed - the original command cannot be executed.

* This allows|enables watching for a 126 error code in automated environments, so that when 126 as the exit code is seen, the command can be re-tried potentially automatically with the appropriate resync arguments added.
2022-08-17 13:19:51 +10:00
abraunegg d57a695632
Add option to request readonly access in oauth authorization step (#2065)
* Add option to request readonly access in oauth authorization step
* Add application-security.md to document application security
2022-08-06 08:24:51 +10:00
abraunegg cc3b83afcb
Implement --display-running-config (#2064)
* Implement --display-running-config to display the running configuration as used at application startup
* Add ONEDRIVE_DISPLAY_CONFIG variable to control --display-running-config in Docker environments
2022-08-06 06:25:58 +10:00
abraunegg 5ee30ff623
Update --get-O365-drive-id implementation for data access (#2076)
* Update --get-O365-drive-id to avoid hitting the 'onedrive application is already running' error message
2022-08-05 09:16:54 +10:00
abraunegg aaf8505205
Update --resync handling of database file removal (#2067)
* Only safe remove the files from the local file system if these are exclusively available for this running instance to perform a delete - otherwise this allows multiple clients to perform a --resync on the same data, which, could lead to a data loss scenario
2022-08-01 07:35:19 +10:00
abraunegg 031c82922d
Enforce that --confdir must be a directory (#2051)
* Enforce that when we are using --confdir - the path that is passed in has to be a directory and not a file
2022-07-20 10:09:20 +10:00
abraunegg a17a667e44
Increase thread sleep for better process handling (#2046)
* Increase thread sleep for better process handling
2022-07-18 13:09:41 +10:00
abraunegg c82e90a140
Ensure that any active http instance is shutdown before any application exit (#2035)
* When the client needs to exit due to an issue, ensure that the curl http instance is shutdown before the exit is performed. This also potentially solves some segmentation faults seen on Ubuntu|Debian platforms due to issues in the shared library libphobos2-ldc-shared.so.X
2022-07-07 09:37:45 +10:00
abraunegg 3591eededc
Fix --display-config after http/2 change (#2028)
* Fix --display-config after http/2 change
* Update advanced-usage.md
2022-07-03 21:03:27 +10:00
abraunegg ca984eba70
Update OneDrive API response handling for National Cloud Deployments (#2023)
* Update OneDrive API response handling for National Cloud Deployments
* Add developer option to allow easy switch between /children and /delta to query OneDrive for changes
2022-06-30 07:08:29 +10:00
abraunegg 1935def140
Update when DB is updated by OneDrive API data and update when file hash is required to be generated (#2004)
* Only update the database if the item modified time is different, otherwise we are needlessly updating the database with data that is the same
* Generating a file hash, during the file integrity check is computationally expensive. Only generate a file hash if the modified time of the file is different, otherwise it is pointless to generate the file hash during each integrity check
* Only flush SHM and WAL post integrity check
2022-06-15 09:16:06 +10:00
abraunegg 0fffb8fbc0
Implement a check to validate local filesystem available space before attempting file download (#1971)
* Implement a check to validate local filesystem available space before attempting file download
* Implement 'space_reservation' config option with a default value of 50 MB
* Prevent the original run-away logging error message 'Failed initialization on handle XXXX' from occurring if the system is out of space
* Update documentation and man page
2022-06-01 05:57:05 +10:00