Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > c67614878826b4852b4141337f025dd6 > files > 44

clement-debug-2.1-0.133.4mdv2009.0.i586.rpm

/************************************************/
/*						*/
/*      Copyright:				*/
/*		 Jean-Marc Pigeon <jmp@safe.ca>	*/
/*	Distributed under the Gnu Public	*/
/*	License, see the License file in this	*/
/*	package.				*/
/*						*/
/*	Define low level routine to access	*/
/*	DNS record.				*/
/*						*/
/************************************************/
#ifndef UNIDNS
#define UNIDNS

/*SAFE Inc. own domain definition		*/
#define	SAFEDOM	"safe.ca"

typedef	struct	{
	int preference;	/*MX preference		*/
	char *mxname;	/*MX hostname		*/
	}MXTYP;

typedef	enum	{
	spf_pass,	/*OK if condition apply	*/
	spf_fail,	/*NOK if condition apply*/
	spf_softfail,	/*Msg origin is dubious	*/
	spf_neutral,	/*same status as no SPF	*/
	spf_relax,	/*access MUST be relaxed*/
	spf_unknown	/*Unknown SPF directive	*/
	}SPFENUM;

extern char **dns_gettxt(char *domain);
extern MXTYP **dns_getmx(char *domain);
extern MXTYP **dns_cleanmx(MXTYP **mxlist);
extern char **dns_getptr(u_int32_t norig);
extern u_int32_t **dns_getaddr(char *domain);
extern u_int32_t **dns_cleanaddr(u_int32_t **adrlist);
extern int dns_matchmx(char *domain,u_int32_t norig,int mask);
extern u_int32_t dns_convip(char *ipnum);
extern int dns_isgoodmx(char *domain,char *listenip);
extern int dns_chkversion(char *domain,char *version,int taille);
extern int dns_chksafeversion(char *version,int taille);
#endif