masqmail
view src/lookup.h @ 239:31ee44f45787
refactored alias.c heavily
especially substituted the loop-based alias_expand()
with a recursive approach. Now alias_expand() wraps
alias_one() which recursively expands aliases.
In principle the ``data processing'' is the same but
now it's clearer structured and thus easier to understand
IMO.
The loop might have been faster but I don't care for
speed -- the most simple solution is the best. It's fast
enough, that is sufficient.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Mon, 25 Oct 2010 15:35:28 -0300 |
parents | 26e34ae9a3e3 |
children | 41958685480d |
line source
1 /* MasqMail
2 * Copyright (C) Oliver Kurth,
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */
19 #define MAX_DNSNAME MAXDNAME
21 typedef struct {
22 guint32 ip;
23 int pref;
24 guchar *name;
25 } mxip_addr;
28 typedef GList *(*resolve_func) (GList *, gchar *);
30 GList *resolve_dns_a(GList * list, gchar * domain);
31 GList *resolve_dns_mx(GList * list, gchar * domain);
32 GList *resolve_byname(GList * list, gchar * domain);
33 int dns_look_ip(gchar * domain, guint32 * ip);