X-Git-Url: http://git.pjr.cc/?p=ga4php.git;a=blobdiff_plain;f=archive%2Fauthserver_v1.0%2Flib%2Flib.php;fp=archive%2Fauthserver_v1.0%2Flib%2Flib.php;h=6ae1d813f63d3b34b406d7f589f99c3c16b9cb3b;hp=0000000000000000000000000000000000000000;hb=ee45b81ae7117097934cacc0c129565fddb49fc4;hpb=ac262b9b316777bed9e908b8b85200b8a14256f7 diff --git a/archive/authserver_v1.0/lib/lib.php b/archive/authserver_v1.0/lib/lib.php new file mode 100644 index 0000000..6ae1d81 --- /dev/null +++ b/archive/authserver_v1.0/lib/lib.php @@ -0,0 +1,183 @@ +query($sql); + foreach($res as $row) { + $cname = $row["rad_name"]; + $cip = $row["rad_ip"]; + $csec = $row["rad_secret"]; + $lines = "client $cname {\nipaddr = $cip\nsecret = $csec\nrequire_message_authenticator = no\n}\n\n"; + fwrite($hand, $lines); + } + fclose($hand); + // not yet + //system($reloadinit); +} + + +function getDatabase() +{ + $dbobject = false; + global $BASE_DIR; + if(file_exists("$BASE_DIR/authserver/authd/gaasdata.sqlite")) { + try { + $dbobject = new PDO("sqlite:$BASE_DIR/authserver/authd/gaasdata.sqlite"); + } catch(PDOException $exep) { + error_log("execpt on db open"); + } + } else { + try { + $dbobject = new PDO("sqlite:$BASE_DIR/authserver/authd/gaasdata.sqlite"); + } catch(PDOException $exep) { + error_log("execpt on db open"); + } + $sql = 'CREATE TABLE "users" ("users_id" INTEGER PRIMARY KEY AUTOINCREMENT,"users_username" TEXT, "users_realname" TEXT, "users_password" TEXT, "users_tokendata" TEXT, "users_otk" TEXT);'; + $dbobject->query($sql); + $sql = 'CREATE TABLE "radclients" ("rad_id" INTEGER PRIMARY KEY AUTOINCREMENT,"rad_name" TEXT, "rad_ip" TEXT, "rad_secret" TEXT, "rad_desc" TEXT);'; + $dbobject->query($sql); + $sql = 'CREATE TABLE "hardwaretokens" ("tok_id" INTEGER PRIMARY KEY AUTOINCREMENT,"tok_name" TEXT, "tok_key" TEXT, "tok_type" TEXT);'; + $dbobject->query($sql); + } + + return $dbobject; +} + +function closeDatabase($db) { + // doesnt do anything yet +} + +class gaasGA extends GoogleAuthenticator { + function getData($username) { + //echo "called into getdata\n"; + + // get our database connection + $dbObject = getDatabase(); + + // set the sql for retreiving the data + $sql = "select users_tokendata from users where users_username='$username'"; + + // run the query + $result = $dbObject->query($sql); + + // check the result + //echo "next1\n"; + if(!$result) return false; + + // now just retreieve all the data (there should only be one, but whatever) + //echo "next2\n"; + $tokendata = false; + foreach($result as $row) { + $tokendata = $row["users_tokendata"]; + } + + //echo "next3, $username, $tokendata\n"; + // now we have our data, we just return it. If we got no data + // we'll just return false by default + return $tokendata; + + // and there you have it, simple eh? + } + + + function putData($username, $data) { + // get our database connection + $dbObject = getDatabase(); + + // we need to check if the user exists, and if so put the data, if not create the data + $sql = "select * from users where users_username='$username'"; + $res = $dbObject->query($sql); + if($res->fetchColumn() > 0) { + // do update + //error_log("doing userdata update"); + $sql = "update users set users_tokendata='$data' where users_username='$username'"; + } else { + // do insert + //error_log("doing user data create"); + $sql = "insert into users values (NULL, '$username', '', '', '$data', '')"; + } + + if($dbObject->query($sql)) { + return true; + } else { + return false; + } + + } + + function getUsers() { + // get our database connection + $dbObject = getDatabase(); + + // now the sql again + $sql = "select users_username from users"; + + // run the query + $result = $dbObject->query($sql); + + // iterate over the results - we expect a simple array containing + // a list of usernames + $i = 0; + $users = array(); + foreach($result as $row) { + $users[$i] = $row["username"]; + $i++; + } + + // now return the list + return $users; + } +} + +?>