History log of /external/dnsmasq/src/network.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e226badb960695447af4c480bb183ec35c411bbf 30-Sep-2014 Erik Kline <ek@google.com> Fixup existing listeners struct irec pointers.

This fixes a difficult to diagnose bug in which when closing old
listeners and creating new listeners, any listeners which stick
around are regrettably left with their iface pointer pointing to
a struct irec that is free()d at the end of the set_interfaces()
call.

This results in a situation where subsequent malloc()s can reuse
this memory which, when written to, corrupts the listener's concept
of its listening address (by overwriting iface.addr).

This mean that when this listener is later closed because, say,
tethering on its interface has been removed, the close logic is
comparing IPv4 socket addresses with possible garbage, resulting
in the socket not being closed because no matching listening
address is found.

Because the socket is never closed, if the interface is later
re-added the bind() to the interface address fails with
EADDRINUSE.

Also: fix a bogus memset() invocation.

Bug: 17475756
Change-Id: I369dcd50b1d03db279fdb2c1d7f0e048df21be65
/external/dnsmasq/src/network.c
68eff53e7ed9df06f194478930f39b31c7a32458 26-Aug-2014 Lorenzo Colitti <lorenzo@google.com> Allow configuring a socket mark for DNS packets.

This allows dnsmasq to send DNS queries on a non-default network
(e.g., the DUN APN). We add support for a mark instead of using
existing code to bind DNS servers to interfaces because:

1. Marks are more flexible, and we use them elsewhere.
2. The existing code to bind DNS servers to interfaces causes
the DNS socket to be bound to a constant port, which exposes
us to a Kaminsky attack.

Bug: 16357676
Change-Id: I8933b6de198a92c2aaf0291931ace8966ddba275
/external/dnsmasq/src/network.c
41cd7ed80eb5e97ef9893633d05f0877da7d6d0c 11-Dec-2012 Robert Greenwalt <rgreenwalt@google.com> Only listen on the given interfaces.

Stop being a public dns forwarder on our external interfaces.

bug:7530468
Change-Id: Ic94cd66e66371de4fcc54f53b9f267f6611804b8
/external/dnsmasq/src/network.c
33b344454b95ed99bad7d3fe4d493870923deaf6 20-Jan-2010 San Mehat <san@google.com> dnsmasq: Allow runtime changing of DNS servers via STDIN

Signed-off-by: San Mehat <san@google.com>
/external/dnsmasq/src/network.c
ffd68729961f7383f2e35494a03ccdef20f86c98 20-Jan-2010 San Mehat <san@google.com> dnsmasq: Direct import of version 2.51

Signed-off-by: San Mehat <san@google.com>
/external/dnsmasq/src/network.c