Compare commits

...
3 changed files with 44 additions and 2 deletions
@@ -537,7 +537,7 @@ angular.module('syncthing.core')
&& guiCfg.authMode !== 'ldap'
&& !guiCfg.insecureAdminAccess;
if (guiCfg.user && guiCfg.password) {
if ((guiCfg.user && guiCfg.password) || guiCfg.authMode === 'ldap') {
$scope.dismissNotification('authenticationUserAndPassword');
}
}
+1 -1
View File
@@ -2120,7 +2120,7 @@ func (f *sendReceiveFolder) checkToBeDeleted(file, cur protocol.FileInfo, hasCur
func (f *sendReceiveFolder) setPlatformData(file *protocol.FileInfo, name string) error {
if f.SyncXattrs {
// Set extended attributes.
if err := f.mtimefs.SetXattr(file.Name, file.Platform.Xattrs(), f.XattrFilter); errors.Is(err, fs.ErrXattrsNotSupported) {
if err := f.mtimefs.SetXattr(name, file.Platform.Xattrs(), f.XattrFilter); errors.Is(err, fs.ErrXattrsNotSupported) {
l.Debugf("Cannot set xattrs on %q: %v", file.Name, err)
} else if err != nil {
return err
+42
View File
@@ -14,6 +14,8 @@ import (
"github.com/syncthing/syncthing/lib/build"
"github.com/syncthing/syncthing/lib/config"
"github.com/syncthing/syncthing/lib/fs"
"github.com/syncthing/syncthing/lib/protocol"
)
type unifySubsCase struct {
@@ -149,3 +151,43 @@ func BenchmarkUnifySubs(b *testing.B) {
}
}
}
func TestSetPlatformData(t *testing.T) {
// Checks that setPlatformData runs without error when applied to a temp
// file, named differently than the given FileInfo.
dir := t.TempDir()
fs := fs.NewFilesystem(fs.FilesystemTypeBasic, dir)
if fd, err := fs.Create("file.tmp"); err != nil {
t.Fatal(err)
} else {
fd.Close()
}
xattr := []protocol.Xattr{{Name: "user.foo", Value: []byte("bar")}}
fi := &protocol.FileInfo{
Name: "should be ignored",
Permissions: 0400,
ModifiedS: 1234567890,
Platform: protocol.PlatformData{
Linux: &protocol.XattrData{Xattrs: xattr},
Darwin: &protocol.XattrData{Xattrs: xattr},
FreeBSD: &protocol.XattrData{Xattrs: xattr},
NetBSD: &protocol.XattrData{Xattrs: xattr},
},
}
// Minimum required to support setPlatformData
sr := &sendReceiveFolder{
folder: folder{
FolderConfiguration: config.FolderConfiguration{
SyncXattrs: true,
},
mtimefs: fs,
},
}
if err := sr.setPlatformData(fi, "file.tmp"); err != nil {
t.Error(err)
}
}