| Server IP : 170.10.162.208 / Your IP : 216.73.216.181 Web Server : LiteSpeed System : Linux altar19.supremepanel19.com 4.18.0-553.69.1.lve.el8.x86_64 #1 SMP Wed Aug 13 19:53:59 UTC 2025 x86_64 User : deltahospital ( 1806) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/deltahospital/test.delta-hospital.com/ |
Upload File : |
types.h 0000644 00000001403 15051120147 0006053 0 ustar 00 /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef IRS_TYPES_H
#define IRS_TYPES_H 1
/* Core Types. Alphabetized by defined type. */
/*%< per-thread IRS context */
typedef struct irs_context irs_context_t;
/*%< resolv.conf configuration information */
typedef struct irs_resconf irs_resconf_t;
/*%< advanced DNS-related configuration information */
typedef struct irs_dnsconf irs_dnsconf_t;
#endif /* IRS_TYPES_H */
resconf.h 0000644 00000005222 15051120147 0006351 0 ustar 00 /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef IRS_RESCONF_H
#define IRS_RESCONF_H 1
/*! \file
*
* \brief
* The IRS resconf module parses the legacy "/etc/resolv.conf" file and
* creates the corresponding configuration objects for the DNS library
* modules.
*/
#include <irs/types.h>
/*%
* A DNS search list specified in the 'domain' or 'search' statements
* in the "resolv.conf" file.
*/
typedef struct irs_resconf_search {
char *domain;
ISC_LINK(struct irs_resconf_search) link;
} irs_resconf_search_t;
typedef ISC_LIST(irs_resconf_search_t) irs_resconf_searchlist_t;
ISC_LANG_BEGINDECLS
isc_result_t
irs_resconf_load(isc_mem_t *mctx, const char *filename, irs_resconf_t **confp);
/*%<
* Load the resolver configuration file 'filename' in the "resolv.conf" format,
* and create a new irs_resconf_t object from the configuration. If the file
* is not found ISC_R_FILENOTFOUND is returned with the structure initialized
* as if file contained only:
*
* nameserver ::1
* nameserver 127.0.0.1
*
* Notes:
*
*\li Currently, only the following options are supported:
* nameserver, domain, search, sortlist, ndots, and options.
* In addition, 'sortlist' is not actually effective; it's parsed, but
* the application cannot use the configuration.
*
* Returns:
* \li ISC_R_SUCCESS on success
* \li ISC_R_FILENOTFOUND if the file was not found. *confp will be valid.
* \li other on error.
*
* Requires:
*
*\li 'mctx' is a valid memory context.
*
*\li 'filename' != NULL
*
*\li 'confp' != NULL && '*confp' == NULL
*/
void
irs_resconf_destroy(irs_resconf_t **confp);
/*%<
* Destroy the resconf object.
*
* Requires:
*
*\li '*confp' is a valid resconf object.
*
* Ensures:
*
*\li *confp == NULL
*/
isc_sockaddrlist_t *
irs_resconf_getnameservers(irs_resconf_t *conf);
/*%<
* Return a list of name server addresses stored in 'conf'.
*
* Requires:
*
*\li 'conf' is a valid resconf object.
*/
irs_resconf_searchlist_t *
irs_resconf_getsearchlist(irs_resconf_t *conf);
/*%<
* Return the search list stored in 'conf'.
*
* Requires:
*
*\li 'conf' is a valid resconf object.
*/
unsigned int
irs_resconf_getndots(irs_resconf_t *conf);
/*%<
* Return the 'ndots' value stored in 'conf'.
*
* Requires:
*
*\li 'conf' is a valid resconf object.
*/
ISC_LANG_ENDDECLS
#endif /* IRS_RESCONF_H */
dnsconf.h 0000644 00000004330 15051120147 0006343 0 ustar 00 /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef IRS_DNSCONF_H
#define IRS_DNSCONF_H 1
/*! \file
*
* \brief
* The IRS dnsconf module parses an "advanced" configuration file related to
* the DNS library, such as trusted keys for DNSSEC validation, and creates
* the corresponding configuration objects for the DNS library modules.
*
* Notes:
* This module is very experimental and the configuration syntax or library
* interfaces may change in future versions. Currently, only the
* 'trusted-keys' statement is supported, whose syntax is the same as the
* same name of statement for named.conf.
*/
#include <irs/types.h>
/*%
* A compound structure storing DNS key information mainly for DNSSEC
* validation. A dns_key_t object will be created using the 'keyname' and
* 'keydatabuf' members with the dst_key_fromdns() function.
*/
typedef struct irs_dnsconf_dnskey {
dns_name_t *keyname;
isc_buffer_t *keydatabuf;
ISC_LINK(struct irs_dnsconf_dnskey) link;
} irs_dnsconf_dnskey_t;
typedef ISC_LIST(irs_dnsconf_dnskey_t) irs_dnsconf_dnskeylist_t;
ISC_LANG_BEGINDECLS
isc_result_t
irs_dnsconf_load(isc_mem_t *mctx, const char *filename, irs_dnsconf_t **confp);
/*%<
* Load the "advanced" DNS configuration file 'filename' in the "dns.conf"
* format, and create a new irs_dnsconf_t object from the configuration.
*
* Requires:
*
*\li 'mctx' is a valid memory context.
*
*\li 'filename' != NULL
*
*\li 'confp' != NULL && '*confp' == NULL
*/
void
irs_dnsconf_destroy(irs_dnsconf_t **confp);
/*%<
* Destroy the dnsconf object.
*
* Requires:
*
*\li '*confp' is a valid dnsconf object.
*
* Ensures:
*
*\li *confp == NULL
*/
irs_dnsconf_dnskeylist_t *
irs_dnsconf_gettrustedkeys(irs_dnsconf_t *conf);
/*%<
* Return a list of key information stored in 'conf'.
*
* Requires:
*
*\li 'conf' is a valid dnsconf object.
*/
ISC_LANG_ENDDECLS
#endif /* IRS_DNSCONF_H */
platform.h 0000644 00000001502 15051120147 0006533 0 ustar 00 /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#ifndef IRS_PLATFORM_H
#define IRS_PLATFORM_H 1
/*****
***** Platform-dependent defines.
*****/
#ifndef IRS_PLATFORM_USEDECLSPEC
#define LIBIRS_EXTERNAL_DATA
#else
#ifdef LIBIRS_EXPORTS
#define LIBIRS_EXTERNAL_DATA __declspec(dllexport)
#else
#define LIBIRS_EXTERNAL_DATA __declspec(dllimport)
#endif
#endif
/*
* Tell Emacs to use C mode on this file.
* Local Variables:
* mode: c
* End:
*/
#endif /* IRS_PLATFORM_H */
context.h 0000644 00000006652 15051120147 0006406 0 ustar 00 /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef IRS_CONTEXT_H
#define IRS_CONTEXT_H 1
/*! \file
*
* \brief
* The IRS context module provides an abstract interface to the DNS library
* with an application. An IRS context object initializes and holds various
* resources used in the DNS library.
*/
#include <dns/types.h>
#include <irs/types.h>
ISC_LANG_BEGINDECLS
isc_result_t
irs_context_create(irs_context_t **contextp);
/*%<
* Create an IRS context. It internally initializes the ISC and DNS libraries
* (if not yet), creates a DNS client object and initializes the client using
* the configuration files parsed via the 'resconf' and 'dnsconf' IRS modules.
* Some of the internally initialized objects can be used by the application
* via irs_context_getxxx() functions (see below).
*
* Requires:
*
*\li contextp != NULL && *contextp == NULL.
*/
isc_result_t
irs_context_get(irs_context_t **contextp);
/*%<
* Return an IRS context for the calling thread. If no IRS context is
* associated to the thread, this function creates a new one by calling
* irs_context_create(), and associates it with the thread as a thread specific
* data value. This function is provided for standard libraries that are
* expected to be thread-safe but do not accept an appropriate IRS context
* as a library parameter, e.g., getaddrinfo().
*
* Requires:
*
*\li contextp != NULL && *contextp == NULL.
*/
void
irs_context_destroy(irs_context_t **contextp);
/*%<
* Destroy an IRS context.
*
* Requires:
*
*\li '*contextp' is a valid IRS context.
*
* Ensures:
*\li '*contextp' == NULL.
*/
isc_mem_t *
irs_context_getmctx(irs_context_t *context);
/*%<
* Return the memory context held in the context.
*
* Requires:
*
*\li 'context' is a valid IRS context.
*/
isc_appctx_t *
irs_context_getappctx(irs_context_t *context);
/*%<
* Return the application context held in the context.
*
* Requires:
*
*\li 'context' is a valid IRS context.
*/
isc_taskmgr_t *
irs_context_gettaskmgr(irs_context_t *context);
/*%<
* Return the task manager held in the context.
*
* Requires:
*
*\li 'context' is a valid IRS context.
*/
isc_timermgr_t *
irs_context_gettimermgr(irs_context_t *context);
/*%<
* Return the timer manager held in the context.
*
* Requires:
*
*\li 'context' is a valid IRS context.
*/
isc_task_t *
irs_context_gettask(irs_context_t *context);
/*%<
* Return the task object held in the context.
*
* Requires:
*
*\li 'context' is a valid IRS context.
*/
dns_client_t *
irs_context_getdnsclient(irs_context_t *context);
/*%<
* Return the DNS client object held in the context.
*
* Requires:
*
*\li 'context' is a valid IRS context.
*/
irs_resconf_t *
irs_context_getresconf(irs_context_t *context);
/*%<
* Return the resolver configuration object held in the context.
*
* Requires:
*
*\li 'context' is a valid IRS context.
*/
irs_dnsconf_t *
irs_context_getdnsconf(irs_context_t *context);
/*%<
* Return the advanced DNS configuration object held in the context.
*
* Requires:
*
*\li 'context' is a valid IRS context.
*/
ISC_LANG_ENDDECLS
#endif /* IRS_CONTEXT_H */
netdb.h 0000644 00000013617 15051120147 0006015 0 ustar 00 /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#ifndef IRS_NETDB_H
#define IRS_NETDB_H 1
#include <stddef.h> /* Required on FreeBSD (and others?) for size_t. */
#include <netdb.h> /* Contractual provision. */
/*
* Define if <netdb.h> does not declare struct addrinfo.
*/
#undef ISC_IRS_NEEDADDRINFO
#ifdef ISC_IRS_NEEDADDRINFO
struct addrinfo {
int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
int ai_family; /* PF_xxx */
int ai_socktype; /* SOCK_xxx */
int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
size_t ai_addrlen; /* Length of ai_addr */
char *ai_canonname; /* Canonical name for hostname */
struct sockaddr *ai_addr; /* Binary address */
struct addrinfo *ai_next; /* Next structure in linked list */
};
#endif
/*
* Undefine all #defines we are interested in as <netdb.h> may or may not have
* defined them.
*/
/*
* Error return codes from gethostbyname() and gethostbyaddr()
* (left in extern int h_errno).
*/
#undef NETDB_INTERNAL
#undef NETDB_SUCCESS
#undef HOST_NOT_FOUND
#undef TRY_AGAIN
#undef NO_RECOVERY
#undef NO_DATA
#undef NO_ADDRESS
#define NETDB_INTERNAL -1 /* see errno */
#define NETDB_SUCCESS 0 /* no problem */
#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */
#define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */
#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
#define NO_DATA 4 /* Valid name, no data record of requested type */
#define NO_ADDRESS NO_DATA /* no address, look for MX record */
/*
* Error return codes from getaddrinfo(). EAI_INSECUREDATA is our own extension
* and it's very unlikely to be already defined, but undef it just in case; it
* at least doesn't do any harm.
*/
#undef EAI_ADDRFAMILY
#undef EAI_AGAIN
#undef EAI_BADFLAGS
#undef EAI_FAIL
#undef EAI_FAMILY
#undef EAI_MEMORY
#undef EAI_NODATA
#undef EAI_NONAME
#undef EAI_SERVICE
#undef EAI_SOCKTYPE
#undef EAI_SYSTEM
#undef EAI_BADHINTS
#undef EAI_PROTOCOL
#undef EAI_OVERFLOW
#undef EAI_INSECUREDATA
#undef EAI_MAX
#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */
#define EAI_AGAIN 2 /* temporary failure in name resolution */
#define EAI_BADFLAGS 3 /* invalid value for ai_flags */
#define EAI_FAIL 4 /* non-recoverable failure in name resolution */
#define EAI_FAMILY 5 /* ai_family not supported */
#define EAI_MEMORY 6 /* memory allocation failure */
#define EAI_NODATA 7 /* no address associated with hostname */
#define EAI_NONAME 8 /* hostname nor servname provided, or not known */
#define EAI_SERVICE 9 /* servname not supported for ai_socktype */
#define EAI_SOCKTYPE 10 /* ai_socktype not supported */
#define EAI_SYSTEM 11 /* system error returned in errno */
#define EAI_BADHINTS 12
#define EAI_PROTOCOL 13
#define EAI_OVERFLOW 14
#define EAI_INSECUREDATA 15
#define EAI_MAX 16
/*
* Flag values for getaddrinfo()
*/
#undef AI_PASSIVE
#undef AI_CANONNAME
#undef AI_NUMERICHOST
#define AI_PASSIVE 0x00000001
#define AI_CANONNAME 0x00000002
#define AI_NUMERICHOST 0x00000004
/*
* Flag values for getipnodebyname()
*/
#undef AI_V4MAPPED
#undef AI_ALL
#undef AI_ADDRCONFIG
#undef AI_DEFAULT
#define AI_V4MAPPED 0x00000008
#define AI_ALL 0x00000010
#define AI_ADDRCONFIG 0x00000020
#define AI_DEFAULT (AI_V4MAPPED|AI_ADDRCONFIG)
/*
* Constants for lwres_getnameinfo()
*/
#undef NI_MAXHOST
#undef NI_MAXSERV
#define NI_MAXHOST 1025
#define NI_MAXSERV 32
/*
* Flag values for lwres_getnameinfo()
*/
#undef NI_NOFQDN
#undef NI_NUMERICHOST
#undef NI_NAMEREQD
#undef NI_NUMERICSERV
#undef NI_DGRAM
#undef NI_NUMERICSCOPE
#define NI_NOFQDN 0x00000001
#define NI_NUMERICHOST 0x00000002
#define NI_NAMEREQD 0x00000004
#define NI_NUMERICSERV 0x00000008
#define NI_DGRAM 0x00000010
/*
* Define to map into irs_ namespace.
*/
#define IRS_NAMESPACE
#ifdef IRS_NAMESPACE
/*
* Use our versions not the ones from the C library.
*/
#ifdef getnameinfo
#undef getnameinfo
#endif
#define getnameinfo irs_getnameinfo
#ifdef getaddrinfo
#undef getaddrinfo
#endif
#define getaddrinfo irs_getaddrinfo
#ifdef freeaddrinfo
#undef freeaddrinfo
#endif
#define freeaddrinfo irs_freeaddrinfo
#ifdef gai_strerror
#undef gai_strerror
#endif
#define gai_strerror irs_gai_strerror
#endif
extern int getaddrinfo (const char *name,
const char *service,
const struct addrinfo *req,
struct addrinfo **pai);
extern int getnameinfo (const struct sockaddr *sa,
socklen_t salen, char *host,
socklen_t hostlen, char *serv,
socklen_t servlen, int flags);
extern void freeaddrinfo (struct addrinfo *ai);
extern const char *gai_strerror (int ecode);
/*
* Define to map into irs_ namespace.
*/
#define IRS_NAMESPACE
#ifdef IRS_NAMESPACE
/*
* Use our versions not the ones from the C library.
*/
#ifdef getnameinfo
#undef getnameinfo
#endif
#define getnameinfo irs_getnameinfo
#ifdef getaddrinfo
#undef getaddrinfo
#endif
#define getaddrinfo irs_getaddrinfo
#ifdef freeaddrinfo
#undef freeaddrinfo
#endif
#define freeaddrinfo irs_freeaddrinfo
#ifdef gai_strerror
#undef gai_strerror
#endif
#define gai_strerror irs_gai_strerror
int
getaddrinfo(const char *hostname, const char *servname,
const struct addrinfo *hints, struct addrinfo **res);
int
getnameinfo(const struct sockaddr *sa, IRS_GETNAMEINFO_SOCKLEN_T salen,
char *host, IRS_GETNAMEINFO_BUFLEN_T hostlen,
char *serv, IRS_GETNAMEINFO_BUFLEN_T servlen,
IRS_GETNAMEINFO_FLAGS_T flags);
void freeaddrinfo (struct addrinfo *ai);
IRS_GAISTRERROR_RETURN_T
gai_strerror(int ecode);
#endif
/*
* Tell Emacs to use C mode on this file.
* Local variables:
* mode: c
* End:
*/
#endif /* IRS_NETDB_H */
version.h 0000644 00000001243 15051120147 0006376 0 ustar 00 /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <irs/platform.h>
LIBIRS_EXTERNAL_DATA extern const char irs_version[];
LIBIRS_EXTERNAL_DATA extern const unsigned int irs_libinterface;
LIBIRS_EXTERNAL_DATA extern const unsigned int irs_librevision;
LIBIRS_EXTERNAL_DATA extern const unsigned int irs_libage;