From dcce9b6644f292c22484c58b77b5cac6f09947e5 Mon Sep 17 00:00:00 2001 From: Olov Danielson Date: Mon, 25 Jan 2010 18:01:30 +0000 Subject: [PATCH] . --- ykval-import.php | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/ykval-import.php b/ykval-import.php index 22b9b9d..97d2db0 100755 --- a/ykval-import.php +++ b/ykval-import.php @@ -34,22 +34,32 @@ while ($res=fscanf(STDIN, "%d\t%d\t%d\t%s\t%d\t%d\t%d\t%d\t%s\t%s\t")) { "yk_high"=>$res[7], "nonce"=>$res[8], "notes"=>$res[9]); - - $query="UPDATE yubikeys SET " . - "active='" . $params["active"] . "' " . - ",created='" . $params["created"] . "' " . - ",modified='" . $params["modified"] . "' " . - ",yk_counter='" . $params["yk_counter"] . "' " . - ",yk_use='" . $params["yk_use"] . "' " . - ",yk_low='" . $params["yk_low"] . "' " . - ",yk_high='" . $params["yk_high"] . "' " . - ",nonce='" . $params["nonce"] . "' " . - ",notes='" . $params["notes"] . "' " . - "WHERE yk_publicname='" . $params['yk_publicname'] . "' AND " . - "(".$params['yk_counter'].">yk_counter or (".$params['yk_counter']."=yk_counter and " . - $params['yk_use'] . ">yk_use))"; - - if(!$db->customQuery($query)) { + + + $query="SELECT * FROM yubikeys WHERE yk_publicname='" . $params['yk_publicname'] . "'"; + $result=$db->customQuery($query); + if($result->fetch(PDO::FETCH_ASSOC)) { + $query="UPDATE yubikeys SET " . + "active='" . $params["active"] . "' " . + ",created='" . $params["created"] . "' " . + ",modified='" . $params["modified"] . "' " . + ",yk_counter='" . $params["yk_counter"] . "' " . + ",yk_use='" . $params["yk_use"] . "' " . + ",yk_low='" . $params["yk_low"] . "' " . + ",yk_high='" . $params["yk_high"] . "' " . + ",nonce='" . $params["nonce"] . "' " . + ",notes='" . $params["notes"] . "' " . + "WHERE yk_publicname='" . $params['yk_publicname'] . "' AND " . + "(".$params['yk_counter'].">yk_counter or (".$params['yk_counter']."=yk_counter and " . + $params['yk_use'] . ">yk_use))"; + + if(!$db->customQuery($query)) { + $myLog->log(LOG_ERR, "Failed to update yk_publicname with query " . $query); + error_log("Failed to update yk_publicname with query " . $query); + exit(1); + } + + } else { // We didn't have the yk_publicname in database so we need to do insert instead $query="INSERT INTO yubikeys " . "(active,created,modified,yk_publicname,yk_counter,yk_use,yk_low,yk_high,nonce,notes) VALUES " . @@ -63,7 +73,7 @@ while ($res=fscanf(STDIN, "%d\t%d\t%d\t%s\t%d\t%d\t%d\t%d\t%s\t%s\t")) { "'" . $params['yk_high'] . "'," . "'" . $params['nonce'] . "'," . "'" . $params['notes'] . "')"; - + if(!$db->customQuery($query)){ $myLog->log(LOG_ERR, "Failed to insert new yk_publicname with query " . $query); error_log("Failed to insert new yk_publicname with query " . $query);