dwww Home | Show directory contents | Find package

ChangeLog discontinued, git history can be found here:
https://github.com/thom311/libnl

Summary of Changes from 1.0-pre6 to 1.0-pre7
================================================
        Thomas Graf <tgraf@suug.ch>
          o Generic netlink support
          o Route Addition/Deletion
          o Added nl_cache_subset()
          o Have nl_object_clone() make real clones without
            sharing any data.
          o Remove old nl_object_alloc() not based on a object
            operations to avoid bugs due to missing init.
          o Added nl-list-caches utility
          o Removed nlmsg_build_no_hdr(), duplicate
          o Reworked message interface
          o Fixed nlmsg_put() and genlmsg_put() to correctly reserve
            tail room for user specific headers.
          o Added nl_cache_move()
          o Renamed nl_cache_delete() to nl_cache_remove() (no API break)
          o Fixed reference counting while objects stay in caches.
          o Object marking
          o Moved attribute mask for objects into generic structure
          o nl-list-caches: List available dump procedures
          o Use PAGE_SIZE as initial buffer size when reading from
            netlink socket
          o Double buffer size when recv() returns MSG_TRUNC
          o Replaced filter object operation with new compare operation
            capable of listing differences between two objects
          o Added nl_object_identical() to check if two objects are
            identical from a uniqueness point of view
          o Added nl_object_diff() returning a bitmask of differences in
            attributes
          o Added nl_object_attr_list() generating a list of attribute
            name the object has assigned 
          o Cache updates based on event notifications, code based on
            Patrick McHardy's patches
          o Cache Manager
          o Added NL_AUTO_PID, NL_AUTO_SEQ for convenience
          o Disable MSG_PEEK by default and provide nl_socket_enable_msg_peek()
          o Fixed nl_recvmsgs() to return 0 when interrupted via NL_STOP or
            NL_SKIP
          o Fixed nl_recvmsgs() to stop reading after parsing if not in the
            middle of a multipart message.
          o Fixed nl_recvmsgs() to not stop after receiving an ACK
          o Fixed nl_recvmsgs() to not blindly discard remaining messages
            if a NLMSG_DONE message is received.
        
        Petr Gotthard <petr.gotthard@siemens.com>
        Siemens AG Oesterreich
          o Fix u32 to properly handle multiple keys
          o rtnl_htb_set_(r|c)buffer()
          o Fixed MTU handling in HTB class, problem pointed out
            by Edouard Thuleau
        
        Zilvinas Valinskas <zilvinas@wilibox.com>
          o Fix wrong msg_namelen in nl_recv()
          o Fix memory leak in flnl_request_put()

        Helmut Schaa <hschaa@suse.de>
          o Fix for using libnl from within C++

        Patrick McHardy <kaber@trash.net>
          o *_alloc_cache(): Only refill cache if handle is provided
        
        James Oakley <jfunk@funktronics.ca>
          o Fix rtnl_link_set_arptype() typo

        Philip Craig <philipc@snapgear.com>
          o Change address family type from char to int
          o Fix the error handling when the build fails.
          o add nl_cache_mngr_get_fd()
          o add netfilter support
          o add netfilter conntrack support
          o add netfilter log support

Summary of Changes from 1.0-pre5 to 1.0-pre6
================================================
        Christopher Aillon <caillon@redhat.com>
          o Use $(libdir) instead of $(prefix)/lib for 64bit awesomeness.

        Thomas Graf <tgraf@suug.ch>
          o Extend nl_msg to include source address, destination address
            and the protocol being used.
          o Make nl_send*() take a nl_msg instead of a nlmsghdr (API BREAK)
          o Change callbacks to take a nl_msg instead of source address
            and nlmsghdr (API BREAK)
          o caches must specify the protocol they're hooked up from now on
            if they intend to be associated with message types.
          o cache_mngt_associate now takes the protocol besides the message
            type to allow for multiple protocols to be supported (API BREAK)
          o overwrite destination address in nl_send() when specified in the
            message itself, allows for unbound addressing.
          o Support for netlink based fib_lookup()
          o Documentation fixes
          o Fix double nlmsg_free() in nl_recvmsgs() while receiving
            a multipart message and the read was interrupted.
          o Change cache operations to store names for message types.
          o Provide interface to convert message type to character string.
          o Add dp_dump_msgtype to prefix each dumped element with a
            pretty printed message type.
          o netlink fib lookup support
          o nl_recvmsgs() debugging
          o use nl_cachemngt_type2name() when pretty printing netlink header
          o Routing protocol translations.
          o Routing metric translations.
          o Revised route dumping
          o Nexthop flag translations.
          o Add support for IFF_DORMANT

        Petr Gotthard <petr.gotthard@siemens.com>
        Siemens AG Oesterreich
          o Fix access to obj after freeing it
          o Fix u32 selector access after realloc() 
          o Fix missing out-of-memory error handling in various places
          o Enhance nl-monitor to have group selection selectable and
            demonstrate usage of select()
          o Don't ignore IFF_RUNNING any longer
          o fw classifier support
        
        Patrick McHardy <kaber@trash.net>
          o Fix conflicting types for __u64
          o Fix printf format string warnings
          o Fix object cloning
          o Deal with structure padding in nl_object_clone
          o Fix nl_addr leak
          o Set ce_msgtype in all parsed objects
          o Fix addr flag filter
          o Fix RTNLGRP definitions (was based on broken kernel version)
          o Export nl_get_errno()
          o Add function to get/set peer pid
          o Add IFF_LOWER_UP
          o Add/export some missing accessor functions
          o print /0 prefix in nl_addr2str()
          o Fix invalid free in nl_addr_parse for AF_UNSPEC addresses
          o Use __str2flags instead of __str2type in rtnl_link_str2flags()
          o Make sure object and filter types match in nl_object_match()
          o Add support for credential passing over netlink sockets (API BREAK)
          o Add support for custom dump callbacks
          o Add NL_DUMP_ENV format

        Michael Biebl <biebl@teco.edu>
        "Alex V. Myltsev" <avm@altlinux.ru>
          o Makefile fixes


Summary of Changes from 1.0-pre4 to 1.0-pre5
================================================
        Thomas Graf <tgraf@suug.ch>
          o Use minimized local copies for <linux/if.h>, <linux/if_arp.h>,
            and <linux/if_ether.h> to avoid compile troubles with
            applications including <net/if*.h>
            Reported by Christopher Aillon.

Summary of Changes from 1.0-pre3 to 1.0-pre4
================================================
        Thomas Graf <tgraf@suug.ch>
          o Fix wrong rtnl_addr_set_prefixlen() external declaration,
            reported by Dan Williams.
          o Fix nl_addr_parse() to not change the original string
            for prefixes.
          o Do not build documentation per default, but have the user
            issue 'make gendoc'
          o Assume neighbours to be permanent, set NUD_PERMANENT if not
            specified otherwise.

Summary of Changes from 1.0-pre2 to 1.0-pre3
================================================
        Thomas Graf <tgraf@suug.ch>
          o Fix SFQ parser to allocate qdisc options.
          o Fix rule statistics dumping to not call itself.
          o Complete Netem qdisc interface.
          o Add rtnl_*_put() and rtnl_*_free() to increase readability.
          o Cleanup of nl-* tools
          o Fix inclusion guards of route/neightbl.h
          o Fix nl_connect() to only modify rx/tx socket buffers if not
            already modified by the user.
          o Fix wrong nl_handle_alloc() prototype.
          o Fix typo in route/addr.c causing label to be marked as
            local address.
          o Use ~0UL as default prefix length instead of 0.
          o Fix neighbour message parser to correctly store core.
            attributes and provide them again.
          o Fix neighbour message parser to correctly guess address family.
            to make it compatible with nl_addr_parse() and ether llc
            addresses.
          o Add rtnl_route_table2str(), rtnl_route_str2table().
          o Add nl_cache_nitems_filter() to find out if a filter produces
            any matches.
          o Remove rtnl_rule_set_(dst|src)_str() (obsolete).
          o Remove scope and protocol field of routing rule.
          o Complete routing rules module.
          o Move realms translations from route to rtnl module.

Summary of Changes from 1.0-pre1 to 1.0-pre2
================================================
        Thomas Graf <tgraf@suug.ch>
          o More API documentation
          o Added flags argument to rtnl_addr_(add|build_add_request)().
          o Added rtnl_addr_(set|get)_multicast().
          o Moved scope translations routines from route/route.c to
            route/rtnl.c, required by other modules as well.
          o Removed old rtattr bits from rtnetlink-kernel.h
          o Customized libnl.css for doxygen documentation
          o Removed non-reentrant translation routines, only bloating
            the code and too risky.
          o Fixed wrong version number from 1.0-pre1.
          o Re-enabled unfinished policer module.
          o Reworked TBF module, automatic caluclation of transmit times,
            limit setable via latency, automatic cell size calculation,
            options TLV generation. (untested)
          o Renamed nl_xmittime() to rtnl_tc_calc_txtime().
          o Renamde nl_build_rtable() to rtnl_tc_build_rate_table()

        Petr Gotthard <petr.gotthard@siemens.com>,
        Siemens AG Oesterreich
          o Fix symlinks to libnl library files to be moveable
          o Fix extern struct prototypes meant to be static.
          o Add empty install target to src/Makefile

        Simon Stelling <blubb@gentoo.org>
          o Use LIBDIR instead of $(prefix)/lib for users to allow librariers
            into $(prefix)/lib64.

Summary of Changes from 0.5.0 to 1.0-pre1
================================================
        Thomas Graf <tgraf@suug.ch>
          o Uncountable number of changes, rewrite of certain modules,
            several major API breakages
        
        Petr Gotthard <petr.gotthard@siemens.com>,
        Siemens AG Oesterreich
          o added class_build, rtnl_class_build_add_request, rtnl_class_add
          o added HTB (Hierarchical Token Bucket) class support
          o added nl_xmittime, nl_build_rtable
          o added nl_data_append to realloc a nl_data structure
          o added rtnl_rcopy_ratespec as reverse to rtnl_copy_ratespec
          o fixed byte order conversion of rtnl_filter.protocol
          o SuSE and Fedora Linux compile fixes
          o fixed u32 classifier support
          o added rtnl_u32_set_handle, rtnl_u32_set_classid, rtnl_u32_set_flags
            and several rtnl_u32_add_key_... operations to u32 classifier

Summary of Changes from 0.4.4 to 0.5.0
================================================
        Thomas Graf <tgraf@suug.ch>
          o API documentation
          o nl_cache_filter to manually filter on a object
          o partial routing support
          o routing rules support
          o Properly set address family when setting addresses
          o debug flag and some rare messages, more to come
          o make error message verboseness configurable
          o tc fixes to wait for ack
          o cleanup and adaption of address code to latest internal API
          o various cleanups
          o dozens of API breakages (better now than later)

        Daniel Hottinger <hotti@hotti.ch>
          o arch 64bit printf length modifier fixes

        Baruch Even <baruch@ev-en.org>,
        Mediatrix Telecom, inc. <ericb@mediatrix.com>
          o address support

Summary of changes from 0.4.3 to 0.4.4
================================================
        Thomas Graf <tgraf@suug.ch>:
          o overall cleanups for better code quality
          o replace dump_(brief|full|with_stats) ops with
            dump[NL_DUMP_MAX] array to allow further additions without
            breaking the ABI.
          o add of send_ack callback, called whenever when oppenent
            asks for an ACK.
          o make nl_parse_rtattr initialize the tb buffer like in the
            kernel, caller must no longer take care of it.
          o remove nl_addrnattr (obsolete)
          o fixed nl_msg_append_raw to correctly calculate length
            for raw data not aligned to NLMSG_ALIGN
          o fix memory leak in nl_recv in case of errors
          o correctly check sequence numbers if more than one message
            was sent out before the answer is being received.
          o add workaround for buggy netlink applications not properly
            setting NLM_F_MULTI.

Summary of changes from 0.4.2 to 0.4.3
================================================

        Thomas Graf <tgraf@suug.ch>:
          o use parser_param in nl_cache_parse
          o EGP: dump nfilters attribute
          o allow retrieving of filters attached to classes via
            FILTER_CACHE_PARENT(C) cache argument
          o filter message building API

Summary of changes from 0.4.1 to 0.4.2
================================================

        Baruch Even <baruch@ev-en.org>:
          o memory leak fix in nl_parse_rtattr
          o reset padding to 0 when appending raw data to a nl_msg
          o avoid overwriting nlmsg ptr when buffer extending fails
          o typo fixes
          o create symlinks libnl.so.0 and libnl.so
        
        Thomas Graf <tgraf@suug.ch>:
          o EGP classifier support
          o avoid null pointer in printf call
          o added nl_cache_parse to put nl_msg's into a cache
          o added rtnl_filter_build to build a nl_msg filter message
          o correctly install header files
          o nl_msg_payload/nl_msg_payloadlen to access nl_msg payload
          o nl_parse_nested macro to simplify nested TLV parsing
          o NL_ERROR_ASSERT compile flag to assert(0) on errors
          o rta alignment fix in nl_msg_append_tlv
          o added nl_msg_parse_rtattr as shortcut for nl_parse_rtattr
            for nl_msg API
          o added nl_parse_nested for nested TLVs
          o added RTA_ARRAY_ELEMS macro to calculate array length
            for array TLVs
          o added nl_wait_for_ack to wait for the next ack
          o added rtnl_link_build_change_request(...)
          o added rtnl_neigh_build_*_request
          o converted neighbour code to use nl_wait_for_ack
          o cb_recvmsgs_ow callback to overwrite internal calls to
            nl_recvmsgs_def
          o cb_seq_check callback to overwrite default sequence checking
          o added nl_parser_param as argument for message parsers including
            a callback to be called upon successful parsing of a message.
            Removes the requirement of having all parsed messages to be added
            to a cache.
          o added cb_recv_ow and nl_send_ow callbacks to overwrite internal
            calls to nl_recv and nl_send.

        Jamal Hadi Salim <hadi@cyberus.ca>
          o Linux 2.4 compile fixes

Generated by dwww version 1.15 on Thu May 23 17:23:04 CEST 2024.