diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2015-12-02 11:08:56 -0800 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2015-12-08 06:32:22 +0000 |
commit | bdd4ddd8fae7ba14548e1b6f01f7b9d143261db2 (patch) | |
tree | 0c9f091d1b422a46c31e9befad3064864ef78195 /util/lexgen/tests/testdata/dot | |
parent | 401507b348936d346cec8734cac5cacad70a3174 (diff) |
QNetworkInterface: fix support for address labels on Linux interfaces
Commit 64a1448d87727878d9789906b2f4f5b9e3d74e38 (Qt 5.2) caused
QNetworkInterface to report address labels (a.k.a. interface aliases) as
separate interfaces. This is caused by the fact that glibc, uClibc and
MUSL copy the address label (netlink address attribute IFA_LABEL) to the
ifa_name field, which made QNetworkInterfaceManager think that it was an
interface it hadn't yet seen.
Address labels are the old way to add more than one IP address to an
interface on Linux, for example:
ifconfig eth0:1 192.0.2.2
Those do not create a new interface, so the "eth0:1" label maps to the
same interface index as the parent interface. This has been deprecated
for 10 years, but there are still tools out there that add addresses in
this manner.
This commit restores behavior compatibility with Qt 4.2-5.1. The Qt
5.2-5.5 behavior is incorrect because it reports more than one interface
with the same index. On systems configured like the above, the
tst_QNetworkInterface::interfaceFromXXX test was failing.
Change-Id: I8de47ed6c7be4847b99bffff141c2d9de8cf7329
Reviewed-by: Richard J. Moore <rich@kde.org>
Diffstat (limited to 'util/lexgen/tests/testdata/dot')
0 files changed, 0 insertions, 0 deletions