34 #include <sys/types.h> 35 #include <netinet/in.h> 36 #include <sys/socket.h> 38 #include <arpa/inet.h> 43 #define fd_set cygwin_fd_set 44 #include <sys/types.h> 59 #include <net/route.h> 60 #include <net/if_arp.h> 62 # include <net/if_dl.h> 103 #if defined(LDAP_CONFIGURATION) 105 # include <sys/utsname.h> 108 #if !defined (BYTE_NAME_HASH_SIZE) 109 # define BYTE_NAME_HASH_SIZE 401 111 #if !defined (BYTE_CODE_HASH_SIZE) 112 # define BYTE_CODE_HASH_SIZE 254 120 #if !defined (WORD_NAME_HASH_SIZE) 121 # define WORD_NAME_HASH_SIZE 20479 123 #if !defined (WORD_CODE_HASH_SIZE) 124 # define WORD_CODE_HASH_SIZE 16384 132 #if !defined (QUAD_NAME_HASH_SIZE) 133 # define QUAD_NAME_HASH_SIZE WORD_NAME_HASH_SIZE 135 #if !defined (QUAD_CODE_HASH_SIZE) 136 # define QUAD_CODE_HASH_SIZE WORD_CODE_HASH_SIZE 139 #if !defined (DNS_HASH_SIZE) 140 # define DNS_HASH_SIZE 0 144 #if !defined (DEFAULT_SPACE_HASH_SIZE) 145 # define DEFAULT_SPACE_HASH_SIZE 11 148 #if !defined (NWIP_HASH_SIZE) 149 # define NWIP_HASH_SIZE 17 152 #if !defined (FQDN_HASH_SIZE) 153 # define FQDN_HASH_SIZE 13 159 #if !defined (VIVCO_HASH_SIZE) 160 # define VIVCO_HASH_SIZE 127 163 #if !defined (VIVSO_HASH_SIZE) 164 # define VIVSO_HASH_SIZE VIVCO_HASH_SIZE 167 #if !defined (VSIO_HASH_SIZE) 168 # define VSIO_HASH_SIZE VIVCO_HASH_SIZE 171 #if !defined (VIV_ISC_HASH_SIZE) 172 # define VIV_ISC_HASH_SIZE 3 175 #if !defined (UNIVERSE_HASH_SIZE) 176 # define UNIVERSE_HASH_SIZE 13 179 #if !defined (GROUP_HASH_SIZE) 180 # define GROUP_HASH_SIZE 0 185 #if !defined (HOST_HASH_SIZE) 186 # define HOST_HASH_SIZE 22501 195 #if !defined (LEASE_HASH_SIZE) 196 # define LEASE_HASH_SIZE 100003 202 #if !defined (SCLASS_HASH_SIZE) 203 # define SCLASS_HASH_SIZE 12007 206 #if !defined (AGENT_HASH_SIZE) 207 # define AGENT_HASH_SIZE 11 216 #if !defined (SERVER_HASH_SIZE) 217 # define SERVER_HASH_SIZE (2*(sizeof(server_options) / sizeof(struct option))) 222 #if !defined (OPTION_HASH_SIZE) 223 # define OPTION_HASH_SIZE 17 224 # define OPTION_HASH_PTWO 32 225 # define OPTION_HASH_EXP 5 228 #define compute_option_hash(x) \ 229 (((x) & (OPTION_HASH_PTWO - 1)) + \ 230 (((x) >> OPTION_HASH_EXP) & \ 231 (OPTION_HASH_PTWO - 1))) % OPTION_HASH_SIZE; 298 #if defined(LDAP_CONFIGURATION) 305 int (*read_function)(
struct parse *);
319 struct sockaddr_in addr;
356 #define OPTION_HAD_NULLS 0x00000001 378 unsigned char dhcpv6_transaction_id[3];
382 struct in6_addr dhcpv6_link_address;
383 struct in6_addr dhcpv6_peer_address;
409 #if !defined (PACKET_MAX_CLASSES) 410 # define PACKET_MAX_CLASSES 5 437 #define HARDWARE_ADDR_LEN 20 444 #if defined(LDAP_CONFIGURATION) 445 # define LDAP_BUFFER_SIZE 8192 446 # define LDAP_METHOD_STATIC 0 447 # define LDAP_METHOD_DYNAMIC 1 448 #if defined (LDAP_USE_SSL) 449 # define LDAP_SSL_OFF 0 450 # define LDAP_SSL_ON 1 451 # define LDAP_SSL_TLS 2 452 # define LDAP_SSL_LDAPS 3 456 struct ldap_config_stack {
465 struct ldap_config_stack *children;
466 struct ldap_config_stack *next;
486 #define FTS_EXPIRED 3 487 #define FTS_RELEASED 4 488 #define FTS_ABANDONED 5 494 #define FTS_LAST FTS_BACKUP 528 unsigned char uid_buf [7];
532 # define STATIC_LEASE 1 533 # define BOOTP_LEASE 2 534 # define RESERVED_LEASE 4 535 # define MS_NULL_TERMINATION 8 536 # define ON_UPDATE_QUEUE 16 537 # define ON_ACK_QUEUE 32 538 # define ON_QUEUE (ON_UPDATE_QUEUE | ON_ACK_QUEUE) 539 # define UNICAST_BROADCAST_HACK 64 540 # define ON_DEFERRED_QUEUE 128 543 # define PERSISTENT_FLAGS (ON_ACK_QUEUE | ON_UPDATE_QUEUE) 545 # define EPHEMERAL_FLAGS (MS_NULL_TERMINATION | \ 546 UNICAST_BROADCAST_HACK | \ 605 unsigned char expiry[4], renewal[4], rebind[4];
615 struct in_addr ciaddr;
616 struct in_addr siaddr;
625 #define SHARED_NET_DECL 2 626 #define SUBNET_DECL 3 633 #define DISCOVER_RUNNING 0 634 #define DISCOVER_SERVER 1 635 #define DISCOVER_UNCONFIGURED 2 636 #define DISCOVER_RELAY 3 637 #define DISCOVER_REQUESTED 4 640 #define DDNS_UPDATE_STYLE_NONE 0 641 #define DDNS_UPDATE_STYLE_AD_HOC 1 642 #define DDNS_UPDATE_STYLE_INTERIM 2 643 #define DDNS_UPDATE_STYLE_STANDARD 3 647 #define SV_DEFAULT_LEASE_TIME 1 648 #define SV_MAX_LEASE_TIME 2 649 #define SV_MIN_LEASE_TIME 3 650 #define SV_BOOTP_LEASE_CUTOFF 4 651 #define SV_BOOTP_LEASE_LENGTH 5 652 #define SV_BOOT_UNKNOWN_CLIENTS 6 653 #define SV_DYNAMIC_BOOTP 7 654 #define SV_ALLOW_BOOTP 8 655 #define SV_ALLOW_BOOTING 9 656 #define SV_ONE_LEASE_PER_CLIENT 10 657 #define SV_GET_LEASE_HOSTNAMES 11 658 #define SV_USE_HOST_DECL_NAMES 12 659 #define SV_USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 13 660 #define SV_MIN_SECS 14 661 #define SV_FILENAME 15 662 #define SV_SERVER_NAME 16 663 #define SV_NEXT_SERVER 17 664 #define SV_AUTHORITATIVE 18 665 #define SV_VENDOR_OPTION_SPACE 19 666 #define SV_ALWAYS_REPLY_RFC1048 20 667 #define SV_SITE_OPTION_SPACE 21 668 #define SV_ALWAYS_BROADCAST 22 669 #define SV_DDNS_DOMAIN_NAME 23 670 #define SV_DDNS_HOST_NAME 24 671 #define SV_DDNS_REV_DOMAIN_NAME 25 672 #define SV_LEASE_FILE_NAME 26 673 #define SV_PID_FILE_NAME 27 674 #define SV_DUPLICATES 28 675 #define SV_DECLINES 29 676 #define SV_DDNS_UPDATES 30 677 #define SV_OMAPI_PORT 31 678 #define SV_LOCAL_PORT 32 679 #define SV_LIMITED_BROADCAST_ADDRESS 33 680 #define SV_REMOTE_PORT 34 681 #define SV_LOCAL_ADDRESS 35 682 #define SV_OMAPI_KEY 36 683 #define SV_STASH_AGENT_OPTIONS 37 684 #define SV_DDNS_TTL 38 685 #define SV_DDNS_UPDATE_STYLE 39 686 #define SV_CLIENT_UPDATES 40 687 #define SV_UPDATE_OPTIMIZATION 41 688 #define SV_PING_CHECKS 42 689 #define SV_UPDATE_STATIC_LEASES 43 690 #define SV_LOG_FACILITY 44 691 #define SV_DO_FORWARD_UPDATES 45 692 #define SV_PING_TIMEOUT 46 693 #define SV_RESERVE_INFINITE 47 694 #define SV_DDNS_CONFLICT_DETECT 48 695 #define SV_LEASEQUERY 49 696 #define SV_ADAPTIVE_LEASE_TIME_THRESHOLD 50 697 #define SV_DO_REVERSE_UPDATES 51 698 #define SV_FQDN_REPLY 52 699 #define SV_PREFER_LIFETIME 53 700 #define SV_DHCPV6_LEASE_FILE_NAME 54 701 #define SV_DHCPV6_PID_FILE_NAME 55 702 #define SV_LIMIT_ADDRS_PER_IA 56 703 #define SV_LIMIT_PREFS_PER_IA 57 704 #define SV_DELAYED_ACK 58 705 #define SV_MAX_ACK_DELAY 59 706 #if defined(LDAP_CONFIGURATION) 707 # define SV_LDAP_SERVER 60 708 # define SV_LDAP_PORT 61 709 # define SV_LDAP_USERNAME 62 710 # define SV_LDAP_PASSWORD 63 711 # define SV_LDAP_BASE_DN 64 712 # define SV_LDAP_METHOD 65 713 # define SV_LDAP_DEBUG_FILE 66 714 # define SV_LDAP_DHCP_SERVER_CN 67 715 # define SV_LDAP_REFERRALS 68 716 #if defined (LDAP_USE_SSL) 717 # define SV_LDAP_SSL 69 718 # define SV_LDAP_TLS_REQCERT 70 719 # define SV_LDAP_TLS_CA_FILE 71 720 # define SV_LDAP_TLS_CA_DIR 72 721 # define SV_LDAP_TLS_CERT 73 722 # define SV_LDAP_TLS_KEY 74 723 # define SV_LDAP_TLS_CRLCHECK 75 724 # define SV_LDAP_TLS_CIPHERS 76 725 # define SV_LDAP_TLS_RANDFILE 77 728 #define SV_CACHE_THRESHOLD 78 729 #define SV_DONT_USE_FSYNC 79 730 #define SV_DDNS_LOCAL_ADDRESS4 80 731 #define SV_DDNS_LOCAL_ADDRESS6 81 732 #define SV_IGNORE_CLIENT_UIDS 82 734 #if !defined (DEFAULT_PING_TIMEOUT) 735 # define DEFAULT_PING_TIMEOUT 1 738 #if !defined (DEFAULT_DELAYED_ACK) 739 # define DEFAULT_DELAYED_ACK 28 742 #if !defined (DEFAULT_ACK_DELAY_SECS) 743 # define DEFAULT_ACK_DELAY_SECS 0 746 #if !defined (DEFAULT_ACK_DELAY_USECS) 747 # define DEFAULT_ACK_DELAY_USECS 250000 750 #if !defined (DEFAULT_MIN_ACK_DELAY_USECS) 751 # define DEFAULT_MIN_ACK_DELAY_USECS 10000 754 #if !defined (DEFAULT_CACHE_THRESHOLD) 755 # define DEFAULT_CACHE_THRESHOLD 25 758 #if !defined (DEFAULT_DEFAULT_LEASE_TIME) 759 # define DEFAULT_DEFAULT_LEASE_TIME 43200 762 #if !defined (DEFAULT_MIN_LEASE_TIME) 763 # define DEFAULT_MIN_LEASE_TIME 300 766 #if !defined (DEFAULT_MAX_LEASE_TIME) 767 # define DEFAULT_MAX_LEASE_TIME 86400 770 #if !defined (DEFAULT_DDNS_TTL) 771 # define DEFAULT_DDNS_TTL 3600 773 #if !defined (MAX_DEFAULT_DDNS_TTL) 774 # define MAX_DEFAULT_DDNS_TTL 3600 777 #if !defined (MIN_LEASE_WRITE) 778 # define MIN_LEASE_WRITE 15 784 #define CL_SELECT_INTERVAL 2 785 #define CL_REBOOT_TIMEOUT 3 786 #define CL_RETRY_INTERVAL 4 787 #define CL_BACKOFF_CUTOFF 5 788 #define CL_INITIAL_INTERVAL 6 789 #define CL_BOOTP_POLICY 7 790 #define CL_SCRIPT_NAME 8 791 #define CL_REQUESTED_OPTIONS 9 792 #define CL_REQUESTED_LEASE_TIME 10 793 #define CL_SEND_OPTIONS 11 795 #define CL_REJECT_LIST 13 797 #ifndef CL_DEFAULT_TIMEOUT 798 # define CL_DEFAULT_TIMEOUT 60 801 #ifndef CL_DEFAULT_SELECT_INTERVAL 802 # define CL_DEFAULT_SELECT_INTERVAL 0 805 #ifndef CL_DEFAULT_REBOOT_TIMEOUT 806 # define CL_DEFAULT_REBOOT_TIMEOUT 10 809 #ifndef CL_DEFAULT_RETRY_INTERVAL 810 # define CL_DEFAULT_RETRY_INTERVAL 300 813 #ifndef CL_DEFAULT_BACKOFF_CUTOFF 814 # define CL_DEFAULT_BACKOFF_CUTOFF 120 817 #ifndef CL_DEFAULT_INITIAL_INTERVAL 818 # define CL_DEFAULT_INITIAL_INTERVAL 10 821 #ifndef CL_DEFAULT_BOOTP_POLICY 822 # define CL_DEFAULT_BOOTP_POLICY P_ACCEPT 825 #ifndef CL_DEFAULT_REQUESTED_OPTIONS 826 # define CL_DEFAULT_REQUESTED_OPTIONS \ 828 DHO_BROADCAST_ADDRESS, \ 832 DHO_DOMAIN_NAME_SERVERS, \ 843 #define GROUP_OBJECT_DELETED 1 844 #define GROUP_OBJECT_DYNAMIC 2 845 #define GROUP_OBJECT_STATIC 4 879 #define HOST_DECL_DELETED 1 880 #define HOST_DECL_DYNAMIC 2 881 #define HOST_DECL_STATIC 4 925 #if defined (FAILOVER_PROTOCOL) 935 #define SHARED_IMPLICIT 1 943 #if defined (FAILOVER_PROTOCOL) 969 #define CLASS_TYPE_VENDOR 0 970 #define CLASS_TYPE_USER 1 971 #define CLASS_TYPE_CLASS 2 972 #define CLASS_TYPE_SUBCLASS 3 1007 #define CLASS_DECL_DELETED 1 1008 #define CLASS_DECL_DYNAMIC 2 1009 #define CLASS_DECL_STATIC 4 1010 #define CLASS_DECL_SUBCLASS 8 1038 #define DHC6_ADDR_DEPREFFED 0x01 1039 #define DHC6_ADDR_EXPIRED 0x02 1070 unsigned char dhcpv6_transaction_id[3];
1190 unsigned char dhcpv6_transaction_id[3];
1199 struct timeval start_time;
1246 u_int8_t bcast_addr[20];
1267 char name [IFNAMSIZ];
1282 #define INTERFACE_REQUESTED 1 1283 #define INTERFACE_AUTOMATIC 2 1284 #define INTERFACE_RUNNING 4 1285 #define INTERFACE_DOWNSTREAM 8 1286 #define INTERFACE_UPSTREAM 16 1287 #define INTERFACE_STREAMS (INTERFACE_DOWNSTREAM | INTERFACE_UPSTREAM) 1291 # if defined(USE_DLPI_SEND) || defined(USE_DLPI_RECEIVE) || \ 1292 defined(USE_DLPI_HWADDR) 1293 int dlpi_sap_length;
1294 struct hardware dlpi_broadcast_addr;
1315 struct timeval when;
1316 void (*func) (
void *);
1345 unsigned char data [1];
1352 unsigned char *answers[1];
1376 #define DNS_ZONE_ACTIVE 0 1377 #define DNS_ZONE_INACTIVE 1 1402 #define OPTION_ZERO(mask) (memset (mask, 0, 16)) 1403 #define OPTION_SET(mask, bit) (mask [bit >> 8] |= (1 << (bit & 7))) 1404 #define OPTION_CLR(mask, bit) (mask [bit >> 8] &= ~(1 << (bit & 7))) 1405 #define OPTION_ISSET(mask, bit) (mask [bit >> 8] & (1 << (bit & 7))) 1406 #define OPTION_ISCLR(mask, bit) (!OPTION_ISSET (mask, bit)) 1410 #define OPTION_SPACE(x) ((x) + 2 * ((x) / 255 + 1)) 1414 #undef _PATH_DHCPD_CONF 1415 #define _PATH_DHCPD_CONF "dhcpd.conf" 1416 #undef _PATH_DHCPD_DB 1417 #define _PATH_DHCPD_DB "dhcpd.leases" 1418 #undef _PATH_DHCPD6_DB 1419 #define _PATH_DHCPD6_DB "dhcpd6.leases" 1420 #undef _PATH_DHCPD_PID 1421 #define _PATH_DHCPD_PID "dhcpd.pid" 1422 #undef _PATH_DHCPD6_PID 1423 #define _PATH_DHCPD6_PID "dhcpd6.pid" 1426 #ifndef _PATH_DHCPD_CONF 1427 #define _PATH_DHCPD_CONF "/etc/dhcp/dhcpd.conf" 1430 #ifndef _PATH_DHCPD_DB 1431 #define _PATH_DHCPD_DB LOCALSTATEDIR"/db/dhcpd.leases" 1434 #ifndef _PATH_DHCPD6_DB 1435 #define _PATH_DHCPD6_DB LOCALSTATEDIR"/db/dhcpd6.leases" 1438 #ifndef _PATH_DHCPD_PID 1439 #define _PATH_DHCPD_PID LOCALSTATEDIR"/run/dhcpd.pid" 1442 #ifndef _PATH_DHCPD6_PID 1443 #define _PATH_DHCPD6_PID LOCALSTATEDIR"/run/dhcpd6.pid" 1448 #ifndef _PATH_DHCLIENT_CONF 1449 #define _PATH_DHCLIENT_CONF "/etc/dhcp/dhclient.conf" 1452 #ifndef _PATH_DHCLIENT_SCRIPT 1453 #define _PATH_DHCLIENT_SCRIPT "/usr/sbin/dhclient-script" 1456 #ifndef _PATH_DHCLIENT_PID 1457 #define _PATH_DHCLIENT_PID LOCALSTATEDIR"/run/dhclient.pid" 1460 #ifndef _PATH_DHCLIENT6_PID 1461 #define _PATH_DHCLIENT6_PID LOCALSTATEDIR"/run/dhclient6.pid" 1464 #ifndef _PATH_DHCLIENT_DB 1465 #define _PATH_DHCLIENT_DB LOCALSTATEDIR"/db/dhclient.leases" 1468 #ifndef _PATH_DHCLIENT6_DB 1469 #define _PATH_DHCLIENT6_DB LOCALSTATEDIR"/db/dhclient6.leases" 1472 #ifndef _PATH_RESOLV_CONF 1473 #define _PATH_RESOLV_CONF "/etc/resolv.conf" 1476 #ifndef _PATH_DHCRELAY_PID 1477 #define _PATH_DHCRELAY_PID LOCALSTATEDIR"/run/dhcrelay.pid" 1480 #ifndef _PATH_DHCRELAY6_PID 1481 #define _PATH_DHCRELAY6_PID LOCALSTATEDIR"/run/dhcrelay6.pid" 1484 #ifndef DHCPD_LOG_FACILITY 1485 #define DHCPD_LOG_FACILITY LOG_DAEMON 1488 #define MAX_TIME 0x7fffffff 1499 struct in6_addr addr;
1513 #define EXPIRED_IPV6_CLEANUP_TIME (60*60) 1567 struct in6_addr start_addr;
1610 #define DDNS_UPDATE_ADDR 0x01 1611 #define DDNS_UPDATE_PTR 0x02 1612 #define DDNS_INCLUDE_RRSET 0x04 1613 #define DDNS_CONFLICT_OVERRIDE 0x08 1614 #define DDNS_CLIENT_DID_UPDATE 0x10 1615 #define DDNS_EXECUTE_NEXT 0x20 1616 #define DDNS_ABORT 0x40 1617 #define DDNS_STATIC_LEASE 0x80 1618 #define DDNS_ACTIVE_LEASE 0x100 1623 #define DDNS_STATE_CLEANUP 0 // The previous step failed, cleanup 1625 #define DDNS_STATE_ADD_FW_NXDOMAIN 1 1626 #define DDNS_STATE_ADD_FW_YXDHCID 2 1627 #define DDNS_STATE_ADD_PTR 3 1629 #define DDNS_STATE_REM_FW_YXDHCID 17 1630 #define DDNS_STATE_REM_FW_NXRR 18 1631 #define DDNS_STATE_REM_PTR 19 1636 #define DDNS_PRINT_INBOUND 1 1637 #define DDNS_PRINT_OUTBOUND 0 1642 isc_result_t result);
1704 const
unsigned char *,
unsigned,
1705 struct universe *, const
char *);
1708 int, struct option_state *, struct option_state *,
1710 int,
int,
int, struct
data_string *, const
char *);
1712 const
unsigned char *,
unsigned, struct universe *);
1724 struct client_state *client_state,
1725 struct option_state *in_options,
1726 struct option_state *cfg_options,
1727 struct binding_scope **scope,
1728 struct universe *u,
void *stuff,
1732 struct client_state *,
1733 struct option_state *,
1734 struct option_state *,
1735 struct binding_scope **,
1736 struct universe *,
void *));
1739 struct packet *packet, struct lease *lease,
1740 struct client_state *client_state,
1741 struct option_state *in_options,
1742 struct option_state *cfg_options,
1743 struct binding_scope **scope,
1744 struct universe *universe);
1747 const
unsigned char *
buffer,
unsigned length,
1748 struct universe *u);
1749 int append_option(struct data_string *dst, struct universe *universe,
1750 struct option *option, struct data_string *src);
1753 unsigned char *buffer,
unsigned buflen,
unsigned index,
1754 struct packet *packet, struct lease *lease,
1755 struct client_state *client_state,
1756 struct option_state *in_options,
1757 struct option_state *cfg_options,
1758 struct binding_scope **scope,
1759 unsigned *priority_list,
int priority_len,
1760 unsigned first_cutoff,
int second_cutoff,
int terminate,
1761 const
char *vuname);
1762 int store_options6(
char *,
int, struct option_state *, struct packet *,
1763 const
int *, struct data_string *);
1767 unsigned,
int,
int);
1769 const
unsigned char *);
1770 int get_option (struct data_string *, struct universe *,
1771 struct packet *, struct lease *, struct client_state *,
1772 struct option_state *, struct option_state *,
1773 struct option_state *, struct binding_scope **,
unsigned,
1775 void set_option (struct universe *, struct option_state *,
1776 struct option_cache *, enum statement_op);
1778 struct option_state *,
unsigned);
1780 struct option_state *,
1783 struct option_state *,
1784 struct option_cache *);
1786 struct buffer *,
unsigned char *,
unsigned,
1789 struct buffer *,
unsigned char *,
unsigned,
1793 void save_option(struct universe *, struct option_state *,
1794 struct option_cache *);
1796 struct option_cache *);
1798 struct option_cache *, isc_boolean_t appendp);
1799 void delete_option (struct universe *, struct option_state *,
int);
1801 struct option_state *,
int);
1805 struct option_state *,
1808 struct universe *, struct packet *, struct lease *,
1809 struct client_state *,
1810 struct option_state *, struct option_state *,
1811 struct binding_scope **, struct option_cache *);
1813 struct packet *, struct lease *,
1814 struct client_state *,
1815 struct option_state *,
1816 struct option_state *,
1817 struct binding_scope **,
1818 struct data_string *);
1820 struct packet *, struct lease *,
1821 struct client_state *,
1822 struct option_state *,
1823 struct option_state *,
1824 struct binding_scope **,
1827 struct packet *, struct lease *,
1828 struct client_state *,
1829 struct option_state *,
1830 struct option_state *,
1831 struct binding_scope **,
1834 struct packet *, struct lease *,
1835 struct client_state *,
1836 struct option_state *,
1837 struct option_state *,
1838 struct binding_scope **,
1841 struct option_state *, struct option_state *,
1842 struct binding_scope **, struct universe *,
void *,
1843 void (*) (struct option_cache *, struct packet *,
1844 struct lease *, struct client_state *,
1845 struct option_state *, struct option_state *,
1846 struct binding_scope **,
1847 struct universe *,
void *),
1848 struct option_cache *, const
char *);
1850 struct client_state *,
1851 struct option_state *,
1852 struct option_state *,
1853 struct binding_scope **,
1854 struct universe *,
void *,
1855 void (*) (struct option_cache *,
1857 struct lease *, struct client_state *,
1858 struct option_state *,
1859 struct option_state *,
1860 struct binding_scope **,
1861 struct universe *,
void *));
1863 struct client_state *,
1864 struct option_state *,
1865 struct option_state *,
1866 struct binding_scope **,
1867 struct universe *,
void *,
1868 void (*) (struct option_cache *,
1871 struct client_state *,
1872 struct option_state *,
1873 struct option_state *,
1874 struct binding_scope **,
1875 struct universe *,
void *));
1877 struct packet *, struct lease *,
1878 struct client_state *,
1879 struct option_state *, struct option_state *,
1880 struct option_state *, struct binding_scope **,
1883 struct option_state *,
1886 struct option_cache *, isc_boolean_t appendp);
1888 struct client_state *,
1889 struct option_state *,
1890 struct option_state *,
1891 struct binding_scope **,
1892 struct universe *,
void *,
1893 void (*) (struct option_cache *,
1896 struct client_state *,
1897 struct option_state *,
1898 struct option_state *,
1899 struct binding_scope **,
1900 struct universe *,
void *));
1902 struct lease *, struct client_state *,
1903 struct option_state *,
1904 struct option_state *,
1905 struct binding_scope **,
1909 struct option_state *,
unsigned);
1911 struct dhcp_packet *,
unsigned,
1913 void do_packet6(struct interface_info *, const
char *,
1914 int,
int, const struct iaddr *, isc_boolean_t);
1920 unsigned int option_num,
1922 unsigned int data_len);
1925 extern struct timeval
cur_tv;
1926 #define cur_time cur_tv.tv_sec 1938 int main(
int,
char **);
1949 #if defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT) 1950 void relinquish_ackqueue(
void);
1955 char *,
unsigned,
const char *,
int);
1962 struct parse *cfile);
1964 struct parse *cfile);
1969 #define skip_token(a,b,c) ((void) next_token((a),(b),(c))) 1976 #if defined (TRACING) 1984 #if defined (FAILOVER_PROTOCOL) 1987 dhcp_failover_state_t *);
1996 struct group *,
int);
2010 struct pool *,
struct lease **);
2024 int ddns_updates(
struct packet *,
struct lease *,
struct lease *,
2028 #if defined (TRACING) 2044 struct parse *,
int);
2048 unsigned char *,
unsigned *,
2049 int,
int,
unsigned);
2061 struct parse *,
int *,
2064 struct parse *,
int *,
2069 struct parse *,
int *);
2071 struct parse *,
int *);
2073 struct parse *,
int *,
2076 struct parse *,
int *);
2078 struct parse *,
int *);
2081 struct parse *,
int *);
2083 struct parse *,
int *);
2091 int lookups,
struct option *option);
2093 struct parse *,
int,
2094 struct option *,
enum statement_op);
2096 const char **,
struct expression *,
int,
int);
2108 u_int8_t *,
unsigned, struct option *,
2113 const
unsigned char *,
unsigned,
int,
int,
2117 struct expression *, struct expression *);
2120 struct expression *, struct expression *);
2121 int make_limit (struct expression **, struct expression *,
int);
2123 int option_cache (struct option_cache **, struct data_string *,
2124 struct expression *, struct option *,
2127 struct lease *, struct client_state *,
2128 struct option_state *, struct option_state *,
2129 struct binding_scope **, struct expression *,
2133 struct packet *, struct lease *,
2134 struct client_state *,
2135 struct option_state *,
2136 struct option_state *,
2137 struct binding_scope **,
2138 struct expression *);
2140 struct packet *, struct lease *,
2141 struct client_state *,
2142 struct option_state *,
2143 struct option_state *,
2144 struct binding_scope **,
2145 struct expression *,
2148 struct lease *, struct client_state *,
2149 struct option_state *, struct option_state *,
2150 struct binding_scope **,
2151 struct expression *);
2153 struct packet *, struct lease *,
2154 struct client_state *,
2155 struct option_state *, struct option_state *,
2156 struct binding_scope **,
2157 struct option_cache *,
2160 struct packet *, struct lease *,
2161 struct client_state *,
2162 struct option_state *,
2163 struct option_state *,
2164 struct binding_scope **,
2165 struct option_cache *,
2168 struct packet *, struct lease *,
2169 struct client_state *,
2170 struct option_state *,
2171 struct option_state *,
2172 struct binding_scope **,
2173 struct expression *);
2185 int free_bindings (struct binding_scope *, const
char *,
int);
2193 const
char *, struct data_string *);
2195 struct binding_scope *, const
char *);
2196 int unset (struct binding_scope *, const
char *);
2205 void dhcp (struct packet *);
2207 void dhcprequest (struct packet *,
int, struct lease *);
2211 void nak_lease (struct packet *, struct iaddr *cip);
2212 void ack_lease (struct packet *, struct lease *,
2218 int find_lease (struct lease **, struct packet *,
2222 struct shared_network *,
2223 struct host_decl *);
2227 struct
pool *,
int *);
2232 struct dhcp_packet *,
2233 unsigned,
unsigned);
2235 struct option_state *options,
2236 struct option_state *out_options,
2237 struct packet *packet);
2239 struct option_state *options,
2240 struct packet *packet);
2253 isc_result_t
get_client_id(struct packet *, struct data_string *);
2254 void dhcpv6(struct packet *);
2257 void bootp (struct packet *);
2263 isc_result_t
delete_group (struct group_object *,
int);
2270 struct lease *
new_leases (
unsigned, const
char *,
int);
2271 #if defined (DEBUG_MEMORY_LEAKAGE) || \ 2272 defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT) 2273 void relinquish_free_lease_states (
void);
2289 #if defined (DEBUG_MEMORY_LEAKAGE) || \ 2290 defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT) 2291 void relinquish_free_pairs (
void);
2292 void relinquish_free_expressions (
void);
2293 void relinquish_free_binding_values (
void);
2294 void relinquish_free_option_caches (
void);
2295 void relinquish_free_packets (
void);
2306 int group_reference (
struct group **,
struct group *,
const char *,
int);
2314 struct option *
new_option (
const char *,
const char *,
int);
2316 const char * file,
int line);
2327 struct permit *
new_permit (
const char *,
int);
2328 void free_permit (
struct permit *,
const char *,
int);
2330 void free_pair (pair,
const char *,
int);
2333 struct expression *,
const char *,
int);
2338 struct binding_value *,
2343 struct fundef *,
const char *,
int);
2346 struct option_cache *,
const char *,
int);
2352 const char *,
const char *,
int);
2354 struct dns_host_entry *,
2360 struct option_state *,
const char *,
int);
2370 struct executable_statement *,
2374 struct packet *,
const char *,
int);
2379 struct binding_scope *,
2383 struct dns_zone *,
const char *,
int);
2386 #define DEFAULT_TIME_FORMAT 0 2387 #define LOCAL_TIME_FORMAT 1 2390 char *
quotify_buf (
const unsigned char *,
unsigned,
const char *,
int);
2391 char *
print_base64 (
const unsigned char *,
unsigned,
const char *,
int);
2392 char *
print_hw_addr (
const int,
const int,
const unsigned char *);
2394 void dump_raw (
const unsigned char *,
unsigned);
2396 struct lease *,
struct client_state *,
2397 struct option_state *,
struct option_state *,
2398 struct binding_scope **,
struct universe *,
void *);
2401 char *
print_hex (
unsigned,
const u_int8_t *,
unsigned,
unsigned);
2402 void print_hex_only (
unsigned,
const u_int8_t *,
unsigned,
char *);
2404 #define print_hex_1(len, data, limit) print_hex(len, data, limit, 0) 2405 #define print_hex_2(len, data, limit) print_hex(len, data, limit, 1) 2406 #define print_hex_3(len, data, limit) print_hex(len, data, limit, 2) 2412 const char *,
const char *, ...);
2414 struct data_string *);
2416 const char *,
const char *,
const char *);
2418 #if defined (NSUPDATE) 2426 #if defined (USE_SOCKET_SEND) || defined (USE_SOCKET_RECEIVE) \ 2427 || defined (USE_SOCKET_FALLBACK) 2431 #if defined (USE_SOCKET_FALLBACK) && !defined (USE_SOCKET_SEND) 2435 struct packet *,
struct dhcp_packet *,
size_t,
2437 struct sockaddr_in *,
struct hardware *);
2439 struct dhcp_packet *,
size_t,
struct in6_addr *,
2440 struct sockaddr_in6 *,
struct hardware *);
2443 #ifdef USE_SOCKET_SEND 2448 struct packet *,
struct dhcp_packet *,
size_t,
2450 struct sockaddr_in *,
struct hardware *);
2452 ssize_t
send_packet6(
struct interface_info *,
const unsigned char *,
size_t,
2453 struct sockaddr_in6 *);
2454 #ifdef USE_SOCKET_RECEIVE 2459 unsigned char *,
size_t,
2460 struct sockaddr_in *,
struct hardware *);
2463 #if defined (USE_SOCKET_FALLBACK) 2467 #if defined (USE_SOCKET_SEND) 2474 void if_register6(
struct interface_info *info,
int do_multicast);
2477 unsigned char *buf,
size_t len,
2478 struct sockaddr_in6 *from,
struct in6_addr *to_addr,
2479 unsigned int *if_index);
2484 #if defined (USE_BPF_SEND) || defined (USE_BPF_RECEIVE) 2485 int if_register_bpf (
struct interface_info *);
2492 struct packet *,
struct dhcp_packet *,
size_t,
2494 struct sockaddr_in *,
struct hardware *);
2496 #ifdef USE_BPF_RECEIVE 2501 unsigned char *,
size_t,
2502 struct sockaddr_in *,
struct hardware *);
2504 #if defined (USE_BPF_SEND) 2512 #if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE) 2520 struct packet *,
struct dhcp_packet *,
size_t,
2522 struct sockaddr_in *,
struct hardware *);
2524 #ifdef USE_LPF_RECEIVE 2529 unsigned char *,
size_t,
2530 struct sockaddr_in *,
struct hardware *);
2532 #if defined (USE_LPF_SEND) 2540 #if defined (USE_NIT_SEND) || defined (USE_NIT_RECEIVE) 2541 int if_register_nit (
struct interface_info *);
2549 struct packet *,
struct dhcp_packet *,
size_t,
2551 struct sockaddr_in *,
struct hardware *);
2553 #ifdef USE_NIT_RECEIVE 2558 unsigned char *,
size_t,
2559 struct sockaddr_in *,
struct hardware *);
2561 #if defined (USE_NIT_SEND) 2569 #if defined (USE_DLPI_SEND) || defined (USE_DLPI_RECEIVE) 2570 int if_register_dlpi (
struct interface_info *);
2573 #ifdef USE_DLPI_SEND 2580 struct packet *,
struct dhcp_packet *,
size_t,
2582 struct sockaddr_in *,
struct hardware *);
2586 #ifdef USE_DLPI_RECEIVE 2591 unsigned char *,
size_t,
2592 struct sockaddr_in *,
struct hardware *);
2601 ssize_t
send_packet (
struct interface_info *,
struct packet *,
2602 struct dhcp_packet *,
size_t,
struct in_addr,
2603 struct sockaddr_in *,
struct hardware *);
2630 struct dhcp_packet *, unsigned,
2632 struct iaddr, struct hardware *);
2635 int,
const struct iaddr *, isc_boolean_t);
2638 #if defined (TRACING) 2648 int setup_fallback (
struct interface_info **,
const char *,
int);
2664 const char *, va_list);
2669 void add_timeout (
struct timeval *,
void (*) (
void *),
void *,
2676 struct interface_info, dhcp_type_interface)
2695 #if defined (FAILOVER_PROTOCOL) 2698 extern struct failover_option_info
ft_options [];
2714 struct iaddr
ip_addr (struct iaddr, struct iaddr, u_int32_t);
2716 u_int32_t
host_addr (
struct iaddr,
struct iaddr);
2717 int addr_eq (
struct iaddr,
struct iaddr);
2719 int addr_cmp(
const struct iaddr *a1,
const struct iaddr *a2);
2720 int addr_or(
struct iaddr *result,
2721 const struct iaddr *a1,
const struct iaddr *a2);
2723 const struct iaddr *a1,
const struct iaddr *a2);
2726 const struct iaddr *lo,
const struct iaddr *hi);
2728 const char *
piaddr (
struct iaddr);
2730 char *
piaddrmask(
struct iaddr *,
struct iaddr *);
2731 char *
piaddrcidr(
const struct iaddr *,
unsigned int);
2752 void dhcpack (
struct packet *);
2753 void dhcpnak (
struct packet *);
2768 void bind_lease (
struct client_state *,
struct in_addr *);
2772 struct option_cache *,
struct iaddr *,
2773 struct option **,
struct option_state **);
2782 struct lease *,
struct client_state *,
2783 struct option_state *,
struct option_state *,
2784 struct binding_scope **,
struct universe *,
void *);
2788 int rewrite,
int sync);
2791 void script_init (
struct client_state *,
const char *,
2794 struct lease *,
struct client_state *,
2795 struct option_state *,
struct option_state *,
2796 struct binding_scope **,
struct universe *,
void *);
2802 const char *,
const char *,
const char *, ...)
2814 struct iaddr *addr,
int offset);
2822 isc_result_t
form_duid(struct data_string *duid, const
char *file,
int line);
2831 void unconfigure6(struct client_state *client, const
char *reason);
2837 #if defined (FAILOVER_PROTOCOL) 2849 #if defined (PARANOIA) 2859 u_int32_t
checksum (
unsigned char *,
unsigned, u_int32_t);
2860 u_int32_t
wrapsum (u_int32_t);
2862 unsigned *,
struct hardware *);
2864 unsigned *, u_int32_t, u_int32_t,
2865 u_int32_t,
unsigned char *,
unsigned);
2867 unsigned,
struct hardware *);
2869 unsigned,
struct sockaddr_in *,
2870 unsigned,
unsigned *,
int);
2874 unsigned *,
struct hardware *);
2877 unsigned,
struct hardware *);
2881 unsigned *,
struct hardware *);
2884 unsigned,
struct hardware *);
2912 void add_route_net (
struct interface_info *,
struct in_addr,
struct in_addr);
2917 void set_netmask (
struct interface_info *,
struct in_addr);
2938 struct interface_info **,
2939 struct client_state **);
2950 void icmp_startup (
int,
void (*) (
struct iaddr, u_int8_t *,
int));
2959 #if defined (NSUPDATE) 2960 #define FIND_FORWARD 0 2961 #define FIND_REVERSE 1 2968 void dhcid_tolease (
struct data_string *,
struct data_string *);
2969 isc_result_t
dhcid_fromlease (
struct data_string *,
struct data_string *);
2971 struct data_string *,
unsigned long,
unsigned,
2974 struct iaddr,
struct data_string *);
2996 #ifdef NEED_INET_ATON 2997 int inet_aton (
const char *,
struct in_addr *);
3011 void classify (
struct packet *,
struct class *);
3013 isc_result_t
find_class (
struct class **,
const char *,
3016 int bill_class (
struct lease *,
struct class *);
3020 struct packet *,
struct lease *,
3021 struct client_state *,
3022 struct option_state *,
struct option_state *,
3023 struct binding_scope **,
3024 struct executable_statement *,
3027 struct packet *,
struct lease *,
3028 struct client_state *,
3029 struct option_state *,
3030 struct option_state *,
3031 struct binding_scope **,
3032 struct group *,
struct group *,
3038 struct packet *,
struct lease *,
struct client_state *,
3039 struct option_state *,
struct option_state *,
3040 struct binding_scope **,
3041 struct expression *,
struct executable_statement *);
3043 int (*) (
struct executable_statement *,
3044 void *,
int),
void *,
int);
3063 const char *, va_list);
3082 const char *, va_list);
3101 const char *, va_list);
3122 const char *, va_list);
3141 #if defined (FAILOVER_PROTOCOL) 3157 const char *, va_list);
3175 const char *, va_list);
3193 const char *, va_list);
3211 const char *, va_list);
3229 const char *, va_list);
3269 struct binding_scope *,
3272 struct binding_scope *);
3294 isc_result_t
enter_class (
struct class *,
int,
int);
3296 isc_result_t
enter_host (
struct host_decl *,
int,
int);
3297 isc_result_t
delete_host (
struct host_decl *,
int);
3298 void change_host_uid(
struct host_decl *host,
const char *data,
int len);
3300 const unsigned char *,
unsigned,
3303 unsigned,
const char *,
int);
3305 struct option_state *,
const char *,
int);
3307 struct iaddr *,
struct shared_network *);
3309 struct subnet *,
struct pool *,
3314 struct iaddr,
const char *,
int);
3318 struct shared_network *,
3325 int lease_copy (
struct lease **,
struct lease *,
const char *,
int);
3330 void dissociate_lease (
struct lease *);
3334 unsigned,
const char *,
int);
3336 unsigned,
const char *,
int);
3349 #if defined (DEBUG_MEMORY_LEAKAGE) || \ 3350 defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT) 3351 void free_everything (
void);
3355 #if defined (FAILOVER_PROTOCOL) 3361 const char *,
const char *,
int);
3364 const char *, va_list);
3398 const char *, va_list);
3405 failover_message_t *);
3446 failover_option_t *);
3457 unsigned *,
unsigned, ...);
3462 dhcp_failover_state_t *,
3469 failover_message_t *,
3477 failover_message_t *);
3479 failover_message_t *);
3483 failover_message_t *);
3485 failover_message_t *);
3487 failover_message_t *);
3490 void failover_print (
char *,
unsigned *,
unsigned, const
char *);
3495 dhcp_failover_state_t *,
3500 dhcp_failover_state_t *,
3501 binding_state_t, u_int32_t);
3505 dhcp_type_failover_state)
3507 dhcp_type_failover_listener)
3509 dhcp_type_failover_link)
3515 #if defined(LDAP_CONFIGURATION) 3517 #if defined (LDAP_USE_SSL) 3522 isc_result_t ldap_read_config (
void);
3523 int find_haddr_in_ldap (
struct host_decl **,
int,
unsigned,
3524 const unsigned char *,
const char *,
int);
3525 int find_subclass_in_ldap (
struct class *,
struct class **,
3526 struct data_string *);
3535 const char *file,
int line);
3537 struct iasubopt *src,
3538 const char *file,
int line);
3540 const char *file,
int line);
3542 isc_result_t
ia_make_key(
struct data_string *key, u_int32_t iaid,
3543 const char *duid,
unsigned int duid_len,
3544 const char *file,
int line);
3546 const char *duid,
unsigned int duid_len,
3547 const char *file,
int line);
3549 const char *file,
int line);
3551 const char *file,
int line);
3553 const char *file,
int line);
3555 const char *file,
int line);
3559 const struct in6_addr *start_addr,
3560 int bits,
int units,
3561 const char *file,
int line);
3564 const char *file,
int line);
3566 const char *file,
int line);
3569 unsigned int *attempts,
3570 const struct data_string *uid,
3571 time_t soft_lifetime_end_time);
3574 time_t valid_lifetime_end_time);
3581 const struct in6_addr *addr);
3588 const struct in6_addr *addr);
3591 unsigned int *attempts,
3592 const struct data_string *uid,
3593 time_t soft_lifetime_end_time);
3595 const struct in6_addr *pref, u_int8_t plen);
3599 const struct in6_addr *addr);
3600 isc_boolean_t
ipv6_in_pool(
const struct in6_addr *addr,
3603 const char *file,
int line);
3606 const char *file,
int line);
3608 const char *file,
int line);
3620 #define MAX_ADDRESS_STRING_LEN \ 3621 (sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")) void parse_subnet6_declaration(struct parse *, struct shared_network *)
isc_result_t dhcp_failover_state_signal(omapi_object_t *, const char *, va_list)
void convert_subnet_decl(struct parse *, jrefproto)
void do_packet6(struct interface_info *, const char *, int, int, const struct iaddr *, isc_boolean_t)
void tkey_free(ns_tsig_key **)
struct lease_state * next
isc_result_t end_parse(struct parse **)
isc_result_t dhcp_group_create(omapi_object_t **, omapi_object_t *)
void if_register_send(struct interface_info *)
void hash_dump(struct hash_table *)
void initialize_server_option_spaces(void)
struct in_addr limited_broadcast
isc_result_t dhcp_failover_send_poolreq(dhcp_failover_state_t *)
isc_result_t renew_lease6(struct ipv6_pool *pool, struct iasubopt *lease)
Renew a lease in the pool.
void(* dhcpv6_packet_handler)(struct interface_info *, const char *, int, int, const struct iaddr *, isc_boolean_t)
int find_grouped_subnet(struct subnet **, struct shared_network *, struct iaddr, const char *, int)
int mockup_lease(struct lease **, struct packet *, struct shared_network *, struct host_decl *)
int expression_allocate(struct expression **, const char *, int)
int group_dereference(struct group **, const char *, int)
struct client_lease * alias
int parse_ip6_addr_expr(struct expression **, struct parse *)
struct lease * new_leases(unsigned, const char *, int)
isc_result_t dhcp_subnet_create(omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_host_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
int find_lease(struct lease **, struct packet *, struct shared_network *, int *, int *, struct lease *, const char *, int)
void mark_hosts_unavailable(void)
struct group * root_group
void bind_lease(struct client_state *, struct in_addr *)
void(* bootp_packet_handler)(struct interface_info *, struct dhcp_packet *, unsigned, unsigned int, struct iaddr, struct hardware *)
isc_result_t dhcp_failover_state_stuff(omapi_object_t *, omapi_object_t *, omapi_object_t *)
lease_id_hash_t * lease_uid_hash
void make_client_options(struct client_state *, struct client_lease *, u_int8_t *, struct option_cache *, struct iaddr *, struct option **, struct option_state **)
void parse_server_duid_conf(struct parse *cfile)
void start_selecting6(struct client_state *client)
int quiet_interface_discovery
isc_result_t dhcp_host_signal_handler(omapi_object_t *, const char *, va_list)
int data_string_sprintfa(struct data_string *ds, const char *fmt,...)
isc_result_t dhcp_failover_send_connectack(omapi_object_t *, dhcp_failover_state_t *, int, const char *)
isc_result_t dhcp_failover_link_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
void assemble_ethernet_header(struct interface_info *, unsigned char *, unsigned *, struct hardware *)
void parse_trace_setup(void)
struct agent_options * next
u_int32_t checksum(unsigned char *, unsigned, u_int32_t)
void parse_host_declaration(struct parse *, struct group *)
void trace_conf_input(trace_type_t *, unsigned, char *)
isc_result_t interface_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t find_tsig_key(ns_tsig_key **, const char *, struct dns_zone *)
isc_result_t ddns_remove_fwd(struct data_string *, struct iaddr, struct data_string *)
int write_failover_state(dhcp_failover_state_t *)
int dhcp_failover_state_match_by_name(dhcp_failover_state_t *, failover_option_t *)
isc_result_t dhcp_failover_listener_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
void dhcprequest(struct packet *, int, struct lease *)
int parse_executable_statement(struct executable_statement **, struct parse *, int *, enum expression_context)
failover_option_t failover_option_t * dhcp_failover_make_option(unsigned, char *, unsigned *, unsigned,...)
void client_option_envadd(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)
struct dns_question * question
int op_precedence(enum expr_op, enum expr_op)
isc_result_t dhcp_set_control_state(control_object_state_t oldstate, control_object_state_t newstate)
struct enumeration * find_enumeration(const char *, int)
int struct expression * parse_domain_list(struct parse *cfile, int)
char * parse_host_name(struct parse *)
struct eventqueue * rw_queue_empty
isc_result_t dhcp_failover_send_connect(omapi_object_t *)
int dhcp_max_agent_option_packet_length
omapi_object_type_t * dhcp_type_shared_network
void read_resolv_conf(TIME)
void assemble_udp_ip_header(struct interface_info *, unsigned char *, unsigned *, u_int32_t, u_int32_t, u_int32_t, unsigned char *, unsigned)
int icmp_echorequest(struct iaddr *)
struct group * on_receipt
void dhcpleasequery(struct packet *, int)
int parse_non_binary(struct expression **, struct parse *, int *, enum expression_context)
isc_result_t add_lease6(struct ipv6_pool *pool, struct iasubopt *lease, time_t valid_lifetime_end_time)
isc_result_t ia_make_key(struct data_string *key, u_int32_t iaid, const char *duid, unsigned int duid_len, const char *file, int line)
const char * hardware_types[256]
isc_result_t dhcp_subnet_signal_handler(omapi_object_t *, const char *, va_list)
int find_host_for_network(struct subnet **, struct host_decl **, struct iaddr *, struct shared_network *)
struct shared_network * shared_network
int parse_on_statement(struct executable_statement **, struct parse *, int *)
omapi_object_type_t * dhcp_type_failover_link
omapi_object_type_t * dhcp_type_pool
int evaluate_numeric_expression(unsigned long *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *)
struct shared_network * shared_networks
struct dhcp_ddns_cb * ddns_cb
int parse_option_code_definition(struct parse *, struct option *)
isc_result_t dhcp_group_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_subnet_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
void parse_fixed_prefix6(struct parse *cfile, struct host_decl *host_decl)
struct name_server * name_servers
void discover_interfaces(int)
struct permit * new_permit(const char *, int)
int got_requested_address
struct binding_scope * global_scope
void expire_all_pools(void)
isc_boolean_t server_duid_isset(void)
struct in_addr local_address
struct executable_statement * default_classification_rules
void if_reinitialize_send(struct interface_info *)
int get_dhcid(dhcp_ddns_cb_t *, int, const u_int8_t *, unsigned)
void parse_interface_declaration(struct parse *, struct client_config *, char *)
isc_result_t dhcp_host_destroy(omapi_object_t *, const char *, int)
int parse_ip_addr(struct parse *, struct iaddr *)
void setup_server_source_address(struct in_addr *from, struct option_state *options, struct packet *packet)
struct group_object * n_dynamic
struct isc_heap isc_heap_t
void icmp_startup(int, void(*)(struct iaddr, u_int8_t *, int))
enum dhcp_token peek_raw_token(const char **rval, unsigned *rlen, struct parse *cfile)
void start_release6(struct client_state *client)
void dhcpv6_leasequery(struct data_string *, struct packet *)
isc_result_t ia_dereference(struct ia_xx **ia, const char *file, int line)
struct lease_state * state
struct class * superclass
void start_info_request6(struct client_state *client)
void parse_pool6_statement(struct parse *, struct group *, int)
void dhcpack(struct packet *)
int evaluate_option_cache(struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct option_cache *, const char *, int)
int permit_list_match(struct permit *, struct permit *)
struct universe server_universe
void convert_numeric_aggregate(struct parse *, jrefproto, int, int, int, int)
isc_result_t interface_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t supersede_group(struct group_object *, int)
int write_billing_class(struct class *)
void dhcp_failover_pool_check(struct pool *)
int binding_scope_allocate(struct binding_scope **, const char *, int)
void script_init(struct client_state *, const char *, struct string_list *)
isc_result_t unlink_class(struct class **class)
ssize_t decode_udp_ip_header(struct interface_info *, unsigned char *, unsigned, struct sockaddr_in *, unsigned, unsigned *, int)
isc_result_t dhcp_subclass_signal_handler(omapi_object_t *, const char *, va_list)
universe_hash_t * universe_hash
void interface_snorf(struct interface_info *, int)
int pretty_escape(char **, char *, const unsigned char **, const unsigned char *)
control_object_state_t state
ssize_t decode_tr_header(struct interface_info *, unsigned char *, unsigned, struct hardware *)
int write_client_lease(struct client_state *, struct client_lease *, int, int)
void bootp(struct packet *)
int write_lease(struct lease *)
void do_packet(struct interface_info *, struct dhcp_packet *, unsigned, unsigned int, struct iaddr, struct hardware *)
trace_type_t * interface_trace
const char * pretty_print_option(struct option *, const unsigned char *, unsigned, int, int)
void classify(struct packet *, struct class *)
void client_dns_update_timeout(void *cp)
struct ipv6_pond * ipv6_pond
void set_option(struct universe *, struct option_state *, struct option_cache *, enum statement_op)
isc_boolean_t lease6_usable(struct iasubopt *lease)
Check if address is available to a lease.
isc_result_t ddns_modify_ptr(dhcp_ddns_cb_t *ddns_cb, const char *file, int line)
isc_result_t dhcp_failover_register(omapi_object_t *)
int find_hosts_by_option(struct host_decl **, struct packet *, struct option_state *, const char *, int)
struct client_config top_level_config
isc_result_t dhcp_failover_link_initiate(omapi_object_t *)
struct timeout * timeouts
isc_result_t dhcp_lease_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t got_one(omapi_object_t *)
int option_state_reference(struct option_state **, struct option_state *, const char *, int)
struct client_state * client
int write_host(struct host_decl *)
int bind_ds_value(struct binding_scope **, const char *, struct data_string *)
int check_collection(struct packet *, struct lease *, struct collection *)
omapi_object_type_t * dhcp_type_interface
isc_result_t dhcp_class_create(omapi_object_t **, omapi_object_t *)
int parse_boolean(struct parse *)
isc_result_t dhcp_interface_signal_handler(omapi_object_t *, const char *, va_list ap)
isc_result_t delete_group(struct group_object *, int)
struct universe nwip_universe
isc_result_t dhcp_host_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
u_int32_t wrapsum(u_int32_t)
int parse_ip6_addr(struct parse *, struct iaddr *)
struct group * on_transmission
int parse_option_token(struct expression **, struct parse *, const char **, struct expression *, int, int)
int interface_or_dummy(struct interface_info **, const char *)
int packet_dereference(struct packet **, const char *, int)
struct dhcp_ddns_cb * ddns_cb
host_hash_t * host_uid_hash
struct hardware_link * next
void dhcpinform(struct packet *, int)
struct lease * next_pending
omapi_object_type_t * dhcp_type_lease
isc_result_t ddns_update_fwd(struct data_string *, struct iaddr, struct data_string *, unsigned long, unsigned, unsigned)
struct client_state * client
int option_space_encapsulate(struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct data_string *)
void assemble_tr_header(struct interface_info *, unsigned char *, unsigned *, struct hardware *)
int can_receive_unicast_unconfigured(struct interface_info *)
int icmp_readsocket(omapi_object_t *)
isc_result_t dhcp_failover_state_create(omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_shared_network_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
void db_startup(int, uid_t, gid_t)
char * piaddrmask(struct iaddr *, struct iaddr *)
void print_lease(struct lease *)
int is_numeric_expression(struct expression *)
int is_data_expression(struct expression *)
struct executable_statement * on_release
void lease_ping_timeout(void *)
struct client_state * next
void lease_pinged(struct iaddr, u_int8_t *, int)
isc_result_t dhcp_failover_listener_stuff(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_host_create(omapi_object_t **, omapi_object_t *)
void nak_lease(struct packet *, struct iaddr *cip)
void uid_hash_add(struct lease *)
struct in_addr * addresses
struct name_server * next_server
struct binding * find_binding(struct binding_scope *, const char *)
char * print_dotted_quads(unsigned, const u_int8_t *)
struct binding * create_binding(struct binding_scope **, const char *)
int dhclient_interface_shutdown_hook(struct interface_info *)
void free_client_lease(struct client_lease *, const char *, int)
struct universe dhcp_universe
const char * path_dhclient_db
struct interface_info * ip
struct option_state * options
dhcp_ddns_cb_t * ddns_cb_alloc(const char *file, int line)
void read_client_leases(void)
void dhcp_failover_keepalive(void *)
struct option_cache * next
struct protocol * new_protocol(const char *, int)
int unbill_class(struct lease *, struct class *)
isc_result_t lease_file_subparse(struct parse *)
struct option_cache * next_hashed_option(struct universe *, struct option_state *, struct option_cache *)
struct shared_network * shared_network
isc_result_t dhcp_failover_send_update_request(dhcp_failover_state_t *)
isc_result_t ipv6_pond_reference(struct ipv6_pond **pond, struct ipv6_pond *src, const char *file, int line)
reference an IPv6 pond structure.
int parse_zone(struct dns_zone *, struct parse *)
void expression_dereference(struct expression **, const char *, int)
omapi_object_type_t * dhcp_type_failover_state
void dhcpdecline(struct packet *, int)
void cancel_timeout(void(*)(void *), void *)
isc_result_t dhcp_interface_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
int parse_auth_key(struct data_string *, struct parse *)
void free_binding_value(struct binding_value *, const char *, int)
isc_result_t dhcp_class_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
void hw_hash_delete(struct lease *)
int append_option(struct data_string *dst, struct universe *universe, struct option *option, struct data_string *src)
struct option_cache * fixed_addr
struct class * billing_class
const char * dhcp_failover_option_name(unsigned)
void parse_address_range(struct parse *, struct group *, int, struct pool *, struct lease **)
void client_location_changed(void)
void print_dns_status(int, struct dhcp_ddns_cb *, isc_result_t)
char * print_base64(const unsigned char *, unsigned, const char *, int)
isc_result_t dhcp_control_destroy(omapi_object_t *, const char *, int)
struct class unknown_class
int parse_lease_declaration(struct lease **, struct parse *)
const char * path_dhcpd_db
void if_reinitialize_fallback(struct interface_info *)
isc_result_t dhcp_shared_network_signal_handler(omapi_object_t *, const char *, va_list)
struct collection * collections
isc_result_t dhcp_host_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t find_class(struct class **, const char *, const char *, int)
lease_id_hash_t * lease_hw_addr_hash
int find_bound_string(struct data_string *, struct binding_scope *, const char *)
void cancel_all_timeouts(void)
void free_permit(struct permit *, const char *, int)
int dhcp_option_ev_name(char *, size_t, struct option *)
struct binding_scope * scope
dhcp_failover_state_t * failover_peer
isc_result_t dhcp_interface_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_class_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
struct ipv6_pond * ipv6_pond
failover_option_t * dhcp_failover_option_printf(unsigned, char *, unsigned *, unsigned, const char *,...) __attribute__((__format__(__printf__
void copy_server_duid(struct data_string *ds, const char *file, int line)
void dump_packet(struct packet *)
const char * print_time(TIME)
void(* tvunref_t)(void *, const char *, int)
struct option_cache * secondary6
void fqdn6_option_space_foreach(struct packet *packet, struct lease *lease, struct client_state *client_state, struct option_state *in_options, struct option_state *cfg_options, struct binding_scope **scope, struct universe *u, void *stuff, void(*func)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *))
int executable_statement_reference(struct executable_statement **, struct executable_statement *, const char *, int)
struct protocol * protocols
void relinquish_lease_hunks(void)
int allocate_lease(struct lease **, struct packet *, struct pool *, int *)
isc_result_t dhcp_control_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
struct option_cache * lookup_linked_option(struct universe *, struct option_state *, unsigned)
dhcp_failover_state_t * failover_peer
int parse_fixed_addr_param(struct option_cache **, struct parse *, enum dhcp_token)
void release_lease(struct lease *, struct packet *)
int dhclient_interface_discovery_hook(struct interface_info *)
struct option_cache * lookup_option(struct universe *, struct option_state *, unsigned)
OMAPI_OBJECT_ALLOC_DECL(shared_network, struct shared_network, dhcp_type_shared_network) OMAPI_OBJECT_ALLOC_DECL(dhcp_control
isc_result_t dhcp_shared_network_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
int find_hosts_by_haddr(struct host_decl **, int, const unsigned char *, unsigned, const char *, int)
int parse_lbrace(struct parse *)
void state_reboot(void *)
void make_decline(struct client_state *, struct client_lease *)
struct dhc6_ia * bindings
int(* dhcp_interface_discovery_hook)(struct interface_info *)
void if_deregister_receive(struct interface_info *)
void convert_host_name(struct parse *, jrefproto)
char * piaddrcidr(const struct iaddr *, unsigned int)
int option_cache_reference(struct option_cache **, struct option_cache *, const char *, int)
int evaluate_boolean_expression(int *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *)
int packet_reference(struct packet **, struct packet *, const char *, int)
void state_selecting(void *)
void dhcp_failover_recover_done(void *)
isc_result_t write_client6_lease(struct client_state *client, struct dhc6_lease *lease, int rewrite, int sync)
isc_result_t restore_parse_state(struct parse *cfile)
isc_result_t(* dhcp_interface_startup_hook)(struct interface_info *)
struct expression * expression
struct permit * prohibit_list
int is_compound_expression(struct expression *)
void free_expression(struct expression *, const char *, int)
void parse_client_lease_statement(struct parse *, int)
int addr_eq(struct iaddr, struct iaddr)
struct parse * saved_state
void save_hashed_option(struct universe *, struct option_state *, struct option_cache *, isc_boolean_t appendp)
void forget_zone(struct dns_zone **)
void script_write_params(struct client_state *, const char *, struct client_lease *)
failover_option_t null_failover_option
void reinitialize_interfaces(void)
int evaluate_data_expression(struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *, const char *, int)
isc_result_t decline_leases(struct ia_xx *ia)
void get_hw_addr(struct interface_info *info)
void(* tvref_t)(void *, void *, const char *, int)
const char * binding_state_print(enum failover_state state)
void mark_interfaces_unavailable(void)
struct option_state * options
void parse_client_statement(struct parse *, struct interface_info *, struct client_config *)
isc_result_t enter_class(struct class *, int, int)
int hashed_option_state_dereference(struct universe *, struct option_state *, const char *, int)
void ddns_cb_free(dhcp_ddns_cb_t *ddns_cb, const char *file, int line)
isc_boolean_t ia_equal(const struct ia_xx *a, const struct ia_xx *b)
int db_printable_len(const unsigned char *, unsigned)
unsigned char dhcpv6_hop_count
void parse_failover_state_declaration(struct parse *, dhcp_failover_state_t *)
isc_result_t dhcp_failover_send_bind_ack(dhcp_failover_state_t *, failover_message_t *, int, const char *)
struct client_lease * new_client_lease(const char *, int)
struct name_server * next
void maybe_setup_fallback(void)
struct dhc6_lease * held_leases
unsigned char dhcpv6_msg_type
int locate_network(struct packet *)
void free_name_server(struct name_server *, const char *, int)
isc_boolean_t lease6_exists(const struct ipv6_pool *pool, const struct in6_addr *addr)
struct interface_info * fallback_interface
int binding_value_dereference(struct binding_value **, const char *, int)
void if_deregister_send(struct interface_info *)
isc_result_t dhcp_failover_send_poolresp(dhcp_failover_state_t *, int)
void option_space_foreach(struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *, void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *))
isc_boolean_t is_cidr_mask_valid(const struct iaddr *addr, int bits)
int group_allocate(struct group **, const char *, int)
const char * dhcp_flink_state_names[]
isc_result_t dhcp_failover_link_destroy(omapi_object_t *, const char *, int)
int save_option_buffer(struct universe *, struct option_state *, struct buffer *, unsigned char *, unsigned, unsigned, int)
int parse_option_buffer(struct option_state *, const unsigned char *, unsigned, struct universe *)
void convert_subnet_statement(struct parse *, jrefproto)
int binding_scope_dereference(struct binding_scope **, const char *, int)
int parse_semi(struct parse *)
void indent_spaces(FILE *, int)
int option_state_dereference(struct option_state **, const char *, int)
int enter_dns_host(struct dns_host_entry **, const char *)
void dhcprelease(struct packet *, int)
void send_discover(void *)
void dhcp(struct packet *)
isc_result_t icmp_echoreply(omapi_object_t *)
void parse_ia_ta_declaration(struct parse *)
int parse_if_statement(struct executable_statement **, struct parse *, int *)
struct executable_statement * statements
void convert_num(struct parse *, unsigned char *, const char *, int, unsigned)
struct option_state * options
void convert_ip_addr_or_hostname(struct parse *, jrefproto, int)
isc_result_t binding_scope_stuff_values(omapi_object_t *, struct binding_scope *)
void dhcid_tolease(struct data_string *, struct data_string *)
void get_server_source_address(struct in_addr *from, struct option_state *options, struct option_state *out_options, struct packet *packet)
void flush_ackqueue(void *)
int executable_statement_allocate(struct executable_statement **, const char *, int)
int dns_zone_allocate(struct dns_zone **, const char *, int)
int buffer_dereference(struct buffer **, const char *, int)
const char * dhcp_failover_message_name(unsigned)
void interface_trace_setup(void)
isc_result_t dhcp_failover_state_transition(dhcp_failover_state_t *, const char *)
void convert_statement(struct parse *)
void parse_string_list(struct parse *, struct string_list **, int)
int fqdn6_option_space_encapsulate(struct data_string *result, struct packet *packet, struct lease *lease, struct client_state *client_state, struct option_state *in_options, struct option_state *cfg_options, struct binding_scope **scope, struct universe *universe)
isc_result_t dhcp_failover_state_destroy(omapi_object_t *, const char *, int)
isc_result_t decline_lease6(struct ipv6_pool *pool, struct iasubopt *lease)
int parse_executable_statements(struct executable_statement **, struct parse *, int *, enum expression_context)
enum dhcp_token next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile)
isc_result_t interface_destroy(omapi_object_t *, const char *, int)
isc_result_t dhcp_group_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
struct iaddr subnet_number(struct iaddr, struct iaddr)
isc_result_t dhcp_shared_network_create(omapi_object_t **, omapi_object_t *)
int binding_value_reference(struct binding_value **, struct binding_value *, const char *, int)
int fundef_allocate(struct fundef **, const char *, int)
void free_lease_state(struct lease_state *, const char *, int)
unsigned cons_agent_information_options(struct option_state *, struct dhcp_packet *, unsigned, unsigned)
isc_result_t dhcp_subnet_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
int make_substring(struct expression **, struct expression *, struct expression *, struct expression *)
int parse_ip6_prefix(struct parse *, struct iaddr *, u_int8_t *)
group_hash_t * group_name_hash
struct option_state * options
int fundef_reference(struct fundef **, struct fundef *, const char *, int)
int parse_option_data(struct expression **expr, struct parse *cfile, int lookups, struct option *option)
void postdb_startup(void)
int setup_fallback(struct interface_info **, const char *, int)
int evaluate_expression(struct binding_value **, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *, const char *, int)
isc_result_t mark_lease_unavailble(struct ipv6_pool *pool, const struct in6_addr *addr)
isc_result_t dhcp_interface_destroy(omapi_object_t *, const char *, int)
isc_result_t dhcp_subclass_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t ipv6_pool_allocate(struct ipv6_pool **pool, u_int16_t type, const struct in6_addr *start_addr, int bits, int units, const char *file, int line)
Create a new IPv6 lease pool structure.
int linked_option_get(struct data_string *, struct universe *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct option_state *, struct binding_scope **, unsigned)
omapi_object_type_t * dhcp_type_failover_listener
int(* dhcp_interface_shutdown_hook)(struct interface_info *)
int get_option(struct data_string *, struct universe *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct option_state *, struct binding_scope **, unsigned, const char *, int)
void relinquish_timeouts(void)
failover_option_t skip_failover_option
void change_host_uid(struct host_decl *host, const char *data, int len)
isc_result_t readconf(void)
int dhcp_option_default_priority_list_count
void if_deregister6(struct interface_info *info)
struct string_list * medium
isc_result_t release_lease6(struct ipv6_pool *pool, struct iasubopt *lease)
int subnet_inner_than(const struct subnet *, const struct subnet *, int)
void skip_to_semi(struct parse *)
void schedule_lease_timeout(struct ipv6_pool *pool)
struct enumeration_value * find_enumeration_value(const char *, int, unsigned *, const char *)
isc_result_t dhcp_failover_listen(omapi_object_t *)
isc_result_t dhcp_lease_signal_handler(omapi_object_t *, const char *, va_list)
struct universe ** universes
isc_result_t dhcp_host_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_group_signal_handler(omapi_object_t *, const char *, va_list)
void suboption_foreach(struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *, void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *), struct option_cache *, const char *)
void destroy_client_lease(struct client_lease *)
char * print_hex(unsigned, const u_int8_t *, unsigned, unsigned)
time_t hard_lifetime_end_time
struct universe fqdn_universe
void save_option(struct universe *, struct option_state *, struct option_cache *)
void make_release(struct client_state *, struct client_lease *)
int store_options(int *ocount, unsigned char *buffer, unsigned buflen, unsigned index, struct packet *packet, struct lease *lease, struct client_state *client_state, struct option_state *in_options, struct option_state *cfg_options, struct binding_scope **scope, unsigned *priority_list, int priority_len, unsigned first_cutoff, int second_cutoff, int terminate, const char *vuname)
isc_result_t dhcp_failover_state_remove(omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_lease_remove(omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_failover_set_state(dhcp_failover_state_t *, enum failover_state)
struct permit * prohibit_list
void if_register_linklocal6(struct interface_info *info)
void build_server_oro(struct data_string *, struct option_state *, const char *, int)
isc_result_t dhcp_failover_process_bind_ack(dhcp_failover_state_t *, failover_message_t *)
int parse_option_list(struct parse *, struct option ***)
lease_id_hash_t extern struct option * vendor_cfg_option
int parse_option_statement(struct executable_statement **, struct parse *, int, struct option *, enum statement_op)
isc_result_t dhcp_control_create(omapi_object_t **, omapi_object_t *)
struct option_state * options
void static_lease_dereference(struct lease *, const char *, int)
void parse_subnet_declaration(struct parse *, struct shared_network *)
void free_domain_search_list(struct domain_search_list *, const char *, int)
void dhc6_lease_destroy(struct dhc6_lease **src, const char *file, int line)
host_hash_t * host_name_hash
void ia_remove_all_lease(struct ia_xx *ia, const char *file, int line)
void hashed_option_space_foreach(struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *, void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *))
struct option ** requested_options
void mark_phosts_unavailable(void)
isc_result_t dhcp_failover_state_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
void convert_class_decl(struct parse *, jrefproto)
void set_netmask(struct interface_info *, struct in_addr)
int parse_cshl(struct data_string *, struct parse *)
void write_billing_classes(void)
char * quotify_string(const char *, const char *, int)
isc_result_t new_parse(struct parse **, int, char *, unsigned, const char *, int)
ssize_t send_fallback6(struct interface_info *, struct packet *, struct dhcp_packet *, size_t, struct in6_addr *, struct sockaddr_in6 *, struct hardware *)
isc_result_t delete_host(struct host_decl *, int)
void send_request(void *)
void enter_shared_network(struct shared_network *)
void dhcp_failover_pool_rebalance(void *)
isc_result_t dhcp_failover_generate_update_queue(dhcp_failover_state_t *, int)
void state_requesting(void *)
isc_result_t dhcp_shared_network_remove(omapi_object_t *, omapi_object_t *)
int dns_zone_dereference(struct dns_zone **, const char *, int)
isc_result_t cleanup_lease6(ia_hash_t *ia_table, struct ipv6_pool *pool, struct iasubopt *lease, struct ia_xx *ia)
Cleans up leases when reading from a lease file.
int execute_statements(struct binding_value **result, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct executable_statement *, struct on_star *)
void abandon_lease(struct lease *, const char *)
int addr_and(struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2)
struct dns_answer * answer
binding_state_t binding_state
isc_timer_t * isc_timeout
int parse_key(struct parse *)
int parse_string(struct parse *, char **, unsigned *)
dns_rdataclass_t dhcid_class
int option_reference(struct option **dest, struct option *src, const char *file, int line)
struct ipv6_pool * ipv6_pool
int parse_options(struct packet *)
isc_result_t dhcp_failover_put_message(dhcp_failover_link_t *, omapi_object_t *, int, u_int32_t,...)
int parse_allow_deny(struct option_cache **, struct parse *, int)
int option_cache_allocate(struct option_cache **, const char *, int)
int packet6_len_okay(const char *, int)
isc_result_t dhcp_failover_state_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
int dns_host_entry_dereference(struct dns_host_entry **, const char *, int)
int addr_cmp(const struct iaddr *a1, const struct iaddr *a2)
char * default_option_format
isc_result_t dhcp_control_remove(omapi_object_t *, omapi_object_t *)
void script_write_requested(struct client_state *)
struct interface_info * interface
void dhcp_failover_listener_restart(void *)
isc_result_t dhcp_failover_process_update_request_all(dhcp_failover_state_t *, failover_message_t *)
void postconf_initialization(int)
void linked_option_space_foreach(struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *, void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *))
isc_result_t dhcp_failover_send_disconnect(omapi_object_t *, int, const char *)
omapi_object_type_t * dhcp_type_control
ssize_t send_packet6(struct interface_info *, const unsigned char *, size_t, struct sockaddr_in6 *)
isc_result_t dhcp_failover_peer_state_changed(dhcp_failover_state_t *, failover_message_t *)
struct dhcp_ddns_cb * next_op
void delayed_ack_enqueue(struct lease *)
int find_matching_case(struct executable_statement **, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *, struct executable_statement *)
isc_result_t dhcp_failover_process_update_request(dhcp_failover_state_t *, failover_message_t *)
void save_linked_option(struct universe *, struct option_state *, struct option_cache *, isc_boolean_t appendp)
char * print_dec_1(unsigned long)
void convert_servername_decl(struct parse *, jrefproto)
trace_type_t * inpacket_trace
void enter_lease(struct lease *)
isc_result_t renew_leases(struct ia_xx *ia)
int parse_numeric_expression(struct expression **, struct parse *, int *)
int write_server_duid(void)
void assemble_hw_header(struct interface_info *, unsigned char *, unsigned *, struct hardware *)
void commit_leases_timeout(void *)
struct option_cache * lookup_fqdn6_option(struct universe *universe, struct option_state *options, unsigned code)
int make_const_int(struct expression **, unsigned long)
isc_result_t dhcp_class_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
int dns_host_entry_allocate(struct dns_host_entry **, const char *, const char *, int)
void unregister_eventhandler(struct eventqueue **, void(*handler)(void *))
int find_lease_by_hw_addr(struct lease **, const unsigned char *, unsigned, const char *, int)
int if_register_lpf(struct interface_info *)
omapi_object_type_t * dhcp_type_subclass
isc_result_t dhcp_subclass_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
void do_release(struct client_state *)
int linked_option_space_encapsulate(struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *)
host_hash_t * host_hw_addr_hash
int dhcp_failover_queue_ack(dhcp_failover_state_t *, failover_message_t *msg)
int parse_switch_statement(struct executable_statement **, struct parse *, int *)
isc_result_t interface_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
void delete_hashed_option(struct universe *, struct option_state *, int)
void parse_pool_statement(struct parse *, struct group *, int)
Parse a pool statement.
int clone_group(struct group **, struct group *, const char *, int)
struct iaddr ip_addr(struct iaddr, struct iaddr, u_int32_t)
const char * path_dhcpd_pid
ssize_t send_packet(struct interface_info *, struct packet *, struct dhcp_packet *, size_t, struct in_addr, struct sockaddr_in *, struct hardware *)
isc_result_t dhcp_failover_link_signal(omapi_object_t *, const char *, va_list)
void convert_host_decl(struct parse *, jrefproto)
struct dhc6_lease * advertised_leases
const char * dhcp_failover_state_name_print(enum failover_state)
int parse_ip_addr_with_subnet(struct parse *, struct iaddrmatch *)
int evaluate_boolean_option_cache(int *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct option_cache *, const char *, int)
omapi_object_type_t * dhcp_type_host
struct expression * submatch
isc_result_t dhcp_subclass_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_subnet_destroy(omapi_object_t *, const char *, int)
int(* group_write_hook)(struct group_object *)
isc_result_t got_one_v6(omapi_object_t *)
binding_state_t normal_binding_state_transition_check(struct lease *, dhcp_failover_state_t *, binding_state_t, u_int32_t)
void start_confirm6(struct client_state *client)
void set_server_duid(struct data_string *new_duid)
isc_result_t dhcid_fromlease(struct data_string *, struct data_string *)
int executable_statement_dereference(struct executable_statement **, const char *, int)
isc_result_t add_ipv6_pool(struct ipv6_pool *pool)
struct dhcp_ddns_cb dhcp_ddns_cb_t
int addr_match(struct iaddr *, struct iaddrmatch *)
struct client_lease * next
void ddns_cancel(dhcp_ddns_cb_t *ddns_cb, const char *file, int line)
isc_result_t create_lease6(struct ipv6_pool *pool, struct iasubopt **addr, unsigned int *attempts, const struct data_string *uid, time_t soft_lifetime_end_time)
int parse_boolean_expression(struct expression **, struct parse *, int *)
isc_result_t dhcp_lease_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
void parse_reject_statement(struct parse *, struct client_config *)
struct host_decl * n_ipaddr
isc_result_t dhcp_failover_link_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
struct option_state * sent_options
int dns_zone_reference(struct dns_zone **, struct dns_zone *, const char *, int)
isc_result_t dhcp_pool_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
TIME parse_date(struct parse *)
enum dhcp_token next_token(const char **, unsigned *, struct parse *)
void uid_hash_delete(struct lease *)
dhcp_failover_state_t * failover_states
isc_result_t dhcp_subclass_remove(omapi_object_t *, omapi_object_t *)
int free_bindings(struct binding_scope *, const char *, int)
int make_let(struct executable_statement **, const char *)
int load_balance_mine(struct packet *, dhcp_failover_state_t *)
unsigned char option_mask[16]
void parse_shared_net_declaration(struct parse *, struct group *)
void convert_class_statement(struct parse *, jrefproto, int)
void dhcp_failover_link_startup_timeout(void *)
isc_result_t dhcp_control_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
void convert_hardware_decl(struct parse *, jrefproto)
struct name_server * first_name_server(void)
struct client_state * client
isc_result_t dhcp_interface_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_pool_remove(omapi_object_t *, omapi_object_t *)
int permitted(struct packet *, struct permit *)
struct option_state * options
void free_universe(struct universe *, const char *, int)
void rewrite_client_leases(void)
void trigger_event(struct eventqueue **)
int nwip_option_space_encapsulate(struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *)
struct dhc6_lease * selected_lease
isc_result_t dhcp_shared_network_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
void set_server_duid_type(int type)
dhcp_type_control int option_chain_head_allocate(struct option_chain_head **, const char *, int)
void dhcp_db_objects_setup(void)
isc_sockaddrlist_t zone_server_list
int option_chain_head_reference(struct option_chain_head **, struct option_chain_head *, const char *, int)
void repudiate_zone(struct dns_zone **)
int supersede_lease(struct lease *, struct lease *, int, int, int)
isc_result_t dhcp_subclass_destroy(omapi_object_t *, const char *, int)
struct ipv6_pool ** ipv6_pools
char * print_hw_addr(const int, const int, const unsigned char *)
struct option_tag * first
void dhcpnak(struct packet *)
isc_result_t write_named_billing_class(const void *, unsigned, void *)
isc_result_t interface_initialize(omapi_object_t *, const char *, int)
struct universe * new_universe(const char *, int)
isc_result_t interface_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
int parse_destination_descriptor(struct parse *, struct iaddr *)
int make_host_lookup(struct expression **, const char *)
void new_address_range(struct parse *, struct iaddr, struct iaddr, struct subnet *, struct pool *, struct lease **)
isc_result_t find_failover_peer(dhcp_failover_state_t **, const char *, const char *, int)
void add_route_net(struct interface_info *, struct in_addr, struct in_addr)
int option_state_allocate(struct option_state **, const char *, int)
int token_print_indent(FILE *, int, int, const char *, const char *, const char *)
const char * path_dhclient_conf
struct shared_network * shared_network
u_int16_t validate_port(char *)
void parse_lease_time(struct parse *, TIME *)
isc_result_t ipv6_pool_dereference(struct ipv6_pool **pool, const char *file, int line)
de-reference an IPv6 pool structure.
isc_result_t find_ipv6_pool(struct ipv6_pool **pool, u_int16_t type, const struct in6_addr *addr)
int find_hosts_by_uid(struct host_decl **, const unsigned char *, unsigned, const char *, int)
struct interface_info * interfaces
int parse_option_decl(struct option_cache **, struct parse *)
void print_expression(const char *, struct expression *)
isc_result_t dhcp_control_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
int fqdn_universe_decode(struct option_state *, const unsigned char *, unsigned, struct universe *)
int write_group(struct group_object *)
isc_result_t delete_class(struct class *, int)
int make_encapsulation(struct expression **, struct data_string *)
isc_result_t enter_failover_peer(dhcp_failover_state_t *)
struct subnet * next_subnet
int option_cache_dereference(struct option_cache **, const char *, int)
void dhcpv4_client_assignments(void)
isc_boolean_t ipv6_in_pool(const struct in6_addr *addr, const struct ipv6_pool *pool)
void convert_shared_net_statement(struct parse *, jrefproto)
isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result)
void free_pair(pair, const char *, int)
int binding_value_allocate(struct binding_value **, const char *, int)
void delete_fqdn6_option(struct universe *universe, struct option_state *options, int code)
struct option ** required_options
ssize_t decode_ethernet_header(struct interface_info *, unsigned char *, unsigned, struct hardware *)
omapi_object_type_t * dhcp_type_class
void convert_filename_decl(struct parse *, jrefproto)
int token_print_indent_concat(FILE *, int, int, const char *, const char *,...)
struct dhcp_packet * new_dhcp_packet(const char *, int)
int make_concat(struct expression **, struct expression *, struct expression *)
omapi_object_type_t * dhcp_type_group
void write_client_pid_file(void)
isc_result_t dhcp_subnet_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
int(* dhcp_interface_setup_hook)(struct interface_info *, struct iaddr *)
int parse_base64(struct data_string *, struct parse *)
void add_timeout(struct timeval *, void(*)(void *), void *, tvref_t, tvunref_t)
struct shared_network * shared_network
void make_request(struct client_state *, struct client_lease *)
int parse_expression(struct expression **, struct parse *, int *, enum expression_context, struct expression **, enum expr_op)
int if_readsocket(omapi_object_t *)
isc_result_t dhcp_lease_get(omapi_object_t **, const char *, int)
int group_reference(struct group **, struct group *, const char *, int)
dhcp_control_object_t * dhcp_control_object
isc_result_t dhcp_host_remove(omapi_object_t *, omapi_object_t *)
struct universe vsio_universe
struct lease ** billed_leases
void dhcpdiscover(struct packet *, int)
void dhcp_failover_reconnect(void *)
isc_result_t get_client_id(struct packet *, struct data_string *)
const char * path_dhcpd_conf
void set_broadcast_addr(struct interface_info *, struct in_addr)
void delete_linked_option(struct universe *, struct option_state *, int)
void dhcp_failover_startup(void)
struct option_cache * secondary
int parse_dns_expression(struct expression **, struct parse *, int *)
void convert_host_statement(struct parse *, jrefproto)
void if_register6(struct interface_info *info, int do_multicast)
void convert_date(struct parse *, jrefproto, char *)
void set_ip_address(struct interface_info *, struct in_addr)
int find_subnet(struct subnet **, struct iaddr, const char *, int)
struct client_lease * active
isc_result_t dhcp_lease_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_class_destroy(omapi_object_t *, const char *, int)
int parse_X(struct parse *, u_int8_t *, unsigned)
int hashed_option_space_encapsulate(struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *)
int parse_statement(struct parse *, struct group *, int, struct host_decl *, int)
isc_result_t client_dns_update(struct client_state *client, dhcp_ddns_cb_t *ddns_cb)
isc_result_t dhclient_interface_startup_hook(struct interface_info *)
isc_result_t release_leases(struct ia_xx *ia)
isc_result_t dhcp_group_remove(omapi_object_t *, omapi_object_t *)
struct iaddrcidrnetlist * fixed_prefix
void update_partner(struct lease *)
isc_result_t dhcp_failover_send_update_done(dhcp_failover_state_t *)
void make_discover(struct client_state *, struct client_lease *)
void start_init6(struct client_state *client)
isc_result_t dns_zone_lookup(struct dns_zone **, const char *)
struct group_object * named_group
isc_result_t ddns_removals(struct lease *, struct iasubopt *, struct dhcp_ddns_cb *, isc_boolean_t)
enum dhcp_shutdown_state shutdown_state
void parse_client_lease_declaration(struct parse *, struct client_lease *, struct interface_info **, struct client_state **)
void dhcpv6(struct packet *)
isc_result_t dhcp_class_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
int commit_leases_timed(void)
void trace_ddns_init(void)
isc_result_t ipv6_pond_allocate(struct ipv6_pond **pond, const char *file, int line)
Create a new IPv6 pond structure.
void unconfigure6(struct client_state *client, const char *reason)
void client_dns_remove(struct client_state *client, struct iaddr *addr)
isc_result_t dhcp_pool_signal_handler(omapi_object_t *, const char *, va_list)
struct shared_network * shared_network
int got_server_identifier
char * quotify_buf(const unsigned char *, unsigned, const char *, int)
struct universe * config_universe
void also_save_option(struct universe *, struct option_state *, struct option_cache *)
int lease_enqueue(struct lease *)
void register_eventhandler(struct eventqueue **, void(*handler)(void *))
const char * path_dhclient_pid
struct executable_statement * statements
__extension__ unsigned short dhcpd_main_semaphore __attribute__((unused)) __attribute__((section(".probes")))
int parse_agent_information_option(struct packet *, int, u_int8_t *)
binding_state_t rewind_binding_state
int peer_wants_lease(struct lease *)
void parse_failover_state(struct parse *, enum failover_state *, TIME *)
struct interface_info * next
isc_boolean_t prefix6_exists(const struct ipv6_pool *pool, const struct in6_addr *pref, u_int8_t plen)
void dhcp_failover_ack_queue_remove(dhcp_failover_state_t *, struct lease *)
isc_heap_t * inactive_timeouts
isc_result_t dhcp_failover_set_service_state(dhcp_failover_state_t *state)
isc_result_t dhcp_io_shutdown(omapi_object_t *, void *)
void if_register_fallback(struct interface_info *)
int ddns_updates(struct packet *, struct lease *, struct lease *, struct iasubopt *, struct iasubopt *, struct option_state *)
void convert_address_range(struct parse *, jrefproto)
int parse_encapsulated_suboptions(struct option_state *, struct option *, const unsigned char *, unsigned, struct universe *, const char *)
int parse_data_expression(struct expression **, struct parse *, int *)
void schedule_all_ipv6_lease_timeouts()
void make_binding_state_transition(struct lease *)
int script_go(struct client_state *)
struct string_list * next
void parse_failover_peer(struct parse *, struct group *, int)
void parse_address_range6(struct parse *cfile, struct group *group, struct ipv6_pond *)
int addr_or(struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2)
void commit_leases_readerdry(void *)
isc_result_t iasubopt_dereference(struct iasubopt **iasubopt, const char *file, int line)
int validate_packet(struct packet *)
void failover_print(char *, unsigned *, unsigned, const char *)
int is_boolean_expression(struct expression *)
int dhcp_failover_queue_update(struct lease *, int)
int db_printable(const unsigned char *)
void execute_statements_in_scope(struct binding_value **result, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct group *, struct group *, struct on_star *)
void convert_lease_time(struct parse *, jrefproto, char *)
void ack_lease(struct packet *, struct lease *, unsigned int, TIME, char *, int, struct host_decl *)
void skip_to_rbrace(struct parse *, int)
isc_result_t set_server_duid_from_option(void)
void add_route_direct(struct interface_info *, struct in_addr)
struct shared_network * shared_network
struct domain_search_list * new_domain_search_list(const char *, int)
struct failover_option_info ft_options[]
void parse_prefix6(struct parse *cfile, struct group *group, struct ipv6_pond *)
pair new_pair(const char *, int)
struct option * host_id_option
int format_min_length(const char *, struct option_cache *)
void save_fqdn6_option(struct universe *universe, struct option_state *options, struct option_cache *oc, isc_boolean_t appendp)
isc_result_t ia_allocate(struct ia_xx **ia, u_int32_t iaid, const char *duid, unsigned int duid_len, const char *file, int line)
int parse_class_declaration(struct class **, struct parse *, struct group *, int)
enum dhcp_token peek_token(const char **, unsigned *, struct parse *)
isc_result_t enter_dns_zone(struct dns_zone *)
void parse_ia_pd_declaration(struct parse *)
ssize_t send_fallback(struct interface_info *, struct packet *, struct dhcp_packet *, size_t, struct in_addr, struct sockaddr_in *, struct hardware *)
int read_client_conf_file(const char *, struct interface_info *, struct client_config *)
isc_result_t dhcp_shared_network_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
void data_string_forget(struct data_string *, const char *, int)
void free_dhcp_packet(struct dhcp_packet *, const char *, int)
isc_result_t dhcp_class_signal_handler(omapi_object_t *, const char *, va_list)
struct option_cache * primary6
binding_state_t desired_binding_state
isc_boolean_t agent_options_stashed
int dns_host_entry_reference(struct dns_host_entry **, struct dns_host_entry *, const char *, int)
struct subnet * next_sibling
isc_result_t ia_add_iasubopt(struct ia_xx *ia, struct iasubopt *iasubopt, const char *file, int line)
int dhcp_failover_write_all_states(void)
int write_expression(FILE *, struct expression *, int, int, int)
void dhcpoffer(struct packet *)
isc_result_t dhcp_failover_listener_destroy(omapi_object_t *, const char *, int)
void convert_fixed_addr_decl(struct parse *, jrefproto)
void convert_hardware_addr(struct parse *, jrefproto)
isc_heap_t * active_timeouts
TIME parse_date_core(struct parse *)
isc_result_t binding_scope_set_value(struct binding_scope *, int, omapi_data_string_t *, omapi_typed_data_t *)
void initialize_common_option_spaces(void)
struct interface_info * interface
struct client_lease * offered_leases
isc_result_t ipv6_pond_dereference(struct ipv6_pond **pond, const char *file, int line)
de-reference an IPv6 pond structure.
time_t soft_lifetime_end_time
int find_lease_by_uid(struct lease **, const unsigned char *, unsigned, const char *, int)
int fundef_dereference(struct fundef **, const char *, int)
int supports_multiple_interfaces(struct interface_info *)
void parse_option_space_decl(struct parse *)
int evaluate_boolean_expression_result(int *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *)
isc_result_t dhcp_failover_send_bind_update(dhcp_failover_state_t *, struct lease *)
struct string_list * media
void enter_subnet(struct subnet *)
isc_result_t dhcp_failover_send_state(dhcp_failover_state_t *)
struct iaddr broadcast_addr(struct iaddr, struct iaddr)
int fqdn6_universe_decode(struct option_state *options, const unsigned char *buffer, unsigned length, struct universe *u)
void(* func)(struct dns_query *)
isc_result_t dhcp_subnet_remove(omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_subclass_create(omapi_object_t **, omapi_object_t *)
isc_result_t enter_host(struct host_decl *, int, int)
enum expression_context op_context(enum expr_op)
void dhcp_failover_timeout(void *)
struct universe * find_option_universe(struct option *, const char *)
int add_option(struct option_state *options, unsigned int option_num, void *data, unsigned int data_len)
isc_result_t dhcp_group_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
int make_const_data(struct expression **, const unsigned char *, unsigned, int, int, const char *, int)
int dhcp_failover_state_match(dhcp_failover_state_t *, u_int8_t *, unsigned)
int dhcpd_interface_setup_hook(struct interface_info *ip, struct iaddr *ia)
isc_result_t dhcp_lease_destroy(omapi_object_t *, const char *, int)
int token_indent_data_string(FILE *, int, int, const char *, const char *, struct data_string *)
void write_lease_option(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)
void dhcpv6_client_assignments(void)
void dhcp_failover_toack_queue_timeout(void *)
isc_result_t dhcp_pool_destroy(omapi_object_t *, const char *, int)
int parse_case_statement(struct executable_statement **, struct parse *, int *, enum expression_context)
void interface_stash(struct interface_info *)
void delete_option(struct universe *, struct option_state *, int)
void dump_raw(const unsigned char *, unsigned)
int packet_allocate(struct packet **, const char *, int)
int unset(struct binding_scope *, const char *)
void print_hex_only(unsigned, const u_int8_t *, unsigned, char *)
struct binding_scope ** scope
void send_decline(void *)
struct iaddrmatchlist * reject_list
struct string_list * medium
isc_result_t dhcp_lease_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
int cons_options(struct packet *, struct dhcp_packet *, struct lease *, struct client_state *, int, struct option_state *, struct option_state *, struct binding_scope **, int, int, int, struct data_string *, const char *)
struct option_cache * lookup_hashed_option(struct universe *, struct option_state *, unsigned)
struct client_config * config
isc_result_t read_client_conf(void)
isc_result_t dhcp_lease_create(omapi_object_t **, omapi_object_t *)
struct interface_info ** interface_vector
void(* ddns_action_t)(struct dhcp_ddns_cb *ddns_cb, isc_result_t result)
void free_protocol(struct protocol *, const char *, int)
struct universe agent_universe
#define HARDWARE_ADDR_LEN
isc_result_t parse_option_name(struct parse *, int, int *, struct option **)
void dhclient_schedule_updates(struct client_state *client, struct iaddr *addr, int offset)
const char * piaddr(struct iaddr)
isc_result_t dhcp_lease_free(omapi_object_t *, const char *, int)
int make_limit(struct expression **, struct expression *, int)
isc_result_t dhcp_class_remove(omapi_object_t *, omapi_object_t *)
ssize_t receive_packet(struct interface_info *, unsigned char *, size_t, struct sockaddr_in *, struct hardware *)
int option_dereference(struct option **dest, const char *file, int line)
struct ipv6_pool ** pools
isc_result_t save_parse_state(struct parse *cfile)
void ddns_cb_forget_zone(dhcp_ddns_cb_t *ddns_cb)
struct iasubopt ** iasubopt
void classification_setup(void)
void(* handler)(struct protocol *)
int write_ia(const struct ia_xx *)
void dump_packet_option(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)
struct option * new_option(const char *, const char *, int)
void parse_server_duid(struct parse *cfile)
struct universe dhcpv6_universe
int fqdn_option_space_encapsulate(struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *)
void remove_if_route(struct interface_info *, struct in_addr)
int store_option(struct data_string *, struct universe *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct option_cache *)
isc_result_t dhcp_failover_listener_signal(omapi_object_t *, const char *, va_list)
const char * binding_state_names[]
struct icmp_state * icmp_state
struct executable_statement * on_expiry
int linked_option_state_dereference(struct universe *, struct option_state *, const char *, int)
const char * pdestdesc(struct iaddr)
struct shared_network * next
int group_writer(struct group_object *)
isc_result_t dhcp_group_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
struct collection default_collection
struct shared_network * shared_network
void add_enumeration(struct enumeration *)
struct string_list * medium
isc_result_t dhcp_group_destroy(omapi_object_t *, const char *, int)
void client_envadd(struct client_state *, const char *, const char *, const char *,...) __attribute__((__format__(__printf__
void dhcp_reply(struct lease *)
isc_result_t find_cached_zone(dhcp_ddns_cb_t *, int)
struct dhcp_ddns_cb * ddns_cb
isc_result_t dhcp_interface_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
struct enumeration syslog_enum
void new_shared_network_interface(struct parse *, struct shared_network *, const char *)
struct permit * permit_list
int make_const_option_cache(struct option_cache **, struct buffer **, u_int8_t *, unsigned, struct option *, const char *, int)
isc_result_t create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref, unsigned int *attempts, const struct data_string *uid, time_t soft_lifetime_end_time)
const char * dhcp_failover_reject_reason_print(int)
struct domain_search_list * domains
int dhcp_failover_send_acks(dhcp_failover_state_t *)
ssize_t decode_hw_header(struct interface_info *, unsigned char *, unsigned, struct hardware *)
void if_reinitialize_receive(struct interface_info *)
int can_unicast_without_arp(struct interface_info *)
struct lease_state * new_lease_state(const char *, int)
void convert_lease_statement(struct parse *, jrefproto)
isc_result_t read_conf_file(const char *, struct group *, int, int)
void if_register_receive(struct interface_info *)
int bill_class(struct lease *, struct class *)
struct shared_network * shared_network
void trace_conf_stop(trace_type_t *ttype)
isc_result_t dhcp_failover_send_updates(dhcp_failover_state_t *)
unsigned char * parse_numeric_aggregate(struct parse *, unsigned char *, unsigned *, int, int, unsigned)
int format_has_text(const char *)
isc_result_t ia_reference(struct ia_xx **ia, struct ia_xx *src, const char *file, int line)
void make_client_config(struct client_state *, struct client_config *)
struct executable_statement * on_commit
isc_result_t dhcp_interface_remove(omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_pool_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
void data_string_truncate(struct data_string *, int)
void dhcp_failover_startup_timeout(void *)
void print_hex_or_string(unsigned, const u_int8_t *, unsigned, char *)
isc_result_t dhcp_shared_network_destroy(omapi_object_t *, const char *, int)
isc_result_t dhcp_failover_send_update_request_all(dhcp_failover_state_t *)
const unsigned char * data
struct interface_info * interface
void dhcp_common_objects_setup(void)
trace_type_t * outpacket_trace
isc_result_t generate_new_server_duid(void)
isc_result_t conf_file_subparse(struct parse *, struct group *, int)
struct binding_scope * scope
void parse_group_declaration(struct parse *, struct group *)
struct domain_search_list * next
isc_result_t ipv6_pool_reference(struct ipv6_pool **pool, struct ipv6_pool *src, const char *file, int line)
reference an IPv6 pool structure.
binding_state_t conflict_binding_state_transition_check(struct lease *, dhcp_failover_state_t *, binding_state_t, u_int32_t)
void parse_hardware_param(struct parse *, struct hardware *)
isc_result_t dhcp_failover_state_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t lease_instantiate(const void *, unsigned, void *)
struct permit * permit_list
char * path_dhclient_script
struct host_decl * n_dynamic
isc_result_t dhcp_pool_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
int got_requested_address
int option_chain_head_dereference(struct option_chain_head **, const char *, int)
isc_result_t dhcp_interface_create(omapi_object_t **, omapi_object_t *)
int find_lease_by_ip_addr(struct lease **, struct iaddr, const char *, int)
isc_result_t fallback_discard(omapi_object_t *)
int data_subexpression_length(int *, struct expression *)
int append_option_buffer(struct universe *, struct option_state *, struct buffer *, unsigned char *, unsigned, unsigned, int)
struct client_lease * leases
void parse_ia_na_declaration(struct parse *)
struct data_string default_duid
isc_result_t dhcp_failover_listener_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
struct dhc6_lease * old_lease
HASH_FUNCTIONS_DECL(option_name, const char *, struct option, option_name_hash_t) HASH_FUNCTIONS_DECL(option_code
u_int32_t requested_lease
struct name_server * new_name_server(const char *, int)
isc_result_t dhcp_subnet_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
int dhcp_option_default_priority_list[]
isc_result_t form_duid(struct data_string *duid, const char *file, int line)
int expr_valid_for_context(struct expression *, enum expression_context)
struct timeval * process_outstanding_timeouts(struct timeval *)
isc_result_t dhcp_control_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
void make_client_state(struct client_state **)
isc_result_t dhcp_failover_link_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
binding_state_t next_binding_state
int store_options6(char *, int, struct option_state *, struct packet *, const int *, struct data_string *)
struct enumeration ddns_styles
int executable_statement_foreach(struct executable_statement *, int(*)(struct executable_statement *, void *, int), void *, int)
int expression_reference(struct expression **, struct expression *, const char *, int)
void ia_remove_iasubopt(struct ia_xx *ia, struct iasubopt *iasubopt, const char *file, int line)
int if_register_socket(struct interface_info *, int, int *, struct in6_addr *)
struct interface_info * interface
void convert_option_decl(struct parse *, jrefproto)
int dhcp_failover_state_pool_check(dhcp_failover_state_t *)
void hw_hash_add(struct lease *)
void classify_client(struct packet *)
omapi_object_type_t * dhcp_type_subnet
isc_result_t dhcp_control_signal_handler(omapi_object_t *, const char *, va_list)
struct dhc6_lease * active_lease
int parse_ip_addr_or_hostname(struct expression **, struct parse *, int)
isc_result_t dhcp_pool_create(omapi_object_t **, omapi_object_t *)
#define PACKET_MAX_CLASSES
isc_result_t dhcp_failover_process_bind_update(dhcp_failover_state_t *, failover_message_t *)
struct group_object * object
lease_ip_hash_t * lease_ip_addr_hash
char * print_dec_2(unsigned long)
isc_result_t dhcp_failover_process_update_done(dhcp_failover_state_t *, failover_message_t *)
int buffer_reference(struct buffer **, struct buffer *, const char *, int)
void remove_routes(struct in_addr)
u_int32_t host_addr(struct iaddr, struct iaddr)
int lease_mine_to_reallocate(struct lease *)
isc_result_t expire_lease6(struct iasubopt **leasep, struct ipv6_pool *pool, time_t now)
void dhcp_failover_send_contact(void *)
void write_statements(FILE *, struct executable_statement *, int)
isc_result_t dhcp_subclass_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t range2cidr(struct iaddrcidrnetlist **result, const struct iaddr *lo, const struct iaddr *hi)
isc_result_t dhcp_pool_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
int buffer_allocate(struct buffer **, unsigned, const char *, int)
struct dns_wakeup * wakeups
int lease_copy(struct lease **, struct lease *, const char *, int)
void add_route_default_gateway(struct interface_info *, struct in_addr)
void data_string_copy(struct data_string *, const struct data_string *, const char *, int)
int binding_scope_reference(struct binding_scope **, struct binding_scope *, const char *, int)
struct option_chain_head * agent_options
void struct client_lease * packet_to_lease(struct packet *, struct client_state *)
isc_result_t interface_setup(void)
int parse_warn(struct parse *, const char *,...) __attribute__((__format__(__printf__
void send_release(void *)
struct packet * dhcpv6_container_packet
struct option_cache * primary
ssize_t receive_packet6(struct interface_info *interface, unsigned char *buf, size_t len, struct sockaddr_in6 *from, struct in6_addr *to_addr, unsigned int *if_index)
isc_result_t ddns_modify_fwd(dhcp_ddns_cb_t *ddns_cb, const char *file, int line)
isc_result_t binding_scope_get_value(omapi_value_t **, struct binding_scope *, omapi_data_string_t *)
struct in6_addr * v6addresses
int is_dns_expression(struct expression *)
isc_result_t iasubopt_reference(struct iasubopt **iasubopt, struct iasubopt *src, const char *file, int line)
void remove_all_if_routes(struct interface_info *)
void dhcp_failover_auto_partner_down(void *vs)
struct interface_info * dummy_interfaces
int bootp_broadcast_always