URI: 
       tttab - coffin - secure lan file storage on a device
  HTML git clone git://parazyd.org/coffin.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
       tttab (1844B)
       ---
            1 #!/usr/bin/env zsh
            2 #
            3 # Copyright (c) 2016 Dyne.org Foundation
            4 # coffin is written and maintained by Ivan J. <parazyd@dyne.org>
            5 #
            6 # This file is part of coffin
            7 #
            8 # This source code is free software: you can redistribute it and/or modify
            9 # it under the terms of the GNU General Public License as published by
           10 # the Free Software Foundation, either version 3 of the License, or
           11 # (at your option) any later version.
           12 #
           13 # This software is distributed in the hope that it will be useful,
           14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
           15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           16 # GNU General Public License for more details.
           17 #
           18 # You should have received a copy of the GNU General Public License
           19 # along with this source code. If not, see <http://www.gnu.org/licenses/>.
           20 
           21 update-tombs() {
           22         fn update-tombs $*
           23         req=(happ)
           24         local happ="$1"
           25         ckreq || return 1
           26 
           27         if [[ $happ == "add" ]]; then
           28                 print "${undertaker}:${keyhash}:${keyuuid}" >> $TOMBS && \
           29                         chmod 600 $TOMBS && \
           30                         act "Added info to $TOMBS"
           31 
           32         elif [[ $happ == "del" ]]; then
           33                 cp $TOMBS /tmp/$TMPTOMBS
           34                 grep -v "${keyhash}:${keyuuid}" /tmp/$TMPTOMBS > $TOMBS && \
           35                         chmod 600 $TOMBS && \
           36                         act "Removed from $TOMBS"
           37                 rm /tmp/$TMPTOMBS
           38         fi
           39 }
           40 
           41 ttab-magic() {
           42         fn ttab-magic
           43         freq=(TTAB)
           44         ckreq || return 1
           45 
           46         notice "Doing ttab magic..."
           47 
           48         local line=0
           49         for entry in $(cat $TTAB); do
           50                 let line=$line+1
           51                 act "Found line $line..."
           52 
           53                 [[ ${entry[(ws@:@)3]} == "true" ]] && {
           54                         act "Working on tomb from line $line"
           55 
           56                         undertaker=${entry[(ws@:@)1]}
           57                         tombid=${entry[(ws@:@)2]}
           58 
           59                         compare-key && {
           60                                 act "compare-key -> true"
           61                                 close-tomb
           62                                 update-tombs del
           63                                 continue }
           64 
           65                         act "compare-key -> false"
           66 
           67                         open-tomb
           68 
           69                         [[ -d "/media/$tombid" ]] && {
           70                                 chmod g+rw /media/$tombid
           71                                 update-tombs add
           72                         }
           73 
           74                         check-temptomb
           75                 }
           76         done
           77 }