Skip to content

Conversation

@calmh
Copy link
Member

@calmh calmh commented Jan 10, 2025

Strings in protobuf must be utf-8, and we enforce that explicitly or implicitly in most places, but not really in symlink targets. Symlinks can target things outside of synced folders and we have no authority to decide what the encoding of that filename is, so allow it as an uninterpreted byte sequence.

This is wire- and database compatible with the existing definition.

Strings in protobuf must be utf-8, and we enforce that explicitly or
implicitly in most places, but not really in symlink targets. Symlinks
can target things outside of synced folders and we have no authority to
decide what the encoding of that filename is, so allow it as an
uninterpreted byte sequence.

This is wire- and database compatible with the existing definition.
@calmh calmh marked this pull request as ready for review January 11, 2025 13:09
@calmh calmh changed the title chore(proto): change symlinktarget to be byte sequence chore(proto): change symlinktarget to be byte sequence (fixes #9913) Jan 11, 2025
@calmh calmh merged commit 516f3e2 into syncthing:main Jan 11, 2025
23 checks passed
@calmh calmh added this to the v1.29.2 milestone Jan 12, 2025
Copy link

@markoenix markoenix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The

calmh added a commit that referenced this pull request Mar 10, 2025
* main: (25 commits)
  refactor(api): make shutdown timeout configurable for tests (#9980)
  refactor(api): deduplicate HTTP test helpers and allow session cookie access (#9977)
  build: correct API call for Weblate statistics
  build(deps): update dependencies (#9978)
  chore(etc): remove /usr/bin prefix from Linux .desktop files (#9966)
  build: use Go 1.24, minimum is Go 1.23 (#9960)
  fix(policy): do not require multiple maintainers for build changes
  chore(gui, man, authors): update docs, translations, and contributors
  chore(fs): build kqueue instead of fsevents watcher on iOS (#9950)
  build(deps): update dependencies (#9951)
  refactor: using slices.Contains to simplify the code (#9918)
  build: switch to cloud code signing for Windows (#9948)
  chore(gui, man, authors): update docs, translations, and contributors
  chore(gui, man, authors): update docs, translations, and contributors
  fix(model): clarify errors on Windows user/group lookup (fixes #9929) (#9930)
  chore(gui, man, authors): update docs, translations, and contributors
  chore(scanner): don't warn about cancelled scan (#9920)
  chore(gui, man, authors): update docs, translations, and contributors
  chore(proto): change symlinktarget to be byte sequence (fixes #9913) (#9914)
  fix(api): don't crash requests after failing to unmarshal tokens (fixes #9909) (#9912)
  ...
@calmh calmh deleted the jb/symlinktargets branch May 26, 2025 13:42
@calmh calmh added the chore label May 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants