Unable to upload files starting with . to smb share

Hey guys ,
my issue sounds simple , but in turns to be a little complex.
i have installed owncloud server 10.13.3
installed it as explained on owncloud doc over ubuntu 20.04 vm
managed to configure it infront of AD ldap configuration successfully
and configured an external storage via SMB Personal (unique file IDs) , so each user get his external share on owncloud app or webui.

everything went well , until…

when im uploading files to the smb share (will call it home_share from now on) from the desktop app - everything is uploaded nicely , both to the home_share and local storage.

the problem starts when im trying to upload files that starts with . (dot)
no matter if its hidden or not , from windows or linux - im getting various error massages .

managed to fixed it on the desktop app side , with the help of “playing” with ignored files editor.
but cant make the same magic on the WEB UI.

the error from the ui side just says : Could not create file “.test77777” for example.

from server side - owncloud.log mention this (log level = 3) -

“user”:“USER”,“app”:“no app in context”,“method”:“PUT”,“url”:“/remote.php/dav/files/USER/Home_Folder/.test77777”,“message”:"Exception: {"Exception":"OCP\\Files\\NotFoundException","Message":"\/Home_Folder\/.test77777 not found while trying to get owner","Code":0…

“,“user”:“USER”,“app”:“no app in context”,“method”:“PUT”,“url”:”/remote.php/dav/files/USER/Home_Folder/.test77777",“message”:“Exception: {"Exception":"OCP\\Files\\NotFoundException","Message":"","Code":0,"Trace":"#0 \/var\/www\/owncloud\/lib\/private\/Files\/Node\/Node.php(348): OC\\Files\\Node\\Node->getFileInfo()\n#1 \/var\/www\/owncloud\/lib\/private\/Preview.php(1248): OC\\Files\\Node\\Node->getOwner()\n#2 \/var\/www\/owncloud\/lib\/private\/legacy\/hook.php(102): OC\\Preview::post_write()\n#3 \/var\/www\/owncloud\/apps\/dav\/lib\/Connector\/Sabre\/File.php(406): OC_Hook::emit()\n#4 \/var\/www\/owncloud\/apps\/dav\/lib\/Connector\/Sabre\/File.php(298): OCA\\DAV\\Connector\\Sabre\\File->emitPostHooks()\n#5 \/var\/www\/owncloud\/apps\/dav\/lib\/Connector\/Sabre\/Directory.php(172): OCA\\DAV\\Connector\\Sabre\\File->put()\n#6 \/var\/www\/owncloud\/lib\/composer\/sabre\/dav\/lib\/DAV\/Server.php(1098): OCA\\DAV\\Connector\\Sabre\\Directory->createFile()\n#7 \/var\/www\/owncloud\/lib\/composer\/sabre\/dav\/lib\/DAV\/CorePlugin.php(504): Sabre\\DAV\\Server->createFile()\n#8 \/var\/www\/owncloud\/lib\/composer\/sabre\/event\/lib\/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPut()\n#9 \/var\/www\/owncloud\/lib\/composer\/sabre\/dav\/lib\/DAV\/Server.php(472): Sabre\\DAV\\Server->emit()\n#10 \/var\/www\/owncloud\/lib\/composer\/sabre\/dav\/lib\/DAV\/Server.php(253): Sabre\\DAV\\Server->invokeMethod()\n#11 \/var\/www\/owncloud\/apps\/dav\/lib\/Server.php(348): Sabre\\DAV\\Server->start()\n#12 \/var\/www\/owncloud\/apps\/dav\/appinfo\/v2\/remote.php(31): OCA\\DAV\\Server->exec()\n#13 \/var\/www\/owncloud\/remote.php(165): require_once(‘\/var\/www\/ownclo…’)\n#14 {main}","File":"\/var\/www\/owncloud\/lib\/private\/Files\/Node\/Node.php","Line":97}”}

thanks guys,

Steps to reproduce

1.just trying upload or create file starts with . under smb share
2.
3.

Expected behaviour

uploading and creating files starts with .*

Actual behaviour

fails - log are above

Server configuration

Operating system: ubuntu 20.04

Web server: 2.4.41-4ubuntu3.15 amd64

Database: mysql Ver 15.1 Distrib 10.3.38-MariaDB

PHP version: PHP 7.4.3-4ubuntu2.19

ownCloud version: (see ownCloud admin page) owncloud server 10.13.3

Updated from an older ownCloud or fresh install: fresh

Where did you install ownCloud from: owncloud offical website tarball

Login as admin user into your ownCloud and access 
http://example.com/index.php/settings/integrity/failed 
paste the results into https://gist.github.com/ and puth the link here. - 

just - No errors have been found.

The content of config/config.php:

{
“system”: {
“passwordsalt”: “REMOVED SENSITIVE VALUE”,
“secret”: “REMOVED SENSITIVE VALUE”,
“trusted_domains”: [
",
"
”,
",
"
”,
“****”
],
“datadirectory”: “/var/www/owncloud/data”,
“overwrite.cli.url”: “http://localhost”,
“dbtype”: “mysql”,
“version”: “10.13.3.3”,
“dbname”: “owncloud”,
“dbconnectionstring”: “”,
“dbhost”: “localhost”,
“dbtableprefix”: “oc_”,
“mysql.utf8mb4”: true,
“dbuser”: “REMOVED SENSITIVE VALUE”,
“dbpassword”: “REMOVED SENSITIVE VALUE”,
“allow_user_to_change_mail_address”: “”,
“logtimezone”: “Asia/Jakarta”,
“skeletondirectory”: “/var/www/owncloud/data/skel”,
“apps_paths”: [
{
“path”: “/var/www/owncloud/apps”,
“url”: “/apps”,
“writable”: false
},
{
“path”: “/var/www/owncloud/apps-external”,
“url”: “/apps-external”,
“writable”: true
}
],
“installed”: true,
“instanceid”: “oc959njw887bqygi”,
“memcache.local”: “\OC\Memcache\APCu”,
“memcache.locking”: “\OC\Memcache\Redis”,
“redis”: {
“host”: “127.0.0.1”,
“port”: “6379”
},
“ldapIgnoreNamingRules”: false,
“mail_domain”: “REMOVED SENSITIVE VALUE”,
“mail_from_address”: “REMOVED SENSITIVE VALUE”,
“mail_smtpmode”: “smtp”,
“mail_smtpauthtype”: “LOGIN”,
“mail_smtphost”: “REMOVED SENSITIVE VALUE”,
“mail_smtpport”: “25”,
“loglevel”: 1,
“maintenance”: false
}
}

Log in to the web-UI with an administrator account and click on
'admin' -> 'Generate Config Report' -> 'Download ownCloud config report'
This report includes the config.php settings, the list of activated apps
and other details in a well sanitized form.

or 

If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your ownCloud installation folder

*ATTENTION:* Do not post your config.php file in public as is. Please use one of the above
methods whenever possible. Both, the generated reports from the web-ui and from occ config:list
consistently remove sensitive data. You still may want to review the report before sending.
If done manually then it is critical for your own privacy to dilligently
remove *all* host names, passwords, usernames, salts and other credentials before posting.
You should assume that attackers find such information and will use them against your systems.

List of activated apps:

If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your ownCloud installation folder.

Enabled:

  • activity:
    • Version: 2.7.2
    • Path: /var/www/owncloud/apps/activity
  • comments:
    • Version: 0.3.0
    • Path: /var/www/owncloud/apps/comments
  • configreport:
    • Version: 0.2.2
    • Path: /var/www/owncloud/apps/configreport
  • dav:
    • Version: 0.7.0
    • Path: /var/www/owncloud/apps/dav
  • diagnostics:
    • Version: 0.2.0
    • Path: /var/www/owncloud/apps/diagnostics
  • encryption:
    • Version: 1.6.1
    • Path: /var/www/owncloud/apps/encryption
  • federatedfilesharing:
    • Version: 0.5.0
    • Path: /var/www/owncloud/apps/federatedfilesharing
  • federation:
    • Version: 0.1.0
    • Path: /var/www/owncloud/apps/federation
  • files:
    • Version: 1.6.0
    • Path: /var/www/owncloud/apps/files
  • files_external:
    • Version: 0.9.0
    • Path: /var/www/owncloud/apps/files_external
  • files_mediaviewer:
    • Version: 1.0.5
    • Path: /var/www/owncloud/apps/files_mediaviewer
  • files_pdfviewer:
    • Version: 1.0.1
    • Path: /var/www/owncloud/apps/files_pdfviewer
  • files_sharing:
    • Version: 0.14.0
    • Path: /var/www/owncloud/apps/files_sharing
  • files_texteditor:
    • Version: 2.6.1
    • Path: /var/www/owncloud/apps/files_texteditor
  • files_trashbin:
    • Version: 0.9.1
    • Path: /var/www/owncloud/apps/files_trashbin
  • files_versions:
    • Version: 1.3.0
    • Path: /var/www/owncloud/apps/files_versions
  • firstrunwizard:
    • Version: 1.3.0
    • Path: /var/www/owncloud/apps/firstrunwizard
  • impersonate:
    • Version: 0.5.3
    • Path: /var/www/owncloud/apps/impersonate
  • market:
    • Version: 0.8.0
    • Path: /var/www/owncloud/apps/market
  • notifications:
    • Version: 0.6.0
    • Path: /var/www/owncloud/apps/notifications
  • provisioning_api:
    • Version: 0.5.0
    • Path: /var/www/owncloud/apps/provisioning_api
  • systemtags:
    • Version: 0.3.0
    • Path: /var/www/owncloud/apps/systemtags
  • templateeditor:
    • Version: 0.4.0
    • Path: /var/www/owncloud/apps/templateeditor
  • updatenotification:
    • Version: 0.2.1
    • Path: /var/www/owncloud/apps/updatenotification
  • user_ldap:
    • Version: 0.18.0
    • Path: /var/www/owncloud/apps/user_ldap
      Disabled:
  • admin_audit:
    • Path: /var/www/owncloud/apps/admin_audit
  • announcementcenter:
    • Path: /var/www/owncloud/apps/announcementcenter
  • customgroups:
    • Path: /var/www/owncloud/apps/customgroups
  • drawio:
    • Path: /var/www/owncloud/apps/drawio
  • enterprise_key:
    • Path: /var/www/owncloud/apps/enterprise_key
  • external:
    • Path: /var/www/owncloud/apps/external
  • files_antivirus:
    • Path: /var/www/owncloud/apps/files_antivirus
  • files_classifier:
    • Path: /var/www/owncloud/apps/files_classifier
  • files_external_dropbox:
    • Path: /var/www/owncloud/apps/files_external_dropbox
  • files_external_ftp:
    • Path: /var/www/owncloud/apps/files_external_ftp
  • files_ldap_home:
    • Path: /var/www/owncloud/apps/files_ldap_home
  • files_lifecycle:
    • Path: /var/www/owncloud/apps/files_lifecycle
  • files_primary_s3:
    • Path: /var/www/owncloud/apps/files_primary_s3
  • firewall:
    • Path: /var/www/owncloud/apps/firewall
  • graphapi:
    • Path: /var/www/owncloud/apps/graphapi
  • guests:
    • Path: /var/www/owncloud/apps/guests
  • kerberos:
    • Path: /var/www/owncloud/apps/kerberos
  • metrics:
    • Path: /var/www/owncloud/apps/metrics
  • oauth2:
    • Path: /var/www/owncloud/apps/oauth2
  • openidconnect:
    • Path: /var/www/owncloud/apps/openidconnect
  • password_policy:
    • Path: /var/www/owncloud/apps/password_policy
  • ransomware_protection:
    • Path: /var/www/owncloud/apps/ransomware_protection
  • sharepoint:
    • Path: /var/www/owncloud/apps/sharepoint
  • systemtags_management:
    • Path: /var/www/owncloud/apps/systemtags_management
  • theme-enterprise:
    • Path: /var/www/owncloud/apps/theme-enterprise
  • user_external:
    • Path: /var/www/owncloud/apps/user_external
  • user_shibboleth:
    • Path: /var/www/owncloud/apps/user_shibboleth
  • web:
    • Path: /var/www/owncloud/apps/web
  • windows_network_drive:
    • Path: /var/www/owncloud/apps/windows_network_drive
  • wopi:
    • Path: /var/www/owncloud/apps/wopi
  • workflow:
    • Path: /var/www/owncloud/apps/workflow

Are you using external storage, if yes which one: local/smb/sftp/…smb

Are you using encryption: yes/no yes to local , no to external

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/… LDAP AD

LDAP configuration (delete this part if not used)

With access to your command line run e.g.:
sudo -u www-data php occ ldap:show-config
from within your ownCloud installation folder

Without access to your command line download the data/owncloud.db to your local
computer or access your SQL server remotely and run the select query:
SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap';


Eventually replace sensitive data as the name/IP-address of your LDAP server or groups.

Client configuration

Browser: chrome\edge

Operating system:

Logs

Web server error log

Insert your webserver log here

ownCloud log (data/owncloud.log)

Insert your ownCloud log here

Browser log

Insert your browser log here, this could for example include:

a) The javascript console log
b) The network log 
c) ...