haiku/headers/os
Michael Lotz 3b7b927dd0 libbnetapi: Add BNetworkRoute to replace use of route_entry.
The BNetworkRoute class manages a route_entry and the sockaddr's
associated with it. It replaces the direct use of route_entry in the
BNetworkInterface API.

Using route_entry is fragile and inconvenient as it only holds pointers
to the sockaddr's. When getting a list of routes from the kernel, each
route_entry is set up so that its pointers point into the single flat
buffer that is passed around. Creating a copy of the route_entry and
then deleting the flat buffer makes the pointers in the copy stale.
Returning these route entries therefore always lead to a use-after-free
when they were eventually used.

BNetworkRoute also takes over the code and functionallity of getting
routes from RouteSupport. The corresponding method in BNetworkRoster is
replaced by a static method in BNetworkRoute.

Also distinguish between the default route and gateway of an interface.
GetDefaultRoute() now gets the default BNetworkRoute for the interface
while GetDefaultGateway() gets the associated gateway address within
that default route. Adjust network preferences panel to this change.

Note that we currently only seem to have per interface default routes
and not an actual global default route. This was already the case before
these changes and I did not further investigate what this means.
2015-04-12 18:50:00 +02:00
..
add-ons Network: added notify settings updated method. 2015-03-27 13:25:27 +01:00
app BMessage: add default parameter to GetString()/GetBool(). 2015-03-27 13:21:48 +01:00
arch ARM: remove annoying #warning 2014-10-26 23:40:17 +01:00
be_apps Applied slightly reworked and updated patch from ticket #1576 2011-10-29 15:38:20 +00:00
bluetooth Fix more GCC4 narrowing conversion warnings. 2013-05-03 19:42:04 +02:00
device Revert r42812. As pointed by Michael, one can use 2011-10-24 21:02:14 +00:00
drivers fdt: humble beginnings of Flattened Device Tree 2014-10-31 11:14:05 +01:00
game Style fixes to the Game Kit, focus on docs 2014-06-11 16:44:48 -04:00
interface More whitespace cleanup all over the place. 2015-04-10 15:05:14 +02:00
kernel kernel: Add more architecture code post-scheduler 2014-01-19 21:53:56 -06:00
locale MessageFormat: Use int64 instead of off_t 2015-03-04 15:40:55 -05:00
mail Major coding style cleanup. 2015-01-06 15:23:33 +01:00
media MediaKit: Extend media_[audio|video]_header structures. 2014-08-03 00:45:58 +02:00
midi BSynth/BSoftSynth: implemented GetAudio(). 2014-09-21 19:46:04 +02:00
midi2
net libbnetapi: Add BNetworkRoute to replace use of route_entry. 2015-04-12 18:50:00 +02:00
package BSolver: Add SetDebugLevel() 2014-10-26 00:19:35 +02:00
storage find_paths_etc(): added user/system only flags. 2015-03-26 21:47:22 +00:00
support Whitespace cleanup only. 2015-04-08 12:56:58 +02:00
translation Actually sort the translator menu used in ShowImage. 2012-08-07 00:41:41 -04:00
AppKit.h
Be.h Patch by Jorma Karvonen: Add LocaleKit.h header and also add it to Be.h. Thanks! 2010-05-16 16:07:55 +00:00
BeBuild.h BeBuild.h: Fix B_DEFINE_WEAK_ALIAS for use in C++ code 2013-11-05 21:40:42 +01:00
DeviceKit.h
GameKit.h
InterfaceKit.h
KernelKit.h
LocaleKit.h Remove references to NumberFormatImpl. 2014-10-06 08:35:50 +02:00
MailKit.h
MediaKit.h
MidiKit.h
NetKit.h
NetworkKit.h Added the new headers to the NetworkKit.h all-in-one header. 2010-10-27 14:16:19 +00:00
StorageKit.h
SupportKit.h
TranslationKit.h