added bug monkeysphere-gen-subkey-treats-revoked-auth-subkey-as-valid
[monkeysphere.git] / src / common
index f93793e65958768ab7e7dc3d3848339803d41ba3..3b3b7a51f3b8daac02ddf018d1ae22ea2fa1c3aa 100644 (file)
@@ -4,6 +4,8 @@
 #
 # Written by
 # Jameson Rollins <jrollins@fifthhorseman.net>
+# Jamie McClelland <jm@mayfirst.org>
+# Daniel Kahn Gillmor <dkg@fifthhorseman.net>
 #
 # Copyright 2008, released under the GPL, version 3 or later
 
@@ -33,6 +35,14 @@ log() {
     local priority
     local level
     local output
+    local alllevels
+    local found=
+
+    # don't include SILENT in alllevels: it's handled separately
+    # list in decreasing verbosity (all caps).
+    # separate with $IFS explicitly, since we do some fancy footwork
+    # elsewhere.
+    alllevels="DEBUG${IFS}INFO${IFS}ERROR"
 
     # translate lowers to uppers in global log level
     LOG_LEVEL=$(echo "$LOG_LEVEL" | tr "[:lower:]" "[:upper:]")
@@ -42,16 +52,25 @@ log() {
        return
     fi
 
+    for level in $alllevels ; do 
+       if [ "$LOG_LEVEL" = "$level" ] ; then
+           found=true
+       fi
+    done
+    if [ -z "$found" ] ; then
+       # default to INFO:
+       LOG_LEVEL=INFO
+    fi
+
     # get priority from first parameter, translating all lower to
     # uppers
     priority=$(echo "$1" | tr "[:lower:]" "[:upper:]")
     shift
 
     # scan over available levels
-    # list in decreasing verbosity (all caps)
-    for level in DEBUG INFO ERROR ; do
+    for level in $alllevels ; do
        # output if the log level matches, set output to true
-       # this will output for all subsequenty loops as well.
+       # this will output for all subsequent loops as well.
        if [ "$LOG_LEVEL" = "$level" ] ; then
            output=true
        fi
@@ -466,7 +485,7 @@ process_user_id() {
 
     # if the gpg query return code is not 0, return 1
     if [ "$?" -ne 0 ] ; then
-        log error " no primary keys found."
+        log info " no primary keys found."
         return 1
     fi
 
@@ -483,7 +502,7 @@ process_user_id() {
                lastKeyOK=
                fingerprint=
 
-               log error " primary key found: $keyid"
+               log info " primary key found: $keyid"
 
                # if overall key is not valid, skip
                if [ "$validity" != 'u' -a "$validity" != 'f' ] ; then
@@ -532,7 +551,7 @@ process_user_id() {
                # output a line for the primary key
                # 0 = ok, 1 = bad
                if [ "$keyOK" -a "$uidOK" -a "$lastKeyOK" ] ; then
-                   log error "  * acceptable primary key."
+                   log info "  * acceptable primary key."
                    if [ -z "$sshKey" ] ; then
                        log error "    ! primary key could not be translated (not RSA or DSA?)."
                    else
@@ -588,7 +607,7 @@ process_user_id() {
                # output a line for the sub key
                # 0 = ok, 1 = bad
                if [ "$keyOK" -a "$uidOK" -a "$lastKeyOK" ] ; then
-                   log error "  * acceptable sub key."
+                   log info "  * acceptable sub key."
                    if [ -z "$sshKey" ] ; then
                        log error "    ! sub key could not be translated (not RSA or DSA?)."
                    else