diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/configfile/kdf.go | 7 | ||||
| -rw-r--r-- | internal/prefer_openssl/prefer.go | 7 | ||||
| -rw-r--r-- | internal/toggledlog/log.go | 12 | 
3 files changed, 17 insertions, 9 deletions
| diff --git a/internal/configfile/kdf.go b/internal/configfile/kdf.go index f1a7a40..e77a743 100644 --- a/internal/configfile/kdf.go +++ b/internal/configfile/kdf.go @@ -1,13 +1,14 @@  package configfile  import ( -	"fmt" +	"log"  	"math"  	"os"  	"golang.org/x/crypto/scrypt"  	"github.com/rfjakob/gocryptfs/internal/cryptocore" +	"github.com/rfjakob/gocryptfs/internal/toggledlog"  )  const ( @@ -31,7 +32,7 @@ func NewScryptKdf(logN int) scryptKdf {  		s.N = 1 << ScryptDefaultLogN  	} else {  		if logN < 10 { -			fmt.Println("Error: scryptn below 10 is too low to make sense. Aborting.") +			toggledlog.Fatal.Println("Error: scryptn below 10 is too low to make sense. Aborting.")  			os.Exit(1)  		}  		s.N = 1 << uint32(logN) @@ -45,7 +46,7 @@ func NewScryptKdf(logN int) scryptKdf {  func (s *scryptKdf) DeriveKey(pw string) []byte {  	k, err := scrypt.Key([]byte(pw), s.Salt, s.N, s.R, s.P, s.KeyLen)  	if err != nil { -		panic(fmt.Sprintf("DeriveKey failed: %s", err.Error())) +		log.Panicf("DeriveKey failed: %v", err)  	}  	return k  } diff --git a/internal/prefer_openssl/prefer.go b/internal/prefer_openssl/prefer.go index 16788e0..0bc24b4 100644 --- a/internal/prefer_openssl/prefer.go +++ b/internal/prefer_openssl/prefer.go @@ -1,9 +1,10 @@  package prefer_openssl  import ( -	"fmt"  	"io/ioutil"  	"regexp" + +	"github.com/rfjakob/gocryptfs/internal/toggledlog"  )  // filePreferOpenSSL tells us if OpenSSL is faster than Go GCM on this machine. @@ -17,12 +18,12 @@ import (  func filePreferOpenSSL(file string) bool {  	ci, err := ioutil.ReadFile(file)  	if err != nil { -		fmt.Println(err) +		toggledlog.Warn.Println(err)  		return true  	}  	haveAes, err := regexp.Match(`(?m)^flags.*\baes\b`, ci)  	if err != nil { -		fmt.Println(err) +		toggledlog.Warn.Println(err)  		return true  	}  	return !haveAes diff --git a/internal/toggledlog/log.go b/internal/toggledlog/log.go index 7f437c8..23d7347 100644 --- a/internal/toggledlog/log.go +++ b/internal/toggledlog/log.go @@ -49,18 +49,24 @@ func (l *toggledLogger) Println(v ...interface{}) {  	}  } -// As defined by http://elinux.org/Debugging_by_printing#Log_Levels  // Debug messages +// Can be enabled by passing "-d"  var Debug *toggledLogger -// Informational message e.g. startup information +// Informational message +// Can be disabled by passing "-q"  var Info *toggledLogger -// A warning, meaning nothing serious by itself but might indicate problems +// A warning, meaning nothing serious by itself but might indicate problems. +// Passing "-wpanic" will make this function panic after printing the message.  var Warn *toggledLogger +// Fatal error, we are about to exit +var Fatal *toggledLogger +  func init() {  	Debug = &toggledLogger{false, false, log.New(os.Stdout, "", 0)}  	Info = &toggledLogger{true, false, log.New(os.Stdout, "", 0)}  	Warn = &toggledLogger{true, false, log.New(os.Stderr, "", 0)} +	Fatal = &toggledLogger{true, false, log.New(os.Stderr, "", 0)}  } | 
