Home | History | Annotate | Download | only in client

Lines Matching defs:ddns_cb

149 static void dhclient_ddns_cb_free(dhcp_ddns_cb_t *ddns_cb,
5069 client_dns_remove_action(dhcp_ddns_cb_t *ddns_cb,
5076 (ddns_cb->state == DDNS_STATE_REM_FW_YXDHCID)) {
5078 ddns_cb->state = DDNS_STATE_REM_FW_NXRR;
5080 result = ddns_modify_fwd(ddns_cb, MDL);
5087 dhclient_ddns_cb_free(ddns_cb, MDL);
5095 dhcp_ddns_cb_t *ddns_cb;
5099 if (client->ddns_cb != NULL) {
5100 ddns_cancel(client->ddns_cb, MDL);
5101 client->ddns_cb = NULL;
5104 ddns_cb = ddns_cb_alloc(MDL);
5105 if (ddns_cb != NULL) {
5106 ddns_cb->address = *addr;
5107 ddns_cb->timeout = 0;
5109 ddns_cb->state = DDNS_STATE_REM_FW_YXDHCID;
5110 ddns_cb->flags = DDNS_UPDATE_ADDR;
5111 ddns_cb->cur_func = client_dns_remove_action;
5113 result = client_dns_update(client, ddns_cb);
5116 dhclient_ddns_cb_free(ddns_cb, MDL);
5196 dhcp_ddns_cb_t *ddns_cb = (dhcp_ddns_cb_t *)cp;
5197 struct client_state *client = (struct client_state *)ddns_cb->lease;
5203 status = client_dns_update(client, ddns_cb);
5215 dhclient_ddns_cb_free(ddns_cb, MDL);
5249 client_dns_update_action(dhcp_ddns_cb_t *ddns_cb,
5267 if (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) {
5268 ddns_cb->state = DDNS_STATE_ADD_FW_YXDHCID;
5269 ddns_cb->cur_func = client_dns_update_action;
5271 result = ddns_modify_fwd(ddns_cb, MDL);
5284 data_string_forget(&ddns_cb->fwd_name, MDL);
5285 data_string_forget(&ddns_cb->dhcid, MDL);
5286 if (ddns_cb->zone != NULL) {
5287 forget_zone((struct dns_zone **)&ddns_cb->zone);
5291 ddns_cb->state = DDNS_STATE_ADD_FW_NXDOMAIN;
5292 ddns_cb->cur_func = client_dns_update_action;
5295 if (ddns_cb->timeout < 3600)
5296 ddns_cb->timeout *= 10;
5297 tv.tv_sec = cur_tv.tv_sec + ddns_cb->timeout;
5300 ddns_cb, NULL, NULL);
5304 dhclient_ddns_cb_free(ddns_cb, MDL);
5311 client_dns_update(struct client_state *client, dhcp_ddns_cb_t *ddns_cb)
5353 !evaluate_option_cache (&ddns_cb->fwd_name, (struct packet *)0,
5374 ddns_cb->dhcid_class = dns_rdatatype_dhcid;
5378 ddns_cb->dhcid_class = dns_rdatatype_txt;
5393 result = get_dhcid(ddns_cb, 2,
5421 result = get_dhcid(ddns_cb, 2,
5425 result = get_dhcid(ddns_cb, ddns_v4_type,
5431 result = get_dhcid(ddns_cb, 0,
5443 if (ddns_cb->fwd_name.len && ddns_cb->dhcid.len) {
5444 rcode = ddns_modify_fwd(ddns_cb, MDL);
5469 dhcp_ddns_cb_t *ddns_cb;
5476 if (client->ddns_cb != NULL) {
5477 ddns_cancel(client->ddns_cb, MDL);
5478 client->ddns_cb = NULL;
5481 ddns_cb = ddns_cb_alloc(MDL);
5483 if (ddns_cb != NULL) {
5484 ddns_cb->lease = (void *)client;
5485 ddns_cb->address = *addr;
5486 ddns_cb->timeout = 1;
5494 ddns_cb->ttl = 300;
5496 ddns_cb->state = DDNS_STATE_ADD_FW_NXDOMAIN;
5497 ddns_cb->cur_func = client_dns_update_action;
5498 ddns_cb->flags = DDNS_UPDATE_ADDR | DDNS_INCLUDE_RRSET;
5500 client->ddns_cb = ddns_cb;
5504 ddns_cb, NULL, NULL);
5709 dhclient_ddns_cb_free(dhcp_ddns_cb_t *ddns_cb, char* file, int line) {
5710 if (ddns_cb) {
5711 struct client_state *client = (struct client_state *)ddns_cb->lease;
5713 client->ddns_cb = NULL;
5716 ddns_cb_free(ddns_cb, file, line);