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

lib/model: Correctly handle xattrs on directories (fixes #8657) #8658

Merged
merged 2 commits into from
Nov 9, 2022

Conversation

calmh
Copy link
Member

@calmh calmh commented Nov 8, 2022

I'd forgotten to add code to set xattrs to the directory handling paths. To fix that and avoid similar mistakes in the future I moved the xattr handling to a new adjustCommonMetadata function, which previously just handled ownership. The idea is for this function to apply common things to all file types, so we can add things in one place and not forget half of them...

I'd forgotten to add code to set xattrs to the directory handling paths.
To fix that and avoid similar mistakes in the future I moved the xattr
handling to a new adjustCommonMetadata function, which previously just
handled ownership. The idea is for this function to apply common things
to all file types, so we can add things in one place and not forget half
of them...
Copy link
Member

@imsodin imsodin left a comment

Choose a reason for hiding this comment

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

Maybe adjustPlatformData, as e.g. permissions, mod. time can also be understood as metadata (e.g. as in be able to take the shortcut path - there is even a comment using "metadata" there). Otherwise lgtm

@calmh calmh merged commit a523fef into syncthing:main Nov 9, 2022
@acolomb
Copy link
Member

acolomb commented Nov 9, 2022

@imsodin, do you think this is also worthy to include in the Android hotfix release?

@bt90
Copy link
Contributor

bt90 commented Nov 9, 2022

The description in #8657 makes it sound like a good idea.

@calmh calmh added this to the v1.22.2 milestone Nov 9, 2022
@imsodin
Copy link
Member

imsodin commented Nov 16, 2022

Didn't notice the request for android hotfix inclusion until now, but I think it's fine without anyway: On android there are no xattr/ownership concerned, and since the hotfix the inode time alone won't cause a file to be seen as changed. So all good on android as far as I see.

calmh added a commit to calmh/syncthing that referenced this pull request Nov 22, 2022
* main: (23 commits)
  lib/fs: Optimize WindowsInvalidFilename (syncthing#8687)
  gui, man, authors: Update docs, translations, and contributors
  cmd/syncthing: Use main logger in generate subcommand (fixes syncthing#8682) (syncthing#8685)
  build: Update all dependencies (fixes syncthing#8679) (syncthing#8680)
  gui, man, authors: Update docs, translations, and contributors
  lib/model: Correctly set xattrs on temp files (fixes syncthing#8667) (syncthing#8670)
  gui: Automatically dismiss authentication reminder when in LDAP mode (fixes syncthing#8661) (syncthing#8663)
  lib/model: Correctly handle xattrs on directories (fixes syncthing#8657) (syncthing#8658)
  lib/protocol: Ignore inode time when xattr&ownership is ignored (fixes syncthing#8654) (syncthing#8655)
  lib/fs: Try to remove read only Windows files (fixes syncthing#3744) (syncthing#8650)
  gui: Add copy to clipboard, share by email, and share by SMS buttons to device IDs (fixes syncthing#2771, ref syncthing#3868) (syncthing#7984)
  gui, man, authors: Update docs, translations, and contributors
  build: Add GitHub actions build for Windows (syncthing#8627)
  gui: Fix connection type icon width (fixes syncthing#8592) (syncthing#8644)
  gui: Adjust connection type icon size scaling and alignment (syncthing#8645)
  docker: Use healthcheck endpoint (syncthing#8640)
  lib/connections: Use adaptive write size for rate limited connections (fixes syncthing#8630) (syncthing#8631)
  gui: Mark devices that haven't connected for a long time (fixes syncthing#7703) (syncthing#8530)
  gui: Fix rescan interval when add encrypted folder with watch for changes enabled (fixes syncthing#8570) (syncthing#8571)
  gui: Always show Out of Sync Items for remote devices (syncthing#8632)
  ...
@st-review st-review added the frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion label Nov 9, 2023
@syncthing syncthing locked and limited conversation to collaborators Nov 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants