- Aug 26, 2010
-
-
Lubos SLovak authored
Zone node now keeps track of other nodes that hold some referrence to it (e.g. through CNAME or additional records). Added function zn_add_referrer() to set referrer for given type. Removed function zn_add_ref_cname() and its functionality merged to zn_add_ref().
-
- Aug 25, 2010
-
-
Lubos SLovak authored
-
Lubos SLovak authored
GLUEs found in authoritative data are extracted, those found in other delegations are ignored (out-of-bailiwick). Adjusting of zone node ends after it finds CNAME or delegation.
-
Lubos SLovak authored
Zone adjustments now add A/AAAA references for SRV records. Nameserver adds these records to Additional section. Modified zone node flags (now 16 bit).
-
- Aug 24, 2010
-
-
Lubos SLovak authored
If EDNS is enabled and the sender supports it, maximum packet size is set to minimum of the sender's and nameserver's EDNS UDP payload. Fixed typo in zn_add_ref_cname().
-
Lubos SLovak authored
Counting truncation while adding RRSets into the packet. Some RRSets are added/omitted as a whole, some per RR (should change later maybe). Using the edns_udp_payload field of the packet to hold maximum allowed size for the packet. Overriding before converting to wire format. RRSets' size is counted by iterating over RRs - this is redundant, we may also copy the RRs in the same time (which would however result in having incomplete RRSets in the response). Setting TC bit when omitting referral NS, glue or anything from Answer section.
-
- Aug 23, 2010
-
-
Lubos SLovak authored
Skip list (skip_destroy_list()) was not freeing the head. Dispatcher (dpt_destroy()) was not freeing routine_obj. Nameserver (ns_destroy()) was not freeing error response. Zone node (zn_destroy()) was not destroying the skip list of additional records. Zone node (zn_add_ref()) was not deleting the created zn_ar_rrsets structure if the value was merged in skip_insert(). Zone database destroying changed to delete zone nodes (because not all zone nodes are in the zone data structure). zds_destroy() modified to have the zone node destructor as param.
-
Lubos SLovak authored
The key of hash table item was deallocated twice - once as the key and once in the zone node (the value). Fixed by adding parameters to ck_destroy_table() and ck_remove_item() which tells if the key and value should be deallocated (in case of value a pointer to destructor is passed). Changes to other files to acommodate this change.
-
- Aug 22, 2010
-
-
Lubos Slovak authored
-
Lubos Slovak authored
-
Lubos Slovak authored
-
Marek Vavrusa authored
-
- Aug 20, 2010
-
-
Marek Vavrusa authored
-
Marek Vavrusa authored
Needs to watch socket state before closing or different threading model.
-
Marek Vavrusa authored
-
Marek Vavrusa authored
-
Marek Vavrusa authored
Workers are switched on round-robin basis, eliminates data transfer overhead, as backing store is implicitly shared.
-
Marek Vavrusa authored
-
Marek Vavrusa authored
-
Marek Vavrusa authored
-
Marek Vavrusa authored
-
Marek Vavrusa authored
Threading model for TCP needs to be altered to prevent memory errors.
-
Marek Vavrusa authored
-
Marek Vavrusa authored
-
Marek Vavrusa authored
Fixed sm_create_socket() for TCP.
-
Marek Vavrusa authored
-
Marek Vavrusa authored
Refactored UDP handler and created stub TCP handler.
-
Marek Vavrusa authored
-
- Aug 19, 2010
-
-
Lubos Slovak authored
ns_put_glues() now copies the glues one by one and if a wildcard is encountered, the RR is copied and owner is replaced by name found by searching through the NS RRs in Authority section. (This approach should be faster than using the zn_get_glue() method for each name and type as in that case we would need to always iterate through the Authority section and in each iteration iterate over the glue records.) zn_get_glue() now processes wildcard glue records. (The function however is not used right now.) Fix in zdb_process_nonauth() (should not free the list of names). Changed zdb_dname_list_contains() to zdb_dname_list_find() which returns the found name. Not utilized now. (May change back later)
-
Lubos Slovak authored
Function ns_follow_cname() generalized to put RRs to given section. Once again putting RRSets to packet separated into generic function ns_put_rrset(), now with wildcard processing. ns_put_additional() now puts all additional RRSets into the packet, not only for given type (either way was iterating through the whole Answer section). ns_put_additional() now processes CNAMEs. zdb_adjust_additional() now saves also pointer to node with CNAME record, to be used in answering. Structure zn_ar_rrsets modified to be able to hold pointer to CNAME node. TODO: consider using union to save space. Added zn_add_ref_cname() to add CNAME additional reference. TODO: is copy-pasted from zn_add_ref(), consider refactoring.
-
Lubos Slovak authored
Fix: CNAME following was processing even the last (canonical name) node. Fix: ns_put_answer() was completely omitting answers when they're not wildcards. zdb_find_name_in_list() edited to accept also wildcard nodes.
-
Lubos Slovak authored
Was not marking the node as CNAME if the canonical name node was not present. Was not copying the last CNAME record in chain if the next canonical name was not present.
-
- Aug 18, 2010
-
-
Lubos Slovak authored
Not freeing the * domain name when creating wildcard name. Not freeing the packet wire format data returned by ldns_pkt2wire() in ns_response_to_wire(). Not freeing the ldns_pkt structure when creating error packet in ns_create().
-
Lubos Slovak authored
The copied question section in ns_create_empty_response() was never deallocated. Now the question section is not copied.
-
Lubos Slovak authored
ns_create_empty_response() was copying the question RR list, but this was never deallocated. ns_follow_cname() saved the RR to the list of copied RRs even if it was not copied. Freeing of the created wildcard name in ns_answer(). BUG: still major memory leaks present!!!
-
Lubos Slovak authored
Query processing changed to accomodate proper wildcard processing (see the new flowchart). Used one ugly goto, but cannot think about any workaround right now. If a wildcard is encountered when getting answers (or resolving CNAME chain), the corresponding RRs are now copied into the response packet and saved to a list of copied RRs for further deallocation. Removed ns_put_rrset(), as in case of answers we needed to perform the wildcard checks. Fix: Freeing of the copied qname in ns_answer().
-
Lubos Slovak authored
Now adding additional A/AAAA records for NS and MX records in answer section. Rewritten ns_put_additional() - now puts only the desired records. Zone node API for saving and getting node references cleaned up: - zn_add_ref_*() and zn_get_ref_*() replaced by generic functions zn_add_ref() and zn_get_refs(). - redundant union members ns and mx replaced by generic member additional.
-
Lubos Slovak authored
zdb_adjust_mx() converted to generic zdb_adjust_additional(). Fixed typo in zn_add_ref_ns().
-
- Aug 17, 2010
-
-
Lubos Slovak authored
Added zdb_adjust_mx() for searching and saving A/AAAA RRSets corresponding to MX records in a node. Added ns_put_additional() for adding additional RRSets into the response. Currently supports only MX. Bugfix in skip_first() - was returning head instead of the first real item.
-
Lubos Slovak authored
Zone node get_ref_* functions now return NULL if there is no such reference in the node.
-