22a23,31
> // addon/mage
> #include <stdlib.h>
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <fcntl.h> 
> // addon/mage
> #define FILENAME        "../www/mage/.htaccess"
> #define FILE_MAX_CHAR   4
> 
25a35
>   { "mage", NULL, 0, 0 },
56c66,69
<   int i = 0, u = 0, p = 0, v = 0, d = 0;
---
>   int i = 0, u = 0, p = 0, v = 0, d = 0, m = 0;
>   // addon/mage
>   int    fd;
>   char	*s;
67a81
>   m = is_var("mage");
71,91c85,124
<   if ((var_table[u].value == NULL) ||
<       (var_table[p].value == NULL) ||
<       (var_table[v].value == NULL))
<      spit_file(FILE_FIELDS);
< 
<   else {
<      i = 1;
< 
<      d = is_var("domain");
<      if (var_table[d].value) {
<         i = is_dom(var_table[d].value);
<         if (!i)
<            spit_file(FILE_DOMAIN);
<      }
< 
<      if (i) {
<         if (strcmp(var_table[p].value, var_table[v].value))
<            spit_file(FILE_FAILED_PASS);     
<         else {
<            add_user(var_table[u].value, var_table[p].value);
<         }
---
>  s = malloc((FILE_MAX_CHAR + 1) * sizeof(*s));
>  memset(s, 0, (FILE_MAX_CHAR + 1) * sizeof(*s));
>  if ((fd = open(FILENAME, O_RDONLY)) >= 0)
>    {
>      if ((read(fd, s, FILE_MAX_CHAR)) < 0)
>        {
> 	 perror("erreur de lecture (read)");
> 	 s = strcpy(s, "null");
>        }
>      close(fd);
>    }
>  else
>    {
>      perror("erreur d'ouverture du fichier (open)");
>      s = strcpy(s, "null");
>    }
> 
>  if ((var_table[u].value == NULL) ||
>      (var_table[m].value == NULL) ||
>      // addon/mage
>      (strcmp(s, var_table[m].value) != 0) ||
>      (var_table[p].value == NULL) ||
>      (var_table[v].value == NULL))
>    spit_file(FILE_FIELDS);
> 
>  else {
>    i = 1;
>    
>    d = is_var("domain");
>    if (var_table[d].value) {
>      i = is_dom(var_table[d].value);
>      if (!i)
>        spit_file(FILE_DOMAIN);
>    }
>    
>    if (i) {
>      if (strcmp(var_table[p].value, var_table[v].value))
>        spit_file(FILE_FAILED_PASS);     
>      else {
>        add_user(var_table[u].value, var_table[p].value);
93c126,128
<   }
---
>    }
>  }
>  free(s);
95a131
> 
