@@ -72,7 +72,12 @@ func main() {
7272 if len (passphrase ) == 0 {
7373 return errors .New (ErrNoPhassPhraseProvided )
7474 }
75- encryptBackup (filename , passphrase )
75+ err := encryptBackup (filename , passphrase )
76+ if err != nil {
77+ fmt .Println ("encryption failed: " + err .Error ())
78+ return err
79+ }
80+ fmt .Println ("encrypted export successful" )
7681 return nil
7782 },
7883 },
@@ -87,7 +92,12 @@ func main() {
8792 if len (filename ) == 0 {
8893 return errors .New (ErrNoFilenameProvided )
8994 }
90- decryptBackup (filename , passphrase )
95+ err := decryptBackup (filename , passphrase )
96+ if err != nil {
97+ fmt .Println ("encryption failed: " + err .Error ())
98+ return err
99+ }
100+ fmt .Println ("decryption successful" )
91101 return nil
92102 },
93103 },
@@ -103,68 +113,63 @@ func main() {
103113
104114}
105115
106- func encryptBackup (fileName , passphrase string ) {
116+ func encryptBackup (fileName , passphrase string ) error {
107117 if ! strings .HasSuffix (fileName , ".portwarden" ) {
108118 fileName += ".portwarden"
109119 }
110120
111121 pwes := []portwarden.PortWardenElement {}
112122 sessionKey , err := BWGetSessionKey ()
113123 if err != nil {
114- fmt .Println ("encryption failed: " + err .Error ())
115- return
124+ return err
116125 }
117126
118127 // save formmated json to "main.json"
119128 rawByte := BWListItemsRawBytes (sessionKey )
120129 if err := json .Unmarshal (rawByte , & pwes ); err != nil {
121- fmt .Println ("encryption failed: " + err .Error ())
122- return
130+ return err
123131 }
124132 err = BWGetAllAttachments (BackupFolderName , sessionKey , pwes )
125133 if err != nil {
126- fmt .Println ("encryption failed: " + err .Error ())
127- return
134+ return err
128135 }
129136 formattedByte := pretty .Pretty (rawByte )
130137 if err := ioutil .WriteFile (BackupFolderName + "main.json" , formattedByte , 0644 ); err != nil {
131- fmt .Println ("encryption failed: " + err .Error ())
132- return
138+ return err
133139 }
134140
135141 var b bytes.Buffer
136142 writer := bufio .NewWriter (& b )
137143 err = archiver .Zip .Write (writer , []string {BackupFolderName })
138144 if err != nil {
139- fmt .Println ("encryption failed: " + err .Error ())
140- return
145+ return err
141146 }
142147
143148 // derive a key from the master password
144149 err = portwarden .EncryptFile (fileName , b .Bytes (), passphrase )
145150 if err != nil {
146- fmt .Println ("encryption failed: " + err .Error ())
147- return
151+ return err
148152 }
149153
150154 // cleanup: delete temporary files
151155 err = os .RemoveAll (BackupFolderName )
152156 if err != nil {
153- fmt .Println ("encryption failed: " + err .Error ())
154- return
157+ return err
155158 }
159+ return nil
156160}
157161
158- func decryptBackup (fileName , passphrase string ) {
162+ func decryptBackup (fileName , passphrase string ) error {
159163 tb , err := portwarden .DecryptFile (fileName , passphrase )
160164 if err != nil {
161165 fmt .Println ("decryption failed: " + err .Error ())
162- return
166+ return err
163167 }
164168 if err := ioutil .WriteFile (fileName + ".decrypted" + ".zip" , tb , 0644 ); err != nil {
165169 fmt .Println ("decryption failed: " + err .Error ())
166- return
170+ return err
167171 }
172+ return nil
168173}
169174
170175func extractSessionKey (stdout string ) (string , error ) {
0 commit comments