Updating to fuse kernel version 7.19
This commit is contained in:
parent
06e1569677
commit
7097f3f583
@ -1,6 +1,9 @@
|
||||
ChangeLog for davfs2
|
||||
--------------------
|
||||
|
||||
2013-09-08 Werner Baumann (werner.baumann@onlinehome.de)
|
||||
* Updating to fuse kernel version 7.19.
|
||||
|
||||
2013-08-15 Werner Baumann (werner.baumann@onlinehome.de)
|
||||
* cache.c:
|
||||
Fix has_permission (bug #33644).
|
||||
|
260
po/cs.po
260
po/cs.po
@ -7,7 +7,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
||||
"func=additem&group=davfs2\n"
|
||||
"POT-Creation-Date: 2013-08-09 12:39+0200\n"
|
||||
"POT-Creation-Date: 2013-09-01 18:45+0200\n"
|
||||
"PO-Revision-Date: 2007-05-03 19:50+0200\n"
|
||||
"Last-Translator: Vítězslav Kotrla <vitko@post.cz>\n"
|
||||
"Language-Team: <cs@li.org>\n"
|
||||
@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bitX-Generator: KBabel 1.11.4\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#: src/cache.c:656
|
||||
#: src/cache.c:650
|
||||
#, c-format
|
||||
msgid ""
|
||||
"connection timed out two times;\n"
|
||||
@ -26,12 +26,12 @@ msgstr ""
|
||||
"spojení vypršelo dvakrát;\n"
|
||||
"zkouším to ještě jednou a naposledy"
|
||||
|
||||
#: src/cache.c:661
|
||||
#: src/cache.c:655
|
||||
#, c-format
|
||||
msgid "Last try succeeded.\n"
|
||||
msgstr "Poslední pokus byl úspěšný.\n"
|
||||
|
||||
#: src/cache.c:664
|
||||
#: src/cache.c:658
|
||||
#, c-format
|
||||
msgid ""
|
||||
"server temporarily unreachable;\n"
|
||||
@ -40,7 +40,7 @@ msgstr ""
|
||||
"server je dočasně nedostupný;\n"
|
||||
"přesto připojuji"
|
||||
|
||||
#: src/cache.c:667
|
||||
#: src/cache.c:661
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Mounting failed.\n"
|
||||
@ -49,177 +49,177 @@ msgstr ""
|
||||
"Připojení selhalo;\n"
|
||||
"%s"
|
||||
|
||||
#: src/cache.c:706
|
||||
#: src/cache.c:700
|
||||
#, c-format
|
||||
msgid "can't replace %s with %s"
|
||||
msgstr "nemohu nahradit %s pomocí %s"
|
||||
|
||||
#: src/cache.c:710
|
||||
#: src/cache.c:704
|
||||
#, c-format
|
||||
msgid "error writing new index file %s"
|
||||
msgstr "chyba při zápisu nového indexového souboru %s"
|
||||
|
||||
#: src/cache.c:714
|
||||
#: src/cache.c:708
|
||||
#, c-format
|
||||
msgid "can't create new index file for %s"
|
||||
msgstr "nemohu vytvořit nový indexový soubor pro %s"
|
||||
|
||||
#: src/cache.c:925
|
||||
#: src/cache.c:911
|
||||
#, c-format
|
||||
msgid ""
|
||||
"File %s exists on the server but should not. Maybe it is an error in the "
|
||||
"server's LOCK impementation. You may try option 'use_locks 0' in davfs2.conf."
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2512 src/cache.c:2545
|
||||
#: src/cache.c:2384 src/cache.c:2417
|
||||
#, c-format
|
||||
msgid "can't create cache file %s"
|
||||
msgstr "nemohu vytvořit soubor vyrovnávací paměti %s"
|
||||
|
||||
#: src/cache.c:2560
|
||||
#: src/cache.c:2432
|
||||
#, c-format
|
||||
msgid "error writing directory %s"
|
||||
msgstr "chyba při zápisu adresáře %s"
|
||||
|
||||
#: src/cache.c:2723 src/mount_davfs.c:1013
|
||||
#: src/cache.c:2594 src/mount_davfs.c:1011
|
||||
#, c-format
|
||||
msgid "can't read user data base"
|
||||
msgstr "nemohu přečíst údaje o uživatelích"
|
||||
|
||||
#: src/cache.c:2735
|
||||
#: src/cache.c:2606
|
||||
#, c-format
|
||||
msgid "can't open cache directory %s"
|
||||
msgstr "nemohu otevřít kešovací adresář %s"
|
||||
|
||||
#: src/cache.c:2750
|
||||
#: src/cache.c:2621
|
||||
#, c-format
|
||||
msgid "can't create cache directory %s"
|
||||
msgstr "nemohu vytvořit kešovací adresář %s"
|
||||
|
||||
#: src/cache.c:2757
|
||||
#: src/cache.c:2628
|
||||
#, c-format
|
||||
msgid "can't access cache directory %s"
|
||||
msgstr "nemohu přistoupit ke kešovacímu adresáři %s"
|
||||
|
||||
#: src/cache.c:2760
|
||||
#: src/cache.c:2631
|
||||
#, c-format
|
||||
msgid "wrong owner of cache directory %s"
|
||||
msgstr "chybný vlastník kešovacího adresáře %s"
|
||||
|
||||
#: src/cache.c:2764
|
||||
#: src/cache.c:2635
|
||||
#, c-format
|
||||
msgid "wrong permissions set for cache directory %s"
|
||||
msgstr "pro kešovací adresář %s nastaveno chybné oprávnění"
|
||||
|
||||
#: src/cache.c:2794
|
||||
#: src/cache.c:2665
|
||||
msgid "found orphaned file in cache:"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2867
|
||||
#: src/cache.c:2738
|
||||
#, c-format
|
||||
msgid "error parsing %s"
|
||||
msgstr "chyba při zpracování %s"
|
||||
|
||||
#: src/cache.c:2868
|
||||
#: src/cache.c:2739
|
||||
#, c-format
|
||||
msgid " at line %i"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2913
|
||||
#: src/cache.c:2784
|
||||
#, c-format
|
||||
msgid "open files exceed max cache size by %llu MiBytes"
|
||||
msgstr ""
|
||||
"otevřené soubory přesahují limit velikosti vyrovnávací paměti o %llu MiB"
|
||||
|
||||
#: src/kernel_interface.c:209
|
||||
#, c-format
|
||||
msgid "can't open fuse device"
|
||||
msgstr "nemohu otevřít fuse zařízení"
|
||||
|
||||
#: src/kernel_interface.c:217
|
||||
#, fuzzy, c-format
|
||||
msgid "mounting failed"
|
||||
msgstr "odpojení selhalo"
|
||||
|
||||
#: src/kernel_interface.c:226
|
||||
#: src/kernel_interface.c:219
|
||||
#, c-format
|
||||
msgid "can't allocate message buffer"
|
||||
msgstr "nemohu alokovat buffer pro zprávu"
|
||||
|
||||
#: src/mount_davfs.c:294
|
||||
#: src/kernel_interface.c:246
|
||||
#, c-format
|
||||
msgid "can't open fuse device"
|
||||
msgstr "nemohu otevřít fuse zařízení"
|
||||
|
||||
#: src/kernel_interface.c:254
|
||||
#, fuzzy, c-format
|
||||
msgid "mounting failed"
|
||||
msgstr "odpojení selhalo"
|
||||
|
||||
#: src/mount_davfs.c:291
|
||||
#, c-format
|
||||
msgid "can't start daemon process"
|
||||
msgstr "nemohu spustit proces na pozadí"
|
||||
|
||||
#: src/mount_davfs.c:316
|
||||
#: src/mount_davfs.c:313
|
||||
msgid "can't release root privileges"
|
||||
msgstr "nemohu uvolnit oprávnění uživatele root"
|
||||
|
||||
#: src/mount_davfs.c:333
|
||||
#: src/mount_davfs.c:330
|
||||
msgid "failed to release tty properly"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:345
|
||||
#: src/mount_davfs.c:342
|
||||
#, c-format
|
||||
msgid "can't write pid file %s"
|
||||
msgstr "nemohu zapsat pid souboru %s"
|
||||
|
||||
#: src/mount_davfs.c:362
|
||||
#: src/mount_davfs.c:359
|
||||
#, c-format
|
||||
msgid "unmounting %s"
|
||||
msgstr "odpojuji %s"
|
||||
|
||||
#: src/mount_davfs.c:364
|
||||
#: src/mount_davfs.c:361
|
||||
msgid "unmounting failed"
|
||||
msgstr "odpojení selhalo"
|
||||
|
||||
#: src/mount_davfs.c:435
|
||||
#: src/mount_davfs.c:432
|
||||
#, c-format
|
||||
msgid "can't change group id"
|
||||
msgstr "nemohu změnit id skupiny"
|
||||
|
||||
#: src/mount_davfs.c:473 src/mount_davfs.c:567 src/mount_davfs.c:593
|
||||
#: src/mount_davfs.c:470 src/mount_davfs.c:564 src/mount_davfs.c:590
|
||||
#, c-format
|
||||
msgid "can't create directory %s"
|
||||
msgstr "nemohu vytvořit adresář %s"
|
||||
|
||||
#: src/mount_davfs.c:477 src/mount_davfs.c:571 src/mount_davfs.c:597
|
||||
#: src/mount_davfs.c:602 src/mount_davfs.c:610
|
||||
#: src/mount_davfs.c:474 src/mount_davfs.c:568 src/mount_davfs.c:594
|
||||
#: src/mount_davfs.c:599 src/mount_davfs.c:607
|
||||
#, c-format
|
||||
msgid "can't access directory %s"
|
||||
msgstr "nemohu přistupovat k adresáři %s"
|
||||
|
||||
#: src/mount_davfs.c:483 src/mount_davfs.c:577
|
||||
#: src/mount_davfs.c:480 src/mount_davfs.c:574
|
||||
#, c-format
|
||||
msgid "can't change mode of directory %s"
|
||||
msgstr "nemohu změnit oprávnění (mode) adresáře %s"
|
||||
|
||||
#: src/mount_davfs.c:488 src/mount_davfs.c:583
|
||||
#: src/mount_davfs.c:485 src/mount_davfs.c:580
|
||||
#, c-format
|
||||
msgid "can't change group of directory %s"
|
||||
msgstr "nemohu změnit skupinu adresáře %s"
|
||||
|
||||
#: src/mount_davfs.c:495 src/mount_davfs.c:551
|
||||
#: src/mount_davfs.c:492 src/mount_davfs.c:548
|
||||
#, c-format
|
||||
msgid "file %s has wrong owner"
|
||||
msgstr "soubor %s má chybného vlastníka"
|
||||
|
||||
#: src/mount_davfs.c:499 src/mount_davfs.c:556
|
||||
#: src/mount_davfs.c:496 src/mount_davfs.c:553
|
||||
#, c-format
|
||||
msgid "file %s has wrong permissions"
|
||||
msgstr "soubor %s má chybná oprávnění"
|
||||
|
||||
#: src/mount_davfs.c:628 src/mount_davfs.c:680
|
||||
#: src/mount_davfs.c:625 src/mount_davfs.c:677
|
||||
#, c-format
|
||||
msgid "can't open file %s"
|
||||
msgstr "nemohu otevřít soubor %s"
|
||||
|
||||
#: src/mount_davfs.c:633
|
||||
#: src/mount_davfs.c:630
|
||||
#, c-format
|
||||
msgid "%s is already mounted on %s"
|
||||
msgstr "%s už je připojeno jako %s"
|
||||
|
||||
#: src/mount_davfs.c:655
|
||||
#: src/mount_davfs.c:652
|
||||
#, c-format
|
||||
msgid ""
|
||||
"found PID file %s.\n"
|
||||
@ -230,82 +230,82 @@ msgstr ""
|
||||
"Buď %s používá jiný proces, nebo\n"
|
||||
"jiné připojení skončilo neobvykle"
|
||||
|
||||
#: src/mount_davfs.c:697
|
||||
#: src/mount_davfs.c:694
|
||||
#, c-format
|
||||
msgid "no entry for %s found in %s"
|
||||
msgstr "pro %s nebyla v %s nalezena žádná položka"
|
||||
|
||||
#: src/mount_davfs.c:701
|
||||
#: src/mount_davfs.c:698
|
||||
#, c-format
|
||||
msgid "different URL in %s"
|
||||
msgstr "v %s je jiné URL"
|
||||
|
||||
#: src/mount_davfs.c:704
|
||||
#: src/mount_davfs.c:701
|
||||
#, c-format
|
||||
msgid "different file system type in %s"
|
||||
msgstr "v %s je jiný souborový systém"
|
||||
|
||||
#: src/mount_davfs.c:715
|
||||
#: src/mount_davfs.c:712
|
||||
#, c-format
|
||||
msgid "different config file in %s"
|
||||
msgstr "v %s je jiný konfigurační soubor"
|
||||
|
||||
#: src/mount_davfs.c:721
|
||||
#: src/mount_davfs.c:718
|
||||
#, fuzzy, c-format
|
||||
msgid "different username in %s"
|
||||
msgstr "v %s je odlišný dir_mode"
|
||||
|
||||
#: src/mount_davfs.c:725
|
||||
#: src/mount_davfs.c:722
|
||||
#, fuzzy, c-format
|
||||
msgid "neither option `user' nor option `users' set in %s"
|
||||
msgstr "volba 'user' není v %s nastavena"
|
||||
|
||||
#: src/mount_davfs.c:728
|
||||
#: src/mount_davfs.c:725
|
||||
#, c-format
|
||||
msgid "different mount options in %s"
|
||||
msgstr "v %s jsou jiné parametry připojení"
|
||||
|
||||
#: src/mount_davfs.c:731
|
||||
#: src/mount_davfs.c:728
|
||||
#, c-format
|
||||
msgid "different uid in %s"
|
||||
msgstr "v %s je odlišné uid"
|
||||
|
||||
#: src/mount_davfs.c:733
|
||||
#: src/mount_davfs.c:730
|
||||
#, c-format
|
||||
msgid "different gid in %s"
|
||||
msgstr "v %s je odlišné gid"
|
||||
|
||||
#: src/mount_davfs.c:735
|
||||
#: src/mount_davfs.c:732
|
||||
#, c-format
|
||||
msgid "different dir_mode in %s"
|
||||
msgstr "v %s je odlišný dir_mode"
|
||||
|
||||
#: src/mount_davfs.c:737
|
||||
#: src/mount_davfs.c:734
|
||||
#, c-format
|
||||
msgid "different file_mode in %s"
|
||||
msgstr "v %s je odlišný file_mode"
|
||||
|
||||
#: src/mount_davfs.c:757
|
||||
#: src/mount_davfs.c:754
|
||||
#, c-format
|
||||
msgid "you can't set file owner different from your uid"
|
||||
msgstr "nemůžete nastavit jiného vlastníka souboru než je vaše uid"
|
||||
|
||||
#: src/mount_davfs.c:769
|
||||
#: src/mount_davfs.c:766
|
||||
#, c-format
|
||||
msgid "you must be member of the group of the file system"
|
||||
msgstr "musíte být členem skupiny souborového systému"
|
||||
|
||||
#: src/mount_davfs.c:780
|
||||
#: src/mount_davfs.c:777
|
||||
#, c-format
|
||||
msgid "user %s must be member of group %s"
|
||||
msgstr "uživatel %s musí být členem skupiny %s"
|
||||
|
||||
#: src/mount_davfs.c:800 src/mount_davfs.c:1139
|
||||
#: src/mount_davfs.c:797 src/mount_davfs.c:1137
|
||||
#, c-format
|
||||
msgid "can't change effective user id"
|
||||
msgstr "nemohu změnit identifikátor efektivního uživatele"
|
||||
|
||||
#: src/mount_davfs.c:844 src/umount_davfs.c:92
|
||||
#: src/mount_davfs.c:841 src/umount_davfs.c:92
|
||||
#, c-format
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
@ -316,67 +316,67 @@ msgstr ""
|
||||
"Program je poskytován BEZ JAKÉKOLIV záruky, včetně záruky PRODEJNOSTI či "
|
||||
"VHODNOSTI K URČITÉMU ÚČELU.\n"
|
||||
|
||||
#: src/mount_davfs.c:860 src/umount_davfs.c:117
|
||||
#: src/mount_davfs.c:857 src/umount_davfs.c:117
|
||||
#, c-format
|
||||
msgid "unknown error parsing arguments"
|
||||
msgstr "neznámá chyba při zpracování argumentů"
|
||||
|
||||
#: src/mount_davfs.c:869 src/umount_davfs.c:123
|
||||
#: src/mount_davfs.c:866 src/umount_davfs.c:123
|
||||
#, c-format
|
||||
msgid "missing argument"
|
||||
msgstr "chybějící argument"
|
||||
|
||||
#: src/mount_davfs.c:882
|
||||
#: src/mount_davfs.c:879
|
||||
#, c-format
|
||||
msgid "can't evaluate path of mount point %s"
|
||||
msgstr "nemohu vyhodnotit cestu k přípojnému bodu %s"
|
||||
|
||||
#: src/mount_davfs.c:885 src/umount_davfs.c:125
|
||||
#: src/mount_davfs.c:882 src/umount_davfs.c:125
|
||||
#, c-format
|
||||
msgid "too many arguments"
|
||||
msgstr "příliš mnoho argumentů"
|
||||
|
||||
#: src/mount_davfs.c:892
|
||||
#: src/mount_davfs.c:889
|
||||
#, c-format
|
||||
msgid "A relative mount point must lie within your home directory"
|
||||
msgstr "Relativní přípojný bod musí ležet ve vašem domovském adresáři"
|
||||
|
||||
#: src/mount_davfs.c:897
|
||||
#: src/mount_davfs.c:894
|
||||
#, c-format
|
||||
msgid "no WebDAV-server specified"
|
||||
msgstr "nebyl zadán žádný WebDAV server"
|
||||
|
||||
#: src/mount_davfs.c:900
|
||||
#: src/mount_davfs.c:897
|
||||
#, c-format
|
||||
msgid "invalid URL"
|
||||
msgstr "neplatné URL"
|
||||
|
||||
#: src/mount_davfs.c:930
|
||||
#: src/mount_davfs.c:927
|
||||
#, c-format
|
||||
msgid "user %s does not exist"
|
||||
msgstr "uživatel %s neexistuje"
|
||||
|
||||
#: src/mount_davfs.c:938
|
||||
#: src/mount_davfs.c:935
|
||||
#, c-format
|
||||
msgid "group %s does not exist"
|
||||
msgstr "skupina %s neexistuje"
|
||||
|
||||
#: src/mount_davfs.c:1004
|
||||
#: src/mount_davfs.c:1002
|
||||
#, c-format
|
||||
msgid "program is not setuid root"
|
||||
msgstr "program není spuštěn jako setuid root"
|
||||
|
||||
#: src/mount_davfs.c:1022
|
||||
#: src/mount_davfs.c:1020
|
||||
#, c-format
|
||||
msgid "can't read group data base"
|
||||
msgstr "nemohu přečíst údaje o skupinách"
|
||||
|
||||
#: src/mount_davfs.c:1049 src/mount_davfs.c:1062 src/mount_davfs.c:1064
|
||||
#: src/mount_davfs.c:1082 src/mount_davfs.c:1084 src/mount_davfs.c:1099
|
||||
#: src/mount_davfs.c:1047 src/mount_davfs.c:1060 src/mount_davfs.c:1062
|
||||
#: src/mount_davfs.c:1080 src/mount_davfs.c:1082 src/mount_davfs.c:1097
|
||||
msgid "Password: "
|
||||
msgstr "Heslo: "
|
||||
|
||||
#: src/mount_davfs.c:1053
|
||||
#: src/mount_davfs.c:1051
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"Please enter the username to authenticate with proxy\n"
|
||||
@ -386,11 +386,11 @@ msgstr ""
|
||||
"%s (pokud žádné zadat nechcete, pouze stiskněte enter).\n"
|
||||
"Uživatelské jméno: "
|
||||
|
||||
#: src/mount_davfs.c:1055 src/mount_davfs.c:1075
|
||||
#: src/mount_davfs.c:1053 src/mount_davfs.c:1073
|
||||
msgid "Username:"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1059
|
||||
#: src/mount_davfs.c:1057
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to authenticate user %s with proxy\n"
|
||||
@ -399,7 +399,7 @@ msgstr ""
|
||||
"Zadejte prosím heslo pro autentizaci uživatele %s na proxy\n"
|
||||
"%s (pokud žádné zadat nechcete, pouze stiskněte enter).\n"
|
||||
|
||||
#: src/mount_davfs.c:1073
|
||||
#: src/mount_davfs.c:1071
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"Please enter the username to authenticate with server\n"
|
||||
@ -409,7 +409,7 @@ msgstr ""
|
||||
"%s (nebo pouze stiskně enter, pokud nic zadat nechcete).\n"
|
||||
"Uživatelské jméno: "
|
||||
|
||||
#: src/mount_davfs.c:1079
|
||||
#: src/mount_davfs.c:1077
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to authenticate user %s with server\n"
|
||||
@ -418,7 +418,7 @@ msgstr ""
|
||||
"Zadejte prosím heslo uživatele %s pro autentizaci na serveru\n"
|
||||
"%s (nebo pouze stiskně enter, pokud nic zadat nechcete).\n"
|
||||
|
||||
#: src/mount_davfs.c:1097
|
||||
#: src/mount_davfs.c:1095
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to decrypt client\n"
|
||||
@ -427,85 +427,85 @@ msgstr ""
|
||||
"Zadejte prosím heslo pro dešifrování klientského\n"
|
||||
"certifikátu %s.\n"
|
||||
|
||||
#: src/mount_davfs.c:1104
|
||||
#: src/mount_davfs.c:1102
|
||||
#, c-format
|
||||
msgid "can't decrypt client certificate %s"
|
||||
msgstr "nemohu dešifrovat klientský certifikát %s"
|
||||
|
||||
#: src/mount_davfs.c:1167
|
||||
#: src/mount_davfs.c:1165
|
||||
#, c-format
|
||||
msgid "pid %i, got signal %i"
|
||||
msgstr "pid %i dostal signál %i"
|
||||
|
||||
#: src/mount_davfs.c:1206
|
||||
#: src/mount_davfs.c:1204
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
||||
msgstr ""
|
||||
"Varování: nelze zapsat položku do mtab, přesto souborový systém připojím"
|
||||
|
||||
#: src/mount_davfs.c:1232
|
||||
#: src/mount_davfs.c:1230
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be a decimal number"
|
||||
msgstr "volba %s má neplatný argument; musí to být číslo v desítkové soustavě"
|
||||
|
||||
#: src/mount_davfs.c:1235
|
||||
#: src/mount_davfs.c:1233
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be an octal number"
|
||||
msgstr "volba %s má neplatný argument; musí to být číslo v osmičkové soustavě"
|
||||
|
||||
#: src/mount_davfs.c:1238
|
||||
#: src/mount_davfs.c:1236
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be a number"
|
||||
msgstr "volba %s má neplatný argument; musí to být číslo"
|
||||
|
||||
#: src/mount_davfs.c:1513
|
||||
#: src/mount_davfs.c:1476
|
||||
#, c-format
|
||||
msgid "option %s requires argument"
|
||||
msgstr "volba %s vyžaduje argument"
|
||||
|
||||
#: src/mount_davfs.c:1605
|
||||
#: src/mount_davfs.c:1568
|
||||
#, c-format
|
||||
msgid "Unknown option %s.\n"
|
||||
msgstr "Neznámá volba %s.\n"
|
||||
|
||||
#: src/mount_davfs.c:1976
|
||||
#: src/mount_davfs.c:1937
|
||||
#, fuzzy, c-format
|
||||
msgid "can't read certificate %s"
|
||||
msgstr "nelze přečíst klientský certifikát %s"
|
||||
|
||||
#: src/mount_davfs.c:2008 src/mount_davfs.c:2021
|
||||
#: src/mount_davfs.c:1969 src/mount_davfs.c:1982
|
||||
#, c-format
|
||||
msgid "can't read client certificate %s"
|
||||
msgstr "nelze přečíst klientský certifikát %s"
|
||||
|
||||
#: src/mount_davfs.c:2012
|
||||
#: src/mount_davfs.c:1973
|
||||
#, c-format
|
||||
msgid "client certificate file %s has wrong owner"
|
||||
msgstr "klientský certifikát %s má chybného vlastníka"
|
||||
|
||||
#: src/mount_davfs.c:2016
|
||||
#: src/mount_davfs.c:1977
|
||||
#, c-format
|
||||
msgid "client certificate file %s has wrong permissions"
|
||||
msgstr "soubor s klientským certifikátem %s má chybná oprávnění"
|
||||
|
||||
#: src/mount_davfs.c:2038 src/mount_davfs.c:2266
|
||||
#: src/mount_davfs.c:1999 src/mount_davfs.c:2227
|
||||
#, fuzzy, c-format
|
||||
msgid "opening %s failed"
|
||||
msgstr "odpojení selhalo"
|
||||
|
||||
#: src/mount_davfs.c:2059 src/mount_davfs.c:2104 src/mount_davfs.c:2196
|
||||
#: src/mount_davfs.c:2293 src/mount_davfs.c:2351 src/mount_davfs.c:2364
|
||||
#: src/mount_davfs.c:2020 src/mount_davfs.c:2065 src/mount_davfs.c:2157
|
||||
#: src/mount_davfs.c:2254 src/mount_davfs.c:2312 src/mount_davfs.c:2325
|
||||
#, c-format
|
||||
msgid "malformed line"
|
||||
msgstr "špatně zapsaný řádek"
|
||||
|
||||
#: src/mount_davfs.c:2174 src/mount_davfs.c:2190
|
||||
#: src/mount_davfs.c:2135 src/mount_davfs.c:2151
|
||||
#, c-format
|
||||
msgid "unknown option"
|
||||
msgstr "neznámá volba"
|
||||
|
||||
#: src/mount_davfs.c:2496
|
||||
#: src/mount_davfs.c:2457
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage:\n"
|
||||
@ -518,7 +518,7 @@ msgstr ""
|
||||
" %s -h,--help : vytiskne tuto zprávu\n"
|
||||
"\n"
|
||||
|
||||
#: src/mount_davfs.c:2500
|
||||
#: src/mount_davfs.c:2461
|
||||
#, c-format
|
||||
msgid ""
|
||||
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
||||
@ -527,7 +527,7 @@ msgstr ""
|
||||
"Pro připojení zdroje WebDAV nevolejte přímo %s, ale\n"
|
||||
"použijte místo toho `mount'.\n"
|
||||
|
||||
#: src/mount_davfs.c:2502
|
||||
#: src/mount_davfs.c:2463
|
||||
#, c-format
|
||||
msgid ""
|
||||
" mount <mountpoint> : or\n"
|
||||
@ -538,7 +538,7 @@ msgstr ""
|
||||
" mount <url_serveru> : připojí zdroj WebDAV tak, jak je zadáno\n"
|
||||
" v /etc/fstab.\n"
|
||||
|
||||
#: src/mount_davfs.c:2505
|
||||
#: src/mount_davfs.c:2466
|
||||
#, c-format
|
||||
msgid ""
|
||||
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
||||
@ -555,7 +555,7 @@ msgstr ""
|
||||
" označuje seznam voleb oddělených čárkou.\n"
|
||||
"\n"
|
||||
|
||||
#: src/mount_davfs.c:2510
|
||||
#: src/mount_davfs.c:2471
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Recognised options:\n"
|
||||
@ -574,7 +574,7 @@ msgstr ""
|
||||
" file_mode= : výchozí mode souboru (v osmičkové soustavě)\n"
|
||||
" dir_mode= : výchozí mode adresáře (v osmičkové soustavě)\n"
|
||||
|
||||
#: src/mount_davfs.c:2516
|
||||
#: src/mount_davfs.c:2477
|
||||
#, c-format
|
||||
msgid ""
|
||||
" ro : mount read-only\n"
|
||||
@ -674,96 +674,96 @@ msgstr "%s: čekám, než si %s (pid %s) sesynchronizuje vyrovnávací paměť.
|
||||
msgid "an error occured while waiting; please wait for %s to terminate"
|
||||
msgstr "při čekání došlo k chybě; čekejte prosím až %s skončí"
|
||||
|
||||
#: src/webdav.c:360
|
||||
#: src/webdav.c:337
|
||||
#, fuzzy, c-format
|
||||
msgid "socket library initialization failed"
|
||||
msgstr "selhala inicializace knihovny socketů"
|
||||
|
||||
#: src/webdav.c:372
|
||||
#: src/webdav.c:349
|
||||
#, c-format
|
||||
msgid "can't open stream to log neon-messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:413
|
||||
#: src/webdav.c:380
|
||||
#, c-format
|
||||
msgid "neon library does not support TLS/SSL"
|
||||
msgstr "knihovna neon nepodporuje TLS/SSL"
|
||||
|
||||
#: src/webdav.c:475 src/webdav.c:478
|
||||
#: src/webdav.c:440 src/webdav.c:443
|
||||
#, c-format
|
||||
msgid "mounting failed; the server does not support WebDAV"
|
||||
msgstr "připojení selhalo; server nepodporuje WebDAV"
|
||||
|
||||
#: src/webdav.c:486
|
||||
#: src/webdav.c:451
|
||||
#, c-format
|
||||
msgid "warning: the server does not support locks"
|
||||
msgstr "varování: server nepodporuje zámky"
|
||||
|
||||
#: src/webdav.c:1566
|
||||
#: src/webdav.c:1454
|
||||
msgid "authentication failure:"
|
||||
msgstr "selhání autentizace:"
|
||||
|
||||
#: src/webdav.c:1604
|
||||
#: src/webdav.c:1492
|
||||
#, c-format
|
||||
msgid "%i can't open cache file"
|
||||
msgstr "%i nemůže otevřít soubor vyrovnávací paměti"
|
||||
|
||||
#: src/webdav.c:1612
|
||||
#: src/webdav.c:1500
|
||||
#, c-format
|
||||
msgid "%i error writing to cache file"
|
||||
msgstr "%i chyba při zápisu do souboru vyrovnávací paměti"
|
||||
|
||||
#: src/webdav.c:1922 src/webdav.c:1951 src/webdav.c:1988
|
||||
#: src/webdav.c:1741 src/webdav.c:1770 src/webdav.c:1807
|
||||
#, c-format
|
||||
msgid "the server certificate is not trusted"
|
||||
msgstr "certifikát serveru je nedůvěryhodný"
|
||||
|
||||
#: src/webdav.c:1931 src/webdav.c:1934
|
||||
#: src/webdav.c:1750 src/webdav.c:1753
|
||||
#, c-format
|
||||
msgid "error processing server certificate"
|
||||
msgstr "chyba při zpracování certifikátu serveru"
|
||||
|
||||
#: src/webdav.c:1945 src/webdav.c:1979
|
||||
#: src/webdav.c:1764 src/webdav.c:1798
|
||||
#, c-format
|
||||
msgid "the server certificate is not yet valid"
|
||||
msgstr "certifikát serveru zatím není platný"
|
||||
|
||||
#: src/webdav.c:1947 src/webdav.c:1982
|
||||
#: src/webdav.c:1766 src/webdav.c:1801
|
||||
#, c-format
|
||||
msgid "the server certificate has expired"
|
||||
msgstr "platnost certifikátu serveru vypršela"
|
||||
|
||||
#: src/webdav.c:1949 src/webdav.c:1985
|
||||
#: src/webdav.c:1768 src/webdav.c:1804
|
||||
#, c-format
|
||||
msgid "the server certificate does not match the server name"
|
||||
msgstr "certifikát serveru nedopovídá jménu serveru"
|
||||
|
||||
#: src/webdav.c:1953 src/webdav.c:1991
|
||||
#: src/webdav.c:1772 src/webdav.c:1810
|
||||
#, c-format
|
||||
msgid "unknown certificate error"
|
||||
msgstr "neznámá chyba certifikátu"
|
||||
|
||||
#: src/webdav.c:1954
|
||||
#: src/webdav.c:1773
|
||||
#, c-format
|
||||
msgid " issuer: %s"
|
||||
msgstr " vydavatel: %s"
|
||||
|
||||
#: src/webdav.c:1956
|
||||
#: src/webdav.c:1775
|
||||
#, c-format
|
||||
msgid " subject: %s"
|
||||
msgstr " subjekt: %s"
|
||||
|
||||
#: src/webdav.c:1958
|
||||
#: src/webdav.c:1777
|
||||
#, c-format
|
||||
msgid " identity: %s"
|
||||
msgstr " identita: %s"
|
||||
|
||||
#: src/webdav.c:1960
|
||||
#: src/webdav.c:1779
|
||||
#, c-format
|
||||
msgid " fingerprint: %s"
|
||||
msgstr " otisk: %s"
|
||||
|
||||
#: src/webdav.c:1962
|
||||
#: src/webdav.c:1781
|
||||
#, c-format
|
||||
msgid ""
|
||||
"You only should accept this certificate, if you can\n"
|
||||
@ -774,27 +774,27 @@ msgstr ""
|
||||
"ověřit jeho otisk! Server může být podvržen nebo může\n"
|
||||
"dojít k útoku s prostředníkem (man-in-the-middle attack).\n"
|
||||
|
||||
#: src/webdav.c:1965
|
||||
#: src/webdav.c:1784
|
||||
#, c-format
|
||||
msgid "Accept certificate for this session? [y,N] "
|
||||
msgstr "Přijmout certifikát pro toto sezení? [y,N] "
|
||||
|
||||
#: src/webdav.c:1992
|
||||
#: src/webdav.c:1811
|
||||
#, c-format
|
||||
msgid " issuer: %s"
|
||||
msgstr " vydavatel: %s"
|
||||
|
||||
#: src/webdav.c:1993
|
||||
#: src/webdav.c:1812
|
||||
#, c-format
|
||||
msgid " subject: %s"
|
||||
msgstr " subjekt: %s"
|
||||
|
||||
#: src/webdav.c:1994
|
||||
#: src/webdav.c:1813
|
||||
#, c-format
|
||||
msgid " identity: %s"
|
||||
msgstr " identita: %s"
|
||||
|
||||
#: src/webdav.c:1997
|
||||
#: src/webdav.c:1816
|
||||
msgid " accepted by user"
|
||||
msgstr " přijat uživatelem"
|
||||
|
||||
|
260
po/davfs2.pot
260
po/davfs2.pot
@ -9,7 +9,7 @@ msgstr ""
|
||||
"Project-Id-Version: davfs2 1.4.6\n"
|
||||
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
||||
"func=additem&group=davfs2\n"
|
||||
"POT-Creation-Date: 2013-08-09 12:39+0200\n"
|
||||
"POT-Creation-Date: 2013-09-01 18:45+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -18,202 +18,202 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/cache.c:656
|
||||
#: src/cache.c:650
|
||||
#, c-format
|
||||
msgid ""
|
||||
"connection timed out two times;\n"
|
||||
"trying one last time"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:661
|
||||
#: src/cache.c:655
|
||||
#, c-format
|
||||
msgid "Last try succeeded.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:664
|
||||
#: src/cache.c:658
|
||||
#, c-format
|
||||
msgid ""
|
||||
"server temporarily unreachable;\n"
|
||||
"mounting anyway"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:667
|
||||
#: src/cache.c:661
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Mounting failed.\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:706
|
||||
#: src/cache.c:700
|
||||
#, c-format
|
||||
msgid "can't replace %s with %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:710
|
||||
#: src/cache.c:704
|
||||
#, c-format
|
||||
msgid "error writing new index file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:714
|
||||
#: src/cache.c:708
|
||||
#, c-format
|
||||
msgid "can't create new index file for %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:925
|
||||
#: src/cache.c:911
|
||||
#, c-format
|
||||
msgid ""
|
||||
"File %s exists on the server but should not. Maybe it is an error in the "
|
||||
"server's LOCK impementation. You may try option 'use_locks 0' in davfs2.conf."
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2512 src/cache.c:2545
|
||||
#: src/cache.c:2384 src/cache.c:2417
|
||||
#, c-format
|
||||
msgid "can't create cache file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2560
|
||||
#: src/cache.c:2432
|
||||
#, c-format
|
||||
msgid "error writing directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2723 src/mount_davfs.c:1013
|
||||
#: src/cache.c:2594 src/mount_davfs.c:1011
|
||||
#, c-format
|
||||
msgid "can't read user data base"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2735
|
||||
#: src/cache.c:2606
|
||||
#, c-format
|
||||
msgid "can't open cache directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2750
|
||||
#: src/cache.c:2621
|
||||
#, c-format
|
||||
msgid "can't create cache directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2757
|
||||
#: src/cache.c:2628
|
||||
#, c-format
|
||||
msgid "can't access cache directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2760
|
||||
#: src/cache.c:2631
|
||||
#, c-format
|
||||
msgid "wrong owner of cache directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2764
|
||||
#: src/cache.c:2635
|
||||
#, c-format
|
||||
msgid "wrong permissions set for cache directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2794
|
||||
#: src/cache.c:2665
|
||||
msgid "found orphaned file in cache:"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2867
|
||||
#: src/cache.c:2738
|
||||
#, c-format
|
||||
msgid "error parsing %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2868
|
||||
#: src/cache.c:2739
|
||||
#, c-format
|
||||
msgid " at line %i"
|
||||
msgstr ""
|
||||
|
||||
#: src/cache.c:2913
|
||||
#: src/cache.c:2784
|
||||
#, c-format
|
||||
msgid "open files exceed max cache size by %llu MiBytes"
|
||||
msgstr ""
|
||||
|
||||
#: src/kernel_interface.c:209
|
||||
#, c-format
|
||||
msgid "can't open fuse device"
|
||||
msgstr ""
|
||||
|
||||
#: src/kernel_interface.c:217
|
||||
#, c-format
|
||||
msgid "mounting failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/kernel_interface.c:226
|
||||
#: src/kernel_interface.c:219
|
||||
#, c-format
|
||||
msgid "can't allocate message buffer"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:294
|
||||
#: src/kernel_interface.c:246
|
||||
#, c-format
|
||||
msgid "can't open fuse device"
|
||||
msgstr ""
|
||||
|
||||
#: src/kernel_interface.c:254
|
||||
#, c-format
|
||||
msgid "mounting failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:291
|
||||
#, c-format
|
||||
msgid "can't start daemon process"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:316
|
||||
#: src/mount_davfs.c:313
|
||||
msgid "can't release root privileges"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:333
|
||||
#: src/mount_davfs.c:330
|
||||
msgid "failed to release tty properly"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:345
|
||||
#: src/mount_davfs.c:342
|
||||
#, c-format
|
||||
msgid "can't write pid file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:362
|
||||
#: src/mount_davfs.c:359
|
||||
#, c-format
|
||||
msgid "unmounting %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:364
|
||||
#: src/mount_davfs.c:361
|
||||
msgid "unmounting failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:435
|
||||
#: src/mount_davfs.c:432
|
||||
#, c-format
|
||||
msgid "can't change group id"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:473 src/mount_davfs.c:567 src/mount_davfs.c:593
|
||||
#: src/mount_davfs.c:470 src/mount_davfs.c:564 src/mount_davfs.c:590
|
||||
#, c-format
|
||||
msgid "can't create directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:477 src/mount_davfs.c:571 src/mount_davfs.c:597
|
||||
#: src/mount_davfs.c:602 src/mount_davfs.c:610
|
||||
#: src/mount_davfs.c:474 src/mount_davfs.c:568 src/mount_davfs.c:594
|
||||
#: src/mount_davfs.c:599 src/mount_davfs.c:607
|
||||
#, c-format
|
||||
msgid "can't access directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:483 src/mount_davfs.c:577
|
||||
#: src/mount_davfs.c:480 src/mount_davfs.c:574
|
||||
#, c-format
|
||||
msgid "can't change mode of directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:488 src/mount_davfs.c:583
|
||||
#: src/mount_davfs.c:485 src/mount_davfs.c:580
|
||||
#, c-format
|
||||
msgid "can't change group of directory %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:495 src/mount_davfs.c:551
|
||||
#: src/mount_davfs.c:492 src/mount_davfs.c:548
|
||||
#, c-format
|
||||
msgid "file %s has wrong owner"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:499 src/mount_davfs.c:556
|
||||
#: src/mount_davfs.c:496 src/mount_davfs.c:553
|
||||
#, c-format
|
||||
msgid "file %s has wrong permissions"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:628 src/mount_davfs.c:680
|
||||
#: src/mount_davfs.c:625 src/mount_davfs.c:677
|
||||
#, c-format
|
||||
msgid "can't open file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:633
|
||||
#: src/mount_davfs.c:630
|
||||
#, c-format
|
||||
msgid "%s is already mounted on %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:655
|
||||
#: src/mount_davfs.c:652
|
||||
#, c-format
|
||||
msgid ""
|
||||
"found PID file %s.\n"
|
||||
@ -221,265 +221,265 @@ msgid ""
|
||||
"or another mount process ended irregular"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:697
|
||||
#: src/mount_davfs.c:694
|
||||
#, c-format
|
||||
msgid "no entry for %s found in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:701
|
||||
#: src/mount_davfs.c:698
|
||||
#, c-format
|
||||
msgid "different URL in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:704
|
||||
#: src/mount_davfs.c:701
|
||||
#, c-format
|
||||
msgid "different file system type in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:715
|
||||
#: src/mount_davfs.c:712
|
||||
#, c-format
|
||||
msgid "different config file in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:721
|
||||
#: src/mount_davfs.c:718
|
||||
#, c-format
|
||||
msgid "different username in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:725
|
||||
#: src/mount_davfs.c:722
|
||||
#, c-format
|
||||
msgid "neither option `user' nor option `users' set in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:728
|
||||
#: src/mount_davfs.c:725
|
||||
#, c-format
|
||||
msgid "different mount options in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:731
|
||||
#: src/mount_davfs.c:728
|
||||
#, c-format
|
||||
msgid "different uid in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:733
|
||||
#: src/mount_davfs.c:730
|
||||
#, c-format
|
||||
msgid "different gid in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:735
|
||||
#: src/mount_davfs.c:732
|
||||
#, c-format
|
||||
msgid "different dir_mode in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:737
|
||||
#: src/mount_davfs.c:734
|
||||
#, c-format
|
||||
msgid "different file_mode in %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:757
|
||||
#: src/mount_davfs.c:754
|
||||
#, c-format
|
||||
msgid "you can't set file owner different from your uid"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:769
|
||||
#: src/mount_davfs.c:766
|
||||
#, c-format
|
||||
msgid "you must be member of the group of the file system"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:780
|
||||
#: src/mount_davfs.c:777
|
||||
#, c-format
|
||||
msgid "user %s must be member of group %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:800 src/mount_davfs.c:1139
|
||||
#: src/mount_davfs.c:797 src/mount_davfs.c:1137
|
||||
#, c-format
|
||||
msgid "can't change effective user id"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:844 src/umount_davfs.c:92
|
||||
#: src/mount_davfs.c:841 src/umount_davfs.c:92
|
||||
#, c-format
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:860 src/umount_davfs.c:117
|
||||
#: src/mount_davfs.c:857 src/umount_davfs.c:117
|
||||
#, c-format
|
||||
msgid "unknown error parsing arguments"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:869 src/umount_davfs.c:123
|
||||
#: src/mount_davfs.c:866 src/umount_davfs.c:123
|
||||
#, c-format
|
||||
msgid "missing argument"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:882
|
||||
#: src/mount_davfs.c:879
|
||||
#, c-format
|
||||
msgid "can't evaluate path of mount point %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:885 src/umount_davfs.c:125
|
||||
#: src/mount_davfs.c:882 src/umount_davfs.c:125
|
||||
#, c-format
|
||||
msgid "too many arguments"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:892
|
||||
#: src/mount_davfs.c:889
|
||||
#, c-format
|
||||
msgid "A relative mount point must lie within your home directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:897
|
||||
#: src/mount_davfs.c:894
|
||||
#, c-format
|
||||
msgid "no WebDAV-server specified"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:900
|
||||
#: src/mount_davfs.c:897
|
||||
#, c-format
|
||||
msgid "invalid URL"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:930
|
||||
#: src/mount_davfs.c:927
|
||||
#, c-format
|
||||
msgid "user %s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:938
|
||||
#: src/mount_davfs.c:935
|
||||
#, c-format
|
||||
msgid "group %s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1004
|
||||
#: src/mount_davfs.c:1002
|
||||
#, c-format
|
||||
msgid "program is not setuid root"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1022
|
||||
#: src/mount_davfs.c:1020
|
||||
#, c-format
|
||||
msgid "can't read group data base"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1049 src/mount_davfs.c:1062 src/mount_davfs.c:1064
|
||||
#: src/mount_davfs.c:1082 src/mount_davfs.c:1084 src/mount_davfs.c:1099
|
||||
#: src/mount_davfs.c:1047 src/mount_davfs.c:1060 src/mount_davfs.c:1062
|
||||
#: src/mount_davfs.c:1080 src/mount_davfs.c:1082 src/mount_davfs.c:1097
|
||||
msgid "Password: "
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1053
|
||||
#: src/mount_davfs.c:1051
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the username to authenticate with proxy\n"
|
||||
"%s or hit enter for none.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1055 src/mount_davfs.c:1075
|
||||
#: src/mount_davfs.c:1053 src/mount_davfs.c:1073
|
||||
msgid "Username:"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1059
|
||||
#: src/mount_davfs.c:1057
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to authenticate user %s with proxy\n"
|
||||
"%s or hit enter for none.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1073
|
||||
#: src/mount_davfs.c:1071
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the username to authenticate with server\n"
|
||||
"%s or hit enter for none.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1079
|
||||
#: src/mount_davfs.c:1077
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to authenticate user %s with server\n"
|
||||
"%s or hit enter for none.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1097
|
||||
#: src/mount_davfs.c:1095
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to decrypt client\n"
|
||||
"certificate %s.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1104
|
||||
#: src/mount_davfs.c:1102
|
||||
#, c-format
|
||||
msgid "can't decrypt client certificate %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1167
|
||||
#: src/mount_davfs.c:1165
|
||||
#, c-format
|
||||
msgid "pid %i, got signal %i"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1206
|
||||
#: src/mount_davfs.c:1204
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1232
|
||||
#: src/mount_davfs.c:1230
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be a decimal number"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1235
|
||||
#: src/mount_davfs.c:1233
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be an octal number"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1238
|
||||
#: src/mount_davfs.c:1236
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be a number"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1513
|
||||
#: src/mount_davfs.c:1476
|
||||
#, c-format
|
||||
msgid "option %s requires argument"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1605
|
||||
#: src/mount_davfs.c:1568
|
||||
#, c-format
|
||||
msgid "Unknown option %s.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:1976
|
||||
#: src/mount_davfs.c:1937
|
||||
#, c-format
|
||||
msgid "can't read certificate %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2008 src/mount_davfs.c:2021
|
||||
#: src/mount_davfs.c:1969 src/mount_davfs.c:1982
|
||||
#, c-format
|
||||
msgid "can't read client certificate %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2012
|
||||
#: src/mount_davfs.c:1973
|
||||
#, c-format
|
||||
msgid "client certificate file %s has wrong owner"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2016
|
||||
#: src/mount_davfs.c:1977
|
||||
#, c-format
|
||||
msgid "client certificate file %s has wrong permissions"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2038 src/mount_davfs.c:2266
|
||||
#: src/mount_davfs.c:1999 src/mount_davfs.c:2227
|
||||
#, c-format
|
||||
msgid "opening %s failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2059 src/mount_davfs.c:2104 src/mount_davfs.c:2196
|
||||
#: src/mount_davfs.c:2293 src/mount_davfs.c:2351 src/mount_davfs.c:2364
|
||||
#: src/mount_davfs.c:2020 src/mount_davfs.c:2065 src/mount_davfs.c:2157
|
||||
#: src/mount_davfs.c:2254 src/mount_davfs.c:2312 src/mount_davfs.c:2325
|
||||
#, c-format
|
||||
msgid "malformed line"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2174 src/mount_davfs.c:2190
|
||||
#: src/mount_davfs.c:2135 src/mount_davfs.c:2151
|
||||
#, c-format
|
||||
msgid "unknown option"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2496
|
||||
#: src/mount_davfs.c:2457
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage:\n"
|
||||
@ -488,14 +488,14 @@ msgid ""
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2500
|
||||
#: src/mount_davfs.c:2461
|
||||
#, c-format
|
||||
msgid ""
|
||||
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
||||
"`mount' instead.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2502
|
||||
#: src/mount_davfs.c:2463
|
||||
#, c-format
|
||||
msgid ""
|
||||
" mount <mountpoint> : or\n"
|
||||
@ -503,7 +503,7 @@ msgid ""
|
||||
" /etc/fstab.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2505
|
||||
#: src/mount_davfs.c:2466
|
||||
#, c-format
|
||||
msgid ""
|
||||
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
||||
@ -514,7 +514,7 @@ msgid ""
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2510
|
||||
#: src/mount_davfs.c:2471
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Recognised options:\n"
|
||||
@ -525,7 +525,7 @@ msgid ""
|
||||
" dir_mode= : default directory mode (octal)\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/mount_davfs.c:2516
|
||||
#: src/mount_davfs.c:2477
|
||||
#, c-format
|
||||
msgid ""
|
||||
" ro : mount read-only\n"
|
||||
@ -600,96 +600,96 @@ msgstr ""
|
||||
msgid "an error occured while waiting; please wait for %s to terminate"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:360
|
||||
#: src/webdav.c:337
|
||||
#, c-format
|
||||
msgid "socket library initialization failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:372
|
||||
#: src/webdav.c:349
|
||||
#, c-format
|
||||
msgid "can't open stream to log neon-messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:413
|
||||
#: src/webdav.c:380
|
||||
#, c-format
|
||||
msgid "neon library does not support TLS/SSL"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:475 src/webdav.c:478
|
||||
#: src/webdav.c:440 src/webdav.c:443
|
||||
#, c-format
|
||||
msgid "mounting failed; the server does not support WebDAV"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:486
|
||||
#: src/webdav.c:451
|
||||
#, c-format
|
||||
msgid "warning: the server does not support locks"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1566
|
||||
#: src/webdav.c:1454
|
||||
msgid "authentication failure:"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1604
|
||||
#: src/webdav.c:1492
|
||||
#, c-format
|
||||
msgid "%i can't open cache file"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1612
|
||||
#: src/webdav.c:1500
|
||||
#, c-format
|
||||
msgid "%i error writing to cache file"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1922 src/webdav.c:1951 src/webdav.c:1988
|
||||
#: src/webdav.c:1741 src/webdav.c:1770 src/webdav.c:1807
|
||||
#, c-format
|
||||
msgid "the server certificate is not trusted"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1931 src/webdav.c:1934
|
||||
#: src/webdav.c:1750 src/webdav.c:1753
|
||||
#, c-format
|
||||
msgid "error processing server certificate"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1945 src/webdav.c:1979
|
||||
#: src/webdav.c:1764 src/webdav.c:1798
|
||||
#, c-format
|
||||
msgid "the server certificate is not yet valid"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1947 src/webdav.c:1982
|
||||
#: src/webdav.c:1766 src/webdav.c:1801
|
||||
#, c-format
|
||||
msgid "the server certificate has expired"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1949 src/webdav.c:1985
|
||||
#: src/webdav.c:1768 src/webdav.c:1804
|
||||
#, c-format
|
||||
msgid "the server certificate does not match the server name"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1953 src/webdav.c:1991
|
||||
#: src/webdav.c:1772 src/webdav.c:1810
|
||||
#, c-format
|
||||
msgid "unknown certificate error"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1954
|
||||
#: src/webdav.c:1773
|
||||
#, c-format
|
||||
msgid " issuer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1956
|
||||
#: src/webdav.c:1775
|
||||
#, c-format
|
||||
msgid " subject: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1958
|
||||
#: src/webdav.c:1777
|
||||
#, c-format
|
||||
msgid " identity: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1960
|
||||
#: src/webdav.c:1779
|
||||
#, c-format
|
||||
msgid " fingerprint: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1962
|
||||
#: src/webdav.c:1781
|
||||
#, c-format
|
||||
msgid ""
|
||||
"You only should accept this certificate, if you can\n"
|
||||
@ -697,26 +697,26 @@ msgid ""
|
||||
"or there might be a man-in-the-middle-attack.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1965
|
||||
#: src/webdav.c:1784
|
||||
#, c-format
|
||||
msgid "Accept certificate for this session? [y,N] "
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1992
|
||||
#: src/webdav.c:1811
|
||||
#, c-format
|
||||
msgid " issuer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1993
|
||||
#: src/webdav.c:1812
|
||||
#, c-format
|
||||
msgid " subject: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1994
|
||||
#: src/webdav.c:1813
|
||||
#, c-format
|
||||
msgid " identity: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/webdav.c:1997
|
||||
#: src/webdav.c:1816
|
||||
msgid " accepted by user"
|
||||
msgstr ""
|
||||
|
262
po/de.po
262
po/de.po
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: davfs2 1.5.0\n"
|
||||
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
||||
"func=additem&group=davfs2\n"
|
||||
"POT-Creation-Date: 2013-08-09 12:39+0200\n"
|
||||
"POT-Creation-Date: 2013-09-01 18:45+0200\n"
|
||||
"PO-Revision-Date: 2013-08-09 12:49+0100\n"
|
||||
"Last-Translator: Werner Baumann <werner.baumann@onlinehome.de>\n"
|
||||
"Language-Team: \n"
|
||||
@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/cache.c:656
|
||||
#: src/cache.c:650
|
||||
#, c-format
|
||||
msgid ""
|
||||
"connection timed out two times;\n"
|
||||
@ -26,12 +26,12 @@ msgstr ""
|
||||
"die Verbindung wurde zweimal wegen Zeitüberschreitung abgebrochen;\n"
|
||||
"ich versuche es zum letzten mal"
|
||||
|
||||
#: src/cache.c:661
|
||||
#: src/cache.c:655
|
||||
#, c-format
|
||||
msgid "Last try succeeded.\n"
|
||||
msgstr "Der letzte Versuch war erfolgreich.\n"
|
||||
|
||||
#: src/cache.c:664
|
||||
#: src/cache.c:658
|
||||
#, c-format
|
||||
msgid ""
|
||||
"server temporarily unreachable;\n"
|
||||
@ -40,7 +40,7 @@ msgstr ""
|
||||
"der Server ist zur Zeit nicht erreichbar;\n"
|
||||
"das Dateisystem wird trotzdem eingehängt"
|
||||
|
||||
#: src/cache.c:667
|
||||
#: src/cache.c:661
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Mounting failed.\n"
|
||||
@ -49,22 +49,22 @@ msgstr ""
|
||||
"das Einhängen schlug fehl;\n"
|
||||
"%s"
|
||||
|
||||
#: src/cache.c:706
|
||||
#: src/cache.c:700
|
||||
#, c-format
|
||||
msgid "can't replace %s with %s"
|
||||
msgstr "kann %s nicht durch %s ersetzen"
|
||||
|
||||
#: src/cache.c:710
|
||||
#: src/cache.c:704
|
||||
#, c-format
|
||||
msgid "error writing new index file %s"
|
||||
msgstr "Fehler beim Schreiben der neuen Indexdatei %s"
|
||||
|
||||
#: src/cache.c:714
|
||||
#: src/cache.c:708
|
||||
#, c-format
|
||||
msgid "can't create new index file for %s"
|
||||
msgstr "kann keine neue Indexdatei für %s erzeugen"
|
||||
|
||||
#: src/cache.c:925
|
||||
#: src/cache.c:911
|
||||
#, c-format
|
||||
msgid ""
|
||||
"File %s exists on the server but should not. Maybe it is an error in the "
|
||||
@ -74,156 +74,156 @@ msgstr ""
|
||||
"behandelt der Server LOCK-Requests fehlerhaft. Du kannst es mit der Option "
|
||||
"'use_locks 0' in davfs2.conf versuchen."
|
||||
|
||||
#: src/cache.c:2512 src/cache.c:2545
|
||||
#: src/cache.c:2384 src/cache.c:2417
|
||||
#, c-format
|
||||
msgid "can't create cache file %s"
|
||||
msgstr "kann die Cachedatei %s nicht erzeugen"
|
||||
|
||||
#: src/cache.c:2560
|
||||
#: src/cache.c:2432
|
||||
#, c-format
|
||||
msgid "error writing directory %s"
|
||||
msgstr "Fehler beim Schreiben des Verzeichnisses %s"
|
||||
|
||||
#: src/cache.c:2723 src/mount_davfs.c:1013
|
||||
#: src/cache.c:2594 src/mount_davfs.c:1011
|
||||
#, c-format
|
||||
msgid "can't read user data base"
|
||||
msgstr "kann die Benutzerdatenbank nicht lesen"
|
||||
|
||||
#: src/cache.c:2735
|
||||
#: src/cache.c:2606
|
||||
#, c-format
|
||||
msgid "can't open cache directory %s"
|
||||
msgstr "kann das Cacheverzeichnis %s nicht öffnen"
|
||||
|
||||
#: src/cache.c:2750
|
||||
#: src/cache.c:2621
|
||||
#, c-format
|
||||
msgid "can't create cache directory %s"
|
||||
msgstr "kann das Cacheverzeichnis %s nicht erzeugen"
|
||||
|
||||
#: src/cache.c:2757
|
||||
#: src/cache.c:2628
|
||||
#, c-format
|
||||
msgid "can't access cache directory %s"
|
||||
msgstr "Zugriff auf das Cachverzeichnis %s verweigert"
|
||||
|
||||
#: src/cache.c:2760
|
||||
#: src/cache.c:2631
|
||||
#, c-format
|
||||
msgid "wrong owner of cache directory %s"
|
||||
msgstr "das Cacheverzeichnis %s hat den falschen Besitzer"
|
||||
|
||||
#: src/cache.c:2764
|
||||
#: src/cache.c:2635
|
||||
#, c-format
|
||||
msgid "wrong permissions set for cache directory %s"
|
||||
msgstr "das Cachverzeichnis %s hat die falschen Dateirechte"
|
||||
|
||||
#: src/cache.c:2794
|
||||
#: src/cache.c:2665
|
||||
msgid "found orphaned file in cache:"
|
||||
msgstr "fand verwaiste Datei im Cache:"
|
||||
|
||||
#: src/cache.c:2867
|
||||
#: src/cache.c:2738
|
||||
#, c-format
|
||||
msgid "error parsing %s"
|
||||
msgstr "Syntaxfehler in %s"
|
||||
|
||||
#: src/cache.c:2868
|
||||
#: src/cache.c:2739
|
||||
#, c-format
|
||||
msgid " at line %i"
|
||||
msgstr " in Zeile %i"
|
||||
|
||||
#: src/cache.c:2913
|
||||
#: src/cache.c:2784
|
||||
#, c-format
|
||||
msgid "open files exceed max cache size by %llu MiBytes"
|
||||
msgstr ""
|
||||
"Die Größe der offenen Dateien überschreitet die maximale Größe des Cache um "
|
||||
"%llu MiBytes"
|
||||
|
||||
#: src/kernel_interface.c:209
|
||||
#, c-format
|
||||
msgid "can't open fuse device"
|
||||
msgstr "kann die fuse-Gerätedatei nicht öffnen"
|
||||
|
||||
#: src/kernel_interface.c:217
|
||||
#, c-format
|
||||
msgid "mounting failed"
|
||||
msgstr "das Aushängen schlug fehl"
|
||||
|
||||
#: src/kernel_interface.c:226
|
||||
#: src/kernel_interface.c:219
|
||||
#, c-format
|
||||
msgid "can't allocate message buffer"
|
||||
msgstr "kein Speicher für den Nachrichtenpuffer verfügbar"
|
||||
|
||||
#: src/mount_davfs.c:294
|
||||
#: src/kernel_interface.c:246
|
||||
#, c-format
|
||||
msgid "can't open fuse device"
|
||||
msgstr "kann die fuse-Gerätedatei nicht öffnen"
|
||||
|
||||
#: src/kernel_interface.c:254
|
||||
#, c-format
|
||||
msgid "mounting failed"
|
||||
msgstr "das Aushängen schlug fehl"
|
||||
|
||||
#: src/mount_davfs.c:291
|
||||
#, c-format
|
||||
msgid "can't start daemon process"
|
||||
msgstr "kann den Hintergrundprozess nicht starten"
|
||||
|
||||
#: src/mount_davfs.c:316
|
||||
#: src/mount_davfs.c:313
|
||||
msgid "can't release root privileges"
|
||||
msgstr "ich werde die root-Rechte nicht los"
|
||||
|
||||
#: src/mount_davfs.c:333
|
||||
#: src/mount_davfs.c:330
|
||||
msgid "failed to release tty properly"
|
||||
msgstr "kann das Terminal nicht freigeben"
|
||||
|
||||
#: src/mount_davfs.c:345
|
||||
#: src/mount_davfs.c:342
|
||||
#, c-format
|
||||
msgid "can't write pid file %s"
|
||||
msgstr "kann die PID-Datei %s nicht schreiben"
|
||||
|
||||
#: src/mount_davfs.c:362
|
||||
#: src/mount_davfs.c:359
|
||||
#, c-format
|
||||
msgid "unmounting %s"
|
||||
msgstr "hänge %s aus"
|
||||
|
||||
#: src/mount_davfs.c:364
|
||||
#: src/mount_davfs.c:361
|
||||
msgid "unmounting failed"
|
||||
msgstr "das Aushängen schlug fehl"
|
||||
|
||||
#: src/mount_davfs.c:435
|
||||
#: src/mount_davfs.c:432
|
||||
#, c-format
|
||||
msgid "can't change group id"
|
||||
msgstr "kann die Gruppenkennung nicht ändern"
|
||||
|
||||
#: src/mount_davfs.c:473 src/mount_davfs.c:567 src/mount_davfs.c:593
|
||||
#: src/mount_davfs.c:470 src/mount_davfs.c:564 src/mount_davfs.c:590
|
||||
#, c-format
|
||||
msgid "can't create directory %s"
|
||||
msgstr "kann das Verzeichnis %s nicht erzeugen"
|
||||
|
||||
#: src/mount_davfs.c:477 src/mount_davfs.c:571 src/mount_davfs.c:597
|
||||
#: src/mount_davfs.c:602 src/mount_davfs.c:610
|
||||
#: src/mount_davfs.c:474 src/mount_davfs.c:568 src/mount_davfs.c:594
|
||||
#: src/mount_davfs.c:599 src/mount_davfs.c:607
|
||||
#, c-format
|
||||
msgid "can't access directory %s"
|
||||
msgstr "Zugriff auf das Verzeichnis %s verweigert"
|
||||
|
||||
#: src/mount_davfs.c:483 src/mount_davfs.c:577
|
||||
#: src/mount_davfs.c:480 src/mount_davfs.c:574
|
||||
#, c-format
|
||||
msgid "can't change mode of directory %s"
|
||||
msgstr "kann die Rechte des Verzeichnisses %s nicht ändern"
|
||||
|
||||
#: src/mount_davfs.c:488 src/mount_davfs.c:583
|
||||
#: src/mount_davfs.c:485 src/mount_davfs.c:580
|
||||
#, c-format
|
||||
msgid "can't change group of directory %s"
|
||||
msgstr "kann die Gruppenkennung des Verneichnisses %s nicht ändern"
|
||||
|
||||
#: src/mount_davfs.c:495 src/mount_davfs.c:551
|
||||
#: src/mount_davfs.c:492 src/mount_davfs.c:548
|
||||
#, c-format
|
||||
msgid "file %s has wrong owner"
|
||||
msgstr "die Datei %s hat den falschen Besitzer"
|
||||
|
||||
#: src/mount_davfs.c:499 src/mount_davfs.c:556
|
||||
#: src/mount_davfs.c:496 src/mount_davfs.c:553
|
||||
#, c-format
|
||||
msgid "file %s has wrong permissions"
|
||||
msgstr "die Dateirechte für %s sind falsch"
|
||||
|
||||
#: src/mount_davfs.c:628 src/mount_davfs.c:680
|
||||
#: src/mount_davfs.c:625 src/mount_davfs.c:677
|
||||
#, c-format
|
||||
msgid "can't open file %s"
|
||||
msgstr "kann die Datei %s nicht öffnen"
|
||||
|
||||
#: src/mount_davfs.c:633
|
||||
#: src/mount_davfs.c:630
|
||||
#, c-format
|
||||
msgid "%s is already mounted on %s"
|
||||
msgstr "%s ist bereits auf %s eingehängt"
|
||||
|
||||
#: src/mount_davfs.c:655
|
||||
#: src/mount_davfs.c:652
|
||||
#, c-format
|
||||
msgid ""
|
||||
"found PID file %s.\n"
|
||||
@ -234,84 +234,84 @@ msgstr ""
|
||||
"Möglicherweise wird %s von einem anderen Prozess benutzt,\n"
|
||||
"oder ein anderer Mount-Prozess endete irregulär"
|
||||
|
||||
#: src/mount_davfs.c:697
|
||||
#: src/mount_davfs.c:694
|
||||
#, c-format
|
||||
msgid "no entry for %s found in %s"
|
||||
msgstr "für %s ist kein Eintrag in %s"
|
||||
|
||||
#: src/mount_davfs.c:701
|
||||
#: src/mount_davfs.c:698
|
||||
#, c-format
|
||||
msgid "different URL in %s"
|
||||
msgstr "in %s ist eine andere URL angegeben"
|
||||
|
||||
#: src/mount_davfs.c:704
|
||||
#: src/mount_davfs.c:701
|
||||
#, c-format
|
||||
msgid "different file system type in %s"
|
||||
msgstr "in %s ist ein anderer Dateisystemtyp angegeben"
|
||||
|
||||
#: src/mount_davfs.c:715
|
||||
#: src/mount_davfs.c:712
|
||||
#, c-format
|
||||
msgid "different config file in %s"
|
||||
msgstr "in %s ist eine andere Konfigurationsdatei angegeben"
|
||||
|
||||
#: src/mount_davfs.c:721
|
||||
#: src/mount_davfs.c:718
|
||||
#, c-format
|
||||
msgid "different username in %s"
|
||||
msgstr "in %s ist ein anderer Benutzername angegeben"
|
||||
|
||||
#: src/mount_davfs.c:725
|
||||
#: src/mount_davfs.c:722
|
||||
#, c-format
|
||||
msgid "neither option `user' nor option `users' set in %s"
|
||||
msgstr "in %s ist weder die Option „user” noch die Option „users” angegeben"
|
||||
|
||||
#: src/mount_davfs.c:728
|
||||
#: src/mount_davfs.c:725
|
||||
#, c-format
|
||||
msgid "different mount options in %s"
|
||||
msgstr "in %s sind andere Mount-Optionen angegeben"
|
||||
|
||||
#: src/mount_davfs.c:731
|
||||
#: src/mount_davfs.c:728
|
||||
#, c-format
|
||||
msgid "different uid in %s"
|
||||
msgstr "in %s ist eine andere uid angegeben"
|
||||
|
||||
#: src/mount_davfs.c:733
|
||||
#: src/mount_davfs.c:730
|
||||
#, c-format
|
||||
msgid "different gid in %s"
|
||||
msgstr "in %s ist eine andere gid angegeben"
|
||||
|
||||
#: src/mount_davfs.c:735
|
||||
#: src/mount_davfs.c:732
|
||||
#, c-format
|
||||
msgid "different dir_mode in %s"
|
||||
msgstr "in %s ist ein anderer dir_mode angegeben"
|
||||
|
||||
#: src/mount_davfs.c:737
|
||||
#: src/mount_davfs.c:734
|
||||
#, c-format
|
||||
msgid "different file_mode in %s"
|
||||
msgstr "in %s ist ein anderer file_mode angegeben"
|
||||
|
||||
#: src/mount_davfs.c:757
|
||||
#: src/mount_davfs.c:754
|
||||
#, c-format
|
||||
msgid "you can't set file owner different from your uid"
|
||||
msgstr ""
|
||||
"du kannst als Besitzer des Dateisystems keine fremde Benutzerkennung angeben"
|
||||
|
||||
#: src/mount_davfs.c:769
|
||||
#: src/mount_davfs.c:766
|
||||
#, c-format
|
||||
msgid "you must be member of the group of the file system"
|
||||
msgstr ""
|
||||
"du musst Mitglied in der Gruppe sein, zu der das Dateisystem gehören soll"
|
||||
|
||||
#: src/mount_davfs.c:780
|
||||
#: src/mount_davfs.c:777
|
||||
#, c-format
|
||||
msgid "user %s must be member of group %s"
|
||||
msgstr "der Benutzer %s muss Mitglied der Gruppe %s sein"
|
||||
|
||||
#: src/mount_davfs.c:800 src/mount_davfs.c:1139
|
||||
#: src/mount_davfs.c:797 src/mount_davfs.c:1137
|
||||
#, c-format
|
||||
msgid "can't change effective user id"
|
||||
msgstr "kann die effektive Benutzer-ID nicht ändern"
|
||||
|
||||
#: src/mount_davfs.c:844 src/umount_davfs.c:92
|
||||
#: src/mount_davfs.c:841 src/umount_davfs.c:92
|
||||
#, c-format
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
@ -322,67 +322,67 @@ msgstr ""
|
||||
"gibt keine Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE "
|
||||
"ZWECKE.\n"
|
||||
|
||||
#: src/mount_davfs.c:860 src/umount_davfs.c:117
|
||||
#: src/mount_davfs.c:857 src/umount_davfs.c:117
|
||||
#, c-format
|
||||
msgid "unknown error parsing arguments"
|
||||
msgstr "Fehler beim Analysieren der Befehlsargumente"
|
||||
|
||||
#: src/mount_davfs.c:869 src/umount_davfs.c:123
|
||||
#: src/mount_davfs.c:866 src/umount_davfs.c:123
|
||||
#, c-format
|
||||
msgid "missing argument"
|
||||
msgstr "zu wenig Argumente"
|
||||
|
||||
#: src/mount_davfs.c:882
|
||||
#: src/mount_davfs.c:879
|
||||
#, c-format
|
||||
msgid "can't evaluate path of mount point %s"
|
||||
msgstr "kann den eindeutigen Pfad des Einhängepunktes %s nicht ermitteln"
|
||||
|
||||
#: src/mount_davfs.c:885 src/umount_davfs.c:125
|
||||
#: src/mount_davfs.c:882 src/umount_davfs.c:125
|
||||
#, c-format
|
||||
msgid "too many arguments"
|
||||
msgstr "zu viele Argumente"
|
||||
|
||||
#: src/mount_davfs.c:892
|
||||
#: src/mount_davfs.c:889
|
||||
#, c-format
|
||||
msgid "A relative mount point must lie within your home directory"
|
||||
msgstr "Ein relativer Einhängepunkt muss in deinem Home-Verzeichnis liegen"
|
||||
|
||||
#: src/mount_davfs.c:897
|
||||
#: src/mount_davfs.c:894
|
||||
#, c-format
|
||||
msgid "no WebDAV-server specified"
|
||||
msgstr "es wurde kein WebDAV-Server angegeben"
|
||||
|
||||
#: src/mount_davfs.c:900
|
||||
#: src/mount_davfs.c:897
|
||||
#, c-format
|
||||
msgid "invalid URL"
|
||||
msgstr "die URL ist ungültig"
|
||||
|
||||
#: src/mount_davfs.c:930
|
||||
#: src/mount_davfs.c:927
|
||||
#, c-format
|
||||
msgid "user %s does not exist"
|
||||
msgstr "der Benutzer %s existiert nicht"
|
||||
|
||||
#: src/mount_davfs.c:938
|
||||
#: src/mount_davfs.c:935
|
||||
#, c-format
|
||||
msgid "group %s does not exist"
|
||||
msgstr "die Gruppe %s existiert nicht"
|
||||
|
||||
#: src/mount_davfs.c:1004
|
||||
#: src/mount_davfs.c:1002
|
||||
#, c-format
|
||||
msgid "program is not setuid root"
|
||||
msgstr "die Programmdatei hat das setuid-Bit nicht gesetzt"
|
||||
|
||||
#: src/mount_davfs.c:1022
|
||||
#: src/mount_davfs.c:1020
|
||||
#, c-format
|
||||
msgid "can't read group data base"
|
||||
msgstr "kann die Gruppendatenbank nicht lesen"
|
||||
|
||||
#: src/mount_davfs.c:1049 src/mount_davfs.c:1062 src/mount_davfs.c:1064
|
||||
#: src/mount_davfs.c:1082 src/mount_davfs.c:1084 src/mount_davfs.c:1099
|
||||
#: src/mount_davfs.c:1047 src/mount_davfs.c:1060 src/mount_davfs.c:1062
|
||||
#: src/mount_davfs.c:1080 src/mount_davfs.c:1082 src/mount_davfs.c:1097
|
||||
msgid "Password: "
|
||||
msgstr "Passwort:"
|
||||
|
||||
#: src/mount_davfs.c:1053
|
||||
#: src/mount_davfs.c:1051
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the username to authenticate with proxy\n"
|
||||
@ -391,11 +391,11 @@ msgstr ""
|
||||
"Gib bitte den Benutzernamen für den Proxy %s an; wenn du keinen angeben "
|
||||
"willst, drücke Return.\n"
|
||||
|
||||
#: src/mount_davfs.c:1055 src/mount_davfs.c:1075
|
||||
#: src/mount_davfs.c:1053 src/mount_davfs.c:1073
|
||||
msgid "Username:"
|
||||
msgstr "Benutzername:"
|
||||
|
||||
#: src/mount_davfs.c:1059
|
||||
#: src/mount_davfs.c:1057
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to authenticate user %s with proxy\n"
|
||||
@ -404,7 +404,7 @@ msgstr ""
|
||||
"Gib bitte das Passwort von %s für den Proxy %s\n"
|
||||
"an; wenn du keines angeben willst, drücke Return.\n"
|
||||
|
||||
#: src/mount_davfs.c:1073
|
||||
#: src/mount_davfs.c:1071
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the username to authenticate with server\n"
|
||||
@ -413,7 +413,7 @@ msgstr ""
|
||||
"Gib bitte den Benutzernamen für den Server %s an; wenn du keinen angeben "
|
||||
"willst, drücke Return.\n"
|
||||
|
||||
#: src/mount_davfs.c:1079
|
||||
#: src/mount_davfs.c:1077
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to authenticate user %s with server\n"
|
||||
@ -422,7 +422,7 @@ msgstr ""
|
||||
"Gib bitte das Passwort von %s für den Server %s\n"
|
||||
"an; wenn du keines angeben willst, drücke Return.\n"
|
||||
|
||||
#: src/mount_davfs.c:1097
|
||||
#: src/mount_davfs.c:1095
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the password to decrypt client\n"
|
||||
@ -431,17 +431,17 @@ msgstr ""
|
||||
"Gib bitte das Passwort für die Entschlüsselung des\n"
|
||||
"Client-Zertifikats %s ein.\n"
|
||||
|
||||
#: src/mount_davfs.c:1104
|
||||
#: src/mount_davfs.c:1102
|
||||
#, c-format
|
||||
msgid "can't decrypt client certificate %s"
|
||||
msgstr "kann das Zertifikat %s nicht entschlüsseln"
|
||||
|
||||
#: src/mount_davfs.c:1167
|
||||
#: src/mount_davfs.c:1165
|
||||
#, c-format
|
||||
msgid "pid %i, got signal %i"
|
||||
msgstr "PID %i, erhielt Signal %i"
|
||||
|
||||
#: src/mount_davfs.c:1206
|
||||
#: src/mount_davfs.c:1204
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
||||
@ -449,72 +449,72 @@ msgstr ""
|
||||
"Warnung: kann keinen Eintrag in die mtab schreiben, häne das Dateisystem "
|
||||
"trotzdem ein."
|
||||
|
||||
#: src/mount_davfs.c:1232
|
||||
#: src/mount_davfs.c:1230
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be a decimal number"
|
||||
msgstr "das Argument der Option %s ist ungültig; es muss eine Dezimalzahl sein"
|
||||
|
||||
#: src/mount_davfs.c:1235
|
||||
#: src/mount_davfs.c:1233
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be an octal number"
|
||||
msgstr "das Argument der Option %s ist ungültig; es muss eine Oktalzahl sein"
|
||||
|
||||
#: src/mount_davfs.c:1238
|
||||
#: src/mount_davfs.c:1236
|
||||
#, c-format
|
||||
msgid "option %s has invalid argument;it must be a number"
|
||||
msgstr "das Argument der Option %s ist ungültig; es muss eine Zahl sein"
|
||||
|
||||
#: src/mount_davfs.c:1513
|
||||
#: src/mount_davfs.c:1476
|
||||
#, c-format
|
||||
msgid "option %s requires argument"
|
||||
msgstr "die Option %s verlangt ein Argument"
|
||||
|
||||
#: src/mount_davfs.c:1605
|
||||
#: src/mount_davfs.c:1568
|
||||
#, c-format
|
||||
msgid "Unknown option %s.\n"
|
||||
msgstr "unbekannte Option %s.\n"
|
||||
|
||||
#: src/mount_davfs.c:1976
|
||||
#: src/mount_davfs.c:1937
|
||||
#, c-format
|
||||
msgid "can't read certificate %s"
|
||||
msgstr "kann das Zertifikat %s nicht lesen"
|
||||
|
||||
#: src/mount_davfs.c:2008 src/mount_davfs.c:2021
|
||||
#: src/mount_davfs.c:1969 src/mount_davfs.c:1982
|
||||
#, c-format
|
||||
msgid "can't read client certificate %s"
|
||||
msgstr "kann das Client-Zertifikat %s nicht lesen"
|
||||
|
||||
#: src/mount_davfs.c:2012
|
||||
#: src/mount_davfs.c:1973
|
||||
#, c-format
|
||||
msgid "client certificate file %s has wrong owner"
|
||||
msgstr ""
|
||||
"die Datei %s\n"
|
||||
"des Client-Zertifikats hat den falschen Besitzer"
|
||||
|
||||
#: src/mount_davfs.c:2016
|
||||
#: src/mount_davfs.c:1977
|
||||
#, c-format
|
||||
msgid "client certificate file %s has wrong permissions"
|
||||
msgstr ""
|
||||
"die Dateirechte für das Cient-Zertifikat\n"
|
||||
"%s sind falsch"
|
||||
|
||||
#: src/mount_davfs.c:2038 src/mount_davfs.c:2266
|
||||
#: src/mount_davfs.c:1999 src/mount_davfs.c:2227
|
||||
#, c-format
|
||||
msgid "opening %s failed"
|
||||
msgstr "konnte %s nicht öffnen"
|
||||
|
||||
#: src/mount_davfs.c:2059 src/mount_davfs.c:2104 src/mount_davfs.c:2196
|
||||
#: src/mount_davfs.c:2293 src/mount_davfs.c:2351 src/mount_davfs.c:2364
|
||||
#: src/mount_davfs.c:2020 src/mount_davfs.c:2065 src/mount_davfs.c:2157
|
||||
#: src/mount_davfs.c:2254 src/mount_davfs.c:2312 src/mount_davfs.c:2325
|
||||
#, c-format
|
||||
msgid "malformed line"
|
||||
msgstr "Syntaxfehler in der Zeile"
|
||||
|
||||
#: src/mount_davfs.c:2174 src/mount_davfs.c:2190
|
||||
#: src/mount_davfs.c:2135 src/mount_davfs.c:2151
|
||||
#, c-format
|
||||
msgid "unknown option"
|
||||
msgstr "unbekannte Option"
|
||||
|
||||
#: src/mount_davfs.c:2496
|
||||
#: src/mount_davfs.c:2457
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage:\n"
|
||||
@ -527,7 +527,7 @@ msgstr ""
|
||||
" %s -h, --help : diese Hilfe anzeigen\n"
|
||||
"\n"
|
||||
|
||||
#: src/mount_davfs.c:2500
|
||||
#: src/mount_davfs.c:2461
|
||||
#, c-format
|
||||
msgid ""
|
||||
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
||||
@ -536,7 +536,7 @@ msgstr ""
|
||||
"Um eine WebDAV-Resource zu einzuhängen, sollte %s nicht direkt\n"
|
||||
"aufgerufen werden; stattdessen sollte „mount” benutzt werden.\n"
|
||||
|
||||
#: src/mount_davfs.c:2502
|
||||
#: src/mount_davfs.c:2463
|
||||
#, c-format
|
||||
msgid ""
|
||||
" mount <mountpoint> : or\n"
|
||||
@ -547,7 +547,7 @@ msgstr ""
|
||||
" mount <server-url> : hänge die WebDAV-Resource entsprechend den\n"
|
||||
" Angaben in /etc/fstab ein.\n"
|
||||
|
||||
#: src/mount_davfs.c:2505
|
||||
#: src/mount_davfs.c:2466
|
||||
#, c-format
|
||||
msgid ""
|
||||
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
||||
@ -564,7 +564,7 @@ msgstr ""
|
||||
" Kommas unterteilte Liste von Optionen.\n"
|
||||
"\n"
|
||||
|
||||
#: src/mount_davfs.c:2510
|
||||
#: src/mount_davfs.c:2471
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Recognised options:\n"
|
||||
@ -581,7 +581,7 @@ msgstr ""
|
||||
" file_mode= : Standard-Rechte für Dateien (oktal)\n"
|
||||
" dir_mode= : Standard-Rechte für Verzeichnisse (oktal)\n"
|
||||
|
||||
#: src/mount_davfs.c:2516
|
||||
#: src/mount_davfs.c:2477
|
||||
#, c-format
|
||||
msgid ""
|
||||
" ro : mount read-only\n"
|
||||
@ -684,96 +684,96 @@ msgid "an error occured while waiting; please wait for %s to terminate"
|
||||
msgstr ""
|
||||
"während des Wartens trat ein Fehler auf; bitte warte bis der %s-Prozess endet"
|
||||
|
||||
#: src/webdav.c:360
|
||||
#: src/webdav.c:337
|
||||
#, c-format
|
||||
msgid "socket library initialization failed"
|
||||
msgstr "die socket-Bibliothek konnte nicht initialisiert werden"
|
||||
|
||||
#: src/webdav.c:372
|
||||
#: src/webdav.c:349
|
||||
#, c-format
|
||||
msgid "can't open stream to log neon-messages"
|
||||
msgstr "kann die Ausgabe für neon-Log-Meldungen nicht öffnen"
|
||||
|
||||
#: src/webdav.c:413
|
||||
#: src/webdav.c:380
|
||||
#, c-format
|
||||
msgid "neon library does not support TLS/SSL"
|
||||
msgstr "die Neon-Bibliothek uterstützt TLS/SSL nicht"
|
||||
|
||||
#: src/webdav.c:475 src/webdav.c:478
|
||||
#: src/webdav.c:440 src/webdav.c:443
|
||||
#, c-format
|
||||
msgid "mounting failed; the server does not support WebDAV"
|
||||
msgstr "das Einhängen schlug fehl; der Server unterstützt WebDAV nicht"
|
||||
|
||||
#: src/webdav.c:486
|
||||
#: src/webdav.c:451
|
||||
#, c-format
|
||||
msgid "warning: the server does not support locks"
|
||||
msgstr "Warnung: der Server kann Dateien nicht sperren"
|
||||
|
||||
#: src/webdav.c:1566
|
||||
#: src/webdav.c:1454
|
||||
msgid "authentication failure:"
|
||||
msgstr "Authentifizierungsfehler"
|
||||
|
||||
#: src/webdav.c:1604
|
||||
#: src/webdav.c:1492
|
||||
#, c-format
|
||||
msgid "%i can't open cache file"
|
||||
msgstr "%i kann die Cache-Datei nicht öffnen"
|
||||
|
||||
#: src/webdav.c:1612
|
||||
#: src/webdav.c:1500
|
||||
#, c-format
|
||||
msgid "%i error writing to cache file"
|
||||
msgstr "%i Fehler beim Schreiben der Cache-Datei"
|
||||
|
||||
#: src/webdav.c:1922 src/webdav.c:1951 src/webdav.c:1988
|
||||
#: src/webdav.c:1741 src/webdav.c:1770 src/webdav.c:1807
|
||||
#, c-format
|
||||
msgid "the server certificate is not trusted"
|
||||
msgstr "wir trauen dem Zertifikat nicht"
|
||||
|
||||
#: src/webdav.c:1931 src/webdav.c:1934
|
||||
#: src/webdav.c:1750 src/webdav.c:1753
|
||||
#, c-format
|
||||
msgid "error processing server certificate"
|
||||
msgstr "Fehler beim Analysieren des Server-Zertifikats"
|
||||
|
||||
#: src/webdav.c:1945 src/webdav.c:1979
|
||||
#: src/webdav.c:1764 src/webdav.c:1798
|
||||
#, c-format
|
||||
msgid "the server certificate is not yet valid"
|
||||
msgstr "das Server-Zertifikat ist noch nicht gültig"
|
||||
|
||||
#: src/webdav.c:1947 src/webdav.c:1982
|
||||
#: src/webdav.c:1766 src/webdav.c:1801
|
||||
#, c-format
|
||||
msgid "the server certificate has expired"
|
||||
msgstr "das Server-Zertifikat ist nicht mehr gültig"
|
||||
|
||||
#: src/webdav.c:1949 src/webdav.c:1985
|
||||
#: src/webdav.c:1768 src/webdav.c:1804
|
||||
#, c-format
|
||||
msgid "the server certificate does not match the server name"
|
||||
msgstr "das Server-Zertifikat passt nicht zum Namen des Servers"
|
||||
|
||||
#: src/webdav.c:1953 src/webdav.c:1991
|
||||
#: src/webdav.c:1772 src/webdav.c:1810
|
||||
#, c-format
|
||||
msgid "unknown certificate error"
|
||||
msgstr "Fehler beim Analysieren des Server-Zertifikats"
|
||||
|
||||
#: src/webdav.c:1954
|
||||
#: src/webdav.c:1773
|
||||
#, c-format
|
||||
msgid " issuer: %s"
|
||||
msgstr " Aussteller: %s"
|
||||
|
||||
#: src/webdav.c:1956
|
||||
#: src/webdav.c:1775
|
||||
#, c-format
|
||||
msgid " subject: %s"
|
||||
msgstr " Inhaber: %s"
|
||||
|
||||
#: src/webdav.c:1958
|
||||
#: src/webdav.c:1777
|
||||
#, c-format
|
||||
msgid " identity: %s"
|
||||
msgstr " Name: %s"
|
||||
|
||||
#: src/webdav.c:1960
|
||||
#: src/webdav.c:1779
|
||||
#, c-format
|
||||
msgid " fingerprint: %s"
|
||||
msgstr " Fingerabdruck: %s"
|
||||
|
||||
#: src/webdav.c:1962
|
||||
#: src/webdav.c:1781
|
||||
#, c-format
|
||||
msgid ""
|
||||
"You only should accept this certificate, if you can\n"
|
||||
@ -784,28 +784,26 @@ msgstr ""
|
||||
"dass der Fingerabdruck stimmt. Der Server könnte gefälscht sein oder\n"
|
||||
"ein Angreifer könnte sich in die Verbindung zum Server eingeschaltet haben.\n"
|
||||
|
||||
#: src/webdav.c:1965
|
||||
#: src/webdav.c:1784
|
||||
#, c-format
|
||||
msgid "Accept certificate for this session? [y,N] "
|
||||
msgstr "Ich akzeptiere das Zertifikat für diese Sitzung [j,N]: "
|
||||
|
||||
#: src/webdav.c:1992
|
||||
#: src/webdav.c:1811
|
||||
#, c-format
|
||||
msgid " issuer: %s"
|
||||
msgstr " Aussteller des Zertifikats: %s"
|
||||
|
||||
#: src/webdav.c:1993
|
||||
#: src/webdav.c:1812
|
||||
#, c-format
|
||||
msgid " subject: %s"
|
||||
msgstr " Inhaber des Zertifikats: %s"
|
||||
|
||||
#: src/webdav.c:1994
|
||||
#: src/webdav.c:1813
|
||||
#, c-format
|
||||
msgid " identity: %s"
|
||||
msgstr " Name: %s"
|
||||
|
||||
#: src/webdav.c:1997
|
||||
#: src/webdav.c:1816
|
||||
msgid " accepted by user"
|
||||
msgstr " durch den Benutzer akzeptiert"
|
||||
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
/* This file is taken from FUSE 2.5.3.
|
||||
From the two alternative licences the BSD licence has been chosen.
|
||||
#include and #ifdef directives have been removed.
|
||||
Modifications by Werner Baumann, 2009-04-14. */
|
||||
|
||||
|
||||
/* This file defines the kernel interface of FUSE */
|
||||
|
||||
/*
|
||||
Copyright (C) 2001-2006 Miklos Szeredi. All rights reserved.
|
||||
This file defines the kernel interface of FUSE
|
||||
Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu>
|
||||
|
||||
This program can be distributed under the terms of the GNU GPL.
|
||||
See the file COPYING.
|
||||
|
||||
This -- and only this -- header file may also be distributed under
|
||||
the terms of the BSD Licence as follows:
|
||||
|
||||
Copyright (C) 2001-2007 Miklos Szeredi. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
@ -31,26 +32,98 @@
|
||||
SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file defines the kernel interface of FUSE
|
||||
*
|
||||
* Protocol changelog:
|
||||
*
|
||||
* 7.9:
|
||||
* - new fuse_getattr_in input argument of GETATTR
|
||||
* - add lk_flags in fuse_lk_in
|
||||
* - add lock_owner field to fuse_setattr_in, fuse_read_in and fuse_write_in
|
||||
* - add blksize field to fuse_attr
|
||||
* - add file flags field to fuse_read_in and fuse_write_in
|
||||
*
|
||||
* 7.10
|
||||
* - add nonseekable open flag
|
||||
*
|
||||
* 7.11
|
||||
* - add IOCTL message
|
||||
* - add unsolicited notification support
|
||||
* - add POLL message and NOTIFY_POLL notification
|
||||
*
|
||||
* 7.12
|
||||
* - add umask flag to input argument of open, mknod and mkdir
|
||||
* - add notification messages for invalidation of inodes and
|
||||
* directory entries
|
||||
*
|
||||
* 7.13
|
||||
* - make max number of background requests and congestion threshold
|
||||
* tunables
|
||||
*
|
||||
* 7.14
|
||||
* - add splice support to fuse device
|
||||
*
|
||||
* 7.15
|
||||
* - add store notify
|
||||
* - add retrieve notify
|
||||
*
|
||||
* 7.16
|
||||
* - add BATCH_FORGET request
|
||||
* - FUSE_IOCTL_UNRESTRICTED shall now return with array of 'struct
|
||||
* fuse_ioctl_iovec' instead of ambiguous 'struct iovec'
|
||||
* - add FUSE_IOCTL_32BIT flag
|
||||
*
|
||||
* 7.17
|
||||
* - add FUSE_FLOCK_LOCKS and FUSE_RELEASE_FLOCK_UNLOCK
|
||||
*
|
||||
* 7.18
|
||||
* - add FUSE_IOCTL_DIR flag
|
||||
* - add FUSE_NOTIFY_DELETE
|
||||
*
|
||||
* 7.19
|
||||
* - add FUSE_FALLOCATE
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_FUSE_H
|
||||
#define _LINUX_FUSE_H
|
||||
|
||||
#include <sys/types.h>
|
||||
#define __u64 uint64_t
|
||||
#define __s64 int64_t
|
||||
#define __u32 uint32_t
|
||||
#define __s32 int32_t
|
||||
#define __u16 uint16_t
|
||||
|
||||
/*
|
||||
* Version negotiation:
|
||||
*
|
||||
* Both the kernel and userspace send the version they support in the
|
||||
* INIT request and reply respectively.
|
||||
*
|
||||
* If the major versions match then both shall use the smallest
|
||||
* of the two minor versions for communication.
|
||||
*
|
||||
* If the kernel supports a larger major version, then userspace shall
|
||||
* reply with the major version it supports, ignore the rest of the
|
||||
* INIT message and expect a new INIT message from the kernel with a
|
||||
* matching major version.
|
||||
*
|
||||
* If the library supports a larger major version, then it shall fall
|
||||
* back to the major protocol version sent by the kernel for
|
||||
* communication and reply with that major version (and an arbitrary
|
||||
* supported minor version).
|
||||
*/
|
||||
|
||||
/** Version number of this interface */
|
||||
#define FUSE_KERNEL_VERSION 7
|
||||
|
||||
/** Minor version number of this interface */
|
||||
#define FUSE_KERNEL_MINOR_VERSION 5
|
||||
#define FUSE_KERNEL_MINOR_VERSION 19
|
||||
|
||||
/** The node ID of the root inode */
|
||||
#define FUSE_ROOT_ID 1
|
||||
|
||||
/** The major number of the fuse character device */
|
||||
#define FUSE_MAJOR 10
|
||||
|
||||
/** The minor number of the fuse character device */
|
||||
#define FUSE_MINOR 229
|
||||
|
||||
/* Make sure all structures are padded to 64bit boundary, so 32bit
|
||||
userspace works under 64bit kernels */
|
||||
|
||||
@ -69,6 +142,8 @@ struct fuse_attr {
|
||||
__u32 uid;
|
||||
__u32 gid;
|
||||
__u32 rdev;
|
||||
__u32 blksize;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_kstatfs {
|
||||
@ -84,6 +159,16 @@ struct fuse_kstatfs {
|
||||
__u32 spare[6];
|
||||
};
|
||||
|
||||
struct fuse_file_lock {
|
||||
__u64 start;
|
||||
__u64 end;
|
||||
__u32 type;
|
||||
__u32 pid; /* tgid */
|
||||
};
|
||||
|
||||
/**
|
||||
* Bitmasks for fuse_setattr_in.valid
|
||||
*/
|
||||
#define FATTR_MODE (1 << 0)
|
||||
#define FATTR_UID (1 << 1)
|
||||
#define FATTR_GID (1 << 2)
|
||||
@ -91,15 +176,100 @@ struct fuse_kstatfs {
|
||||
#define FATTR_ATIME (1 << 4)
|
||||
#define FATTR_MTIME (1 << 5)
|
||||
#define FATTR_FH (1 << 6)
|
||||
#define FATTR_ATIME_NOW (1 << 7)
|
||||
#define FATTR_MTIME_NOW (1 << 8)
|
||||
#define FATTR_LOCKOWNER (1 << 9)
|
||||
|
||||
/**
|
||||
* Flags returned by the OPEN request
|
||||
*
|
||||
* FOPEN_DIRECT_IO: bypass page cache for this open file
|
||||
* FOPEN_KEEP_CACHE: don't invalidate the data cache on open
|
||||
* FOPEN_NONSEEKABLE: the file is not seekable
|
||||
*/
|
||||
#define FOPEN_DIRECT_IO (1 << 0)
|
||||
#define FOPEN_KEEP_CACHE (1 << 1)
|
||||
#define FOPEN_NONSEEKABLE (1 << 2)
|
||||
|
||||
/**
|
||||
* INIT request/reply flags
|
||||
*
|
||||
* FUSE_POSIX_LOCKS: remote locking for POSIX file locks
|
||||
* FUSE_EXPORT_SUPPORT: filesystem handles lookups of "." and ".."
|
||||
* FUSE_DONT_MASK: don't apply umask to file mode on create operations
|
||||
* FUSE_FLOCK_LOCKS: remote locking for BSD style file locks
|
||||
*/
|
||||
#define FUSE_ASYNC_READ (1 << 0)
|
||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||
#define FUSE_FILE_OPS (1 << 2)
|
||||
#define FUSE_ATOMIC_O_TRUNC (1 << 3)
|
||||
#define FUSE_EXPORT_SUPPORT (1 << 4)
|
||||
#define FUSE_BIG_WRITES (1 << 5)
|
||||
#define FUSE_DONT_MASK (1 << 6)
|
||||
#define FUSE_FLOCK_LOCKS (1 << 10)
|
||||
|
||||
/**
|
||||
* CUSE INIT request/reply flags
|
||||
*
|
||||
* CUSE_UNRESTRICTED_IOCTL: use unrestricted ioctl
|
||||
*/
|
||||
#define CUSE_UNRESTRICTED_IOCTL (1 << 0)
|
||||
|
||||
/**
|
||||
* Release flags
|
||||
*/
|
||||
#define FUSE_RELEASE_FLUSH (1 << 0)
|
||||
#define FUSE_RELEASE_FLOCK_UNLOCK (1 << 1)
|
||||
|
||||
/**
|
||||
* Getattr flags
|
||||
*/
|
||||
#define FUSE_GETATTR_FH (1 << 0)
|
||||
|
||||
/**
|
||||
* Lock flags
|
||||
*/
|
||||
#define FUSE_LK_FLOCK (1 << 0)
|
||||
|
||||
/**
|
||||
* WRITE flags
|
||||
*
|
||||
* FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed
|
||||
* FUSE_WRITE_LOCKOWNER: lock_owner field is valid
|
||||
*/
|
||||
#define FUSE_WRITE_CACHE (1 << 0)
|
||||
#define FUSE_WRITE_LOCKOWNER (1 << 1)
|
||||
|
||||
/**
|
||||
* Read flags
|
||||
*/
|
||||
#define FUSE_READ_LOCKOWNER (1 << 1)
|
||||
|
||||
/**
|
||||
* Ioctl flags
|
||||
*
|
||||
* FUSE_IOCTL_COMPAT: 32bit compat ioctl on 64bit machine
|
||||
* FUSE_IOCTL_UNRESTRICTED: not restricted to well-formed ioctls, retry allowed
|
||||
* FUSE_IOCTL_RETRY: retry with new iovecs
|
||||
* FUSE_IOCTL_32BIT: 32bit ioctl
|
||||
* FUSE_IOCTL_DIR: is a directory
|
||||
*
|
||||
* FUSE_IOCTL_MAX_IOV: maximum of in_iovecs + out_iovecs
|
||||
*/
|
||||
#define FUSE_IOCTL_COMPAT (1 << 0)
|
||||
#define FUSE_IOCTL_UNRESTRICTED (1 << 1)
|
||||
#define FUSE_IOCTL_RETRY (1 << 2)
|
||||
#define FUSE_IOCTL_32BIT (1 << 3)
|
||||
#define FUSE_IOCTL_DIR (1 << 4)
|
||||
|
||||
#define FUSE_IOCTL_MAX_IOV 256
|
||||
|
||||
/**
|
||||
* Poll flags
|
||||
*
|
||||
* FUSE_POLL_SCHEDULE_NOTIFY: request poll notify
|
||||
*/
|
||||
#define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0)
|
||||
|
||||
enum fuse_opcode {
|
||||
FUSE_LOOKUP = 1,
|
||||
@ -130,13 +300,38 @@ enum fuse_opcode {
|
||||
FUSE_READDIR = 28,
|
||||
FUSE_RELEASEDIR = 29,
|
||||
FUSE_FSYNCDIR = 30,
|
||||
FUSE_GETLK = 31,
|
||||
FUSE_SETLK = 32,
|
||||
FUSE_SETLKW = 33,
|
||||
FUSE_ACCESS = 34,
|
||||
FUSE_CREATE = 35
|
||||
FUSE_CREATE = 35,
|
||||
FUSE_INTERRUPT = 36,
|
||||
FUSE_BMAP = 37,
|
||||
FUSE_DESTROY = 38,
|
||||
FUSE_IOCTL = 39,
|
||||
FUSE_POLL = 40,
|
||||
FUSE_NOTIFY_REPLY = 41,
|
||||
FUSE_BATCH_FORGET = 42,
|
||||
FUSE_FALLOCATE = 43,
|
||||
|
||||
/* CUSE specific operations */
|
||||
CUSE_INIT = 4096,
|
||||
};
|
||||
|
||||
enum fuse_notify_code {
|
||||
FUSE_NOTIFY_POLL = 1,
|
||||
FUSE_NOTIFY_INVAL_INODE = 2,
|
||||
FUSE_NOTIFY_INVAL_ENTRY = 3,
|
||||
FUSE_NOTIFY_STORE = 4,
|
||||
FUSE_NOTIFY_RETRIEVE = 5,
|
||||
FUSE_NOTIFY_DELETE = 6,
|
||||
FUSE_NOTIFY_CODE_MAX,
|
||||
};
|
||||
|
||||
/* The read buffer is required to be at least 8k, but may be much larger */
|
||||
/* 2009-04-14, increased size of FUSE_MIN_READ_BUFFER, Werner Baumann */
|
||||
#define FUSE_MIN_READ_BUFFER 16384
|
||||
#define FUSE_MIN_READ_BUFFER 8192
|
||||
|
||||
#define FUSE_COMPAT_ENTRY_OUT_SIZE 120
|
||||
|
||||
struct fuse_entry_out {
|
||||
__u64 nodeid; /* Inode ID */
|
||||
@ -153,6 +348,24 @@ struct fuse_forget_in {
|
||||
__u64 nlookup;
|
||||
};
|
||||
|
||||
struct fuse_forget_one {
|
||||
__u64 nodeid;
|
||||
__u64 nlookup;
|
||||
};
|
||||
|
||||
struct fuse_batch_forget_in {
|
||||
__u32 count;
|
||||
__u32 dummy;
|
||||
};
|
||||
|
||||
struct fuse_getattr_in {
|
||||
__u32 getattr_flags;
|
||||
__u32 dummy;
|
||||
__u64 fh;
|
||||
};
|
||||
|
||||
#define FUSE_COMPAT_ATTR_OUT_SIZE 96
|
||||
|
||||
struct fuse_attr_out {
|
||||
__u64 attr_valid; /* Cache timeout for the attributes */
|
||||
__u32 attr_valid_nsec;
|
||||
@ -160,14 +373,18 @@ struct fuse_attr_out {
|
||||
struct fuse_attr attr;
|
||||
};
|
||||
|
||||
#define FUSE_COMPAT_MKNOD_IN_SIZE 8
|
||||
|
||||
struct fuse_mknod_in {
|
||||
__u32 mode;
|
||||
__u32 rdev;
|
||||
__u32 umask;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_mkdir_in {
|
||||
__u32 mode;
|
||||
__u32 padding;
|
||||
__u32 umask;
|
||||
};
|
||||
|
||||
struct fuse_rename_in {
|
||||
@ -183,7 +400,7 @@ struct fuse_setattr_in {
|
||||
__u32 padding;
|
||||
__u64 fh;
|
||||
__u64 size;
|
||||
__u64 unused1;
|
||||
__u64 lock_owner;
|
||||
__u64 atime;
|
||||
__u64 mtime;
|
||||
__u64 unused2;
|
||||
@ -198,8 +415,15 @@ struct fuse_setattr_in {
|
||||
};
|
||||
|
||||
struct fuse_open_in {
|
||||
__u32 flags;
|
||||
__u32 unused;
|
||||
};
|
||||
|
||||
struct fuse_create_in {
|
||||
__u32 flags;
|
||||
__u32 mode;
|
||||
__u32 umask;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_open_out {
|
||||
@ -211,27 +435,37 @@ struct fuse_open_out {
|
||||
struct fuse_release_in {
|
||||
__u64 fh;
|
||||
__u32 flags;
|
||||
__u32 padding;
|
||||
__u32 release_flags;
|
||||
__u64 lock_owner;
|
||||
};
|
||||
|
||||
struct fuse_flush_in {
|
||||
__u64 fh;
|
||||
__u32 flush_flags;
|
||||
__u32 unused;
|
||||
__u32 padding;
|
||||
__u64 lock_owner;
|
||||
};
|
||||
|
||||
struct fuse_read_in {
|
||||
__u64 fh;
|
||||
__u64 offset;
|
||||
__u32 size;
|
||||
__u32 read_flags;
|
||||
__u64 lock_owner;
|
||||
__u32 flags;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
#define FUSE_COMPAT_WRITE_IN_SIZE 24
|
||||
|
||||
struct fuse_write_in {
|
||||
__u64 fh;
|
||||
__u64 offset;
|
||||
__u32 size;
|
||||
__u32 write_flags;
|
||||
__u64 lock_owner;
|
||||
__u32 flags;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_write_out {
|
||||
@ -266,6 +500,18 @@ struct fuse_getxattr_out {
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_lk_in {
|
||||
__u64 fh;
|
||||
__u64 owner;
|
||||
struct fuse_file_lock lk;
|
||||
__u32 lk_flags;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_lk_out {
|
||||
struct fuse_file_lock lk;
|
||||
};
|
||||
|
||||
struct fuse_access_in {
|
||||
__u32 mask;
|
||||
__u32 padding;
|
||||
@ -274,15 +520,100 @@ struct fuse_access_in {
|
||||
struct fuse_init_in {
|
||||
__u32 major;
|
||||
__u32 minor;
|
||||
__u32 max_readahead;
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
struct fuse_init_out {
|
||||
__u32 major;
|
||||
__u32 minor;
|
||||
__u32 unused[3];
|
||||
__u32 max_readahead;
|
||||
__u32 flags;
|
||||
__u16 max_background;
|
||||
__u16 congestion_threshold;
|
||||
__u32 max_write;
|
||||
};
|
||||
|
||||
#define CUSE_INIT_INFO_MAX 4096
|
||||
|
||||
struct cuse_init_in {
|
||||
__u32 major;
|
||||
__u32 minor;
|
||||
__u32 unused;
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
struct cuse_init_out {
|
||||
__u32 major;
|
||||
__u32 minor;
|
||||
__u32 unused;
|
||||
__u32 flags;
|
||||
__u32 max_read;
|
||||
__u32 max_write;
|
||||
__u32 dev_major; /* chardev major */
|
||||
__u32 dev_minor; /* chardev minor */
|
||||
__u32 spare[10];
|
||||
};
|
||||
|
||||
struct fuse_interrupt_in {
|
||||
__u64 unique;
|
||||
};
|
||||
|
||||
struct fuse_bmap_in {
|
||||
__u64 block;
|
||||
__u32 blocksize;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_bmap_out {
|
||||
__u64 block;
|
||||
};
|
||||
|
||||
struct fuse_ioctl_in {
|
||||
__u64 fh;
|
||||
__u32 flags;
|
||||
__u32 cmd;
|
||||
__u64 arg;
|
||||
__u32 in_size;
|
||||
__u32 out_size;
|
||||
};
|
||||
|
||||
struct fuse_ioctl_iovec {
|
||||
__u64 base;
|
||||
__u64 len;
|
||||
};
|
||||
|
||||
struct fuse_ioctl_out {
|
||||
__s32 result;
|
||||
__u32 flags;
|
||||
__u32 in_iovs;
|
||||
__u32 out_iovs;
|
||||
};
|
||||
|
||||
struct fuse_poll_in {
|
||||
__u64 fh;
|
||||
__u64 kh;
|
||||
__u32 flags;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_poll_out {
|
||||
__u32 revents;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_notify_poll_wakeup_out {
|
||||
__u64 kh;
|
||||
};
|
||||
|
||||
struct fuse_fallocate_in {
|
||||
__u64 fh;
|
||||
__u64 offset;
|
||||
__u64 length;
|
||||
__u32 mode;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_in_header {
|
||||
__u32 len;
|
||||
__u32 opcode;
|
||||
@ -305,10 +636,56 @@ struct fuse_dirent {
|
||||
__u64 off;
|
||||
__u32 namelen;
|
||||
__u32 type;
|
||||
char name[0];
|
||||
char name[];
|
||||
};
|
||||
|
||||
#define FUSE_NAME_OFFSET ((unsigned) ((struct fuse_dirent *) 0)->name)
|
||||
#define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name)
|
||||
#define FUSE_DIRENT_ALIGN(x) (((x) + sizeof(__u64) - 1) & ~(sizeof(__u64) - 1))
|
||||
#define FUSE_DIRENT_SIZE(d) \
|
||||
FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen)
|
||||
|
||||
struct fuse_notify_inval_inode_out {
|
||||
__u64 ino;
|
||||
__s64 off;
|
||||
__s64 len;
|
||||
};
|
||||
|
||||
struct fuse_notify_inval_entry_out {
|
||||
__u64 parent;
|
||||
__u32 namelen;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_notify_delete_out {
|
||||
__u64 parent;
|
||||
__u64 child;
|
||||
__u32 namelen;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_notify_store_out {
|
||||
__u64 nodeid;
|
||||
__u64 offset;
|
||||
__u32 size;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
struct fuse_notify_retrieve_out {
|
||||
__u64 notify_unique;
|
||||
__u64 nodeid;
|
||||
__u64 offset;
|
||||
__u32 size;
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
/* Matches the size of fuse_write_in */
|
||||
struct fuse_notify_retrieve_in {
|
||||
__u64 dummy1;
|
||||
__u64 offset;
|
||||
__u32 size;
|
||||
__u32 dummy2;
|
||||
__u64 dummy3;
|
||||
__u64 dummy4;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_FUSE_H */
|
||||
|
@ -55,6 +55,9 @@
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#include "xalloc.h"
|
||||
#include "xvasprintf.h"
|
||||
@ -74,6 +77,17 @@
|
||||
#endif
|
||||
|
||||
|
||||
/* Constants from Linux headers */
|
||||
/*==============================*/
|
||||
|
||||
#ifndef MISC_MAJOR
|
||||
#define MISC_MAJOR 10
|
||||
#endif
|
||||
#ifndef FUSE_MINOR
|
||||
#define FUSE_MINOR 229
|
||||
#endif
|
||||
|
||||
|
||||
/* Data Types */
|
||||
/*============*/
|
||||
|
||||
@ -92,6 +106,9 @@ struct create_out {
|
||||
kernel file system. */
|
||||
#define FUSE_DEV_NAME "fuse"
|
||||
|
||||
/* Minimum minor version of fuse. */
|
||||
#define FUSE_MIN_MINOR 13
|
||||
|
||||
|
||||
/* Private global variables */
|
||||
/*==========================*/
|
||||
@ -102,6 +119,14 @@ static int fuse_device;
|
||||
/* Buffer used for communication with the kernel module (in and out). */
|
||||
static size_t buf_size;
|
||||
static char *buf;
|
||||
/* Header of incomming calls. */
|
||||
static struct fuse_in_header *ih;
|
||||
/* Header of outgoing replies. */
|
||||
static struct fuse_out_header *oh;
|
||||
/* Start of upcall specific structure. */
|
||||
static char *upcall;
|
||||
/* Start of upcall specific reply structure. */
|
||||
static char *reply;
|
||||
|
||||
/* Time to wait for upcalls before calling dav_tidy_cache(). */
|
||||
static time_t idle_time;
|
||||
@ -161,6 +186,10 @@ fuse_stat(void);
|
||||
static uint32_t
|
||||
fuse_write(void);
|
||||
|
||||
static uint32_t
|
||||
not_implemented(const char *msg);
|
||||
|
||||
|
||||
/* Auxiliary functions. */
|
||||
|
||||
static off_t
|
||||
@ -183,12 +212,17 @@ dav_init_kernel_interface(const char *url, const char *mpoint,
|
||||
"Initializing kernel interface");
|
||||
|
||||
buf_size = args->buf_size * 1024;
|
||||
if (buf_size < (FUSE_MIN_READ_BUFFER + 4096))
|
||||
buf_size = FUSE_MIN_READ_BUFFER + 4096;
|
||||
if (buf_size < (FUSE_MIN_READ_BUFFER + 1024))
|
||||
buf_size = FUSE_MIN_READ_BUFFER + 1024;
|
||||
buf = malloc(buf_size);
|
||||
if (!buf)
|
||||
error(EXIT_FAILURE, errno, _("can't allocate message buffer"));
|
||||
|
||||
ih = (struct fuse_in_header *) buf;
|
||||
oh = (struct fuse_out_header *) buf;
|
||||
upcall = buf + sizeof(struct fuse_in_header);
|
||||
reply = buf + sizeof(struct fuse_out_header);
|
||||
|
||||
idle_time = args->delay_upload;
|
||||
|
||||
char *path = xasprintf("%s/%s", DAV_DEV_DIR, FUSE_DEV_NAME);
|
||||
@ -198,7 +232,7 @@ dav_init_kernel_interface(const char *url, const char *mpoint,
|
||||
fuse_device = open(path, O_RDWR | O_NONBLOCK);
|
||||
}
|
||||
if (fuse_device <= 0) {
|
||||
if (mknod(path, S_IFCHR, makedev(FUSE_MAJOR, FUSE_MINOR)) == 0) {
|
||||
if (mknod(path, S_IFCHR, makedev(MISC_MAJOR, FUSE_MINOR)) == 0) {
|
||||
if (chown(path, 0, 0) == 0 && chmod(path, S_IRUSR | S_IWUSR) == 0) {
|
||||
fuse_device = open(path, O_RDWR | O_NONBLOCK);
|
||||
} else {
|
||||
@ -214,7 +248,7 @@ dav_init_kernel_interface(const char *url, const char *mpoint,
|
||||
char *mdata = xasprintf("fd=%i,rootmode=%o,user_id=%i,group_id=%i,"
|
||||
"allow_other,max_read=%lu", fuse_device,
|
||||
args->dir_mode, args->fsuid, args->fsgid,
|
||||
(unsigned long int) (buf_size - 4096));
|
||||
(unsigned long int) (buf_size - 1024));
|
||||
|
||||
if (mount(url, mpoint, "fuse", args->mopts, mdata) != 0)
|
||||
error(EXIT_FAILURE, errno, _("mounting failed"));
|
||||
@ -273,8 +307,6 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
break;
|
||||
}
|
||||
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
if (ih->nodeid == 1)
|
||||
ih->nodeid = root;
|
||||
|
||||
@ -286,7 +318,6 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_FORGET: no reply");
|
||||
oh->error = 0;
|
||||
oh->len = 0;
|
||||
break;
|
||||
case FUSE_GETATTR:
|
||||
@ -296,16 +327,10 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
oh->len = fuse_setattr();
|
||||
break;
|
||||
case FUSE_READLINK:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_READLINK:");
|
||||
oh->error = -ENOSYS;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
oh->len = not_implemented("FUSE_READLINK:");
|
||||
break;
|
||||
case FUSE_SYMLINK:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_SYMLINK:");
|
||||
oh->error = -ENOSYS;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
oh->len = not_implemented("FUSE_SYMLINK:");
|
||||
break;
|
||||
case FUSE_MKNOD:
|
||||
oh->len = fuse_mknod();
|
||||
@ -315,28 +340,30 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
break;
|
||||
case FUSE_UNLINK:
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_UNLINK:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, %s",
|
||||
(unsigned long long) ih->nodeid,
|
||||
(char *) (buf + sizeof(struct fuse_in_header)));
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_UNLINK %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
}
|
||||
oh->error = dav_remove((dav_node *) ((size_t) ih->nodeid),
|
||||
(char *) (buf + sizeof(struct fuse_in_header)),
|
||||
ih->uid);
|
||||
oh->error = dav_remove((dav_node *) ((size_t) ih->nodeid), upcall,
|
||||
ih->uid);
|
||||
if (oh->error)
|
||||
oh->error *= -1;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
break;
|
||||
case FUSE_RMDIR:
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_RMDIR:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, %s",
|
||||
(unsigned long long) ih->nodeid,
|
||||
(char *) (buf + sizeof(struct fuse_in_header)));
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_RMDIR %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
}
|
||||
oh->error = dav_rmdir((dav_node *) ((size_t) ih->nodeid),
|
||||
(char *) (buf + sizeof(struct fuse_in_header)),
|
||||
ih->uid);
|
||||
oh->error = dav_rmdir((dav_node *) ((size_t) ih->nodeid), upcall,
|
||||
ih->uid);
|
||||
if (oh->error)
|
||||
oh->error *= -1;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
@ -345,10 +372,7 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
oh->len = fuse_rename();
|
||||
break;
|
||||
case FUSE_LINK:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_LINK:");
|
||||
oh->error = -ENOSYS;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
oh->len = not_implemented("FUSE_LINK:");
|
||||
break;
|
||||
case FUSE_OPEN:
|
||||
oh->len = fuse_open();
|
||||
@ -368,9 +392,12 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
break;
|
||||
case FUSE_FSYNC:
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_FSYNC:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx",
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_FSYNC %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
}
|
||||
oh->error = dav_sync((dav_node *) ((size_t) ih->nodeid));
|
||||
if (oh->error)
|
||||
@ -378,28 +405,16 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
break;
|
||||
case FUSE_SETXATTR:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_SETXATTR:");
|
||||
oh->error = -ENOSYS;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
oh->len = not_implemented("FUSE_SETXATTR:");
|
||||
break;
|
||||
case FUSE_GETXATTR:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_GETXATTR:");
|
||||
oh->error = -ENOSYS;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
oh->len = not_implemented("FUSE_GETXATTR:");
|
||||
break;
|
||||
case FUSE_LISTXATTR:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_LISTXATTR:");
|
||||
oh->error = -ENOSYS;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
oh->len = not_implemented("FUSE_LISTXATTR:");
|
||||
break;
|
||||
case FUSE_REMOVEXATTR:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_REMOVEXATTR:");
|
||||
oh->error = -ENOSYS;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
oh->len = not_implemented("FUSE_REMOVEXATTR:");
|
||||
break;
|
||||
case FUSE_FLUSH:
|
||||
if (debug)
|
||||
@ -421,10 +436,16 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
oh->len = fuse_release();
|
||||
break;
|
||||
case FUSE_FSYNCDIR:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_FSYNCDIR:");
|
||||
oh->error = -ENOSYS;
|
||||
oh->len = sizeof(struct fuse_out_header);
|
||||
oh->len = not_implemented("FUSE_FSYNCDIR:");
|
||||
break;
|
||||
case FUSE_GETLK:
|
||||
oh->len = not_implemented("FUSE_GETLK:");
|
||||
break;
|
||||
case FUSE_SETLK:
|
||||
oh->len = not_implemented("FUSE_SETLK:");
|
||||
break;
|
||||
case FUSE_SETLKW:
|
||||
oh->len = not_implemented("FUSE_SETLKW:");
|
||||
break;
|
||||
case FUSE_ACCESS:
|
||||
oh->len = fuse_access();
|
||||
@ -432,6 +453,30 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
case FUSE_CREATE:
|
||||
oh->len = fuse_create();
|
||||
break;
|
||||
case FUSE_INTERRUPT:
|
||||
oh->len = not_implemented("FUSE_INTERRUPT:");
|
||||
break;
|
||||
case FUSE_BMAP:
|
||||
oh->len = not_implemented("FUSE_BMAP:");
|
||||
break;
|
||||
case FUSE_DESTROY:
|
||||
oh->len = not_implemented("FUSE_DESTROY:");
|
||||
break;
|
||||
case FUSE_IOCTL:
|
||||
oh->len = not_implemented("FUSE_IOCTL:");
|
||||
break;
|
||||
case FUSE_POLL:
|
||||
oh->len = not_implemented("FUSE_POLL:");
|
||||
break;
|
||||
case FUSE_NOTIFY_REPLY:
|
||||
oh->len = not_implemented("FUSE_NOTIFY_REPLY:");
|
||||
break;
|
||||
case FUSE_BATCH_FORGET:
|
||||
oh->len = not_implemented("FUSE_BATCH_FORGET:");
|
||||
break;
|
||||
case FUSE_FALLOCATE:
|
||||
oh->len = not_implemented("FUSE_FALLOCATE:");
|
||||
break;
|
||||
default:
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
@ -478,15 +523,16 @@ dav_run_msgloop(volatile int *keep_on_running)
|
||||
static uint32_t
|
||||
fuse_access(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_access_in *in = (struct fuse_access_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_access_in *in = (struct fuse_access_in *) upcall;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_ACCESS:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, f 0%o",
|
||||
(unsigned long long) ih->nodeid, in->mask);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " uid %i", ih->uid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_ACCESS %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " m=0x%x",
|
||||
in->mask);
|
||||
}
|
||||
|
||||
oh->error = dav_access((dav_node *) ((size_t) ih->nodeid), ih->uid,
|
||||
@ -502,18 +548,18 @@ fuse_access(void)
|
||||
static uint32_t
|
||||
fuse_create(void)
|
||||
{
|
||||
struct fuse_in_header *ih= (struct fuse_in_header *) buf;
|
||||
struct fuse_open_in *in = (struct fuse_open_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
char *name = buf + sizeof(struct fuse_in_header)
|
||||
+ sizeof(struct fuse_open_in);
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct create_out *out = (struct create_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
struct fuse_create_in *in = (struct fuse_create_in *) upcall;
|
||||
char *name = upcall + sizeof(struct fuse_create_in);
|
||||
struct create_out *out = (struct create_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_CREATE:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, f 0%o",
|
||||
(unsigned long long) ih->nodeid, in->flags);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_CREATE %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " f=0x%x m=0%o um=0%o",
|
||||
in->flags, in->mode, in->umask);
|
||||
}
|
||||
|
||||
int created = 0;
|
||||
@ -570,6 +616,7 @@ fuse_create(void)
|
||||
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " fd %i", fd);
|
||||
|
||||
return sizeof(struct fuse_out_header) + sizeof(struct create_out);
|
||||
}
|
||||
|
||||
@ -577,14 +624,17 @@ fuse_create(void)
|
||||
static uint32_t
|
||||
fuse_getattr(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_attr_out *out = (struct fuse_attr_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
struct fuse_getattr_in *in = (struct fuse_getattr_in *) upcall;
|
||||
struct fuse_attr_out *out = (struct fuse_attr_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_GETATTR:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx",
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_GETATTR %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " f=0x%x fh=%llu",
|
||||
in->getattr_flags, in->fh);
|
||||
}
|
||||
|
||||
oh->error = dav_getattr((dav_node *) ((size_t) ih->nodeid), ih->uid);
|
||||
@ -606,16 +656,33 @@ fuse_getattr(void)
|
||||
static uint32_t
|
||||
fuse_init(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_init_in *in = (struct fuse_init_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_init_out *out = (struct fuse_init_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
struct fuse_init_in *in = (struct fuse_init_in *) upcall;
|
||||
struct fuse_init_out *out = (struct fuse_init_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_INIT:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " version %i.%i",
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_INIT %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " verson=%u.%u",
|
||||
in->major, in->minor);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " ra=%u f=0x%x",
|
||||
in->max_readahead, in->flags);
|
||||
}
|
||||
|
||||
if (in->major < FUSE_KERNEL_VERSION
|
||||
|| (in->major == FUSE_KERNEL_VERSION && in->minor < FUSE_MIN_MINOR)) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FATAL: Kernel-version too old.");
|
||||
oh->error = -ENOSYS;
|
||||
return sizeof(struct fuse_out_header);
|
||||
}
|
||||
|
||||
if (in->major > FUSE_KERNEL_VERSION) {
|
||||
oh->error = 0;
|
||||
out->major = FUSE_KERNEL_VERSION;
|
||||
return sizeof(struct fuse_out_header);
|
||||
}
|
||||
|
||||
dav_node *node;
|
||||
@ -630,12 +697,16 @@ fuse_init(void)
|
||||
|
||||
root = (size_t) node;
|
||||
out->major = FUSE_KERNEL_VERSION;
|
||||
out->minor = FUSE_KERNEL_MINOR_VERSION;
|
||||
out->unused[0] = 0;
|
||||
out->unused[1] = 0;
|
||||
out->unused[2] = 0;
|
||||
out->max_write = buf_size - sizeof(struct fuse_in_header)
|
||||
- sizeof(struct fuse_write_in) - 4095;
|
||||
if (in->minor > FUSE_KERNEL_MINOR_VERSION) {
|
||||
out->minor = FUSE_KERNEL_MINOR_VERSION;
|
||||
} else {
|
||||
out->minor = in->minor;
|
||||
}
|
||||
out->max_readahead = 0;
|
||||
out->flags = 0;
|
||||
out->max_background = 0;
|
||||
out->congestion_threshold = 0;
|
||||
out->max_write = buf_size - 1024;
|
||||
|
||||
return sizeof(struct fuse_out_header) + sizeof(struct fuse_init_out);
|
||||
}
|
||||
@ -644,15 +715,16 @@ fuse_init(void)
|
||||
static uint32_t
|
||||
fuse_lookup(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
char * name = (char *) (buf + sizeof(struct fuse_in_header));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_entry_out *out = (struct fuse_entry_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
char * name = upcall;
|
||||
struct fuse_entry_out *out = (struct fuse_entry_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_LOOKUP:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, %s",
|
||||
(unsigned long long) ih->nodeid, name);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_LOOKUP %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " %s", name);
|
||||
}
|
||||
|
||||
dav_node *node = NULL;
|
||||
@ -666,7 +738,7 @@ fuse_lookup(void)
|
||||
return sizeof(struct fuse_out_header);
|
||||
}
|
||||
|
||||
out->nodeid = (size_t) node;
|
||||
out->nodeid = (uint64_t) ((size_t) node);
|
||||
out->generation = out->nodeid;
|
||||
out->entry_valid = 1;
|
||||
out->attr_valid = 1;
|
||||
@ -681,18 +753,18 @@ fuse_lookup(void)
|
||||
static uint32_t
|
||||
fuse_mkdir(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_mkdir_in *in = (struct fuse_mkdir_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
char *name = (char *) (buf + sizeof(struct fuse_in_header)
|
||||
+ sizeof(struct fuse_mkdir_in));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_entry_out *out = (struct fuse_entry_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
struct fuse_mkdir_in *in = (struct fuse_mkdir_in *) upcall;
|
||||
char *name = upcall + sizeof(struct fuse_mkdir_in);
|
||||
struct fuse_entry_out *out = (struct fuse_entry_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_MKDIR:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, %s",
|
||||
(unsigned long long) ih->nodeid, name);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_MKDIR %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " m=0%o um=0%o %s",
|
||||
in->mode, in->umask, name);
|
||||
}
|
||||
|
||||
dav_node *node = NULL;
|
||||
@ -721,18 +793,18 @@ fuse_mkdir(void)
|
||||
static uint32_t
|
||||
fuse_mknod(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_mknod_in *in = (struct fuse_mknod_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
char *name = (char *) (buf + sizeof(struct fuse_in_header)
|
||||
+ sizeof(struct fuse_mknod_in));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_entry_out *out = (struct fuse_entry_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
struct fuse_mknod_in *in = (struct fuse_mknod_in *) upcall;
|
||||
char *name = upcall + sizeof(struct fuse_mknod_in);
|
||||
struct fuse_entry_out *out = (struct fuse_entry_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_MKNOD:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, m 0%o",
|
||||
(unsigned long long) ih->nodeid, in->mode);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_MKNOD %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " m=0%o r=%u um=0%o",
|
||||
in->mode, in->rdev, in->umask);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " %s", name);
|
||||
}
|
||||
|
||||
@ -767,20 +839,24 @@ fuse_mknod(void)
|
||||
static uint32_t
|
||||
fuse_open(void)
|
||||
{
|
||||
struct fuse_in_header *ih= (struct fuse_in_header *) buf;
|
||||
struct fuse_open_in *in = (struct fuse_open_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_open_out *out = (struct fuse_open_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
struct fuse_open_in *in = (struct fuse_open_in *) upcall;
|
||||
struct fuse_open_out *out = (struct fuse_open_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
if (ih->opcode == FUSE_OPENDIR) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_OPENDIR:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_OPENDIR %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
} else {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_OPEN:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_OPEN %llu: n=0x%llx",
|
||||
(unsigned long long) ih-> unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
}
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, f 0%o",
|
||||
(unsigned long long) ih->nodeid, in->flags);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " f=0x%x", in->flags);
|
||||
}
|
||||
|
||||
int fd = 0;
|
||||
@ -800,6 +876,7 @@ fuse_open(void)
|
||||
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " fd %i", fd);
|
||||
|
||||
return sizeof(struct fuse_out_header) + sizeof(struct fuse_open_out);
|
||||
}
|
||||
|
||||
@ -807,21 +884,27 @@ fuse_open(void)
|
||||
static uint32_t
|
||||
fuse_read(void)
|
||||
{
|
||||
struct fuse_in_header *ih= (struct fuse_in_header *) buf;
|
||||
struct fuse_read_in *in = (struct fuse_read_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_read_in *in = (struct fuse_read_in *) upcall;
|
||||
|
||||
if (debug) {
|
||||
if (ih->opcode == FUSE_READDIR) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_READDIR:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_READDIR %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
} else {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_READ:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_READ %llu: n=0x%llx",
|
||||
(unsigned long long) ih-> unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
}
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, fd %llu",
|
||||
(unsigned long long) ih->nodeid, (unsigned long long) in->fh);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i", ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " size %u, off %llu",
|
||||
in->size, (unsigned long long) in->offset);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " fh=%llu, off=%llu, sz=%u",
|
||||
(unsigned long long) in->fh, (unsigned long long) in->offset,
|
||||
in->size);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " rf=0x%x, f=0x%x",
|
||||
in->read_flags, in->flags);
|
||||
}
|
||||
|
||||
if (in->size > (buf_size - sizeof(struct fuse_out_header))) {
|
||||
@ -831,8 +914,7 @@ fuse_read(void)
|
||||
|
||||
ssize_t len;
|
||||
oh->error = dav_read(&len, (dav_node *) ((size_t) ih->nodeid),
|
||||
in->fh, buf + sizeof(struct fuse_out_header),
|
||||
in->size, in->offset);
|
||||
in->fh, reply, in->size, in->offset);
|
||||
|
||||
if (oh->error)
|
||||
oh->error *= -1;
|
||||
@ -844,20 +926,24 @@ fuse_read(void)
|
||||
static uint32_t
|
||||
fuse_release(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_release_in *in = (struct fuse_release_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_release_in *in = (struct fuse_release_in *) upcall;
|
||||
|
||||
if (debug) {
|
||||
if (ih->opcode == FUSE_RELEASEDIR) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_RELEASEDIR:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_RELEASEDIR %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
} else {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_RELEASE:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||
"FUSE_RELEASE %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
}
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, f 0%o",
|
||||
(unsigned long long) ih->nodeid, in->flags);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, fd %llu",
|
||||
ih->pid, (unsigned long long) in->fh);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " fh=%llu, f=0x%x, rf=0x%x",
|
||||
(unsigned long long) in->fh, in->flags, in->release_flags);
|
||||
}
|
||||
|
||||
oh->error = dav_close((dav_node *) ((size_t) ih->nodeid), in->fh,
|
||||
@ -873,18 +959,18 @@ fuse_release(void)
|
||||
static uint32_t
|
||||
fuse_rename(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_rename_in *in = (struct fuse_rename_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
char *old = (char *) (buf + sizeof(struct fuse_in_header)
|
||||
+ sizeof(struct fuse_rename_in));
|
||||
struct fuse_rename_in *in = (struct fuse_rename_in *) upcall;
|
||||
char *old = upcall + sizeof(struct fuse_rename_in);
|
||||
char *new = old + strlen(old) + 1;
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_RENAME:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " sp 0x%llx, %s",
|
||||
(unsigned long long) ih->nodeid, old);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " dp 0x%llx, %s",
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_RENAME %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " %s", old);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n=0x%llx %s",
|
||||
(unsigned long long) in->newdir, new);
|
||||
}
|
||||
|
||||
@ -903,22 +989,21 @@ fuse_rename(void)
|
||||
static uint32_t
|
||||
fuse_setattr(void)
|
||||
{
|
||||
struct fuse_in_header *ih = (struct fuse_in_header *) buf;
|
||||
struct fuse_setattr_in *in = (struct fuse_setattr_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_attr_out *out = (struct fuse_attr_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
struct fuse_setattr_in *in = (struct fuse_setattr_in *) upcall;
|
||||
struct fuse_attr_out *out = (struct fuse_attr_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_SETATTR:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, m 0%o",
|
||||
(unsigned long long) ih->nodeid, in->mode);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " uid %i, gid %i",
|
||||
in->uid, in->gid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " sz %llu, at %llu,",
|
||||
(unsigned long long) in->size, (unsigned long long) in->atime);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " mt %llu",
|
||||
(unsigned long long) in->mtime);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_SETATTR %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " v=0x%x sz=%llu",
|
||||
in->valid, (unsigned long long) in->size);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " at=%llu mt=%llu",
|
||||
(unsigned long long) in->atime, (unsigned long long) in->mtime);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " m=0%o uid=%u gid=%u",
|
||||
in->mode, in->uid, in->gid);
|
||||
}
|
||||
|
||||
oh->error = dav_setattr((dav_node *) ((size_t) ih->nodeid), ih->uid,
|
||||
@ -946,11 +1031,15 @@ fuse_setattr(void)
|
||||
static uint32_t
|
||||
fuse_stat(void)
|
||||
{
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_statfs_out *out = (struct fuse_statfs_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_STATFS:");
|
||||
struct fuse_statfs_out *out = (struct fuse_statfs_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_STATFS %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
}
|
||||
|
||||
dav_stat *st = dav_statfs();
|
||||
if (!st) {
|
||||
@ -988,20 +1077,20 @@ fuse_stat(void)
|
||||
static uint32_t
|
||||
fuse_write(void)
|
||||
{
|
||||
struct fuse_in_header *ih= (struct fuse_in_header *) buf;
|
||||
struct fuse_write_in *in = (struct fuse_write_in *)
|
||||
(buf + sizeof(struct fuse_in_header));
|
||||
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
|
||||
struct fuse_write_out *out = (struct fuse_write_out *)
|
||||
(buf + sizeof(struct fuse_out_header));
|
||||
struct fuse_write_in *in = (struct fuse_write_in *) upcall;
|
||||
struct fuse_write_out *out = (struct fuse_write_out *) reply;
|
||||
|
||||
if (debug) {
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_WRITE:");
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, fd %llu",
|
||||
(unsigned long long) ih->nodeid, (unsigned long long) in->fh);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, flags 0%o",
|
||||
ih->pid, in->write_flags);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " size %u, off %llu",
|
||||
in->size, (unsigned long long) in->offset);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_WRITE %llu: n=0x%llx",
|
||||
(unsigned long long) ih->unique,
|
||||
(unsigned long long) ih->nodeid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " u=%u g=%u p=%u",
|
||||
ih->uid, ih->gid, ih->pid);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " fh=%llu, off=%llu, sz=%u",
|
||||
(unsigned long long) in->fh, (unsigned long long) in->offset,
|
||||
in->size);
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " wf=0x%x, f=0x%x",
|
||||
in->write_flags, in->flags);
|
||||
}
|
||||
|
||||
if (in->size > (buf_size - sizeof(struct fuse_in_header)
|
||||
@ -1012,8 +1101,7 @@ fuse_write(void)
|
||||
|
||||
size_t size;
|
||||
oh->error = dav_write(&size, (dav_node *) ((size_t) ih->nodeid),
|
||||
in->fh, buf + sizeof(struct fuse_in_header)
|
||||
+ sizeof(struct fuse_write_in),
|
||||
in->fh, upcall + sizeof(struct fuse_write_in),
|
||||
in->size, in->offset);
|
||||
|
||||
if (oh->error) {
|
||||
@ -1027,6 +1115,17 @@ fuse_write(void)
|
||||
return sizeof(struct fuse_out_header) + sizeof(struct fuse_write_out);
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
not_implemented(const char *msg)
|
||||
{
|
||||
if (debug)
|
||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "%s", msg);
|
||||
|
||||
oh->error = -ENOSYS;
|
||||
|
||||
return sizeof(struct fuse_out_header);
|
||||
}
|
||||
|
||||
|
||||
/* Auxiliary functions. */
|
||||
|
||||
@ -1101,4 +1200,7 @@ set_attr(struct fuse_attr *attr, const dav_node *node)
|
||||
attr->uid = node->uid;
|
||||
attr->gid = node->gid;
|
||||
attr->rdev = 0;
|
||||
/* TODO: set blocksize */
|
||||
attr->blksize = 0;
|
||||
attr->padding = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user