예제 #1
0
파일: ircd_res.c 프로젝트: Niichan/snircd
/** Check whether \a inp is a nameserver we use.
 * @param[in] inp Nameserver address.
 * @return Non-zero if we trust \a inp; zero if not.
 */
static int
res_ourserver(const struct irc_sockaddr *inp)
{
  int ns;

  for (ns = 0;  ns < irc_nscount;  ns++)
    if (!irc_in_addr_cmp(&inp->addr, &irc_nsaddr_list[ns].addr)
        && inp->port == irc_nsaddr_list[ns].port)
      return 1;

  return(0);
}
예제 #2
0
파일: s_conf.c 프로젝트: kisserlb/enet-1.0
/** Find a ConfItem from a list that has an address equal to \a ip.
 * @param lp List to search in.
 * @param ip Filter for ConfItem::address field; matches exactly.
 * @param statmask Filter for ConfItem::status.
 * @return First matching ConfItem from \a lp.
 */
struct ConfItem* find_conf_byip(struct SLink* lp, const struct irc_in_addr* ip,
                                int statmask)
{
  struct ConfItem* tmp;

  for (; lp; lp = lp->next) {
    tmp = lp->value.aconf;
    if (0 != (tmp->status & statmask)
        && !irc_in_addr_cmp(&tmp->address.addr, ip))
      return tmp;
  }
  return 0;
}