• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/bind9-45.101/bind9/lib/dns/

Lines Matching refs:rule

100 		dns_ssurule_t *rule = ISC_LIST_HEAD(table->rules);
101 if (rule->identity != NULL) {
102 dns_name_free(rule->identity, mctx);
103 isc_mem_put(mctx, rule->identity, sizeof(dns_name_t));
105 if (rule->name != NULL) {
106 dns_name_free(rule->name, mctx);
107 isc_mem_put(mctx, rule->name, sizeof(dns_name_t));
109 if (rule->types != NULL)
110 isc_mem_put(mctx, rule->types,
111 rule->ntypes * sizeof(dns_rdatatype_t));
112 ISC_LIST_UNLINK(table->rules, rule, link);
113 rule->magic = 0;
114 isc_mem_put(mctx, rule, sizeof(dns_ssurule_t));
165 dns_ssurule_t *rule;
179 rule = isc_mem_get(mctx, sizeof(dns_ssurule_t));
180 if (rule == NULL)
183 rule->identity = NULL;
184 rule->name = NULL;
185 rule->types = NULL;
187 rule->grant = grant;
189 rule->identity = isc_mem_get(mctx, sizeof(dns_name_t));
190 if (rule->identity == NULL) {
194 dns_name_init(rule->identity, NULL);
195 result = dns_name_dup(identity, mctx, rule->identity);
199 rule->name = isc_mem_get(mctx, sizeof(dns_name_t));
200 if (rule->name == NULL) {
204 dns_name_init(rule->name, NULL);
205 result = dns_name_dup(name, mctx, rule->name);
209 rule->matchtype = matchtype;
211 rule->ntypes = ntypes;
213 rule->types = isc_mem_get(mctx,
215 if (rule->types == NULL) {
219 memcpy(rule->types, types, ntypes * sizeof(dns_rdatatype_t));
221 rule->types = NULL;
223 rule->magic = SSURULEMAGIC;
224 ISC_LIST_INITANDAPPEND(table->rules, rule, link);
229 if (rule->identity != NULL) {
230 if (dns_name_dynamic(rule->identity))
231 dns_name_free(rule->identity, mctx);
232 isc_mem_put(mctx, rule->identity, sizeof(dns_name_t));
234 if (rule->name != NULL) {
235 if (dns_name_dynamic(rule->name))
236 dns_name_free(rule->name, mctx);
237 isc_mem_put(mctx, rule->name, sizeof(dns_name_t));
239 if (rule->types != NULL)
240 isc_mem_put(mctx, rule->types,
242 isc_mem_put(mctx, rule, sizeof(dns_ssurule_t));
354 dns_ssurule_t *rule;
369 for (rule = ISC_LIST_HEAD(table->rules);
370 rule != NULL;
371 rule = ISC_LIST_NEXT(rule, link))
373 switch (rule->matchtype) {
382 if (dns_name_iswildcard(rule->identity)) {
384 rule->identity))
387 if (!dns_name_equal(signer, rule->identity))
405 switch (rule->matchtype) {
407 if (!dns_name_equal(name, rule->name))
411 if (!dns_name_issubdomain(name, rule->name))
415 if (!dns_name_matcheswildcard(name, rule->name))
438 rule->identity))
443 rule->identity))
447 if (!dns_name_issubdomain(name, rule->name))
450 rule->identity))
454 if (!dns_name_issubdomain(name, rule->name))
457 rule->identity))
464 if (dns_name_iswildcard(rule->identity)) {
466 rule->identity))
469 if (!dns_name_equal(tcpself, rule->identity))
479 if (dns_name_iswildcard(rule->identity)) {
481 rule->identity))
484 if (!dns_name_equal(stfself, rule->identity))
491 if (!dns_ssu_external_match(rule->identity, signer,
503 if (rule->ntypes == 0) {
505 * If this is a DLZ rule, then the DLZ ssu
509 if (rule->matchtype != DNS_SSUMATCHTYPE_DLZ &&
513 for (i = 0; i < rule->ntypes; i++) {
514 if (rule->types[i] == dns_rdatatype_any ||
515 rule->types[i] == type)
518 if (i == rule->ntypes)
521 return (rule->grant);
528 dns_ssurule_isgrant(const dns_ssurule_t *rule) {
529 REQUIRE(VALID_SSURULE(rule));
530 return (rule->grant);
534 dns_ssurule_identity(const dns_ssurule_t *rule) {
535 REQUIRE(VALID_SSURULE(rule));
536 return (rule->identity);
540 dns_ssurule_matchtype(const dns_ssurule_t *rule) {
541 REQUIRE(VALID_SSURULE(rule));
542 return (rule->matchtype);
546 dns_ssurule_name(const dns_ssurule_t *rule) {
547 REQUIRE(VALID_SSURULE(rule));
548 return (rule->name);
552 dns_ssurule_types(const dns_ssurule_t *rule, dns_rdatatype_t **types) {
553 REQUIRE(VALID_SSURULE(rule));
555 *types = rule->types;
556 return (rule->ntypes);
560 dns_ssutable_firstrule(const dns_ssutable_t *table, dns_ssurule_t **rule) {
562 REQUIRE(rule != NULL && *rule == NULL);
563 *rule = ISC_LIST_HEAD(table->rules);
564 return (*rule != NULL ? ISC_R_SUCCESS : ISC_R_NOMORE);
568 dns_ssutable_nextrule(dns_ssurule_t *rule, dns_ssurule_t **nextrule) {
569 REQUIRE(VALID_SSURULE(rule));
571 *nextrule = ISC_LIST_NEXT(rule, link);
583 dns_ssurule_t *rule;
594 rule = isc_mem_get(table->mctx, sizeof(dns_ssurule_t));
595 if (rule == NULL) {
600 rule->identity = NULL;
601 rule->name = NULL;
602 rule->types = NULL;
603 rule->grant = ISC_TRUE;
604 rule->matchtype = DNS_SSUMATCHTYPE_DLZ;
605 rule->ntypes = 0;
606 rule->types = NULL;
607 rule->magic = SSURULEMAGIC;
609 ISC_LIST_INITANDAPPEND(table->rules, rule, link);