Roxen.git / server / base_server / module.pike

version» Context lines:

Roxen.git/server/base_server/module.pike:280:    {    case "allowip":    patterns += ({ ({ MOD_ALLOW, Regexp(value)->match, }) });    break;       case "denyip":    patterns += ({ ({ MOD_DENY, Regexp(value)->match, }) });    break;       case "allowuser": -  value = replace("(^"+(value/",")*"$)|(^"+"$)","(^any$)","(.*)"); +  array(string) users = (value/"," - ({""})); +  int i; +  +  for(i=0; i < sizeof(users); i++) { +  if (users[i] == "any") { +  users[i & 0x0f] = "(^.*$)"; +  } else { +  users[i & 0x0f] = "(^"+users[i]+"$)"; +  } +  if ((i & 0x0f) == 0x0f) { +  value = users[0..0x0f]*"|";    if(this->proxy_auth_needed) {    patterns += ({ ({ MOD_PROXY_USER, Regexp(value)->match, }) });    } else {    patterns += ({ ({ MOD_USER, Regexp(value)->match, }) });    } -  +  } +  } +  if (i & 0x0f) { +  value = users[0..(i-1)&0x0f]*"|"; +  if(this->proxy_auth_needed) { +  patterns += ({ ({ MOD_PROXY_USER, Regexp(value)->match, }) }); +  } else { +  patterns += ({ ({ MOD_USER, Regexp(value)->match, }) }); +  } +  }    break;    }    }    }    return patterns;   }         mixed stat_file(string f, object id){}   mixed find_dir(string f, object id){}   mixed real_file(string f, object id){}