- May 13, 2010
-
-
Marek Vavrusa authored
-
Marek Vavrusa authored
-
- Mar 31, 2010
-
-
Lubos Slovak authored
-
Lubos Slovak authored
Function for reallocating event array implemented. Some additional cleanup (closing the epoll file descriptor, etc.). Function for destroying socket entry implemented. sm_destroy() finished. Modified Server module accordingly.
-
- Mar 29, 2010
-
-
Lubos Slovak authored
Function for creating new socket and associated event added (function for reallocating the event array missing). Functions still lack some synchronisation. Changes to other functions in order to make them work with multiple sockets.
-
Lubos Slovak authored
Initial work to change the Socket Manager's API.
-
Lubos Slovak authored
-
Lubos Slovak authored
Created subdirectories of src/ for better organisation of the files. Modified Makefile accordingly.
-
- Mar 25, 2010
-
-
Lubos Slovak authored
-
Lubos Slovak authored
This version is quite stable. Tested with dnsperf, average qps: 56718. Not bad, but worse than the first version - should look into that and maintain average qps over 60k.
-
Lubos Slovak authored
Fixed search for appropriate zone - added function for comparing domain names in wire format (dnss_dname_wire_match()) and function for finding the zone: zdb_find_zone_for_name(). Fixed inserting and searching names in the Zone data structure.
-
Lubos Slovak authored
-
Lubos Slovak authored
Server structure (cute_server; should be renamed) created, together with basic functions: create(), destroy(), start(). Added create() and destroy() functions for Name Server module.
-
Lubos Slovak authored
Module Zone Parser: One API function + test implementation of zone parsing (uses the test file format). Minor changes to dns-simple library API (would need further changes).
-
Lubos Slovak authored
Proper change of the Makefile + some fixes of it.
-
Lubos Slovak authored
Name Server is used for answering queries relayed by the Socket Manager (Network) module. The ns_nameserver structure is rather simple now, but will be expanded in the future. Changed some API parameters to const. Should consider the const- -ness of parameters more thoroughly.
-
- Mar 24, 2010
-
-
Lubos Slovak authored
Lightweight module holding only an array of pointers to RRs and with basic operations: create, destroy, add, find and destructor for using in the overlying data structure.
-
Lubos Slovak authored
Implemented functions zdb_create() zdb_create_zone() zdb_find_zone() zdb_remove_zone() zdb_insert_name() zdb_find_name() zdb_destroy() Removed the useless zds_node structure. Added some other functions for working with dnss_dname_wire: copy, compare, destroy.
-
Lubos Slovak authored
Zone database - Now dummy module, no functions implemented yet. Later will group all zone data structures, and provide high- level API for the other server modules. Zone data structure - Only wrapper around hash table functions. Should provide transparent API for Zone database, disregarding the underlying data structure. Zone node - data structure to hold all information associated with a domain name. Consider renaming this structure later. Used in Zone data structure and through its zds_node structure in the rest of the server modules. The use of zds_node structure needs revision, maybe useless. New (now dummy) types for domain name (dnss_dname) and wire format of the domain name (dnss_dname_wire). Both typedef'ed to char *. Convenience methods to get string from dname and to get length of a dname. Will be changed later, when the types change. Minor changes (comment style changed).
-
Lubos Slovak authored
Removed sm_start() and thread information from socket-manager. sm_listen() made public, passed to dispatcher in start_server(). Fixes in dispatcher.
-
Lubos Slovak authored
Print routines moved to from common.[ch] to print.[ch]. Added module Dispatcher - just a draft, no tests done yet.
-
Lubos Slovak authored
-
Lubos Slovak authored
An actual (working) development version should be always in this branch. For subtasks, new branches will be created. For now all the old files are here, although this is actually a subtask. Later, we will remove all the old code from this branch and move it to some other branch. The master branch should be used for working or stable versions. Added .gitignore file. Created basic directory structure for the project and changed Makefile accordingly. Added QtCreator project files (CuteDNS.*).
-
- Mar 22, 2010
-
-
Lubos Slovak authored
ck_check_used2() renamed to ck_check_used() as the previous function of this name was of no use. Added ck_check_used_twice() which checks if some position was used twice druing a rehash - only after using a position twice can we assume that an infinite loop occured (can we or is it only a heuristic?) Rehashing probably working in a basic setup and with no locks. (Need to add: item locks, using both hashing functions in lookup function, switching the generation after half the table is rehashed, etc.)
-
Lubos Slovak authored
This was not a feasible way to lock the items - there was no way to atomically acquire the lock and save the information to the structure. Consider using some totally diffrent technique - copy-on-write, RCU, etc.
-
- Mar 19, 2010
-
-
Lubos Slovak authored
Bugfix: assumed the first free place is after all locks. Now using counter to keep tracks of threads waiting for lock. STILL NOT FUNCTIONAL! (not tested, but the idea is wrong)
-
Lubos Slovak authored
Bugfixes in ck_hash_item(). Completed ck_rehash() (rehashing of items from 2nd table). No locks are used for rehashing yet. Bug not fixed: detection of infinite loop in hashing is not correct.
-
- Mar 16, 2010
-
-
Lubos Slovak authored
Added structure irwl_table which holds table of locks (type irwl_lock) of arbitrary items identified by a pointer. Implemented read locking, write locking, unlocking, creation and destruction of the structure. Implementation uses mutex associated with the table to prevent race conditions while locking/unlocking.
-
Lubos Slovak authored
Function main() moved to new file main.c. Bitset test moved to new files test.[ch]. Tests related to cuckoo table remain in cuckoo-test.[ch]. Removed rwlocks from ck_hash_table (will be replaced by standalone item lock implementation).
-
- Mar 12, 2010
-
-
Lubos Slovak authored
Added rehashing function + general hashing function for item which may later be used in the ck_insert_item() function. No locks used yet.
-
Lubos Slovak authored
Added general table mutex, locking when inserting, rehashing and destroying. Added rwlocks for 2 items. Will be used in rehashing.
-
- Mar 09, 2010
-
-
Lubos Slovak authored
Buffer was not used (wrong check). Item which caused error in insertion (infinite loop while buffer full) was being deleted in the test function even though it may have been inserted into the table. (This was causing the invalid pointer error.) Simplified ck_insert_item().
-
- Mar 08, 2010
-
-
Lubos Slovak authored
A lot of macros in cuckoo-hash-table.c replaced by constants and static inline functions. Some debug output added. dns-simple: RDATA is now allocated separately, not together with RR. There is some bug, probably in hash table insertion, resulting in "Invalid pointer" error when destroying certain item in hash table.
-
Lubos Slovak authored
Added "generation" to hash table items and proper methods, hash counting, etc. Added checks for NULL pointers when deleting items from table. Fixed dnss_destroy_rr() (deleting RDATA twice). Minor changes and fixes. Universal system's functions moved to .c file.
-
- Mar 05, 2010
-
-
Lubos Slovak authored
-
Lubos Slovak authored
-
Lubos Slovak authored
All items are now properly created, copied and destroyed. (too much copying - should avoid in later development) Modified API of dns-simple 'library': Added destructors which take ** to the object and are setting the pointer to NULL. dnss_dname_to_wire() now takes the position and allocated size as parameters. dnss_create_response(), dnss_create_error_response() and dnss_wire_format() now all return errors as appropriate. Fixed copying issues in dns-simple 'library': Questions and RRs are now copied entirely, not just pointers. (See functions dnss_copy_questions() and dnss_copy_rrs().) Added some checks for NULL-pointers when deallocating. Added pointer to hash table item destructor function to the hash table. ck_destroy_table() rewritten to destroy individual items in the table and buffer. A lot of checks added (mostly for result of malloc). Redundant and old code removed.
-
- Mar 03, 2010
-
-
Lubos Slovak authored
Bugfix in default A RR value (was string, should be 4 integers). Ignoring query if response too long. Removed some redundant code. Added some debug output.
-
Lubos Slovak authored
Modified functions hash_from_file() and test_lookup_from_file(). Some additional checks for successful memory allocation added.
-
Lubos Slovak authored
Added use of the socket manager to listen for queries. Added function answer_request() to be called from worker threads.
-