Skip to content

Merge upstream release v2.7.5 — conflicts, manual resolution needed - #2

Merged
baysl merged 98 commits into
mainfrom
upstream-sync/v2.7.5
Aug 3, 2026
Merged

baysl merged 98 commits into
mainfrom
upstream-sync/v2.7.5

Conversation

@baysl

@baysl baysl commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Merges upstream release v2.7.5 (drakkan/sftpgo) into main.

This branch contains conflict markers and does NOT build. Resolve it locally:

git fetch origin
git checkout upstream-sync/v2.7.5
git status                # find conflicts, fix the <<<<<<< markers
git add -A && git commit
git push

Conflicted files:

  • .github/workflows/codeql.yml
  • .github/workflows/development.yml
  • .github/workflows/docker.yml
  • .github/workflows/release.yml
  • SECURITY.md
  • go.mod
  • go.sum
  • internal/dataprovider/dataprovider.go
  • internal/httpd/httpd_test.go
  • internal/httpd/oidc.go
  • internal/sftpd/internal_test.go
  • internal/util/util.go
  • internal/version/version.go
  • internal/vfs/azblobfs.go
  • internal/vfs/gcsfs.go
  • internal/vfs/httpfs.go
  • internal/vfs/s3fs.go
  • internal/vfs/sftpfs.go
  • openapi/swagger-ui/swagger-ui-bundle.js
  • openapi/swagger-ui/swagger-ui-standalone-preset.js
  • openapi/swagger-ui/swagger-ui.css
  • pkgs/build.sh
  • static/assets/plugins/custom/datatables/datatables.bundle.js
  • static/assets/plugins/global/plugins.bundle.js
  • static/vendor/codemirror/cm6.bundle.min.js
  • static/vendor/i18next/i18next.min.js
  • static/vendor/i18next/i18nextChainedBackend.min.js
  • tests/eventsearcher/go.mod
  • tests/eventsearcher/go.sum
  • tests/ipfilter/go.mod
  • tests/ipfilter/go.sum

Keep this fork's custom changes intact while taking the upstream changes.

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This reverts commit e7a1128.

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
also enforce stricter validation rules for usernames/names

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Make ResolvePath more robust by avoiding implicit reliance on path
normalization performed by external libraries such as pkg/sftp and
ftpserverlib

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
… limits

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Previously, locks were session-bound but executed on a pool,
allowing race conditions.

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
replace deprecated WithCredentialsJSON with WithAuthCredentialsJSON.
This change explicitly enforces `option.ServiceAccount` as the
required credential type from JSON files.

ftpservelib: switch to slog

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
wait for all the goroutine before retruning from multipart uploads

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
include axios 1.13.5

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
…data

Fixes drakkan#2166

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Moved path sanitization (backslash conversion and path cleaning) to
the SFTP/FTP handlers before VFS routing and permission checks.

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
drakkan and others added 27 commits June 21, 2026 09:02
…tory

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
rewrite the checks so that they can handle short paths on Windows
and home dir over symlinks

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
add new test cases. Most of this code is temporary and will be
removed once we'll switch to os.Root

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
double closes are no-op

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Parse the payload with ssh.Unmarshal into a single string field, which
validates the wire format and rejects short or malformed payloads, and
compare the decoded name to "sftp".

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Resolve the divergence between the fork's dev-line base (2.7.99-dev) and the
v2.7.5 release by resetting the tree to v2.7.5 and re-applying the fork's
patches on top:
  - internal/sftpd/transfer.go: allow offset 0 as append (Ericsson CNF fix)
  - internal/sftpd/internal_test.go: matching test coverage
  - Makefile, wrong-offset-tester.py: fork build tooling
  - .github/workflows/build-image.yaml, sync-upstream.yaml: fork CI

Drops inherited 2.8-dev-only assets so the tree matches the release exactly.
Build and TestUploadResumeInvalidOffset pass.
@baysl
baysl force-pushed the upstream-sync/v2.7.5 branch from 2967b68 to 6e020db Compare August 3, 2026 13:56
@baysl
baysl merged commit 2541f45 into main Aug 3, 2026
1 check passed
@baysl
baysl deleted the upstream-sync/v2.7.5 branch August 12, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants