CVE-2016-2115: s3:winbindd: use lp_client_ipc_{min,max}_protocol()
[samba.git] / source4 / dns_server / dnsserver_common.h
index 41febe28d39d1f7b578938f3026ebccd84a0212e..ad91f617be7bb268901e07e011d2eb490ca6b8c3 100644 (file)
 uint8_t werr_to_dns_err(WERROR werr);
 #define DNS_ERR(err_str) WERR_DNS_ERROR_RCODE_##err_str
 
+struct ldb_message_element;
+struct ldb_context;
+struct dnsp_DnssrvRpcRecord;
+
+struct dns_server_zone {
+       struct dns_server_zone *prev, *next;
+       const char *name;
+       struct ldb_dn *dn;
+};
+
+WERROR dns_common_extract(const struct ldb_message_element *el,
+                         TALLOC_CTX *mem_ctx,
+                         struct dnsp_DnssrvRpcRecord **records,
+                         uint16_t *num_records);
+
+WERROR dns_common_lookup(struct ldb_context *samdb,
+                        TALLOC_CTX *mem_ctx,
+                        struct ldb_dn *dn,
+                        struct dnsp_DnssrvRpcRecord **records,
+                        uint16_t *num_records,
+                        bool *tombstoned);
+
+WERROR dns_common_replace(struct ldb_context *samdb,
+                         TALLOC_CTX *mem_ctx,
+                         struct ldb_dn *dn,
+                         bool needs_add,
+                         uint32_t serial,
+                         struct dnsp_DnssrvRpcRecord *records,
+                         uint16_t rec_count);
+bool dns_name_match(const char *zone, const char *name, size_t *host_part_len);
+WERROR dns_common_name2dn(struct ldb_context *samdb,
+                         struct dns_server_zone *zones,
+                         TALLOC_CTX *mem_ctx,
+                         const char *name,
+                         struct ldb_dn **_dn);
+NTSTATUS dns_common_zones(struct ldb_context *samdb,
+                         TALLOC_CTX *mem_ctx,
+                         struct dns_server_zone **zones_ret);
 #endif /* __DNSSERVER_COMMON_H__ */