itwebdav implementation - coffin - secure lan file storage on a device Err parazyd.org 70 hgit clone git://parazyd.org/coffin.git URL:git://parazyd.org/coffin.git parazyd.org 70 1Log /git/coffin/log.gph parazyd.org 70 1Files /git/coffin/files.gph parazyd.org 70 1Refs /git/coffin/refs.gph parazyd.org 70 1Submodules /git/coffin/file/.gitmodules.gph parazyd.org 70 1README /git/coffin/file/README.md.gph parazyd.org 70 1LICENSE /git/coffin/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 490b71a2cd862f90538d3cf1ea5b26d6124881c4 /git/coffin/commit/490b71a2cd862f90538d3cf1ea5b26d6124881c4.gph parazyd.org 70 1parent 6220dc5a83eeff6355d94ce2b4243b8d932cd83c /git/coffin/commit/6220dc5a83eeff6355d94ce2b4243b8d932cd83c.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Mon, 7 Mar 2016 20:52:08 +0100 Err parazyd.org 70 i Err parazyd.org 70 iwebdav implementation Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M bin/sacrist | 17 ++++++++++++++++- Err parazyd.org 70 i M gmakehook | 41 +++++++++++++++++++++++++++++++ Err parazyd.org 70 i Err parazyd.org 70 i2 files changed, 57 insertions(+), 1 deletion(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/bin/sacrist b/bin/sacrist /git/coffin/file/bin/sacrist.gph parazyd.org 70 it@@ -110,6 +110,7 @@ _ttabmagic() { Err parazyd.org 70 i sudo -u $undertaker $tomb open $graveyard/$tombid.tomb -k $coffindot/$tombid.key \ Err parazyd.org 70 i --unsafe --tomb-pwd "$keypass" Err parazyd.org 70 i Err parazyd.org 70 i+ chmod g+rw /media/$tombid Err parazyd.org 70 i if [[ -d "/media/$tombid" ]]; then Err parazyd.org 70 i print "$undertaker:$keyhash:$keyuuid" >> $tombs && chmod 600 $tombs && _msg info "Added info to $tombs" Err parazyd.org 70 i else Err parazyd.org 70 it@@ -142,6 +143,20 @@ _create_new_tomb() { Err parazyd.org 70 i _msg warn "User $undertaker exists. Continuing..." Err parazyd.org 70 i fi Err parazyd.org 70 i Err parazyd.org 70 i+ if [[ $entry =~ webdav && -f $coffindot/webdav.conf ]]; then Err parazyd.org 70 i+ _msg info "Found WebDAV data. Setting up..." Err parazyd.org 70 i+ cat $coffindot/davinfo >> /etc/apache2/davpasswd Err parazyd.org 70 i+ _msg info "Wrote to davpasswd" Err parazyd.org 70 i+ sed -i -e :a -e '$d;N;2,3ba' -e 'P;D' /etc/apache2/sites-available/tomboxdav.conf Err parazyd.org 70 i+ cat webdav.conf >> /etc/apache2/sites-available/tomboxdav.conf Err parazyd.org 70 i+ _msg info "Wrote to tomboxdav.conf" Err parazyd.org 70 i+ gpasswd -a www-data $undertaker Err parazyd.org 70 i+ /etc/init.d/apache2 restart Err parazyd.org 70 i+ _msg info "Done setting up WebDAV!" Err parazyd.org 70 i+ else Err parazyd.org 70 i+ _msg info "No WebDAV data found. Continuing..." Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i sudo -u $undertaker $tomb dig -s $tombsize $graveyard/$tombid.tomb Err parazyd.org 70 i sudo -u $undertaker $tomb forge $graveyard/$tombid.key --unsafe --tomb-pwd "$keypass" Err parazyd.org 70 i sudo -u $undertaker $tomb lock $graveyard/$tombid.tomb -k $graveyard/$tombid.key \ Err parazyd.org 70 it@@ -149,7 +164,7 @@ _create_new_tomb() { Err parazyd.org 70 i Err parazyd.org 70 i mv $graveyard/$tombid.key $coffindot/ && chown $undertaker:$undertaker $coffindot/$tombid.key && \ Err parazyd.org 70 i _msg info "Moved and chowned keyfile" Err parazyd.org 70 i- print "$undertaker:${tombid}:true" >> $ttab Err parazyd.org 70 i+ print "${undertaker}:${tombid}:true" >> $ttab Err parazyd.org 70 i keyhash=$(_hashkey) Err parazyd.org 70 i print "${keyhash}:${keypass}" >> $tombpasswd Err parazyd.org 70 i _msg info "Wrote to $ttab and $tombpasswd" Err parazyd.org 70 1diff --git a/gmakehook b/gmakehook /git/coffin/file/gmakehook.gph parazyd.org 70 it@@ -230,6 +230,35 @@ function _mountkey { Err parazyd.org 70 i fi Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i+# {{{ _writedavinfo Err parazyd.org 70 i+function _writedavinfo { Err parazyd.org 70 i+ if [[ -n $davpass ]]; then Err parazyd.org 70 i+ davinfo=$(echo -n "$UNDERTAKER:WebDAV:" \ Err parazyd.org 70 i+ && echo -n "$UNDERTAKER:WebDAV:$davpass" \ Err parazyd.org 70 i+ | md5sum \ Err parazyd.org 70 i+ | awk '{print $1}') Err parazyd.org 70 i+ print $davinfo > $coffindot/davinfo Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ cat < $coffindot/webdav.conf Err parazyd.org 70 i+ Err parazyd.org 70 i+ alias /${TOMBNAME} /media/${TOMBNAME} Err parazyd.org 70 i+ Err parazyd.org 70 i+ Dav On Err parazyd.org 70 i+ AllowOverride none Err parazyd.org 70 i+ Options Indexes FollowSymlinks Err parazyd.org 70 i+ AuthType Digest Err parazyd.org 70 i+ AuthName WebDAV Err parazyd.org 70 i+ AuthUserFile /etc/apache2/davpasswd Err parazyd.org 70 i+ Require user ${UNDERTAKER} Err parazyd.org 70 i+ Err parazyd.org 70 i+ Err parazyd.org 70 i+ Err parazyd.org 70 i+ Err parazyd.org 70 i+EOF Err parazyd.org 70 i+} Err parazyd.org 70 i+# }}} Err parazyd.org 70 i+ Err parazyd.org 70 i function _main { Err parazyd.org 70 i _clean Err parazyd.org 70 i cmnd=$(zenity \ Err parazyd.org 70 it@@ -295,6 +324,16 @@ function _create { Err parazyd.org 70 i "FALSE" "ipfs") Err parazyd.org 70 i if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i Err parazyd.org 70 i+ if [[ $feats =~ "webdav" ]]; then Err parazyd.org 70 i+ _zenques "Do you already have a WebDAV login?" Err parazyd.org 70 i+ if [[ $? = 1 ]]; then Err parazyd.org 70 i+ davpass=$(_zenentry "WebDAV Password" \ Err parazyd.org 70 i+ "Insert the password you want to use for WebDAV login:" \ Err parazyd.org 70 i+ "my very strong password") Err parazyd.org 70 i+ if [[ $? = 1 ]]; then; davpass=""; fi Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i TOMBHOOKS=$(_zenques "Choose 'Yes' if you want to edit your tomb's bind-hooks and post-hooks") Err parazyd.org 70 i if [[ $? = 0 ]]; then Err parazyd.org 70 i bindhook=$(zenity \ Err parazyd.org 70 it@@ -336,6 +375,7 @@ function _create { Err parazyd.org 70 i _zeninfo "gmakehook" "Postponing..." && _umountkey && exec _main Err parazyd.org 70 i else Err parazyd.org 70 i print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${feats}" | sudo tee $hooks Err parazyd.org 70 i+ if [[ $feats =~ "webdav" ]]; then; _writedavinfo; fi Err parazyd.org 70 i if [[ -n $bindhook ]]; then Err parazyd.org 70 i print "$bindhook" | sudo tee $coffindot/bindhooks Err parazyd.org 70 i fi Err parazyd.org 70 it@@ -347,6 +387,7 @@ function _create { Err parazyd.org 70 i fi Err parazyd.org 70 i else Err parazyd.org 70 i print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${feats}" | sudo tee $hooks Err parazyd.org 70 i+ if [[ $feats =~ "webdav" ]]; then; _writedavinfo; fi Err parazyd.org 70 i if [[ -n $bindhook ]]; then Err parazyd.org 70 i print "$bindhook" | sudo tee $coffindot/bindhooks Err parazyd.org 70 i fi Err parazyd.org 70 .