X-Git-Url: http://git.pjr.cc/?p=ga4php.git;a=blobdiff_plain;f=authserver%2Fusercmd.php;h=d24157e2ffa155cfd949934c31637a49f2473353;hp=289922ab6a66e4c4610dcc0aa14c7aa5b00dff9b;hb=ef29f029690b3717a15adac4397047d9836e647c;hpb=1065be060c1b237c4fcdfdef6e3e2ee663d1ca33 diff --git a/authserver/usercmd.php b/authserver/usercmd.php index 289922a..d24157e 100644 --- a/authserver/usercmd.php +++ b/authserver/usercmd.php @@ -35,41 +35,137 @@ if(!isset($argv[1])) { echo "\tsettoken: settoken - sets the key (hex) for a token\n"; echo "\tsettype: settype - sets a token type for a user\n"; echo "\tgetusers: getusers - gets a list of users\n"; + echo "\tgetotk: getotk - gets the OTKID for a key\n"; + echo "\tradauth: radauth - for radius, only returns a code\n"; + echo "\tsynctoken: synctoken - resync's a hotp token based on two token codes\n"; + echo "\ttokentype: tokentype - gets the token type for a user\n"; + echo "\taddradclient: addradclient \"\"- adds a radius client\n"; + echo "\trmradclient: rmradclient - removes a radius client with the name \n"; + echo "\tgetradclients: getradclients - returns a list of radius clients\n"; return 0; } switch($argv[1]) { + case "rmradclient": + $msg = $myAC->deleteRadiusClient($argv[2]); + if($msg) { + echo "Successfully deleted\n"; + } + break; + case "getradclients": + $msg = $myAC->getRadiusClients(); + foreach($msg as $client) { + if($client["desc"]=="") $desc = "no description set"; + else $desc = $client["desc"]; + echo $client["name"]." is ".$client["ip"].", $desc\n"; + } + break; + case "addradclient": + $msg = $myAC->addRadiusClient($argv[2], $argv[3], $argv[4], $argv[5]); + if($msg === true) { + echo "Added successfully\n"; + } else if ($msg == "name") { + echo "Client with same name exists already\n"; + } else if ($msg == "ip") { + echo "Client with same IP already exists\n"; + } + break; + case "tokentype": + $msg = $myAC->getUserTokenType($argv[2]); + echo "token type: $msg\n"; + break; + case "synctoken": + if($myAC->syncUserToken($argv[2], $argv[3], $argv[4])) { + echo "Token synced\n"; + } else { + echo "Token not synced\n"; + } + break; + case "radauth": + if($myAC->authUserToken($argv[2], $argv[3])==1) { + syslog(LOG_WARNING, "Got good request for user, ".$argv[2]); + exit(0); + } else { + syslog(LOG_WARNING, "Got bad request for user, ".$argv[2]); + exit(255); + } + break; + case "getotk": + $val = $myAC->getOtkID($argv[2]); + if($val === false) { + echo "Failure\n"; + } else { + echo "$val\n"; + } + break; case "auth": if($myAC->authUserToken($argv[2], $argv[3])==1) { - echo "Pass!"; + echo "Pass!\n"; } else { - echo "Fail!"; + echo "Fail!\n"; } break; case "add": $return = $myAC->addUser($argv[2]); - echo "Created user, ".$argv[2]." returned $return\n"; + if($return) { + echo "Created user, ".$argv[2]."\n"; + } else { + echo "Failed to create user, ".$argv[2]."\n"; + } + break; case "delete": - $myAC->deleteUser($argv[2]); + $res = $myAC->deleteUser($argv[2]); + if($res) { + echo "Deleted\n"; + } else { + echo "Failure?\n"; + } break; case "authpass": - $myAC->authUserPass($argv[2], $argv[3]); + $ret = $myAC->authUserPass($argv[2], $argv[3]); + if($ret) echo "Authenticated\n"; + else echo "Failed\n"; break; case "setpass": - $myAC->setUserPass($argv[2], $argv[3]); + $res = $myAC->setUserPass($argv[2], $argv[3]); + if($res) echo "Password Set\n"; + else echo "Failure?\n"; break; case "setname": - $myAC->setUserRealName($argv[2], $argv[3]); + $ret = $myAC->setUserRealName($argv[2], $argv[3]); + if($ret) echo "Real Name Set\n"; + else echo "Failure?\n"; break; case "settoken": - $myAC->setUserToken($argv[2], $argv[3]); + $ret = $myAC->setUserToken($argv[2], $argv[3]); + if($ret) echo "Token Set\n"; + else echo "Failure?\n"; break; case "settype": - $myAC->setUserTokenType($argv[2], $argv[3]); + $ret = $myAC->setUserTokenType($argv[2], $argv[3]); + if($ret) echo "Token Type Set\n"; + else echo "Failure?\n"; break; case "getusers": - $myAC->getUsers(); + $users = $myAC->getUsers(); + foreach($users as $user) { + if($user["realname"] != "") $realname = $user["realname"]; + else $realname = "- Not Set -"; + + if($user["haspass"]) $haspass = "Yes"; + else $haspass = "No"; + + if($user["hastoken"]) $hastoken = "Yes"; + else $hastoken = "No"; + + echo "Username: ".$user["username"]."\n"; + echo "\tReal Name: ".$realname."\n"; + echo "\tHas Password?: ".$haspass."\n"; + echo "\tHas Token?: ".$hastoken."\n\n"; + } break; + default: + echo "See the usage...\n"; } ?> \ No newline at end of file