aboutsummaryrefslogtreecommitdiff
path: root/external/unbound/pythonmod/doc/modules
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--external/unbound/pythonmod/doc/modules/config.rst350
-rw-r--r--external/unbound/pythonmod/doc/modules/env.rst412
-rw-r--r--external/unbound/pythonmod/doc/modules/functions.rst227
-rw-r--r--external/unbound/pythonmod/doc/modules/index.rst11
-rw-r--r--external/unbound/pythonmod/doc/modules/struct.rst516
5 files changed, 0 insertions, 1516 deletions
diff --git a/external/unbound/pythonmod/doc/modules/config.rst b/external/unbound/pythonmod/doc/modules/config.rst
deleted file mode 100644
index 43333bdae..000000000
--- a/external/unbound/pythonmod/doc/modules/config.rst
+++ /dev/null
@@ -1,350 +0,0 @@
-Configuration interface
-=======================
-
-Currently passed to Python module in init(module_id, cfg).
-
-config_file
---------------------
-
-.. class:: config_file
-
- This class provides these data attributes:
-
- .. attribute:: verbosity
-
- Verbosity level as specified in the config file.
-
- .. attribute:: stat_interval
-
- Statistics interval (in seconds).
-
- .. attribute:: stat_cumulative
-
- If false, statistics values are reset after printing them.
-
- .. attribute:: stat_extended
-
- If true, the statistics are kept in greater detail.
-
- .. attribute:: num_threads
-
- Number of threads to create.
-
- .. attribute:: port
-
- Port on which queries are answered.
-
- .. attribute:: do_ip4
-
- Do ip4 query support.
-
- .. attribute:: do_ip6
-
- Do ip6 query support.
-
- .. attribute:: do_udp
-
- Do udp query support.
-
- .. attribute:: do_tcp
-
- Do tcp query support.
-
- .. attribute:: outgoing_num_ports
-
- Outgoing port range number of ports (per thread).
-
- .. attribute:: outgoing_num_tcp
-
- Number of outgoing tcp buffers per (per thread).
-
- .. attribute:: incoming_num_tcp
-
- Number of incoming tcp buffers per (per thread).
-
- .. attribute:: outgoing_avail_ports
-
- Allowed udp port numbers, array with 0 if not allowed.
-
- .. attribute:: msg_buffer_size
-
- Number of bytes buffer size for DNS messages.
-
- .. attribute:: msg_cache_size
-
- Size of the message cache.
-
- .. attribute:: msg_cache_slabs
-
- Slabs in the message cache.
-
- .. attribute:: num_queries_per_thread
-
- Number of queries every thread can service.
-
- .. attribute:: jostle_time
-
- Number of msec to wait before items can be jostled out.
-
- .. attribute:: rrset_cache_size
-
- Size of the rrset cache.
-
- .. attribute:: rrset_cache_slabs
-
- Slabs in the rrset cache.
-
- .. attribute:: host_ttl
-
- Host cache ttl in seconds.
-
- .. attribute:: lame_ttl
-
- Host is lame for a zone ttl, in seconds.
-
- .. attribute:: infra_cache_slabs
-
- Number of slabs in the infra host cache.
-
- .. attribute:: infra_cache_numhosts
-
- Max number of hosts in the infra cache.
-
- .. attribute:: infra_cache_lame_size
-
- Max size of lame zones per host in the infra cache.
-
- .. attribute:: target_fetch_policy
-
- The target fetch policy for the iterator.
-
- .. attribute:: if_automatic
-
- Automatic interface for incoming messages. Uses ipv6 remapping,
- and recvmsg/sendmsg ancillary data to detect interfaces, boolean.
-
- .. attribute:: num_ifs
-
- Number of interfaces to open. If 0 default all interfaces.
-
- .. attribute:: ifs
-
- Interface description strings (IP addresses).
-
- .. attribute:: num_out_ifs
-
- Number of outgoing interfaces to open.
- If 0 default all interfaces.
-
- .. attribute:: out_ifs
-
- Outgoing interface description strings (IP addresses).
-
- .. attribute:: root_hints
-
- The root hints.
-
- .. attribute:: stubs
-
- The stub definitions, linked list.
-
- .. attribute:: forwards
-
- The forward zone definitions, linked list.
-
- .. attribute:: donotqueryaddrs
-
- List of donotquery addresses, linked list.
-
- .. attribute:: acls
-
- List of access control entries, linked list.
-
- .. attribute:: donotquery_localhost
-
- Use default localhost donotqueryaddr entries.
-
- .. attribute:: harden_short_bufsize
-
- Harden against very small edns buffer sizes.
-
- .. attribute:: harden_large_queries
-
- Harden against very large query sizes.
-
- .. attribute:: harden_glue
-
- Harden against spoofed glue (out of zone data).
-
- .. attribute:: harden_dnssec_stripped
-
- Harden against receiving no DNSSEC data for trust anchor.
-
- .. attribute:: harden_referral_path
-
- Harden the referral path, query for NS,A,AAAA and validate.
-
- .. attribute:: use_caps_bits_for_id
-
- Use 0x20 bits in query as random ID bits.
-
- .. attribute:: private_address
-
- Strip away these private addrs from answers, no DNS Rebinding.
-
- .. attribute:: private_domain
-
- Allow domain (and subdomains) to use private address space.
-
- .. attribute:: unwanted_threshold
-
- What threshold for unwanted action.
-
- .. attribute:: chrootdir
-
- Chrootdir, if not "" or chroot will be done.
-
- .. attribute:: username
-
- Username to change to, if not "".
-
- .. attribute:: directory
-
- Working directory.
-
- .. attribute:: logfile
-
- Filename to log to.
-
- .. attribute:: pidfile
-
- Pidfile to write pid to.
-
- .. attribute:: use_syslog
-
- Should log messages be sent to syslogd.
-
- .. attribute:: hide_identity
-
- Do not report identity (id.server, hostname.bind).
-
- .. attribute:: hide_version
-
- Do not report version (version.server, version.bind).
-
- .. attribute:: identity
-
- Identity, hostname is returned if "".
-
- .. attribute:: version
-
- Version, package version returned if "".
-
- .. attribute:: module_conf
-
- The module configuration string.
-
- .. attribute:: trust_anchor_file_list
-
- Files with trusted DS and DNSKEYs in zonefile format, list.
-
- .. attribute:: trust_anchor_list
-
- List of trustanchor keys, linked list.
-
- .. attribute:: trusted_keys_file_list
-
- Files with trusted DNSKEYs in named.conf format, list.
-
- .. attribute:: dlv_anchor_file
-
- DLV anchor file.
-
- .. attribute:: dlv_anchor_list
-
- DLV anchor inline.
-
- .. attribute:: max_ttl
-
- The number of seconds maximal TTL used for RRsets and messages.
-
- .. attribute:: val_date_override
-
- If not 0, this value is the validation date for RRSIGs.
-
- .. attribute:: bogus_ttl
-
- This value sets the number of seconds before revalidating bogus.
-
- .. attribute:: val_clean_additional
-
- Should validator clean additional section for secure msgs.
-
- .. attribute:: val_permissive_mode
-
- Should validator allow bogus messages to go through.
-
- .. attribute:: val_nsec3_key_iterations
-
- Nsec3 maximum iterations per key size, string.
-
- .. attribute:: key_cache_size
-
- Size of the key cache.
-
- .. attribute:: key_cache_slabs
-
- Slabs in the key cache.
-
- .. attribute:: neg_cache_size
-
- Size of the neg cache.
-
-
- .. attribute:: local_zones
-
- Local zones config.
-
- .. attribute:: local_zones_nodefault
-
- Local zones nodefault list.
-
- .. attribute:: local_data
-
- Local data RRs configured.
-
- .. attribute:: remote_control_enable
-
- Remote control section. enable toggle.
-
- .. attribute:: control_ifs
-
- The interfaces the remote control should listen on.
-
- .. attribute:: control_port
-
- Port number for the control port.
-
- .. attribute:: server_key_file
-
- Private key file for server.
-
- .. attribute:: server_cert_file
-
- Certificate file for server.
-
- .. attribute:: control_key_file
-
- Private key file for unbound-control.
-
- .. attribute:: control_cert_file
-
- Certificate file for unbound-control.
-
- .. attribute:: do_daemonize
-
- Daemonize, i.e. fork into the background.
-
- .. attribute:: python_script
-
- Python script file.
diff --git a/external/unbound/pythonmod/doc/modules/env.rst b/external/unbound/pythonmod/doc/modules/env.rst
deleted file mode 100644
index eae4c73c7..000000000
--- a/external/unbound/pythonmod/doc/modules/env.rst
+++ /dev/null
@@ -1,412 +0,0 @@
-Global environment
-==================
-
-Global variables
-----------------
-
-.. envvar:: mod_env
-
- Module environment, contains data pointer for module-specific data.
- See :class:`pythonmod_env`.
-
-
-Predefined constants
------------------------
-
-Module extended state
-~~~~~~~~~~~~~~~~~~~~~~~
-
-.. data:: module_state_initial
-
- Initial state - new DNS query.
-
-.. data:: module_wait_reply
-
- Waiting for reply to outgoing network query.
-
-.. data:: module_wait_module
-
- Module is waiting for another module.
-
-.. data:: module_wait_subquery
-
- Module is waiting for sub-query.
-
-.. data:: module_error
-
- Module could not finish the query.
-
-.. data:: module_finished
-
- Module is finished with query.
-
-Module event
-~~~~~~~~~~~~~
-.. data:: module_event_new
-
- New DNS query.
-
-.. data:: module_event_pass
-
- Query passed by other module.
-
-.. data:: module_event_reply
-
- Reply inbound from server.
-
-.. data:: module_event_noreply
-
- No reply, timeout or other error.
-
-.. data:: module_event_capsfail
-
- Reply is there, but capitalisation check failed.
-
-.. data:: module_event_moddone
-
- Next module is done, and its reply is awaiting you.
-
-.. data:: module_event_error
-
- Error occurred.
-
-Security status
-~~~~~~~~~~~~~~~~
-
-.. data:: sec_status_unchecked
-
- Means that object has yet to be validated.
-
-.. data:: sec_status_bogus
-
- Means that the object *(RRset or message)* failed to validate
- *(according to local policy)*, but should have validated.
-
-.. data:: sec_status_indeterminate
-
- Means that the object is insecure, but not
- authoritatively so. Generally this means that the RRset is not
- below a configured trust anchor.
-
-.. data:: sec_status_insecure
-
- Means that the object is authoritatively known to be
- insecure. Generally this means that this RRset is below a trust
- anchor, but also below a verified, insecure delegation.
-
-.. data:: sec_status_secure
-
- Means that the object (RRset or message) validated according to local policy.
-
-Resource records (RR sets)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The different RR classes.
-
- .. data:: RR_CLASS_IN
-
- Internet.
-
- .. data:: RR_CLASS_CH
-
- Chaos.
-
- .. data:: RR_CLASS_HS
-
- Hesiod (Dyer 87)
-
- .. data:: RR_CLASS_NONE
-
- None class, dynamic update.
-
- .. data:: RR_CLASS_ANY
-
- Any class.
-
-
-The different RR types.
-
-
- .. data:: RR_TYPE_A
-
- A host address.
-
- .. data:: RR_TYPE_NS
-
- An authoritative name server.
-
- .. data:: RR_TYPE_MD
-
- A mail destination (Obsolete - use MX).
-
- .. data:: RR_TYPE_MF
-
- A mail forwarder (Obsolete - use MX).
-
- .. data:: RR_TYPE_CNAME
-
- The canonical name for an alias.
-
- .. data:: RR_TYPE_SOA
-
- Marks the start of a zone of authority.
-
- .. data:: RR_TYPE_MB
-
- A mailbox domain name (EXPERIMENTAL).
-
- .. data:: RR_TYPE_MG
-
- A mail group member (EXPERIMENTAL).
-
- .. data:: RR_TYPE_MR
-
- A mail rename domain name (EXPERIMENTAL).
-
- .. data:: RR_TYPE_NULL
-
- A null RR (EXPERIMENTAL).
-
- .. data:: RR_TYPE_WKS
-
- A well known service description.
-
- .. data:: RR_TYPE_PTR
-
- A domain name pointer.
-
- .. data:: RR_TYPE_HINFO
-
- Host information.
-
- .. data:: RR_TYPE_MINFO
-
- Mailbox or mail list information.
-
- .. data:: RR_TYPE_MX
-
- Mail exchange.
-
- .. data:: RR_TYPE_TXT
-
- Text strings.
-
- .. data:: RR_TYPE_RP
-
- RFC1183.
-
- .. data:: RR_TYPE_AFSDB
-
- RFC1183.
-
- .. data:: RR_TYPE_X25
-
- RFC1183.
-
- .. data:: RR_TYPE_ISDN
-
- RFC1183.
-
- .. data:: RR_TYPE_RT
-
- RFC1183.
-
- .. data:: RR_TYPE_NSAP
-
- RFC1706.
-
- .. data:: RR_TYPE_NSAP_PTR
-
- RFC1348.
-
- .. data:: RR_TYPE_SIG
-
- 2535typecode.
-
- .. data:: RR_TYPE_KEY
-
- 2535typecode.
-
- .. data:: RR_TYPE_PX
-
- RFC2163.
-
- .. data:: RR_TYPE_GPOS
-
- RFC1712.
-
- .. data:: RR_TYPE_AAAA
-
- IPv6 address.
-
- .. data:: RR_TYPE_LOC
-
- LOC record RFC1876.
-
- .. data:: RR_TYPE_NXT
-
- 2535typecode.
-
- .. data:: RR_TYPE_EID
-
- draft-ietf-nimrod-dns-01.txt.
-
- .. data:: RR_TYPE_NIMLOC
-
- draft-ietf-nimrod-dns-01.txt.
-
- .. data:: RR_TYPE_SRV
-
- SRV record RFC2782.
-
- .. data:: RR_TYPE_ATMA
-
- http://www.jhsoft.com/rfc/af-saa-0069.000.rtf.
-
- .. data:: RR_TYPE_NAPTR
-
- RFC2915.
-
- .. data:: RR_TYPE_KX
-
- RFC2230.
-
- .. data:: RR_TYPE_CERT
-
- RFC2538.
-
- .. data:: RR_TYPE_A6
-
- RFC2874.
-
- .. data:: RR_TYPE_DNAME
-
- RFC2672.
-
- .. data:: RR_TYPE_SINK
-
- dnsind-kitchen-sink-02.txt.
-
- .. data:: RR_TYPE_OPT
-
- Pseudo OPT record.
-
- .. data:: RR_TYPE_APL
-
- RFC3123.
-
- .. data:: RR_TYPE_DS
-
- draft-ietf-dnsext-delegation.
-
- .. data:: RR_TYPE_SSHFP
-
- SSH Key Fingerprint.
-
- .. data:: RR_TYPE_IPSECKEY
-
- draft-richardson-ipseckey-rr-11.txt.
-
- .. data:: RR_TYPE_RRSIG
-
- draft-ietf-dnsext-dnssec-25.
-
- .. data:: RR_TYPE_NSEC
- .. data:: RR_TYPE_DNSKEY
- .. data:: RR_TYPE_DHCID
- .. data:: RR_TYPE_NSEC3
- .. data:: RR_TYPE_NSEC3PARAMS
- .. data:: RR_TYPE_UINFO
- .. data:: RR_TYPE_UID
- .. data:: RR_TYPE_GID
- .. data:: RR_TYPE_UNSPEC
- .. data:: RR_TYPE_TSIG
- .. data:: RR_TYPE_IXFR
- .. data:: RR_TYPE_AXFR
- .. data:: RR_TYPE_MAILB
-
- A request for mailbox-related records (MB, MG or MR).
-
- .. data:: RR_TYPE_MAILA
-
- A request for mail agent RRs (Obsolete - see MX).
-
- .. data:: RR_TYPE_ANY
-
- Any type *(wildcard)*.
-
- .. data:: RR_TYPE_DLV
-
- RFC 4431, 5074, DNSSEC Lookaside Validation.
-
-Return codes
-~~~~~~~~~~~~
-
-Return codes for packets.
-
-.. data:: RCODE_NOERROR
-.. data:: RCODE_FORMERR
-.. data:: RCODE_SERVFAIL
-.. data:: RCODE_NXDOMAIN
-.. data:: RCODE_NOTIMPL
-.. data:: RCODE_REFUSED
-.. data:: RCODE_YXDOMAIN
-.. data:: RCODE_YXRRSET
-.. data:: RCODE_NXRRSET
-.. data:: RCODE_NOTAUTH
-.. data:: RCODE_NOTZONE
-
-Packet data
-~~~~~~~~~~~~
-
-.. data:: PKT_QR
-
- Query - query flag.
-
-.. data:: PKT_AA
-
- Authoritative Answer - server flag.
-
-.. data:: PKT_TC
-
- Truncated - server flag.
-
-.. data:: PKT_RD
-
- Recursion desired - query flag.
-
-.. data:: PKT_CD
-
- Checking disabled - query flag.
-
-.. data:: PKT_RA
-
- Recursion available - server flag.
-
-.. data:: PKT_AD
-
- Authenticated data - server flag.
-
-
-Verbosity value
-~~~~~~~~~~~~~~~~
-
-.. data:: NO_VERBOSE
-
- No verbose messages.
-
-.. data:: VERB_OPS
-
- Operational information.
-
-.. data:: VERB_DETAIL
-
- Detailed information.
-
-.. data:: VERB_QUERY
-
- Query level information.
-
-.. data:: VERB_ALGO
-
- Algorithm level information.
diff --git a/external/unbound/pythonmod/doc/modules/functions.rst b/external/unbound/pythonmod/doc/modules/functions.rst
deleted file mode 100644
index 627d44922..000000000
--- a/external/unbound/pythonmod/doc/modules/functions.rst
+++ /dev/null
@@ -1,227 +0,0 @@
-Scriptable functions
-====================
-
-Network
--------
-
-.. function:: ntohs(netshort)
-
- This subroutine converts values between the host and network byte order.
- Specifically, **ntohs()** converts 16-bit quantities from network byte order
- to host byte order.
-
- :param netshort: 16-bit short addr
- :rtype: converted addr
-
-
-Cache
------
-
-.. function:: storeQueryInCache(qstate, qinfo, msgrep, is_referral)
-
- Store pending query in local cache.
-
- :param qstate: :class:`module_qstate`
- :param qinfo: :class:`query_info`
- :param msgrep: :class:`reply_info`
- :param is_referal: integer
- :rtype: boolean
-
-.. function:: invalidateQueryInCache(qstate, qinfo)
-
- Invalidate record in local cache.
-
- :param qstate: :class:`module_qstate`
- :param qinfo: :class:`query_info`
-
-
-EDNS options
-------------
-
-.. function:: register_edns_option(env, code, bypass_cache_stage=False, no_aggregation=False)
-
- Register EDNS option code.
-
- :param env: :class:`module_env`
- :param code: option code(integer)
- :param bypass_cache_stage: whether to bypass the cache response stage
- :param no_aggregation: whether this query should be unique
- :return: ``1`` if successful, ``0`` otherwise
- :rtype: integer
-
-.. function:: edns_opt_list_find(list, code)
-
- Find the EDNS option code in the EDNS option list.
-
- :param list: linked list of :class:`edns_option`
- :param code: option code (integer)
- :return: the edns option if found or None
- :rtype: :class:`edns_option` or None
-
-.. function:: edns_opt_list_remove(list, code);
-
- Remove an ENDS option code from the list.
- .. note:: All :class:`edns_option` with the code will be removed
-
- :param list: linked list of :class:`edns_option`
- :param code: option code (integer)
- :return: ``1`` if at least one :class:`edns_option` was removed, ``0`` otherwise
- :rtype: integer
-
-.. function:: edns_opt_list_append(list, code, data, region)
-
- Append given EDNS option code with data to the list.
-
- :param list: linked list of :class:`edns_option`
- :param code: option code (integer)
- :param data: EDNS data. **Must** be a :class:`bytearray`
- :param region: :class:`regional`
-
-.. function:: edns_opt_list_is_empty(list)
-
- Check if an EDNS option list is empty.
-
- :param list: linked list of :class:`edns_option`
- :return: ``1`` if list is empty, ``0`` otherwise
- :rtype: integer
-
-
-Inplace callbacks
------------------
-
-.. function:: inplace_cb_reply(qinfo, qstate, rep, rcode, edns, opt_list_out, region)
-
- Function prototype for callback functions used in
- `register_inplace_cb_reply`_, `register_inplace_cb_reply_cache`_,
- `register_inplace_cb_reply_local` and `register_inplace_cb_reply_servfail`.
-
- :param qinfo: :class:`query_info`
- :param qstate: :class:`module_qstate`
- :param rep: :class:`reply_info`
- :param rcode: return code (integer), check ``RCODE_`` constants.
- :param edns: :class:`edns_data`
- :param opt_list_out: :class:`edns_option`. EDNS option list to append options to.
- :param region: :class:`regional`
-
-.. function:: register_inplace_cb_reply(py_cb, env)
-
- Register py_cb as an inplace reply callback function.
-
- :param py_cb: Python function that follows `inplace_cb_reply`_'s prototype. **Must** be callable.
- :param env: :class:`module_env`
- :return: True on success, False otherwise
- :rtype: boolean
-
-.. function:: register_inplace_cb_reply_cache(py_cb, env)
-
- Register py_cb as an inplace reply_cache callback function.
-
- :param py_cb: Python function that follows `inplace_cb_reply`_'s prototype. **Must** be callable.
- :param env: :class:`module_env`
- :return: True on success, False otherwise
- :rtype: boolean
-
-.. function:: register_inplace_cb_reply_local(py_cb, env)
-
- Register py_cb as an inplace reply_local callback function.
-
- :param py_cb: Python function that follows `inplace_cb_reply`_'s prototype. **Must** be callable.
- :param env: :class:`module_env`
- :return: True on success, False otherwise
- :rtype: boolean
-
-.. function:: register_inplace_cb_reply_servfail(py_cb, env)
-
- Register py_cb as an inplace reply_servfail callback function.
-
- :param py_cb: Python function that follows `inplace_cb_reply`_'s prototype. **Must** be callable.
- :param env: :class:`module_env`
- :return: True on success, False otherwise
- :rtype: boolean
-
-
-Logging
--------
-
-.. function:: verbose(level, msg)
-
- Log a verbose message, pass the level for this message.
- No trailing newline is needed.
-
- :param level: verbosity level for this message, compared to global verbosity setting.
- :param msg: string message
-
-.. function:: log_info(msg)
-
- Log informational message. No trailing newline is needed.
-
- :param msg: string message
-
-.. function:: log_err(msg)
-
- Log error message. No trailing newline is needed.
-
- :param msg: string message
-
-.. function:: log_warn(msg)
-
- Log warning message. No trailing newline is needed.
-
- :param msg: string message
-
-.. function:: log_hex(msg, data, length)
-
- Log a hex-string to the log. Can be any length.
- performs mallocs to do so, slow. But debug useful.
-
- :param msg: string desc to accompany the hexdump.
- :param data: data to dump in hex format.
- :param length: length of data.
-
-.. function:: log_dns_msg(str, qinfo, reply)
-
- Log DNS message.
-
- :param str: string message
- :param qinfo: :class:`query_info`
- :param reply: :class:`reply_info`
-
-.. function:: log_query_info(verbosity_value, str, qinf)
-
- Log query information.
-
- :param verbosity_value: see constants
- :param str: string message
- :param qinf: :class:`query_info`
-
-.. function:: regional_log_stats(r)
-
- Log regional statistics.
-
- :param r: :class:`regional`
-
-
-Debugging
----------
-
-.. function:: strextstate(module_ext_state)
-
- Debug utility, module external qstate to string.
-
- :param module_ext_state: the state value.
- :rtype: descriptive string.
-
-.. function:: strmodulevent(module_event)
-
- Debug utility, module event to string.
-
- :param module_event: the module event value.
- :rtype: descriptive string.
-
-.. function:: ldns_rr_type2str(atype)
-
- Convert RR type to string.
-
-.. function:: ldns_rr_class2str(aclass)
-
- Convert RR class to string.
diff --git a/external/unbound/pythonmod/doc/modules/index.rst b/external/unbound/pythonmod/doc/modules/index.rst
deleted file mode 100644
index ff0b95695..000000000
--- a/external/unbound/pythonmod/doc/modules/index.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-Unbound module documentation
-=======================================
-
-.. toctree::
- :maxdepth: 2
-
- env
- struct
- functions
- config
-
diff --git a/external/unbound/pythonmod/doc/modules/struct.rst b/external/unbound/pythonmod/doc/modules/struct.rst
deleted file mode 100644
index 3af5d8a48..000000000
--- a/external/unbound/pythonmod/doc/modules/struct.rst
+++ /dev/null
@@ -1,516 +0,0 @@
-Scriptable structures
-=====================
-
-module_qstate
------------------------
-
-.. class:: module_qstate
-
- Module state, per query.
-
- This class provides these data attributes:
-
- .. attribute:: qinfo
-
- (:class:`query_info`) Informations about query being answered. Name, RR type, RR class.
-
- .. attribute:: query_flags
-
- (uint16) Flags for query. See QF_BIT\_ predefined constants.
-
- .. attribute:: is_priming
-
- If this is a (stub or root) priming query (with hints).
-
- .. attribute:: reply
-
- comm_reply contains server replies.
-
- .. attribute:: return_msg
-
- (:class:`dns_msg`) The reply message, with message for client and calling module (read-only attribute).
- Note that if you want to create of modify return_msg you should use :class:`DNSMessage`.
-
- .. attribute:: return_rcode
-
- The rcode, in case of error, instead of a reply message. Determines whether the return_msg contains reply.
-
- .. attribute:: region
-
- Region for this query. Cleared when query process finishes.
-
- .. attribute:: curmod
-
- Which module is executing.
-
- .. attribute:: ext_state[]
-
- Module states.
-
- .. attribute:: env
-
- Environment for this query.
-
- .. attribute:: mesh_info
-
- Mesh related information for this query.
-
- .. attribute:: edns_opts_front_in
-
- Incoming EDNS options from the front end.
-
- .. attribute:: edns_opts_front_in_iter
-
- Iterator for `edns_opts_front_in`.
-
- .. attribute:: edns_opts_back_out
-
- Outgoing EDNS options to the back end.
-
- .. attribute:: edns_opts_back_out_iter
-
- Iterator for `edns_opts_back_out`.
-
- .. attribute:: edns_opts_back_in
-
- Incoming EDNS options from the back end.
-
- .. attribute:: edns_opts_back_in_iter
-
- Iterator for `ends_opts_back_in`.
-
- .. attribute:: edns_opts_front_out
-
- Outgoing EDNS options to the front end.
-
- .. attribute:: edns_opts_front_out_iter
-
- Iterator for `edns_opts_front_out`.
-
- .. attribute:: no_cache_lookup
-
- Flag to indicate whether modules should answer from the cache.
-
- .. attribute:: no_cache_store
-
- Flag to indicate whether modules should store answer in the cache.
-
-query_info
-----------------
-
-.. class:: query_info
-
- This class provides these data attributes:
-
- .. attribute:: qname
-
- The original question in the wireformat format (e.g. \\x03www\\x03nic\\x02cz\\x00 for www.nic.cz)
-
- .. attribute:: qname_len
-
- Lenght of question name (number of bytes).
-
- .. attribute:: qname_list[]
-
- The question ``qname`` converted into list of labels (e.g. ['www','nic','cz',''] for www.nic.cz)
-
- .. attribute:: qname_str
-
- The question ``qname`` converted into string (e.g. www.nic.cz. for www.nic.cz)
-
- .. attribute:: qtype
-
- The class type asked for. See RR_TYPE\_ predefined constants.
-
- .. attribute:: qtype_str
-
- The ``qtype`` in display presentation format (string) (e.g 'A' for RR_TYPE_A)
-
- .. attribute:: qclass
-
- The question class. See RR_CLASS\_ predefined constants.
-
- .. attribute:: qclass_str
-
- The ``qclass`` in display presentation format (string).
-
-edns_data
----------
-
-.. class:: edns_data
-
- This class represents the EDNS information parsed/encoded from/to a packet. It provides these data attributes:
-
- .. attribute:: edns_present
-
- If EDNS OPT record is present.
-
- .. attribute:: ext_rcode
-
- Extended RCODE.
-
- .. attribute:: edns_version
-
- The EDNS version number.
-
- .. attribute:: bits
-
- The EDNS bits field from ttl (host order): Z.
-
- .. attribute:: udp_size
-
- UDP reassembly size.
-
- .. attribute:: opt_list
-
- The EDNS option list.
-
- .. attribute:: opt_list_iter
-
- Iterator for `opt_list`.
-
-edns_option
------------
-
-.. class:: edns_option
-
- This class represents an EDNS option (code, data) found in EDNS option lists. It provides these data attributes:
-
- .. attribute:: code
-
- The EDNS option code.
-
- .. attribute:: data
-
- The EDNS option data.
-
-reply_info
---------------------
-
-.. class:: reply_info
-
- This class provides these data attributes:
-
- .. attribute:: flags
-
- The flags for the answer, host byte order.
-
- .. attribute:: qdcount
-
- Number of RRs in the query section.
- If qdcount is not 0, then it is 1, and the data that appears
- in the reply is the same as the query_info.
- Host byte order.
-
- .. attribute:: ttl
-
- TTL of the entire reply (for negative caching).
- only for use when there are 0 RRsets in this message.
- if there are RRsets, check those instead.
-
- .. attribute:: security
-
- The security status from DNSSEC validation of this message. See sec_status\_ predefined constants.
-
- .. attribute:: an_numrrsets
-
- Number of RRsets in each section.
- The answer section. Add up the RRs in every RRset to calculate
- the number of RRs, and the count for the dns packet.
- The number of RRs in RRsets can change due to RRset updates.
-
- .. attribute:: ns_numrrsets
-
- Count of authority section RRsets
-
- .. attribute:: ar_numrrsets
-
- Count of additional section RRsets
-
- .. attribute:: rrset_count
-
- Number of RRsets: an_numrrsets + ns_numrrsets + ar_numrrsets
-
- .. attribute:: rrsets[]
-
- (:class:`ub_packed_rrset_key`) List of RR sets in the order in which they appear in the reply message.
- Number of elements is ancount + nscount + arcount RRsets.
-
- .. attribute:: ref[]
-
- (:class:`rrset_ref`) Packed array of ids (see counts) and pointers to packed_rrset_key.
- The number equals ancount + nscount + arcount RRsets.
- These are sorted in ascending pointer, the locking order. So
- this list can be locked (and id, ttl checked), to see if
- all the data is available and recent enough.
-
-
-dns_msg
---------------
-
-.. class:: dns_msg
-
- Region allocated message reply
-
- This class provides these data attributes:
-
- .. attribute:: qinfo
-
- (:class:`query_info`) Informations about query.
-
- .. attribute:: rep
-
- (:class:`reply_info`) This attribute points to the packed reply structure.
-
-
-packed_rrset_key
-----------------------
-
-.. class:: packed_rrset_key
-
- The identifying information for an RRset.
-
- This class provides these data attributes:
-
- .. attribute:: dname
-
- The domain name. If not empty (for ``id = None``) it is allocated, and
- contains the wireformat domain name. This dname is not canonicalized.
- E.g., the dname contains \\x03www\\x03nic\\x02cz\\x00 for www.nic.cz.
-
- .. attribute:: dname_len
-
- Length of the domain name, including last 0 root octet.
-
- .. attribute:: dname_list[]
-
- The domain name ``dname`` converted into list of labels (see :attr:`query_info.qname_list`).
-
- .. attribute:: dname_str
-
- The domain name ``dname`` converted into string (see :attr:`query_info.qname_str`).
-
- .. attribute:: flags
-
- Flags.
-
- .. attribute:: type
-
- The rrset type in network format.
-
- .. attribute:: type_str
-
- The rrset type in display presentation format.
-
- .. attribute:: rrset_class
-
- The rrset class in network format.
-
- .. attribute:: rrset_class_str
-
- The rrset class in display presentation format.
-
-ub_packed_rrset_key
--------------------------
-
-.. class:: ub_packed_rrset_key
-
- This structure contains an RRset. A set of resource records that
- share the same domain name, type and class.
- Due to memory management and threading, the key structure cannot be
- deleted, although the data can be. The id can be set to 0 to store and the
- structure can be recycled with a new id.
-
- The :class:`ub_packed_rrset_key` provides these data attributes:
-
- .. attribute:: entry
-
- (:class:`lruhash_entry`) Entry into hashtable. Note the lock is never destroyed,
- even when this key is retired to the cache.
- the data pointer (if not None) points to a :class:`packed_rrset`.
-
- .. attribute:: id
-
- The ID of this rrset. unique, based on threadid + sequenceno.
- ids are not reused, except after flushing the cache.
- zero is an unused entry, and never a valid id.
- Check this value after getting entry.lock.
- The other values in this struct may only be altered after changing
- the id (which needs a writelock on entry.lock).
-
- .. attribute:: rk
-
- (:class:`packed_rrset_key`) RR set data.
-
-
-lruhash_entry
--------------------------
-
-.. class:: lruhash_entry
-
- The :class:`ub_packed_rrset_key` provides these data attributes:
-
- .. attribute:: lock
-
- rwlock for access to the contents of the entry. Note that you cannot change hash and key, if so, you have to delete it to change hash or key.
-
- .. attribute:: data
-
- (:class:`packed_rrset_data`) entry data stored in wireformat (RRs and RRsigs).
-
-packed_rrset_data
------------------------
-
-.. class:: packed_rrset_data
-
- Rdata is stored in wireformat. The dname is stored in wireformat.
-
- TTLs are stored as absolute values (and could be expired).
-
- RRSIGs are stored in the arrays after the regular rrs.
-
- You need the packed_rrset_key to know dname, type, class of the
- resource records in this RRset. (if signed the rrsig gives the type too).
-
- The :class:`packed_rrset_data` provides these data attributes:
-
- .. attribute:: ttl
-
- TTL (in seconds like time()) of the RRset.
- Same for all RRs see rfc2181(5.2).
-
- .. attribute:: count
-
- Number of RRs.
-
- .. attribute:: rrsig_count
-
- Number of rrsigs, if 0 no rrsigs.
-
- .. attribute:: trust
-
- The trustworthiness of the RRset data.
-
- .. attribute:: security
-
- Security status of the RRset data. See sec_status\_ predefined constants.
-
- .. attribute:: rr_len[]
-
- Length of every RR's rdata, rr_len[i] is size of rr_data[i].
-
- .. attribute:: rr_ttl[]
-
- TTL of every rr. rr_ttl[i] ttl of rr i.
-
- .. attribute:: rr_data[]
-
- Array of RR's rdata (list of strings). The rdata is stored in uncompressed wireformat.
- The first 16B of rr_data[i] is rdlength in network format.
-
-
-DNSMessage
-----------------
-
-.. class:: DNSMessage
-
- Abstract representation of DNS message.
-
- **Usage**
-
- This example shows how to create an authoritative answer response
-
- ::
-
- msg = DNSMessage(qstate.qinfo.qname_str, RR_TYPE_A, RR_CLASS_IN, PKT_AA)
-
- #append RR
- if (qstate.qinfo.qtype == RR_TYPE_A) or (qstate.qinfo.qtype == RR_TYPE_ANY):
- msg.answer.append("%s 10 IN A 127.0.0.1" % qstate.qinfo.qname_str)
-
- #set qstate.return_msg
- if not msg.set_return_msg(qstate):
- raise Exception("Can't create response")
-
- The :class:`DNSMessage` provides these methods and data attributes:
-
- .. method:: __init__(self, rr_name, rr_type, rr_class = RR_CLASS_IN, query_flags = 0, default_ttl = 0)
-
- Prepares an answer (DNS packet) from given information. Query flags are combination of PKT_xx constants.
-
- .. method:: set_return_msg(self, qstate)
-
- This method fills qstate return message according to the given informations.
- It takes lists of RRs in each section of answer, created necessary RRsets in wire format and store the result in :attr:`qstate.return_msg`.
- Returns 1 if OK.
-
- .. attribute:: rr_name
-
- RR name of question.
-
- .. attribute:: rr_type
-
- RR type of question.
-
- .. attribute:: rr_class
-
- RR class of question.
-
- .. attribute:: default_ttl
-
- Default time-to-live.
-
- .. attribute:: query_flags
-
- Query flags. See PKT\_ predefined constants.
-
- .. attribute:: question[]
-
- List of resource records that should appear (in the same order) in question section of answer.
-
- .. attribute:: answer[]
-
- List of resource records that should appear (in the same order) in answer section of answer.
-
- .. attribute:: authority[]
-
- List of resource records that should appear (in the same order) in authority section of answer.
-
- .. attribute:: additional[]
-
- List of resource records that should appear (in the same order) in additional section of answer.
-
-pythonmod_env
------------------------
-
-.. class:: pythonmod_env
-
- Global state for the module.
-
- This class provides these data attributes:
-
- .. attribute:: data
-
- Here you can keep your own data shared across each thread.
-
- .. attribute:: fname
-
- Python script filename.
-
- .. attribute:: qstate
-
- Module query state.
-
-pythonmod_qstate
------------------------
-
-.. class:: pythonmod_qstate
-
- Per query state for the iterator module.
-
- This class provides these data attributes:
-
- .. attribute:: data
-
- Here you can keep your own private data (each thread has own data object).
-