3 require_once("lib.php");
7 // this functiuon will now act as our generic send/recieve client funciton
8 // im doing this because im going to move from ipc messaging to a tcp connection
9 // shortly and i want to encapsulate the send/receive behaviour
10 function sendReceive($message_type, $message) {
11 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
14 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
18 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
21 // TODO we need to setup a client queue sem lock here
23 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
24 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
26 msg_send($sr_queue, $message_type, $message, true, true, $msg_err);
27 msg_receive($cl_queue, 0, $msg_type, 131072, $msg);
32 function addRadiusClient($clientname, $clientip, $clientsecret, $clientdesc) {
34 $message["clientname"] = $clientname;
35 $message["clientsecret"] = $clientsecret;
36 $message["clientip"] = $clientip;
37 $message["clientdescription"] = $clientdesc;
39 return $this->sendReceive(MSG_ADD_RADIUS_CLIENT, $message);
42 function deleteRadiusClient($clientname) {
43 $message["clientname"] = $clientname;
45 return $this->sendReceive(MSG_REMOVE_RADIUS_CLIENT, $message);
49 function getRadiusClients() {
50 return $this->sendReceive(MSG_GET_RADIUS_CLIENTS, "");
54 function syncUserToken($username, $tokenone, $tokentwo) {
55 $message["username"] = $username;
56 $message["tokenone"] = $tokenone;
57 $message["tokentwo"] = $tokentwo;
59 return $this->sendReceive(MSG_SYNC_TOKEN, $messgae);
62 function getUserTokenType($username) {
63 $message["username"] = $username;
65 return $this->sendReceive(MSG_GET_TOKEN_TYPE, $message);
68 function setUserToken($username, $token) {
69 $message["username"] = $username;
70 $message["tokenstring"] = $token;
72 return $this->sendReceive(MSG_GET_USER_TOKEN, $message);
75 function setUserPass($username, $password) {
76 $message["username"] = $username;
77 $message["password"] = $password;
79 return $this->sendReceive(MSG_SET_USER_PASSWORD, $message);
82 function getOtkID($username) {
83 $message["username"] = $username;
85 return $this->sendReceive(MSG_GET_OTK_ID, $message);
88 function getOtkPng($username, $otk) {
89 $message["otk"] = $otk;
90 $message["username"] = $username;
92 return $this->sendReceive(MSG_GET_OTK_PNG, $message);
95 function authUserPass($username, $password) {
96 $message["username"] = $username;
97 $message["password"] = $password;
99 return $this->sendReceive(MSG_AUTH_USER_PASSWORD, $message);
102 function deleteUser($username) {
103 $message["username"] = $username;
105 return $this->sendReceive(MSG_DELETE_USER, $message);
108 function setUserRealName($username, $realname) {
109 $message["username"] = $username;
110 $message["realname"] = $realname;
112 return $this->sendReceive(MSG_SET_USER_REALNAME, $message);
115 function getUsers() {
116 return $this->sendReceive(MSG_GET_USERS, "");
119 function authUserToken($username, $passcode) {
120 $message["username"] = $username;
121 $message["passcode"] = $passcode;
123 return $this->sendReceive(MSG_AUTH_USER_TOKEN, $message);
126 function deleteUserToken($username) {
127 $message["username"] = $username;
129 return $this->sendReceive(MSG_DELETE_USER_TOKEN, $message);
132 function addUser($username, $tokentype="", $hexkey="") {
133 $message["username"] = $username;
134 if($tokentype!="") $message["tokentype"] = $tokentype;
135 if($hexkey!="") $message["hexkey"] = $hexkey;
137 return $this->sendReceive(MSG_ADD_USER_TOKEN, $message);
140 function setUserTokenType($username, $tokentype) {
141 $message["username"] = $username;
142 $message["tokentype"] = $tokentype;
144 return $this->sendReceive(MSG_SET_USER_TOKEN_TYPE, $message);