Commit graph

160 commits

Author SHA1 Message Date
abraunegg
68f379c629
Release files for 2.5.10 (#3629)
* Release files for 2.5.10
2026-01-30 21:04:54 +11:00
abraunegg
881218238a
Update usage.md and known-issues.md regarding AADSTS70000 errors (#3615)
* Add detailed guidance to usage and known-issues documentation explaining
AADSTS70000 errors during authentication. Clarifies that these failures are
caused by invalid or expired authorisation codes, commonly due to browser
extensions or privacy features modifying the redirect URI, and documents
recommended remediation steps.
* Fix 'OneDrive Free Client' as this should read 'OneDrive Client for Linux'
2026-01-24 08:04:40 +11:00
abraunegg
20e70cd062
Fix Bug #3601: Fix Docker entrypoint handling for non-root --user execution (#3602)
* Fix Docker entrypoint handling for non-root --user execution

This change updates the Docker entrypoint.sh to correctly support containers started with a numeric UID/GID via --user or user: (Docker Compose).

Previously, the entrypoint unconditionally attempted user and group management (useradd, groupadd, usermod) before checking whether the container was running as root. When the container was started as a non-root user, this resulted in immediate startup failures due to insufficient privileges.

The updated logic now:

* Detects whether the container is started as root or non-root
* Skips all user/group creation and ownership changes when running as non-root
* Treats --user / user: as authoritative when provided
* Preserves existing behaviour when the container is started as root (including optional privilege drop via gosu)
* Ensures ONEDRIVE_RUNAS_ROOT is only honoured when the container is actually running as root

This makes the container compatible with:

* Numeric UID/GID execution
* NFS-backed volumes where the user does not exist on the host
* Read-only bind mounts for upload-only scenarios

No changes are made to the OneDrive client itself; this update strictly improves container startup behaviour and correctness.
2026-01-11 07:12:58 +11:00
abraunegg
0b65d073eb
Update Dockerfiles December 2025 (#3565)
* Update Dockerfiles December 2025:
  - Update to Fedora 43 and GO 1.23
  - Update to Alpine 3.23 and GO 1.25
  - Update to Debian 13 and support relevant time64 package changes
2025-12-12 15:18:05 +11:00
abraunegg
b5bbf4f292
Release files for 2.5.9 (#3517)
* Release files for 2.5.9
2025-11-06 11:00:35 +11:00
abraunegg
529fb4d85e
Release files for 2.5.8 (#3511)
* Release files for 2.5.8
2025-11-05 11:35:04 +11:00
abraunegg
40e0ca4462
Implement Desktop Manager Integration for GNOME and KDE (#3500)
Implement full “Display Manager Integration” support for both GNOME and KDE desktop environments. This new feature allows the OneDrive Client for Linux to detect the active desktop session and automatically:

* Register the configured sync_dir as a “special place” or sidebar entry within the file manager (Nautilus on GNOME; Dolphin on KDE).
* Apply a custom “onedrive” folder icon to the synchronisation directory when the installed icon theme supports it.
* Cleanly install and uninstall required resources (icons, bookmarks, file manager integration) via the Makefile’s install and uninstall targets, thereby supporting system-wide installations, packaging workflows, and per-user installs.
* Introduce a new configuration option display_manager_integration (boolean) to enable or disable this integration behaviour at runtime.
* Update documentation and usage guidance to clearly explain what “Display Manager Integration” means, what this client implements (sidebar entry + icon) and what features remain out-of-scope (context menus, overlay badges, tray icons).
* Ensure safe, idempotent integration logic for both GNOME and KDE (bookmark manipulation, icon theme detection, cache refresh) with fallbacks and minimal dependencies.

With this merge, users installing via make install or system packages will benefit from enhanced desktop usability: the OneDrive folder appears visibly and intuitively within their standard file manager sidebar, making access and identification simpler. At the same time, the core sync engine remains focused on reliable file synchronisation, with the desktop integration layer remaining optional and disabled by default unless explicitly enabled via configuration.
2025-11-03 14:26:49 +11:00
abraunegg
1e48e42363
Implement FR #3491: Add ONEDRIVE_THREADS Docker option (#3494)
* Add Docker environment variable 'ONEDRIVE_THREADS' to control the value for the number of worker threads used for parallel upload and download operations.
2025-10-28 05:55:08 +11:00
abraunegg
0e76dc4ef8
Release files for 2.5.7 (#3447)
* Release files for 2.5.7
2025-09-23 10:15:08 +10:00
abraunegg
8711b9bc92
Update Debian Docker Build (#3446)
* Update Debian Docker Build - force to 'bookworm' for Debian 12
2025-09-23 08:14:09 +10:00
abraunegg
298e8896b3
Update Debian Dockerfile to use upstream gosu (#3402)
* Update Debian Dockerfile to use upstream gosu version rather than Debian provided version
2025-08-01 12:08:44 +10:00
abraunegg
ea7c3abd2d
Fix Bug #3355: Fix that long running big upload (250GB+) fails because of an expired access token (#3361)
* Revert back to v2.5.5 performSessionFileUpload() and apply minimal change for upload session offset handling to prevent desynchronisation on large files
* Add specific 403 handler for when the upload session URL itself expires
* Add 'file_fragment_size'
* Clean up debug logging output
* Add 'tempauth' to spelling words
* Update documentation URL's
* Ensure that on each fragment upload, whilst the application is using the 'tempauth' for session upload, the global OAuth2 token needs to be checked for validity and refreshed if required
* Add limit check for 'file_fragment_size' option
* Add to default 'config' file
* Update documentation for 'file_fragment_size'
* Add 'file_fragment_size' to --display-config output
* Add --file-fragment-size option to enable use via Docker option
* Add to manpage
* Update Docker entrypoint
* Update Docker | Podman documentation
* Update logging output to include connection method to URL
* Update Upload Session URL expiry update to include UTC and LocalTime values
* Update comment which was dropped / missed
* Clarify that this is the OAuth2 Access Token
* Clarify that the expiry timestamp is localTime
* Update PR with dynamic use of fragment size if fileSize > 100MiB
* Enforce multiple 320KiB for fragment size to align to Microsoft documentation
* Fix Docker entrypoint and confirm working for ONEDRIVE_FILE_FRAGMENT_SIZE
* Change 'defaultMaxFileFragmentSize' to 60
* Revise fragmentSize calculation to be as close to 60 MiB as possible without breaching Microsoft documented threshold
2025-07-03 17:21:16 +10:00
abraunegg
0aef31d057
Fix Bug #3337: Fix issue with ExecStartPre statement to be more OS independent (#3348)
* Fix issue with ExecStartPre statement to be more OS independent
2025-06-18 20:53:56 +10:00
abraunegg
76f616f267
Update minimum compiler version details (#3330)
* Update minimum compiler version details
* Update RHEL RPM documentation
* Update spelling words
2025-06-10 13:31:45 +10:00
abraunegg
3fb54b85c8
Update onedrive.spec.in (#3329)
* Add missing dependencies for v2.5.6
2025-06-10 05:57:42 +10:00
abraunegg
1b36249d32
Release files for 2.5.6 (#3317)
* Release files for 2.5.6
2025-06-05 20:06:05 +10:00
abraunegg
1725f88673
Fix Bug #3302: Add dbus libs to Docker base build (#3303)
* Add dbus libs to Docker base build
* Update readme with wording updates/tweaks
2025-05-29 06:01:30 +10:00
abraunegg
61e5a1edb6
Implement FR #3209: Add native support for authentication via Intune dbus interface (#3274)
* Adds support for calling `acquireTokenInteractively` and `acquireTokenSilently` via D-Bus
* Parses and handles the full `brokerTokenResponse` object returned by the Intune broker
* Stores and reuses `account` data to enable silent token refresh without repeated interactive authentication
* Ensures the access token and its expiry time are properly calculated and stored for consistent token management
* Fallback to interactive authentication is triggered if silent authentication fails
2025-05-26 17:14:50 +10:00
Yuan Liu
a95bd83604
Fix args printing in dockerfile entrypoint (#3248)
* Fix args printing in dockerfile entrypoint
2025-04-27 14:14:00 +10:00
abraunegg
5b41409ad6
Update Fedora Docker image to Fedora 42 (#3231)
* Update Fedora Docker image to Fedora 42
2025-04-23 06:47:31 +10:00
Andrei Horodniceanu
7ed766830c
Update Gentoo install documentation (#3222)
* docs/install.md: Update Gentoo documentation

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>

* contrib: Remove Gentoo ebuild

Drop the Gentoo ebuild in here in favor of using the one in the Gentoo
dlang overlay, since the latter better follows the Gentoo standards.

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>

* Update allow.txt

* Add 'eselect' and 'onlydeps'

---------

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>
Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2025-04-20 07:36:56 +10:00
abraunegg
0b4213a5ba
Update remaining completion files (#3197)
* Update remaining completion files
2025-04-04 06:12:23 +11:00
hideo aoyama
2d2a2c3848
Add missing cli options (#3195)
* Update 'complete.bash' to align with application options
2025-04-04 05:16:34 +11:00
abraunegg
be13f9759b
Release files for 2.5.5 (#3154)
* Release files for 2.5.5
2025-03-17 08:52:03 +11:00
abraunegg
ac8cf36046
Update Docker OS versions (#3150)
* Update Docker OS versions March 2025
  * Use Fedora 41
  * Use Alpine 3.21
2025-03-16 07:38:04 +11:00
abraunegg
1c78078df7
Release files for 2.5.4 (#3098)
* Release files for 2.5.4
2025-02-03 17:55:39 +11:00
Pieter Scheffers
c7f1b7f407
feat: optionally use standalone mode for syncing using Docker container (#3018)
* feat: optionally use standalone mode for syncing using Docker container

* Update podman.md
* Update podman.md

---------

Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2024-11-29 06:29:30 +11:00
abraunegg
512ba3f874
Release files for 2.5.3 (#2976)
* Release files for 2.5.3
2024-11-16 08:37:29 +11:00
abraunegg
92fdea0c8f
Update Dockerfile-alpine - revert to Alpine 3.19 (#2956)
* Update Dockerfile-alpine - revert to Alpine 3.19 due to LDC compiler (ldc (1.33.0-r0)) throwing a SIGINT on Alpine 3.20. The same compiler ldc (1.33.0-r0) has zero run-time issue on Alpine 3.19.
2024-11-08 09:26:36 +11:00
abraunegg
4793d83835 Revert "Update Dockerfile-alpine (#2955)"
This reverts commit 9a4e6860c3.
2024-11-08 07:59:22 +11:00
abraunegg
9a4e6860c3
Update Dockerfile-alpine (#2955)
* Add changes suggested by @DevDorrejo for building the Alpine containers using DMD rather than LDC as suggested in #2951
2024-11-08 07:56:48 +11:00
abraunegg
5cf8667308 Update Dockerfile-debian
* Fix that libcurl4 does not get applied despite being pulled in. Explicitly install it from Debian 12 Backports
2024-10-25 10:44:01 +11:00
abraunegg
3ad139aa25
Implement Docker ENV variable for --cleanup-local-files (#2868)
* Implement Docker ENV variable for --cleanup-local-files
2024-10-02 18:08:08 +10:00
abraunegg
90556fd47e
Release files for 2.5.2 (#2860)
* Release files for 2.5.2
2024-09-29 16:08:46 +10:00
abraunegg
ba1d225dba Add a 'sleep' when starting systemd service
* Add a 'sleep' when starting systemd service to allow dbus to correctly start and be functional
2024-09-29 15:25:38 +10:00
abraunegg
7a85e29d02
Release files for 2.5.1 (#2851)
* Release files for 2.5.1
2024-09-27 07:01:34 +10:00
abraunegg
fb35508ad6
Update Debian Dockerfile to use 'curl' from backports (#2831)
* Due to the significant issues with Debian and it's default version of 'curl' ensure that the Debian Docker image will update 'curl' from the relevant backports repository to avoid these issues
2024-09-20 07:25:34 +10:00
abraunegg
49569e3d00
Add --enable-debug to Docker files (#2811)
* Add --enable-debug to Docker files when building client application so that if the client crashes in any way, there is some meaningful crash data available to diagnose and assist in fixing the actual issue encountered.
2024-09-18 08:01:07 +10:00
abraunegg
a3522fda30
OneDrive Client for Linux v2.5.0 (#2805)
OneDrive Client for Linux v2.5.0

---------

Signed-off-by: Thomas Staudinger <Staudi.Kaos@gmail.com>
Co-authored-by: JC-comp <147694781+JC-comp@users.noreply.github.com>
Co-authored-by: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
Co-authored-by: Pierrick Caillon <megamisan@users.noreply.github.com>
Co-authored-by: Pierrick Caillon <pierrick.caillon@megami.fr>
Co-authored-by: Thomas Staudinger <Staudi.Kaos@gmail.com>
Co-authored-by: Yuan Liu <Lyncredible@users.noreply.github.com>
2024-09-16 11:14:46 +10:00
Gonçalo Martins
99271a45de
Add --no-remote-delete flag to docker entrypoint (#2453)
* Add --no-remote-delete flag to docker entrypoint

---------

Co-authored-by: Gonçalo Martins <g.martins@revolut.com>
Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2023-07-24 10:41:06 +10:00
abraunegg
b2bf6aa475
Release files for 2.4.25 (#2440)
* Release files for 2.4.25
2023-06-21 15:30:40 +10:00
abraunegg
f5edb8b394
Update Docker files June 2023 (#2438)
* Update Docker Files June 2023 and Documentation
2023-06-21 12:59:46 +10:00
abraunegg
25cc361277
Release files for 2.4.24 v2 (#2427)
* Release files for 2.4.24 v2 to correct incorrect configure.ac version
2023-06-20 10:48:08 +10:00
abraunegg
32a702eaaf Revert "Release files for 2.4.24 (#2426)"
This reverts commit 30b108027d.
2023-06-20 10:41:25 +10:00
abraunegg
30b108027d
Release files for 2.4.24 (#2426)
* Release files for 2.4.24
2023-06-20 10:38:36 +10:00
abraunegg
77684452aa
Update Docker gosu version to 1.16 to resolve current vulnerabilities (#2386)
* Update gosu version to 1.16
2023-04-18 14:35:24 +10:00
abraunegg
4e5a32c210
Update to Fedora Docker file to use Fedora 37 to resolve current vulnerabilities (#2383)
* Update to use Docker build to use Fedora 37
* Update golang to 1.20
2023-04-18 12:40:05 +10:00
abraunegg
56149c285c
Update to Alpine Docker file to resolve current vulnerabilities (#2384)
* Update to Alpine Docker file to resolve current vulnerabilities
2023-04-18 08:54:10 +10:00
abraunegg
ae33616d0b
Update to Debian Docker file to resolve current vulnerabilities (#2385)
* Update to Debian Docker file to resolve current vulnerabilities
2023-04-18 07:34:48 +10:00
Joseph Helfer
537b4338a6
Add --get-file-link option to shell completions (#2308)
* Add --get-file-link option to bash completion
* Add --get-file-link completions for fish and zsh
* Have --get-file-link completion complete files in sync_dir

---------

Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2023-03-07 08:29:57 +11:00