f52221ae799e65816cec17b3700bce27929fe0f6
[ga4php.git] / authserver / lib / authClient.php
1 <?php
2
3 require_once("lib.php");
4
5 class GAAuthClient {
6         
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;
12                 
13                 
14                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
15                         return false;
16                 }
17
18                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
19                         return false;
20                 }
21                 // TODO we need to setup a client queue sem lock here
22                 
23                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
24                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
25                 
26                 msg_send($sr_queue, $message_type, $message, true, true, $msg_err);
27                 msg_receive($cl_queue, 0, $msg_type, 131072, $msg);
28                 
29                 return $msg;
30         }
31         
32         function addRadiusClient($clientname, $clientip, $clientsecret, $clientdesc) {
33         
34                 $message["clientname"] = $clientname;
35                 $message["clientsecret"] = $clientsecret;
36                 $message["clientip"] = $clientip;
37                 $message["clientdescription"] = $clientdesc;
38                 
39                 return $this->sendReceive(MSG_ADD_RADIUS_CLIENT, $message);
40         }
41
42         function deleteRadiusClient($clientname) {
43                 $message["clientname"] = $clientname;
44                 
45                 return $this->sendReceive(MSG_REMOVE_RADIUS_CLIENT, $message);
46                 
47         }
48         
49         function getRadiusClients() {
50                 return $this->sendReceive(MSG_GET_RADIUS_CLIENTS, "");
51         }
52         
53         
54         function syncUserToken($username, $tokenone, $tokentwo) {
55                 $message["username"] = $username;
56                 $message["tokenone"] = $tokenone;
57                 $message["tokentwo"] = $tokentwo;
58
59                 return $this->sendReceive(MSG_SYNC_TOKEN, $messgae);
60         }
61         
62         function getUserTokenType($username) {
63                 $message["username"] = $username;
64
65                 return $this->sendReceive(MSG_GET_TOKEN_TYPE, $message);                
66         }
67         
68         function setUserToken($username, $token) {
69                 $message["username"] = $username;
70                 $message["tokenstring"] = $token;
71                 
72                 return $this->sendReceive(MSG_GET_USER_TOKEN, $message);                
73         }
74         
75         function setUserPass($username, $password) {
76                 $message["username"] = $username;
77                 $message["password"] = $password;
78                 
79                 return $this->sendReceive(MSG_SET_USER_PASSWORD, $message);
80         }
81         
82         function getOtkID($username) {
83                 $message["username"] = $username;
84
85                 return $this->sendReceive(MSG_GET_OTK_ID, $message);
86         }
87         
88         function getOtkPng($username, $otk) {
89                 $message["otk"] = $otk;
90                 $message["username"] = $username;
91
92                 return $this->sendReceive(MSG_GET_OTK_PNG, $message);
93         }
94         
95         function authUserPass($username, $password) {
96                 $message["username"] = $username;
97                 $message["password"] = $password;
98                 
99                 return $this->sendReceive(MSG_AUTH_USER_PASSWORD, $message);            
100         }
101         
102         function deleteUser($username) {
103                 $message["username"] = $username;
104                 
105                 return $this->sendReceive(MSG_DELETE_USER, $message);
106         }
107         
108         function setUserRealName($username, $realname) {
109                 $message["username"] = $username;
110                 $message["realname"] = $realname;
111                 
112                 return $this->sendReceive(MSG_SET_USER_REALNAME, $message);             
113         }
114         
115         function getUsers() {
116                 return $this->sendReceive(MSG_GET_USERS, "");
117         }
118         
119         function authUserToken($username, $passcode) {
120                 $message["username"] = $username;
121                 $message["passcode"] = $passcode;
122                 
123                 return $this->sendReceive(MSG_AUTH_USER_TOKEN, $message);
124         }
125         
126         function deleteUserToken($username) {
127                 $message["username"] = $username;
128                 
129                 return $this->sendReceive(MSG_DELETE_USER_TOKEN, $message);
130         }
131         
132         function addUser($username, $tokentype="", $hexkey="") {
133                 $message["username"] = $username;
134                 if($tokentype!="") $message["tokentype"] = $tokentype;
135                 if($hexkey!="") $message["hexkey"] = $hexkey;
136                 
137                 return $this->sendReceive(MSG_ADD_USER_TOKEN, $message);
138         }
139
140         function setUserTokenType($username, $tokentype) {
141                 $message["username"] = $username;
142                 $message["tokentype"] = $tokentype;
143                 
144                 return $this->sendReceive(MSG_SET_USER_TOKEN_TYPE, $message);
145         }
146 }
147
148 ?>