History log of /external/libnl/lib/object.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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