* Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
* Copyright (C) 1996-2002 Hybrid Development Team
* Copyright (C) 2002-2005 ircd-ratbox development team
- * Copyright (C) 2005-2006 charybdis development team
+ * Copyright (C) 2005-2008 charybdis development team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
return find_conf_by_address(NULL, NULL, NULL, addr, CONF_DLINE | 1, aftype, NULL);
}
-/* void find_exact_conf_by_address(const char*, int, const char *,
- * struct ConfItem *aconf)
+/* void find_exact_conf_by_address(const char*, int, const char *)
* Input:
* Output: ConfItem if found
* Side-effects: None
{
if (arec->type == type &&
arec->masktype == masktype &&
- !irccmp(arec->username, username))
+ (arec->username == NULL || username == NULL ? arec->username == username : !irccmp(arec->username, username)))
{
if (masktype == HM_HOST)
{
prefix_ptr = prefix_of_host;
if(IsNoTilde(aconf))
*prefix_ptr++ = '-';
- if(IsLimitIp(aconf))
- *prefix_ptr++ = '!';
if(IsNeedIdentd(aconf))
*prefix_ptr++ = '+';
- if(IsPassIdentd(aconf))
- *prefix_ptr++ = '$';
- if(IsNoMatchIp(aconf))
- *prefix_ptr++ = '%';
if(IsConfDoSpoofIp(aconf))
*prefix_ptr++ = '=';
- if(MyOper(sptr) && IsConfExemptKline(aconf))
+ if(IsOper(sptr) && IsConfExemptFlood(aconf))
+ *prefix_ptr++ = '|';
+ if(IsOper(sptr) && IsConfExemptGline(aconf) && !IsConfExemptKline(aconf))
+ *prefix_ptr++ = '_';
+ if(IsOper(sptr) && IsConfExemptDNSBL(aconf) && !IsConfExemptKline(aconf))
+ *prefix_ptr++ = '$';
+ if(IsOper(sptr) && IsConfExemptKline(aconf))
*prefix_ptr++ = '^';
- if(MyOper(sptr) && IsConfExemptLimits(aconf))
+ if(IsOper(sptr) && IsConfExemptLimits(aconf))
*prefix_ptr++ = '>';
- if(MyOper(sptr) && IsConfIdlelined(aconf))
- *prefix_ptr++ = '<';
*prefix_ptr = '\0';
strncpy(prefix_ptr, name, USERLEN);
return (prefix_of_host);
{
aconf = arec->aconf;
- if(!MyOper(client_p) && IsConfDoSpoofIp(aconf))
+ if(!IsOper(client_p) && IsConfDoSpoofIp(aconf))
continue;
get_printable_conf(aconf, &name, &host, &pass, &user, &port,