Radius clients
[ga4php.git] / authserver / lib / authClient.php
1 <?php
2
3 require_once("lib.php");
4
5 class GAAuthClient {
6         function addRadiusClient($clientname, $clientip, $clientsecret, $clientdesc) {
7                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
8                 
9                 
10                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
11                         return false;
12                 }
13
14                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
15                         return false;
16                 }
17                 // TODO we need to setup a client queue sem lock here
18                 
19                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
20                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
21                 
22         
23                 $message["clientname"] = $clientname;
24                 $message["clientsecret"] = $clientsecret;
25                 $message["clientip"] = $clientip;
26                 $message["clientdescription"] = $clientdesc;
27                 
28                 msg_send($sr_queue, MSG_ADD_RADIUS_CLIENT, $message, true, true, $msg_err);
29                 
30                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
31                 return $msg;
32         }
33
34         function deleteRadiusClient($clientname) {
35                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
36                 
37                 
38                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
39                         return false;
40                 }
41
42                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
43                         return false;
44                 }
45                 // TODO we need to setup a client queue sem lock here
46                 
47                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
48                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
49                 
50         
51                 $message["clientname"] = $clientname;
52                 msg_send($sr_queue, MSG_REMOVE_RADIUS_CLIENT, $message, true, true, $msg_err);
53                 
54                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
55                 return $msg;
56         }
57         
58         function getRadiusClients() {
59                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
60                 
61                 
62                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
63                         return false;
64                 }
65
66                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
67                         return false;
68                 }
69                 // TODO we need to setup a client queue sem lock here
70                 
71                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
72                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
73                 
74         
75                 msg_send($sr_queue, MSG_GET_RADIUS_CLIENTS, "", true, true, $msg_err);
76                 
77                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
78                 return $msg;
79         }
80         
81         
82         function syncUserToken($username, $tokenone, $tokentwo) {
83                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
84                 
85                 
86                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
87                         return false;
88                 }
89
90                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
91                         return false;
92                 }
93                 // TODO we need to setup a client queue sem lock here
94                 
95                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
96                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
97                 
98                 $message["username"] = $username;
99                 $message["tokenone"] = $tokenone;
100                 $message["tokentwo"] = $tokentwo;
101
102                 msg_send($sr_queue, MSG_SYNC_TOKEN, $message, true, true, $msg_err);
103                 
104                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
105                 return $msg;
106         }
107         
108         function getUserTokenType($username) {
109                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
110                 
111                 
112                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
113                         return false;
114                 }
115
116                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
117                         return false;
118                 }
119                 // TODO we need to setup a client queue sem lock here
120                 
121                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
122                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
123                 
124                 $message["username"] = $username;
125                 msg_send($sr_queue, MSG_GET_TOKEN_TYPE, $message, true, true, $msg_err);
126                 
127                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
128                 return $msg;            
129         }
130         
131         function setUserToken($username, $token) {
132                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
133                 
134                 
135                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
136                         return false;
137                 }
138
139                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
140                         return false;
141                 }
142                 // TODO we need to setup a client queue sem lock here
143                 
144                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
145                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
146                 
147                 $message["username"] = $username;
148                 $message["tokenstring"] = $token;
149                 
150                 msg_send($sr_queue, MSG_SET_USER_TOKEN, $message, true, true, $msg_err);
151                 
152                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
153                 return $msg;            
154         }
155         
156         function setUserPass($username, $password) {
157                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
158                 
159                 
160                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
161                         return false;
162                 }
163
164                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
165                         return false;
166                 }
167                 // TODO we need to setup a client queue sem lock here
168                 
169                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
170                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
171
172                 $message["username"] = $username;
173                 $message["password"] = $password;
174                 
175                 msg_send($sr_queue, MSG_SET_USER_PASSWORD, $message, true, true, $msg_err);
176                 
177                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
178
179                 return $msg;
180         }
181         
182         function getOtkID($username) {
183                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
184                 
185                 
186                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
187                         return false;
188                 }
189
190                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
191                         return false;
192                 }
193                 // TODO we need to setup a client queue sem lock here
194                 
195                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
196                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
197
198                 $message["username"] = $username;
199                 msg_send($sr_queue, MSG_GET_OTK_ID, $message, true, true, $msg_err);
200                 
201                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
202                 
203                 return $msg;
204                 
205         }
206         
207         function getOtkPng($username, $otk) {
208                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
209                 
210                 
211                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
212                         return false;
213                 }
214
215                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
216                         return false;
217                 }
218                 // TODO we need to setup a client queue sem lock here
219                 
220                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
221                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
222
223                 $message["otk"] = $otk;
224                 $message["username"] = $username;
225                 error_log("sending message, $otk");
226                 msg_send($sr_queue, MSG_GET_OTK_PNG, $message, true, true, $msg_err);
227                 
228                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
229                 
230                 return $msg;
231                 
232         }
233         
234         function authUserPass($username, $password) {
235                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
236                 
237                 
238                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
239                         return false;
240                 }
241
242                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
243                         return false;
244                 }
245                 // TODO we need to setup a client queue sem lock here
246                 
247                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
248                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
249
250                 $message["username"] = $username;
251                 $message["password"] = $password;
252                 
253                 msg_send($sr_queue, MSG_AUTH_USER_PASSWORD, $message, true, true, $msg_err);
254                 
255                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
256                 return $msg;            
257         }
258         
259         function deleteUser($username) {
260                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
261                 
262                 
263                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
264                         return false;
265                 }
266
267                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
268                         return false;
269                 }
270                 // TODO we need to setup a client queue sem lock here
271                 
272                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
273                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
274
275                 $message["username"] = $username;
276                 
277                 msg_send($sr_queue, MSG_DELETE_USER, $message, true, true, $msg_err);
278                 
279                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
280                 
281                 return $msg;
282                 
283         }
284         
285         function setUserRealName($username, $realname) {
286                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
287                 
288                 
289                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
290                         return false;
291                 }
292
293                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
294                         return false;
295                 }
296                 // TODO we need to setup a client queue sem lock here
297                 
298                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
299                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
300
301                 $message["username"] = $username;
302                 $message["realname"] = $realname;
303                 
304                 msg_send($sr_queue, MSG_SET_USER_REALNAME, $message, true, true, $msg_err);
305                 
306                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
307                 return $msg;            
308         }
309         
310         function getUsers() {
311                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
312                 
313                 
314                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
315                         return false;
316                 }
317
318                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
319                         return false;
320                 }
321                 // TODO we need to setup a client queue sem lock here
322                 
323                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
324                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
325                 
326                 msg_send($sr_queue, MSG_GET_USERS, "", true, true, $msg_err);
327                 
328                 msg_receive($cl_queue, 0, $msg_type, 524288, $msg);
329                 
330                 return $msg;
331         }
332         
333         function authUserToken($username, $passcode) {
334                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
335                 
336                 
337                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
338                         return false;
339                 }
340
341                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
342                         return false;
343                 }
344                 // TODO we need to setup a client queue sem lock here
345                 
346                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
347                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
348                 
349                 
350                 $message["username"] = $username;
351                 $message["passcode"] = $passcode;
352                 
353                 msg_send($sr_queue, MSG_AUTH_USER_TOKEN, $message, true, true, $msg_err);
354                 
355                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
356                 
357                 return $msg;
358         }
359         
360         function deleteUserToken($username) {
361                 
362                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
363                 
364                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
365                         return false;
366                 }
367
368                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
369                         return false;
370                 }
371                 
372                 // TODO we need to setup a client queue sem lock here
373                 
374                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
375                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
376                 
377                 
378                 $message["username"] = $username;
379                 
380                 msg_send($sr_queue, MSG_DELETE_USER_TOKEN, $message, true, true, $msg_err);
381                 
382                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
383                 
384                 return $msg;
385         }
386         
387         function addUser($username, $tokentype="", $hexkey="") {
388                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
389                 
390                 
391                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
392                         return false;
393                 }
394
395                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
396                         return false;
397                 }
398                 
399                 // TODO we need to setup a client queue sem lock here
400                 
401                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
402                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
403                 
404                 
405                 $message["username"] = $username;
406                 if($tokentype!="") $message["tokentype"] = $tokentype;
407                 if($hexkey!="") $message["hexkey"] = $hexkey;
408                 
409                 msg_send($sr_queue, MSG_ADD_USER_TOKEN, $message, true, true, $msg_err);
410                 
411                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
412                 
413                 return $msg;
414         }
415
416         function setUserTokenType($username, $tokentype) {
417                 global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
418                 
419                 
420                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_SERVER)) {
421                         return false;
422                 }
423
424                 if(!msg_queue_exists($MSG_QUEUE_KEY_ID_CLIENT)) {
425                         return false;
426                 }
427                 
428                 // TODO we need to setup a client queue sem lock here
429                 
430                 $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT);
431                 $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER);
432                 
433                 
434                 
435                 $message["username"] = $username;
436                 $message["tokentype"] = $tokentype;
437                 
438                 msg_send($sr_queue, MSG_SET_USER_TOKEN_TYPE, $message, true, true, $msg_err);
439                 
440                 msg_receive($cl_queue, 0, $msg_type, 16384, $msg);
441                 
442                 return $msg;
443                 
444         }
445 }
446
447 ?>