New activity for FreeRADIUS (the high performance and highly configurable RADIUS server) ====== Keep track of the number of file descriptors were listening on Arran Cudbard-Bell@2013-08-16T20:28:27Z Files modified: * src/include/event.h * src/lib/event.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/9815d0466e246f1c6d98e... ====== Don't segv if asked to print a null value Arran Cudbard-Bell@2013-08-16T20:28:27Z Files modified: * src/lib/print.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/edd08f0ec498a48ff60e8... ====== Simplify "proxy anew" code Now that the packet list re-uses Ids less often Alan T. DeKok@2013-08-16T16:11:45Z Files modified: * src/main/process.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/5a0f95352a5cd953f2fd3... ====== Simplify ID allocation so that we don't loop over all IDs Instead, we allocate a 256-entry array of random IDs (all unique) and gradually use them. When the array is empty, we re-fill it. Alan T. DeKok@2013-08-16T16:11:42Z Files modified: * src/lib/packet.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/3587f98f305cc3eef5088... ====== Unify error logic Alan T. DeKok@2013-08-16T15:03:36Z Files modified: * src/main/process.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/f09bf3c3bb7f4a858d767... ====== Merge pull request #328 from skids/rbtree Fixes and enhancements for rbtree Alan DeKok@2013-08-16T04:52:28Z Files modified: * src/include/libradius.h * src/lib/rbtree.c * src/tests/rbmonkey.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/995734aec92e6c43de999... ====== A test file for libradius rbtree ops Verifies red/black counts to all child nodes after adds/deletes Tests DeleteOrder; code provided in comments for vanilla rbtree_delete. Build system magic necessary for this is beyond me. It's a start at least skids@2013-06-26T00:52:15Z Files modified: * src/tests/rbmonkey.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/2011d7689f0fb05d87f15... ====== Add a batch deletion mode to rbtree_walk Walks the tree calling callbacks as per InOrder Allows callback to ask for deletion of records after evaluating criteria All callbacks and deletions done while lock is held skids@2013-06-26T00:47:14Z Files modified: * src/include/libradius.h * src/lib/rbtree.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/c8685598bbb6c72393f45... ====== Always fixup after deleting a black child node in rbtree This prevents rbtree_delete from creating unbalanced/illegal rbtrees. skids@2013-06-25T02:40:48Z Files modified: * src/lib/rbtree.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/863a4f70d7bd876d73dae... ====== Use a consistent callback return code This is the one place in the codebase where a positive return code is used in an rbtree_walk callback. Changing it negative should have no effect, and keeps options open as to whether to introduce new symbols for the next patch to follow, or to change the libfreeradius API slightly WRT rbtree callback return codes. Whether any third-party add-ons may use positive return codes is not known. skids@2013-06-20T22:54:31Z Files modified: * src/main/radclient.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/95949807d08e84ea45266... ====== Add rbtree_callbydata for sane threadsafe/garbage-collected operations When working with an rbtree which is exposed to multiple threads, it is not safe to do much of anything with data retrieved by functions such as rbtree_finddata, other than to feed it directly to rbtree_delete. This is because once rbtree_finddata has returned, another thread may obtain a pointer to that data (and hence may begin mangling non-key material such as container_of or any child allocs.) This is especially true for rbtrees that have a freeNode garbage collection routine defined. This function allows safe operations while the rbtree lock is still held. It also allows for a conditional delete operation based on criteria which may only be safe to ascertain while the lock is held. In addition to short operations, it could be used, with due care, to trylock a more granular lock associated with the key before deleting the key or before operating with it outside of the rbtree lock. skids@2013-06-20T22:03:20Z Files modified: * src/include/libradius.h * src/lib/rbtree.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/e1b597d1a281e20a10ff5... ====== Fix obvious pasto in PostOrder walk. skids@2013-06-20T04:47:33Z Files modified: * src/lib/rbtree.c Commit diff: https://github.com/FreeRADIUS/freeradius-server/commit/a89132cf443a6f6213743... ====== -- This commit summary was generated @2013-08-17T00:00:02Z by lgfeed version 0.00 (https://github.com/arr2036/lgfeed).