3c28aa5dca309286ad9136c6d4742969b5dfde1d |
|
07-Apr-2010 |
Patrick McHardy <kaber@trash.net> |
Fix rule attribute comparison Rules don't have unique identifiers, so all attributes are compared by initializing the ID mask to ~0. This doesn't work however since nl_object_identical verifies whether the ID attributes are actually present before comparing the objects, which is never the case. Work around by using the intersection of present attributes when comparing two rule objects. Signed-off-by: Patrick McHardy <kaber@trash.net>
/external/libnl/lib/object.c
|
7d249fc2e1d0cb06cd4a4dfcc0a3c425ce63def7 |
|
05-Jul-2009 |
Alexander Sack <asac@ubuntu.com> |
nl_object_clone: properly clone ce_mask field based on my finding, ce_mask needs to be identical on clones; otherwise some functions (like "dump") will treat clones differently.
/external/libnl/lib/object.c
|
a8cd7b62c86127e2c946373d50efac9d2ed8da38 |
|
07-Apr-2009 |
Pavel Roskin <proski@gnu.org> |
nl_object_priv() is inline, so define it in the header
/external/libnl/lib/object.c
|
8a3efffa5b3fde252675239914118664d36a2c24 |
|
14-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Thread-safe error handling In order for the interface to become more thread safe, the error handling was revised to no longer depend on a static errno and error string buffer. This patch converts all error paths to return a libnl specific error code which can be translated to a error message using nl_geterror(int error). The functions nl_error() and nl_get_errno() are therefore obsolete. This change required various sets of function prototypes to be changed in order to return an error code, the most prominent are: struct nl_cache *foo_alloc_cache(...); changed to: int foo_alloc_cache(..., struct nl_cache **); struct nl_msg *foo_build_request(...); changed to: int foo_build_request(..., struct nl_msg **); struct foo *foo_parse(...); changed to: int foo_parse(..., struct foo **); This pretty much only leaves trivial allocation functions to still return a pointer object which can still return NULL to signal out of memory. This change is a serious API and ABI breaker, sorry!
/external/libnl/lib/object.c
|
535e83162249ed6274ba46bc72d8cc683ba20e17 |
|
29-Apr-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Big routing code rework (API/ABI BREAK!) Adds all missing routing attributes and brings the routing related code to a working state. In the process the API was broken several times with the justification that nobody is using this code yet. The changes include new example code which is also a prototype for how plain CLI tools could look like to control routes.
/external/libnl/lib/object.c
|
44d362409d5469aed47d19e7908d19bd194493a4 |
|
15-Sep-2007 |
Thomas Graf <tgraf@suug.ch> |
Initial import
/external/libnl/lib/object.c
|