Project

General

Profile

Actions

Anomalie #296

open

Impossible d'enregister une modification avec LibreOffice, WebDav et Linux

Added by Jean-Max Reymond almost 2 years ago. Updated 5 days ago.

Status:
Résolu
Priority:
Normal
Start date:
03/19/2023
Due date:
% Done:

0%

Estimated time:

Description

Dans mycellia, ouvrir un document en modification, le modifier puis le sauvegarder.
On a un message

Erreur lors de l'enregistrement du document template-CRA2: impossible de créer l'objet dans le répertoire https://cloud.exemple.com/WebDav/NESTOR/jmax

La même chose fonctionne avec MS Office et un MAC
On peut le reproduire avec un répertoire monté sous /mnt/webdav alors que cela fonctionne avec gedit
Dans les bugs de Libreoffice, on peut lire que le code spécifique WebDav est activé lors de lecture ou écriture distant et pas avec un fichier monté webdav


Files

trace_mac.log (22.9 KB) trace_mac.log traces sous Mac avec MS Office sur cloud Jean-Max Reymond, 03/19/2023 03:04 PM
request-dumper.2023-03-04_smart.log (60.7 KB) request-dumper.2023-03-04_smart.log traces sous Linux avec LibreOffice sur smartged Jean-Max Reymond, 03/19/2023 03:04 PM
request-dumper.2023-03-04.log (70.7 KB) request-dumper.2023-03-04.log traces sous Linux avec LibreOffice sur cloud Jean-Max Reymond, 03/19/2023 03:04 PM
Capture d’écran du 2023-03-19 09-49-38.png (68.2 KB) Capture d’écran du 2023-03-19 09-49-38.png Jean-Max Reymond, 03/19/2023 04:36 PM
curl-smartged (4.57 KB) curl-smartged Jean-Max Reymond, 03/19/2023 05:38 PM
curl-mycellia (3.79 KB) curl-mycellia Jean-Max Reymond, 03/19/2023 05:38 PM
strace.log.gz (794 KB) strace.log.gz Jean-Max Reymond, 03/20/2023 05:50 PM
haproxy.cfg (2.34 KB) haproxy.cfg configuration HAProxy pour mycellia3 Jean-Max Reymond, 10/29/2023 03:42 PM
Capture d’écran du 2023-10-29 15-45-53.png (39.3 KB) Capture d’écran du 2023-10-29 15-45-53.png écran linux Jean-Max Reymond, 10/29/2023 04:15 PM
Capture d’écran 2023-10-29 à 16.12.57.png (81.5 KB) Capture d’écran 2023-10-29 à 16.12.57.png écran Mac Jean-Max Reymond, 10/29/2023 04:16 PM
Actions #1

Updated by Jean-Max Reymond almost 2 years ago

  • Status changed from Nouveau to En cours
  • Assignee set to Jean-Max Reymond
Actions #2

Updated by Jean-Max Reymond almost 2 years ago

demande faite à la liste de discussion LibreOffice
[[https://lists.freedesktop.org/archives/libreoffice/2023-March/090092.html]]

Actions #4

Updated by Jean-Max Reymond almost 2 years ago

la taille du fichier est indiquée à zéro dans la PJ, ce qui est faux
c'est correct avec smartged

Actions #5

Updated by Jean-Max Reymond almost 2 years ago

Si on essaie Enregistrer distant, le répertoire webdav apparaît tout grisé, signe qu'on n'aurait pas les droits sur le répertoire ?

Updated by Jean-Max Reymond almost 2 years ago

traces avec curl sur un PROPFIND, tout semble ok
curl -vvv -X PROPFIND -H 'Depth: 1' 'https://cloud2.mycellia.com/WebDav/NESTOR/GERARD/' >curl-mycellia 2>&1
curl -vvv -X PROPFIND -H 'Depth: 1' 'https://smartged.gdsofts.com/WebDav//FORMATION/dominique/' >curl-smartged 2>&1

Actions #7

Updated by Jean-Max Reymond almost 2 years ago

installation LO 7.4.6, mêmes pb sur Open Remote et Save Remote

Actions #8

Updated by Jean-Max Reymond almost 2 years ago

lancement de la version 7.4 en mode strace
sudo /opt/libreoffice7.4/program/soffice --strace
et résultat dans strace.log
rien de très concluant à première vue

Actions #9

Updated by Jean-Max Reymond almost 2 years ago

passage en HAProxy version 2.7.5
par
sudo add-apt-repository ppa:vbernat/haproxy-2.7 -y
sudo apt update && sudo apt upgrade

pas meilleur :-(
on teste avec un seul tomcat, pas mieux

Actions #10

Updated by Jean-Max Reymond almost 2 years ago

  • Subject changed from Impossible d'enregister une modification avec LibreOffice sous WebDav to Impossible d'enregister une modification avec LibreOffice, WebDav et Linux
Actions #11

Updated by Jean-Max Reymond almost 2 years ago

utilisation du client webdav: cadaver
$ cadaver --version
cadaver 0.23.3
neon 0.32.2: Library build, IPv6, libxml 2.9.12, zlib 1.2.11, GNU TLS 3.7.2.
readline 8.1
[jmax@jmax-Inspiron-5593 [jmax@jmax-Inspiron-5593 Projets]$ cadaver
dav:!> open https://cloud.mycellia.com/WebDav/NESTOR/GERARD/
dav:/WebDav/NESTOR/GERARD/> ls
Listing collection `/WebDav/NESTOR/GERARD/': succeeded.
indic2.3.3-principal.xlsx 3599 mars 26 11:00
template-CRA2.docx 92081 mars 26 11:03
workflow courrier chaîné.docx 885525 mars 26 12:01
dav:/WebDav/NESTOR/GERARD/> prop
propdel propget propnames propset
dav:/WebDav/NESTOR/GERARD/> propget template-CRA2.docx
Fetching properties for `template-CRA2.docx':
DAV: creationdate = 2023-03-26T09:03:33Z
DAV: displayname = template-CRA2.docx
DAV: getlastmodified = Sun, 26 Mar 2023 09:03:33 GMT
DAV: getcontentlength = 92081
DAV: getcontenttype = application/vnd.openxmlformats-officedocument.wordprocessingml.document
DAV: getetag = W/"92081-1679821413651"
DAV: resourcetype =
DAV: source =
DAV: supportedlock = <DAV:lockentry><DAV:lockscope><DAV:exclusive></DAV:exclusive></DAV:lockscope><DAV:locktype><DAV:write></DAV:write></DAV:locktype></DAV:lockentry><DAV:lockentry><DAV:lockscope><DAV:shared></DAV:shared></DAV:lockscope><DAV:locktype><DAV:write></DAV:write></DAV:locktype></DAV:lockentry>
dav:/WebDav/NESTOR/GERARD/> copy template-CRA2.docx test-jmax.docx
Copying `/WebDav/NESTOR/GERARD/template-CRA2.docx' to `/WebDav/NESTOR/GERARD/test-jmax.docx': succeeded.
dav:/WebDav/NESTOR/GERARD/> ls
Listing collection `/WebDav/NESTOR/GERARD/': succeeded.
indic2.3.3-principal.xlsx 3599 mars 26 11:00
template-CRA2.docx 92081 mars 26 11:03
test-jmax.docx 92081 mars 26 15:07
workflow courrier chaîné.docx 885525 mars 26 12:01
dav:/WebDav/NESTOR/GERARD/> delete test-jmax.docx
Deleting `test-jmax.docx': succeeded.
dav:/WebDav/NESTOR/GERARD/> mkdir Superjm
Creating `Superjm': succeeded.
dav:/WebDav/NESTOR/GERARD/> ls
Listing collection `/WebDav/NESTOR/GERARD/': succeeded.
Coll: Superjm 0 janv. 1 1970
indic2.3.3-principal.xlsx 3599 mars 26 11:00
template-CRA2.docx 92081 mars 26 11:03
workflow courrier chaîné.docx 885525 mars 26 12:01
dav:/WebDav/NESTOR/GERARD/> rmcol Superjm
Deleting collection `Superjm': succeeded.
dav:/WebDav/NESTOR/GERARD/> propget .
Fetching properties for `.':
DAV: creationdate = 2023-03-26T13:12:29Z
DAV: displayname = GERARD
DAV: getlastmodified = Sun, 26 Mar 2023 13:12:29 GMT
DAV: resourcetype = <DAV:collection></DAV:collection>
DAV: source =
DAV: supportedlock = <DAV:lockentry><DAV:lockscope><DAV:exclusive></DAV:exclusive></DAV:lockscope><DAV:locktype><DAV:write></DAV:write></DAV:locktype></DAV:lockentry><DAV:lockentry><DAV:lockscope><DAV:shared></DAV:shared></DAV:lockscope><DAV:locktype><DAV:write></DAV:write></DAV:locktype></DAV:lockentry>

Actions #13

Updated by Jean-Max Reymond over 1 year ago

bug Libreoffice portant sur les locks webdav

Apparently, LibreOffice does not always use the original lock token supplied by the WebDAV server, but instead changes encoded characters to upper case, e.g. uses %2F when the token supplied by the server contains %2f. This is not allowed by the WebDAV specification, which says "Clients must not attempt to interpret lock tokens in any way", see https://greenbytes.de/tech/webdav/rfc4918.html#lock-tokens. Actually this does not work at least with the Jackrabbit / Jackrabbit Oak WebDAV server, see https://issues.apache.org/jira/browse/OAK-10166.

https://bugs.documentfoundation.org/show_bug.cgi?id=156181

Actions #14

Updated by Jean-Max Reymond over 1 year ago

idem en 7.6.2.1

Actions #15

Updated by Jean-Max Reymond about 1 year ago

impossible avec l'explorateur de fichier d'ouvrir
davs://smartged.gdsofts.com/WebDav//FORMATION/dominique/
et
plus bizarrement sur un LXC de test
dav://webdav.ckr-solutions.com/webdav

Actions #16

Updated by Jean-Max Reymond about 1 year ago

avec le serveur davs://webdav.ckr-solutions.com qui est un serveur apache2 avec webdav, on peut déposer, modifier, sauver des fichiers libreoffice

Actions #17

Updated by Jean-Max Reymond about 1 year ago

le test semble indiquer que le soucis est spécifique haproxy
config de haproxy à regarder par rapport à celle qui fonctionne owncloud ou nextcloud

Actions #19

Updated by Jean-Max Reymond about 1 year ago

impossible de le monter avec l'explorateur de fichier mais cela fonctionne avec un mount, confirmé par cadaver
jmax-Inspiron-5593# mkdir /mnt/webdav-smartged
jmax-Inspiron-5593# mount.davfs https://smartged.gdsofts.com/WebDav/FORMATION/dominique /mnt/webdav-smartged
Please enter the username to authenticate with server
https://smartged.gdsofts.com/WebDav/FORMATION/dominique or hit enter for none.
Username: invite
Please enter the password to authenticate user invite with server
https://smartged.gdsofts.com/WebDav/FORMATION/dominique or hit enter for none.
Password:
jmax-Inspiron-5593# ls l /mnt/webdav-smartged
total 13949
-rw-r--r-
1 root root 2738201 oct. 29 16:25 'Evolutions smartcollab copie.docx'
rw-r--r- 1 root root 2738167 oct. 29 16:23 'Evolutions smartcollab.docx'
drwx------ 2 root root 0 oct. 29 16:33 lost+found
rw-r--r- 1 root root 8806372 oct. 29 16:05 'Paramétrage de SMARTGED octobre 2021.docx'

Actions #20

Updated by Jean-Max Reymond about 1 year ago

on essaie de jouer avec appamor car apparmor_status se plaint sur libreoffice

% sudo apparmor_status
apparmor module is loaded.
38 profiles are loaded.
36 profiles are in enforce mode.
/snap/snapd/20092/usr/lib/snapd/snap-confine
/snap/snapd/20092/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/snap/snapd/20290/usr/lib/snapd/snap-confine
/snap/snapd/20290/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/usr/bin/man
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/lib/snapd/snap-confine
/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/usr/sbin/ntpd
/{,usr/}sbin/dhclient
libreoffice-senddoc
libreoffice-soffice//gpg
libreoffice-xpdfimport
lsb_release
man_filter
man_groff
named
nvidia_modprobe
nvidia_modprobe//kmod
snap-update-ns.lxd
snap.lxd.activate
snap.lxd.benchmark
snap.lxd.buginfo
snap.lxd.check-kernel
snap.lxd.daemon
snap.lxd.hook.configure
snap.lxd.hook.install
snap.lxd.hook.remove
snap.lxd.lxc
snap.lxd.lxc-to-lxd
snap.lxd.lxd
snap.lxd.migrate
snap.lxd.user-daemon
tcpdump
2 profiles are in complain mode.
libreoffice-oosplash
libreoffice-soffice
0 profiles are in kill mode.
0 profiles are in unconfined mode.
4 processes have profiles defined.
4 processes are in enforce mode.
/usr/sbin/ntpd (1137)
/usr/sbin/ntpd (1138)
/usr/sbin/ntpd (1139)
/usr/sbin/named (1173) named
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
0 processes are in mixed mode.
0 processes are in kill mode.

on disabled mais cela ne marche pas mieux
% sudo service apparmor start
% sudo ln -s /etc/apparmor.d/usr.lib.libreoffice.program.oosplash /etc/apparmor.d/disable/
% sudo ln -s /etc/apparmor.d/usr.lib.libreoffice.program.soffice.bin /etc/apparmor.d/disable/
% sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libreoffice.program.soffice.bin
% sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libreoffice.program.oosplash

Actions #21

Updated by Jean-Max Reymond about 1 year ago

on utilise l'outil aa-logprof qui justement se plaint des fichiers tomcat9/webapps/neoged mais rien pour tomcat9/webapps/NESTOR/GERARD
mais ce sont uniquement les fichiers de conversion utilisés par soffice et pas les fichiers eux-mêmes

  1. aa-logprof
    Updating AppArmor profiles in /etc/apparmor.d.
    Reading log entries from /var/log/syslog.
    Complain-mode changes:

Profile: libreoffice-soffice
Path: /var/lib/tomcat9/webapps/neogedconvert/convert/1699865270862
New Mode: owner r
Severity: unknown

Actions #22

Updated by Jean-Max Reymond about 1 year ago

sudo mkdir /mnt/webdav-cloudmycellia
sudo mount -t davfs https://cloud2.mycellia.com/WebDav/NESTOR/GERARD /mnt/webdav-cloudmycellia
et ensuite sudo libreoffice

on arrive à modifier un fichier ce qui montre que libreoffice sait écrire dans le webdav mycellia
DG regarde pour donner tous les droits rwx sur le répertoire webdav

Actions #23

Updated by Jean-Max Reymond about 1 year ago

malgré tous les droits en rwx, cela ne fonctionne pas.
ps -aef donne /usr/lib/libreoffice/program/soffice.bin ms-excel:ofe|u|https://cloud.mycellia.com/WebDav/NESTOR/GERARD/Documents.xls --splash-pipe=5
lancement par root de cette ligne de commande: cela ne fonctionne pas mieux

Actions #24

Updated by Jean-Max Reymond about 1 year ago

on essaye de faire fonctionner ms-excel:ofe|u|https:/
et cela fonctionne sur le site de démo mais pas sur le cloud avec
/usr/lib/libreoffice/program/soffice.bin 'ms-excel:ofe|u|https://cloud2.mycellia.com/WebDav/NESTOR/GERARD/Documents.xls' --splash-pipe=5
soucis uniquement avec le cloud, seule différence un haproxy qui balance les requêtes on constate via catalina.out que c'est le même tomcat qui fait le job.

tout est OK pour
$ ls l /mnt/webdav-smartged
total 13699
-rw-r--r-
1 root root 10549 nov. 17 11:25 Courrier_DGS_2023_152.docx
rw-r--r- 1 root root 2377860 oct. 30 09:57 'Evolutions smartcollab copie.docx'
rw-r--r- 1 root root 2377823 nov. 17 07:09 'Evolutions smartcollab.docx'
drwx------ 2 root root 0 oct. 29 16:33 lost+found
rw-r--r- 1 root root 8806372 oct. 29 16:05 'Paramétrage de SMARTGED octobre 2021.docx'
[jmax@jmax-Inspiron-5593 /tmp]$ sudo umount /mnt/webdav-smartged
/sbin/umount.davfs: waiting for mount.davfs (pid 239902) to terminate gracefully .. OK
[jmax@jmax-Inspiron-5593 /tmp]$ /usr/lib/libreoffice/program/soffice.bin 'ms-excel:ofe|u|https://smartged.gdsofts.com/WebDav/FORMATION/dominique/Courrier_DGS_2023_152.docx' --splash-pipe=5

Actions #25

Updated by Jean-Max Reymond about 1 year ago

après un après-midi entier de debug, il est établi que:
MS Office fonctionne pour toutes les configurations
Libreoffice fonctionne avec tomcat 9.0.31, ne fonctionne pas avec 9.0.58 sous ubuntu et 9.0.69 sous centos 9
tomcat est fortement suspect :-)

Actions #26

Updated by Jean-Max Reymond about 1 year ago

sur centos9.mycellia.com avec centos9, test sur les tomcat
9.0.31 OK
9.0.36 KO
9.0.58 KO
9.0.69 KO

Actions #29

Updated by Jean-Max Reymond 5 days ago

  • Status changed from En cours to Résolu

semble corrigé avec la dernière version développée de Libreoffice

Version: 24.8.4.2 (X86_64) / LibreOffice Community
Build ID: 480(Build:2)
CPU threads: 8; OS: Linux 6.8; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: fr-FR
Ubuntu package version: 4:24.8.4~rc2-0ubuntu0.22.04.1~lo1
Calc: threaded

Pour l'installer, supprimer libreoffice puis
https://www.ubuntuupdates.org/ppa/libreoffice

Actions

Also available in: Atom PDF