more authserver code
[ga4php.git] / authserver / authd / authd.php
1 <?php
2
3 if(file_exists("config.php")) {
4         require_once("config.php");
5 } else {
6         // config file doesnt exist, we must abort sensibly
7 }
8
9 // get out master library for ga4php
10 require_once("../lib/lib.php");
11
12         
13 //exit(0);
14 // first we want to fork into the background like all good daemons should
15 //$pid = pcntl_fork();
16 $pid = 0;
17
18 if($pid == -1) {
19         
20 } else if($pid) {
21         // i am the parent, i shall leave
22         echo "i am a parent, i leave\n";
23         exit(0);
24 } else {
25         global $MSG_QUEUE_KEY_ID_SERVER, $MSG_QUEUE_KEY_ID_CLIENT;
26         
27         $cl_queue = msg_get_queue($MSG_QUEUE_KEY_ID_CLIENT, 0666 | 'IPC_CREAT');
28         $sr_queue = msg_get_queue($MSG_QUEUE_KEY_ID_SERVER, 0666 | 'IPC_CREAT');
29
30         $myga = new gaasGA();
31         global $myga;
32         
33         
34         print_r($myga);
35         
36         while(true) {
37                 msg_receive($sr_queue, 0, $msg_type, 16384, $msg);
38                 print_r($msg);
39                 switch($msg_type) {
40                         case MSG_AUTH_USER_TOKEN:
41                                 // minimal checking, we leav it up to authenticateUser to do the real
42                                 // checking
43                                 if(!isset($msg["user"])) $msg["user"] = "";
44                                 if(!isset($msg["passcode"])) $msg["passcode"] = "";
45                                 $username = $msg["user"];
46                                 $passcode = $msg["passcode"];
47                                 global $myga;
48                                 msg_send($cl_queue, MSG_AUTH_USER_TOKEN, $myga->authenticateUser($username, $passcode));
49                                 break;
50                         case MSG_ADD_USER_TOKEN:
51                                 if(!isset($msg["username"])) {
52                                         msg_send($cl_queue, MSG_ADD_USER_TOKEN, false); 
53                                 } else {
54                                         $username = $msg["username"];                           
55                                         global $myga;
56                                         msg_send($cl_queue, MSG_ADD_USER_TOKEN, $myga->setUser($username));
57                                 }
58                                 break;
59                         case MSG_DELETE_USER:
60                                 if(!isset($msg["username"])) {
61                                         msg_send($cl_queue, MSG_DELETE_USER, false);    
62                                 } else {
63                                         $username = $msg["username"];                           
64                                         global $myga;
65                                         msg_send($cl_queue, MSG_DELETE_USER, $myga->deleteUser($username));
66                                 }
67                         case MSG_AUTH_USER_PASSWORD:
68                                 // TODO
69                                 if(!isset($msg["username"])) {
70                                         msg_send($cl_queue, MSG_AUTH_USER_PASSWORD, false);
71                                         break;
72                                 }
73                                 if(!isset($msg["password"])) {
74                                         msg_send($cl_queue, MSG_AUTH_USER_PASSWORD, false);
75                                         break;
76                                 }
77                                 
78                                 $username = $msg["username"];
79                                 $sql = "select users_password from users where username='$username'";
80                                 $dbo = getDatabase();
81                                 
82                                 
83                                 // TODO now do auth
84                                 
85                                 break;
86                         case MSG_SET_USER_PASSWORD:
87                                 // TODO
88                                 if(!isset($msg["username"])) {
89                                         msg_send($cl_queue, MSG_SET_USER_PASSWORD, false);
90                                         break;
91                                 }
92                                 if(!isset($msg["password"])) {
93                                         msg_send($cl_queue, MSG_SET_USER_PASSWORD, false);
94                                         break;
95                                 }
96                                 
97                                 // these are irrelavent yet
98                                 // TODO now set pass
99                                 break;
100                         case MSG_SET_USER_REALNAME:
101                                 // TODO
102                                 if(!isset($msg["username"])) {
103                                         msg_send($cl_queue, MSG_SET_USER_REALNAME, false);
104                                         break;
105                                 }
106                                 if(!isset($msg["realname"])) {
107                                         msg_send($cl_queue, MSG_SET_USER_REALNAME, false);
108                                         break;
109                                 }
110                                 
111                                 $username = $msg["username"];
112                                 $realname = $msg["realname"];
113                                 $sql = "update set users_realnemd='$realname' where username='$username'";
114                                 $dbo = getDatabase();
115                                 
116                                 $dbo->query($sql);
117
118                                 msg_send($cl_queue, MSG_SET_USER_REALNAME, true);
119                                 
120                                 // TODO now set real name
121                                 break;
122                         case MSG_SET_USER_TOKEN:
123                                 // TODO
124                                 if(!isset($msg["username"])) {
125                                         msg_send($cl_queue, MSG_SET_USER_TOKEN, false);
126                                         break;
127                                 }
128                                 if(!isset($msg["tokenstring"])) {
129                                         msg_send($cl_queue, MSG_SET_USER_TOKEN, false);
130                                         break;
131                                 }
132                                 
133                                 global $myga;
134                                 msg_send($cl_queue, MSG_SET_USER_TOKEN, $myga->setUserKey($username, $passcode));
135                                 
136                                 // TODO now set token 
137                                 break;                  
138                         case MSG_SET_USER_TOKEN_TYPE:
139                                 // TODO
140                                 if(!isset($msg["username"])) {
141                                         msg_send($cl_queue, MSG_SET_USER_TOKEN_TYPE, false);
142                                         break;
143                                 }
144                                 if(!isset($msg["tokentype"])) {
145                                         msg_send($cl_queue, MSG_SET_USER_TOKEN_TYPE, false);
146                                         break;
147                                 }
148                                 
149                                 $username = $msg["username"];
150                                 $tokentype = $msg["tokentype"];
151                                 global $myga;
152                                 msg_send($cl_queue, MSG_SET_USER_TOKEN_TYPE, $myga->setTokenType($username, $tokentype));
153                                 
154                                 // TODO now set token 
155                                 break;                  
156                                 
157                 }               
158         }       
159 }
160
161 ?>