Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OneDrive Client Version v2.5.0-rc2 #2709

Open
wants to merge 132 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
48a803a
Initial commit of onedrive-v2.5.0-alpha-5
abraunegg Jan 8, 2024
58598f8
Delete documents again as POSIX rename failure
abraunegg Jan 8, 2024
89b467e
Re-add documents
abraunegg Jan 8, 2024
f93e3a4
Delete readme & changelog due to POSIX issue
abraunegg Jan 8, 2024
220943b
Re-add documents
abraunegg Jan 8, 2024
859cd5d
Update application-config-options.md
abraunegg Jan 10, 2024
ca8c2d1
Fix zero byte file handling
abraunegg Jan 10, 2024
34407b4
Update sync.d
abraunegg Jan 11, 2024
e4a6d62
Update sync.d
abraunegg Jan 11, 2024
9396478
Update monitor.d
abraunegg Jan 11, 2024
3e86fe4
Update config.d
abraunegg Jan 11, 2024
a089b85
Update config.d
abraunegg Jan 12, 2024
b5988f7
Update curlEngine.d
abraunegg Jan 12, 2024
d20b62d
Fix 'config' file parsing and option handling
abraunegg Jan 12, 2024
0ce088f
Update 'root:' removal for 'skip_dir' path checking
abraunegg Jan 13, 2024
aab6c87
Malformed config line handling
abraunegg Jan 13, 2024
5dee977
If requesting --help, dont attempt to load any 'config' file
abraunegg Jan 13, 2024
635102e
Perform DB scan earlier and reuse result
abraunegg Jan 13, 2024
23f2e2f
Implement Docker capability to disable validations
abraunegg Jan 13, 2024
67a2b4b
Update config.d
abraunegg Jan 13, 2024
a5be48d
Update curlEngine.d
abraunegg Jan 14, 2024
c5f2ec4
Update sync.d
abraunegg Jan 15, 2024
cda8317
Fix that --dry-run prevents authorization
abraunegg Jan 15, 2024
b1a07a2
Update sync.d
abraunegg Jan 16, 2024
c328b02
Fix debug output
abraunegg Jan 16, 2024
e8406b7
Reinstate safeRename for online item moves
abraunegg Jan 16, 2024
a1f10cc
Update sync.d
abraunegg Jan 18, 2024
e470b21
Update sync.d
abraunegg Jan 18, 2024
4e93777
Fix edge case file upload bugs when using --local-first
abraunegg Jan 19, 2024
814d364
Update libcurl socket reuse handling
abraunegg Jan 19, 2024
7a584cd
Update application-config-options.md
abraunegg Jan 19, 2024
c8d29c8
Add libcurl timeout on handle messaging
abraunegg Jan 19, 2024
f2414f4
Update sync.d
abraunegg Jan 20, 2024
e92947e
Update path validation
abraunegg Jan 21, 2024
deb63b6
Update util.d
abraunegg Jan 21, 2024
e2f1b68
Update sync.d
abraunegg Jan 21, 2024
d5185e5
Update sync.d
abraunegg Jan 23, 2024
5a32a32
Update sync.d
abraunegg Jan 24, 2024
8094d86
Fix file upload fallback (#2603)
JC-comp Jan 25, 2024
dbe9251
Refactoring CurlEngine + Add Curl Socket Reuse Support (#2604)
JC-comp Jan 26, 2024
1a3724d
Add processing dots for all long running operation (#2606)
JC-comp Jan 26, 2024
593c6ea
Change quota tracking and handling
abraunegg Feb 2, 2024
8976f16
Add PUML
abraunegg Feb 2, 2024
07a3bc7
Update application-security.md
abraunegg Feb 2, 2024
73e5396
Update application-security.md
abraunegg Feb 2, 2024
ec9c7f0
update security doc
abraunegg Feb 3, 2024
f773549
Add error handling for version check (#2615)
JC-comp Feb 3, 2024
627726e
Update sync.d
abraunegg Feb 3, 2024
d0214a8
Update sync.d
abraunegg Feb 3, 2024
6d3b96b
Update sync.d
abraunegg Feb 4, 2024
1630ae3
Suppress processing dots in verbose mode (#2622)
JC-comp Feb 4, 2024
83726ac
Refine Shared Folder Handling
abraunegg Feb 11, 2024
d2a78be
Resolve that upload session are not canceled with resync option
abraunegg Feb 11, 2024
1961c0c
Update docker.md
abraunegg Feb 11, 2024
1be74fc
Resolve Issue #2625
abraunegg Feb 11, 2024
c7bfd0d
Implement Blocking Logger Mechanism (#2627)
JC-comp Feb 12, 2024
7621bba
Update log.d
abraunegg Feb 12, 2024
a92221b
Add support for batched local monitor processing (#2609)
JC-comp Feb 12, 2024
b4c10e6
Shutdown Inotify Monitor Gracefully (#2628)
JC-comp Feb 13, 2024
6134a6f
Update install.md
abraunegg Feb 18, 2024
fd5f5e0
Update install.md
abraunegg Feb 18, 2024
fecec1b
Handle #2626 | Case 2-1 and Case 2-2 items
abraunegg Feb 18, 2024
03386c1
Seperate OneDriveWebhook from OnedriveAPI instance (#2607)
JC-comp Feb 20, 2024
0404ee2
Add architecture documentation to 'alpha-5' (#2639)
abraunegg Feb 20, 2024
333ddbe
Fix monitor response time (#2635)
JC-comp Feb 20, 2024
47bce63
Update client-architecture.md
abraunegg Feb 20, 2024
e895a11
Update sync.d
abraunegg Feb 25, 2024
75c3d0d
Implement Feature Request #1300 - Support the syncing of individual b…
abraunegg Mar 8, 2024
fda0430
Update Makefile.in
abraunegg Mar 8, 2024
3d249b8
Fix: Initialization and Error Handling for Libnotify (#2659)
JC-comp Mar 10, 2024
eb17c77
Release files for 2.5.0-rc1
abraunegg Mar 10, 2024
88edb58
Update Dockerfile-debian
abraunegg Mar 10, 2024
1535084
Remove Debian i386 Docker build
abraunegg Mar 10, 2024
86b4cd3
Restore i386 build using Debian 12
abraunegg Mar 12, 2024
0efe298
Update client use of libcurl docs
abraunegg Mar 13, 2024
1ab2ff7
Update onedrive.1.in
abraunegg Mar 15, 2024
5fe35e5
Update application-config-options.md
abraunegg Mar 15, 2024
6513200
Update application-config-options.md
abraunegg Mar 15, 2024
195d285
Update usage.md
abraunegg Mar 15, 2024
074b29b
Update sync.d
abraunegg Mar 17, 2024
8493ea8
Update sync.d
abraunegg Mar 17, 2024
235fbf7
Update config.d
abraunegg Mar 17, 2024
a6e2f77
Update sharepoint-libraries.md
abraunegg Mar 18, 2024
46dfb05
Update log.d
abraunegg Mar 21, 2024
68d6921
Restore capability to allow non-sync tasks while sync is running
abraunegg Mar 21, 2024
8d23cdf
Update docs to use markdown alerts (#2676)
abraunegg Mar 24, 2024
3c44f7d
Update usage.md
abraunegg Mar 24, 2024
35ebdc8
Update regular expression for invalid patterns
abraunegg Mar 24, 2024
c592ba5
Enhance error logging for SqliteException
abraunegg Mar 25, 2024
8f40737
Update usage.md
abraunegg Mar 25, 2024
f2e113a
Update usage.md
abraunegg Mar 25, 2024
2f83202
Update usage.md
abraunegg Mar 25, 2024
37434dd
Update sync.d
abraunegg Mar 26, 2024
516fe29
Add ONEDRIVE_SYNC_SHARED_FILES
abraunegg Mar 26, 2024
55b0945
Update usage.md
abraunegg Mar 28, 2024
3d66092
Update sync.d
abraunegg Mar 29, 2024
90010b2
Update sync.d
abraunegg Mar 29, 2024
4af2420
Update sync.d
abraunegg Mar 29, 2024
26f92b6
Update sync.d
abraunegg Mar 29, 2024
106b5c3
Add National Cloud Deployment to flag /children scan
abraunegg Mar 29, 2024
a6f79e9
Add Coding Style Guidelines
abraunegg Mar 29, 2024
8801344
Update itemdb.d
abraunegg Mar 30, 2024
a28fe92
Update usage.md
abraunegg Mar 31, 2024
c680c75
Update Makefile.in
abraunegg Apr 8, 2024
3b0674e
Update PR
abraunegg Apr 11, 2024
405761e
Update usage.md
abraunegg Apr 14, 2024
0f012b9
Update usage.md
abraunegg Apr 14, 2024
be3d28b
Release files for 2.5.0-rc2
abraunegg Apr 28, 2024
8fd4ef9
Update sync.d
abraunegg Apr 28, 2024
1ab1056
Update Debian Docker file
abraunegg Apr 28, 2024
0f0bc88
Update onedrive.d
abraunegg Apr 28, 2024
e1e35fa
Potentially resolve #2699
abraunegg Apr 28, 2024
6d9caaf
Update Docker files
abraunegg Apr 29, 2024
12631f2
Update sync.d
abraunegg Apr 30, 2024
44fc07c
Update PR
abraunegg May 6, 2024
d3f9f8c
Update sync.d
abraunegg May 6, 2024
61b2f9b
Update corporation name: 21Vianet → VNET (#2712)
DimitriPapadopoulos May 6, 2024
773a05c
Update URLs: http:// → https:// (#2714)
DimitriPapadopoulos May 6, 2024
1f86759
Fix misspellings found by codespell (#2715)
DimitriPapadopoulos May 6, 2024
9aaf633
Update UML diagrams
abraunegg May 6, 2024
66cd932
Fix suppression
abraunegg May 6, 2024
a1276f8
Fix local deletion of a OneDrive Business Shared Folder
abraunegg May 7, 2024
e408145
Fix OneDrive Business Shared Folders cannot be created (regression)
abraunegg May 8, 2024
28a6dd7
Resolve segfault on exit
abraunegg May 9, 2024
b0fd070
Update sync.d
abraunegg May 9, 2024
00205bf
Update application-config-options.md
abraunegg May 10, 2024
1eb089a
Update PR
abraunegg May 10, 2024
2b8d1ad
Update onedrive.d
abraunegg May 10, 2024
ac334e8
Correct usage of CURLOPT_NOSIGNAL
abraunegg May 11, 2024
797dfd1
Update onedrive.d
abraunegg May 11, 2024
837933d
Update main.d
abraunegg May 11, 2024
fb77411
Cleanup code after long running on ArchLinux
abraunegg May 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ on:
tags: [ 'v*' ]
pull_request:
# Comment these out to force a test build on a PR
branches:
- master
types: [closed]
#branches:
# - master
#types: [closed]

env:
DOCKER_HUB_SLUG: driveone/onedrive
Expand Down
8 changes: 4 additions & 4 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Expand Down Expand Up @@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

Expand All @@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.

The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
36 changes: 20 additions & 16 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,18 @@ DEBUG = @DEBUG@
DC = @DC@
DC_TYPE = @DC_TYPE@
DCFLAGS = @DCFLAGS@
DCFLAGS += -w -g -O -J.
DCFLAGS += -w -J.
ifeq ($(DEBUG),yes)
ifeq ($(DC_TYPE),dmd)
DCFLAGS += -debug -gs
# Add DMD Debugging Flags
DCFLAGS += -g -debug -gs
else
DCFLAGS += -d-debug -gc
# Add LDC Debugging Flags
DCFLAGS += -g -d-debug -gc
endif
else
# Only add optimisation flags if debugging is not enabled
DCFLAGS += -O
endif

ifeq ($(NOTIFICATIONS),yes)
Expand All @@ -55,7 +60,7 @@ endif
system_unit_files = contrib/systemd/onedrive@.service
user_unit_files = contrib/systemd/onedrive.service

DOCFILES = README.md config LICENSE CHANGELOG.md docs/Docker.md docs/INSTALL.md docs/SharePoint-Shared-Libraries.md docs/USAGE.md docs/BusinessSharedFolders.md docs/advanced-usage.md docs/application-security.md
DOCFILES = readme.md config LICENSE changelog.md docs/advanced-usage.md docs/application-config-options.md docs/application-security.md docs/business-shared-items.md docs/client-architecture.md docs/contributing.md docs/docker.md docs/install.md docs/national-cloud-deployments.md docs/podman.md docs/privacy-policy.md docs/sharepoint-libraries.md docs/terms-of-service.md docs/ubuntu-package-install.md docs/usage.md docs/known-issues.md

ifneq ("$(wildcard /etc/redhat-release)","")
RHEL = $(shell cat /etc/redhat-release | grep -E "(Red Hat Enterprise Linux|CentOS)" | wc -l)
Expand All @@ -66,19 +71,19 @@ RHEL_VERSION = 0
endif

SOURCES = \
src/main.d \
src/config.d \
src/itemdb.d \
src/log.d \
src/main.d \
src/monitor.d \
src/onedrive.d \
src/util.d \
src/qxor.d \
src/selective.d \
src/sqlite.d \
src/curlEngine.d \
src/onedrive.d \
src/webhook.d \
src/sync.d \
src/upload.d \
src/util.d \
src/progress.d \
src/itemdb.d \
src/sqlite.d \
src/clientSideFiltering.d \
src/monitor.d \
src/arsd/cgi.d

ifeq ($(NOTIFICATIONS),yes)
Expand All @@ -92,10 +97,9 @@ clean:
rm -rf autom4te.cache
rm -f config.log config.status

# also remove files generated via ./configure
# Remove files generated via ./configure
distclean: clean
rm -f Makefile contrib/pacman/PKGBUILD contrib/spec/onedrive.spec onedrive.1 \
$(system_unit_files) $(user_unit_files)
rm -f Makefile contrib/pacman/PKGBUILD contrib/spec/onedrive.spec onedrive.1 $(system_unit_files) $(user_unit_files)

onedrive: $(SOURCES)
if [ -f .git/HEAD ] ; then \
Expand Down
11 changes: 9 additions & 2 deletions CHANGELOG.md → changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# Changelog
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 2.5.0 - TBA


### Changed
* Renamed various documentation files to align with document content


## 2.4.25 - 2023-06-21
### Fixed
Expand Down
15 changes: 6 additions & 9 deletions config
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# with their default values.
# All values need to be enclosed in quotes
# When changing a config option below, remove the '#' from the start of the line
# For explanations of all config options below see docs/USAGE.md or the man page.
# For explanations of all config options below see docs/usage.md or the man page.
#
# sync_dir = "~/OneDrive"
# skip_file = "~*|.~*|*.tmp"
Expand Down Expand Up @@ -40,22 +40,19 @@
# bypass_data_preservation = "false"
# azure_ad_endpoint = ""
# azure_tenant_id = "common"
# sync_business_shared_folders = "false"
# sync_business_shared_items = "false"
# sync_dir_permissions = "700"
# sync_file_permissions = "600"
# rate_limit = "131072"
# operation_timeout = "3600"
# webhook_enabled = "false"
# webhook_public_url = ""
# webhook_listening_host = ""
# webhook_listening_port = "8888"
# webhook_expiration_interval = "86400"
# webhook_renewal_interval = "43200"
# webhook_expiration_interval = "600"
# webhook_renewal_interval = "300"
# webhook_retry_interval = "60"
# space_reservation = "50"
# display_running_config = "false"
# read_only_auth_scope = "false"
# cleanup_local_files = "false"
# operation_timeout = "3600"
# dns_timeout = "60"
# connect_timeout = "10"
# data_timeout = "600"
# ip_protocol_version = "0"
22 changes: 11 additions & 11 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for onedrive v2.4.25.
# Generated by GNU Autoconf 2.69 for onedrive v2.5.0-rc2.
#
# Report bugs to <https://github.com/abraunegg/onedrive>.
#
Expand Down Expand Up @@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='onedrive'
PACKAGE_TARNAME='onedrive'
PACKAGE_VERSION='v2.4.25'
PACKAGE_STRING='onedrive v2.4.25'
PACKAGE_VERSION='v2.5.0-rc2'
PACKAGE_STRING='onedrive v2.5.0-rc2'
PACKAGE_BUGREPORT='https://github.com/abraunegg/onedrive'
PACKAGE_URL=''

Expand Down Expand Up @@ -1219,7 +1219,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures onedrive v2.4.25 to adapt to many kinds of systems.
\`configure' configures onedrive v2.5.0-rc2 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

Expand Down Expand Up @@ -1280,7 +1280,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of onedrive v2.4.25:";;
short | recursive ) echo "Configuration of onedrive v2.5.0-rc2:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1393,7 +1393,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
onedrive configure v2.4.25
onedrive configure v2.5.0-rc2
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
Expand All @@ -1410,7 +1410,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by onedrive $as_me v2.4.25, which was
It was created by onedrive $as_me v2.5.0-rc2, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
Expand Down Expand Up @@ -2007,7 +2007,7 @@ $as_echo "no" >&6; }
fi
fi

for ac_prog in dmd ldmd2 ldc2
for ac_prog in dmd ldc2 ldmd2
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
Expand Down Expand Up @@ -2162,7 +2162,7 @@ fi



PACKAGE_DATE="June 2023"
PACKAGE_DATE="April 2024"



Expand Down Expand Up @@ -3159,7 +3159,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by onedrive $as_me v2.4.25, which was
This file was extended by onedrive $as_me v2.5.0-rc2, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -3212,7 +3212,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
onedrive config.status v2.4.25
onedrive config.status v2.5.0-rc2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

Expand Down
6 changes: 3 additions & 3 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ dnl - commit the changed files (configure.ac, configure)
dnl - tag the release

AC_PREREQ([2.69])
AC_INIT([onedrive],[v2.4.25], [https://github.com/abraunegg/onedrive], [onedrive])
AC_INIT([onedrive],[v2.5.0-rc2], [https://github.com/abraunegg/onedrive], [onedrive])
AC_CONFIG_SRCDIR([src/main.d])


Expand Down Expand Up @@ -101,7 +101,7 @@ case $(basename $DC) in
VERSION=`$DC --version`
# remove everything up to first (
VERSION=${VERSION#* (}
# remove everthing after ):
# remove everything after ):
VERSION=${VERSION%%):*}
# now version should be something like L.M.N
MINVERSION=1.18.0
Expand Down Expand Up @@ -162,7 +162,7 @@ dnl value via pkg-config and put it into $def_systemdsystemunitdir
AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"],
[ dnl true part, so try to determine with pkg-config
def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
dnl if we cannot find it via pkg-config, *and* the user explicitely passed it in with,
dnl if we cannot find it via pkg-config, *and* the user explicitly passed it in with,
dnl we warn, and in all cases we unset (set to no) the respective variable
AS_IF([test "x$def_systemdsystemunitdir" = "x"],
[ dnl we couldn't find the default value via pkg-config
Expand Down
4 changes: 2 additions & 2 deletions contrib/completions/complete.bash
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ _onedrive()
prev=${COMP_WORDS[COMP_CWORD-1]}

options='--check-for-nomount --check-for-nosync --debug-https --disable-notifications --display-config --display-sync-status --download-only --disable-upload-validation --dry-run --enable-logging --force-http-1.1 --force-http-2 --get-file-link --local-first --logout -m --monitor --no-remote-delete --print-token --reauth --resync --skip-dot-files --skip-symlinks --synchronize --upload-only -v --verbose --version -h --help'
argopts='--create-directory --get-O365-drive-id --operation-timeout --remove-directory --single-directory --source-directory'
argopts='--create-directory --get-O365-drive-id --remove-directory --single-directory --source-directory'

# Loop on the arguments to manage conflicting options
for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
Expand All @@ -34,7 +34,7 @@ _onedrive()
fi
return 0
;;
--create-directory|--get-O365-drive-id|--operation-timeout|--remove-directory|--single-directory|--source-directory)
--create-directory|--get-O365-drive-id|--remove-directory|--single-directory|--source-directory)
return 0
;;
*)
Expand Down
1 change: 0 additions & 1 deletion contrib/completions/complete.fish
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ complete -c onedrive -l local-first -d 'Synchronize from the local directory sou
complete -c onedrive -l logout -d 'Logout the current user.'
complete -c onedrive -n "not __fish_seen_subcommand_from --synchronize" -a "-m --monitor" -d 'Keep monitoring for local and remote changes.'
complete -c onedrive -l no-remote-delete -d 'Do not delete local file deletes from OneDrive when using --upload-only.'
complete -c onedrive -l operation-timeout -d 'Specify the maximum amount of time (in seconds) an operation is allowed to take.'
complete -c onedrive -l print-token -d 'Print the access token, useful for debugging.'
complete -c onedrive -l remote-directory -d 'Remove a directory on OneDrive - no sync will be performed.'
complete -c onedrive -l reauth -d 'Reauthenticate the client with OneDrive.'
Expand Down
1 change: 0 additions & 1 deletion contrib/completions/complete.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ all_opts=(
'--logout[Logout the current user]'
'(-m --monitor)'{-m,--monitor}'[Keep monitoring for local and remote changes]'
'--no-remote-delete[Do not delete local file deletes from OneDrive when using --upload-only]'
'--operation-timeout[Specify the maximum amount of time (in seconds) an operation is allowed to take.]:seconds:'
'--print-token[Print the access token, useful for debugging]'
'--reauth[Reauthenticate the client with OneDrive]'
'--resync[Forget the last saved state, perform a full sync]'
Expand Down
6 changes: 3 additions & 3 deletions contrib/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# -*-Dockerfile-*-

ARG FEDORA_VERSION=38
ARG FEDORA_VERSION=40
ARG DEBIAN_VERSION=bullseye
ARG GO_VERSION=1.20
ARG GOSU_VERSION=1.16
ARG GO_VERSION=1.22
ARG GOSU_VERSION=1.17

FROM golang:${GO_VERSION}-${DEBIAN_VERSION} AS builder-gosu
ARG GOSU_VERSION
Expand Down
6 changes: 3 additions & 3 deletions contrib/docker/Dockerfile-alpine
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# -*-Dockerfile-*-

ARG ALPINE_VERSION=3.18
ARG GO_VERSION=1.20
ARG GOSU_VERSION=1.16
ARG ALPINE_VERSION=3.19
ARG GO_VERSION=1.22
ARG GOSU_VERSION=1.17

FROM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS builder-gosu
ARG GOSU_VERSION
Expand Down
2 changes: 1 addition & 1 deletion contrib/docker/Dockerfile-debian
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ RUN apt-get clean \
COPY . /usr/src/onedrive
WORKDIR /usr/src/onedrive

RUN ./configure DC=/usr/bin/ldmd2 \
RUN ./configure \
&& make clean \
&& make \
&& make install
Expand Down
28 changes: 28 additions & 0 deletions contrib/docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,34 @@ if [ -n "${ONEDRIVE_SINGLE_DIRECTORY:=""}" ]; then
ARGS=(--single-directory \"${ONEDRIVE_SINGLE_DIRECTORY}\" ${ARGS[@]})
fi

# Tell client run in dry-run mode
if [ "${ONEDRIVE_DRYRUN:=0}" == "1" ]; then
echo "# We are running in dry-run mode"
echo "# Adding --dry-run"
ARGS=(--dry-run ${ARGS[@]})
fi

# Tell client to disable download validation
if [ "${ONEDRIVE_DISABLE_DOWNLOAD_VALIDATION:=0}" == "1" ]; then
echo "# We are disabling the download integrity checks performed by this client"
echo "# Adding --disable-download-validation"
ARGS=(--disable-download-validation ${ARGS[@]})
fi

# Tell client to disable upload validation
if [ "${ONEDRIVE_DISABLE_UPLOAD_VALIDATION:=0}" == "1" ]; then
echo "# We are disabling the upload integrity checks performed by this client"
echo "# Adding --disable-upload-validation"
ARGS=(--disable-upload-validation ${ARGS[@]})
fi

# Tell client to download OneDrive Business Shared Files if 'sync_business_shared_items' option has been enabled in the configuration files
if [ "${ONEDRIVE_SYNC_SHARED_FILES:=0}" == "1" ]; then
echo "# We are attempting to sync OneDrive Business Shared Files if 'sync_business_shared_items' has been enabled in the config file"
echo "# Adding --sync-shared-files"
ARGS=(--sync-shared-files ${ARGS[@]})
fi

if [ ${#} -gt 0 ]; then
ARGS=("${@}")
fi
Expand Down
Loading
Loading