Lines Matching refs:state

58 #define DNS_STATE_VALID(state)		ISC_MAGIC_VALID(state, STATE_MAGIC)
1365 sign_nsec, update_nsec3, process_nsec3, sign_nsec3 } state;
1375 dns_update_state_t mystate, *state;
1393 state = &mystate;
1395 state = isc_mem_get(diff->mctx, sizeof(*state));
1396 if (state == NULL)
1400 dns_diff_init(diff->mctx, &state->diffnames);
1401 dns_diff_init(diff->mctx, &state->affected);
1402 dns_diff_init(diff->mctx, &state->sig_diff);
1403 dns_diff_init(diff->mctx, &state->nsec_diff);
1404 dns_diff_init(diff->mctx, &state->nsec_mindiff);
1405 dns_diff_init(diff->mctx, &state->work);
1406 state->nkeys = 0;
1407 state->build_nsec3 = ISC_FALSE;
1410 DNS_MAXZONEKEYS, state->zone_keys,
1411 &state->nkeys);
1420 state->inception = now - 3600; /* Allow for some clock skew. */
1421 state->expire = now + sigvalidityinterval;
1429 state->check_ksk = ISC_TF((dns_zone_getoptions(zone) &
1431 state->keyset_kskonly = ISC_TF((dns_zone_getoptions(zone) &
1445 state->nsecttl = soa.minimum;
1455 state->state = sign_updates;
1456 state->magic = STATE_MAGIC;
1458 *statep = state;
1461 state = *statep;
1465 switch (state->state) {
1475 CHECK(namelist_append_name(&state->diffnames, name));
1500 &state->sig_diff,
1501 state->zone_keys,
1502 state->nkeys);
1508 &state->sig_diff));
1519 &state->sig_diff,
1520 state->zone_keys,
1521 state->nkeys,
1522 state->inception,
1523 state->expire,
1524 state->check_ksk,
1525 state->keyset_kskonly));
1536 ISC_LIST_APPEND(state->work.tuples, t,
1541 if (state != &mystate && sigs > maxsigs)
1544 ISC_LIST_APPENDLIST(diff->tuples, state->work.tuples, link);
1550 state->state = remove_orphaned;
1553 for (t = ISC_LIST_HEAD(state->diffnames.tuples);
1562 NULL, &state->sig_diff));
1572 &state->build_nsec3));
1574 state->state = update_nsec3;
1583 state->state = build_chain;
1588 for (t = ISC_LIST_HEAD(state->diffnames.tuples);
1621 CHECK(namelist_append_name(&state->affected, prevname));
1629 for (t = ISC_LIST_HEAD(state->diffnames.tuples);
1661 &state->affected));
1663 ISC_LIST_APPENDLIST(state->affected.tuples,
1664 state->diffnames.tuples, link);
1665 INSIST(ISC_LIST_EMPTY(state->diffnames.tuples));
1667 CHECK(uniqify_name_list(&state->affected));
1671 state->state = process_nsec;
1680 while ((t = ISC_LIST_HEAD(state->affected.tuples)) != NULL) {
1695 NULL, &state->nsec_diff));
1719 &state->sig_diff,
1720 state->zone_keys,
1721 state->nkeys,
1722 state->inception,
1723 state->expire,
1724 state->check_ksk,
1725 state->keyset_kskonly,
1729 ISC_LIST_UNLINK(state->affected.tuples, t, link);
1730 ISC_LIST_APPEND(state->work.tuples, t, link);
1731 if (state != &mystate && sigs > maxsigs)
1734 ISC_LIST_APPENDLIST(state->affected.tuples,
1735 state->work.tuples, link);
1741 for (t = ISC_LIST_HEAD(state->affected.tuples);
1768 state->nsecttl,
1769 &state->nsec_diff));
1778 while ((t = ISC_LIST_HEAD(state->nsec_diff.tuples)) != NULL) {
1779 ISC_LIST_UNLINK(state->nsec_diff.tuples, t, link);
1780 dns_diff_appendminimal(&state->nsec_mindiff, &t);
1788 state->state = sign_nsec;
1790 while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL)
1796 NULL, &state->sig_diff));
1800 &state->sig_diff,
1801 state->zone_keys, state->nkeys,
1802 state->inception, state->expire,
1803 state->check_ksk,
1804 state->keyset_kskonly));
1809 ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link);
1810 ISC_LIST_APPEND(state->work.tuples, t, link);
1811 if (state != &mystate && sigs > maxsigs)
1814 ISC_LIST_APPENDLIST(state->nsec_mindiff.tuples,
1815 state->work.tuples, link);
1818 state->state = update_nsec3;
1821 while ((t = ISC_LIST_HEAD(state->sig_diff.tuples)) != NULL) {
1822 ISC_LIST_UNLINK(state->sig_diff.tuples, t, link);
1825 while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL)
1827 ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link);
1831 INSIST(ISC_LIST_EMPTY(state->sig_diff.tuples));
1832 INSIST(ISC_LIST_EMPTY(state->nsec_diff.tuples));
1833 INSIST(ISC_LIST_EMPTY(state->nsec_mindiff.tuples));
1835 if (!state->build_nsec3) {
1844 dns_diff_clear(&state->diffnames);
1845 dns_diff_clear(&state->affected);
1868 CHECK(namelist_append_name(&state->affected, name));
1897 &state->affected));
1906 state->state = process_nsec3;
1907 while ((t = ISC_LIST_HEAD(state->affected.tuples)) != NULL) {
1920 &state->nsec_diff));
1924 &state->sig_diff,
1925 state->zone_keys,
1926 state->nkeys,
1927 state->inception,
1928 state->expire,
1929 state->check_ksk,
1930 state->keyset_kskonly,
1933 state->nsecttl,
1936 &state->nsec_diff));
1938 ISC_LIST_UNLINK(state->affected.tuples, t, link);
1939 ISC_LIST_APPEND(state->work.tuples, t, link);
1940 if (state != &mystate && sigs > maxsigs)
1943 ISC_LIST_APPENDLIST(state->affected.tuples,
1944 state->work.tuples, link);
1951 while ((t = ISC_LIST_HEAD(state->nsec_diff.tuples)) != NULL) {
1952 ISC_LIST_UNLINK(state->nsec_diff.tuples, t, link);
1953 dns_diff_appendminimal(&state->nsec_mindiff, &t);
1961 state->state = sign_nsec3;
1963 while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL)
1969 NULL, &state->sig_diff));
1973 &state->sig_diff,
1974 state->zone_keys,
1975 state->nkeys, state->inception,
1976 state->expire, state->check_ksk,
1977 state->keyset_kskonly));
1982 ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link);
1983 ISC_LIST_APPEND(state->work.tuples, t, link);
1984 if (state != &mystate && sigs > maxsigs)
1987 ISC_LIST_APPENDLIST(state->nsec_mindiff.tuples,
1988 state->work.tuples, link);
1991 while ((t = ISC_LIST_HEAD(state->sig_diff.tuples)) != NULL) {
1992 ISC_LIST_UNLINK(state->sig_diff.tuples, t, link);
1995 while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL)
1997 ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link);
2001 INSIST(ISC_LIST_EMPTY(state->sig_diff.tuples));
2002 INSIST(ISC_LIST_EMPTY(state->nsec_diff.tuples));
2003 INSIST(ISC_LIST_EMPTY(state->nsec_mindiff.tuples));
2014 dns_diff_clear(&state->sig_diff);
2015 dns_diff_clear(&state->nsec_diff);
2016 dns_diff_clear(&state->nsec_mindiff);
2018 dns_diff_clear(&state->affected);
2019 dns_diff_clear(&state->diffnames);
2020 dns_diff_clear(&state->work);
2022 for (i = 0; i < state->nkeys; i++)
2023 dst_key_free(&state->zone_keys[i]);
2025 if (state != &mystate && state != NULL) {
2027 state->magic = 0;
2028 isc_mem_put(diff->mctx, state, sizeof(*state));