Changeset 33
- Timestamp:
- 04/05/04 22:56:46 (9 years ago)
- Location:
- trunk/wifidog/src
- Files:
-
- 3 modified
-
child.c (modified) (1 diff)
-
firewall.c (modified) (4 diffs)
-
firewall.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wifidog/src/child.c
r32 r33 129 129 { 130 130 131 if (ci->mac != NULL) {131 if (ci->mac != NULL) 132 132 free(ci->mac); 133 }134 133 135 if (ci->ip != NULL) {134 if (ci->ip != NULL) 136 135 free(ci->ip); 137 }138 136 139 137 free(ci); -
trunk/wifidog/src/firewall.c
r32 r33 30 30 extern s_config config; 31 31 32 t_node list; 33 t_node *firstnode; 34 t_node *curnode; 32 t_node *firstnode = NULL; 35 33 36 34 int … … 220 218 node_init(void) 221 219 { 222 firstnode = curnode = &list; 223 firstnode->next = NULL; 220 firstnode = NULL; 224 221 } 225 222 … … 227 224 node_add(char *ip, char *mac, char *token, long int counter, int active) 228 225 { 229 void *ptr; 230 231 ptr = curnode; 232 233 strcpy(curnode->ip, ip); 234 strcpy(curnode->mac, mac); 235 strcpy(curnode->token, token); 226 t_node *curnode, 227 *prevnode; 228 229 prevnode = NULL; 230 curnode = firstnode; 231 232 while (curnode != NULL) { 233 prevnode = curnode; 234 curnode = curnode->next; 235 } 236 237 curnode = (t_node *)malloc(sizeof(t_node)); 238 239 if (curnode == NULL) { 240 debug(D_LOG_DEBUG, "Out of memory"); 241 exit(-1); 242 } 243 244 memset(curnode, 0, sizeof(t_node)); 245 246 curnode->ip = strdup(ip); 247 curnode->mac = strdup(mac); 248 curnode->token = strdup(token); 236 249 curnode->counter = counter; 237 250 curnode->active = active; 251 252 if (prevnode == NULL) { 253 firstnode = curnode; 254 } else { 255 prevnode->next = curnode; 256 } 238 257 239 240 curnode->next = (t_node *)malloc(sizeof(t_node));241 curnode = curnode->next;242 243 258 debug(D_LOG_DEBUG, "Added a new node to linked list: IP: %s Token: %s", ip, token); 244 259 245 return ptr;260 return curnode; 246 261 } 247 262 … … 280 295 { 281 296 282 /* The ip, mac and token maybe shouldn't be fixed-length strings... */ 297 if (node->mac != NULL) 298 free(node->mac); 299 300 if (node->ip != NULL) 301 free(node->ip); 302 303 if (node->token != NULL) 304 free(node->token); 283 305 284 306 free(node); -
trunk/wifidog/src/firewall.h
r32 r33 30 30 typedef struct { 31 31 void *next; 32 char ip[16];33 char mac[18];34 char token[33];32 char *ip, 33 *mac, 34 *token; 35 35 int active; /* boolean */ 36 36 long int counter;
