|
0.2.4
by Simon Kelley
Import upstream version 2.32 |
1 |
DBus support must be enabled at compile-time and run-time. Ensure |
2 |
that src/config.h contains the line |
|
3 |
||
4 |
#define HAVE_DBUS. |
|
5 |
||
6 |
and that /etc/dnsmasq.conf contains the line |
|
7 |
||
8 |
enable-dbus |
|
9 |
||
10 |
Because dnsmasq can operate stand-alone from the DBus, and may need to provide |
|
11 |
service before the dbus daemon is available, it will continue to run |
|
12 |
if the DBus connection is not available at startup. The DBus will be polled |
|
13 |
every 250ms until a connection is established. Start of polling and final |
|
14 |
connection establishment are both logged. When dnsmasq establishes a |
|
15 |
connection to the dbus, it sends the signal "Up". Anything controlling |
|
16 |
the server settings in dnsmasq should re-invoke the SetServers method |
|
17 |
(q.v.) when it sees this signal. This allows dnsmasq to be restarted |
|
18 |
and avoids startup races with the provider of nameserver information. |
|
19 |
||
20 |
||
21 |
Dnsmasq provides one service on the DBus: uk.org.thekelleys.dnsmasq |
|
22 |
and a single object: /uk/org/thekelleys/dnsmasq |
|
23 |
||
|
0.3.2
by Simon Kelley
Import upstream version 2.46 |
24 |
1. METHODS |
25 |
----------
|
|
26 |
||
|
0.2.4
by Simon Kelley
Import upstream version 2.32 |
27 |
Methods are of the form |
28 |
||
29 |
uk.org.thekelleys.<method> |
|
30 |
||
31 |
Available methods are: |
|
32 |
||
33 |
GetVersion
|
|
34 |
----------
|
|
35 |
Returns a string containing the version of dnsmasq running. |
|
36 |
||
37 |
ClearCache
|
|
38 |
----------
|
|
39 |
Returns nothing. Clears the domain name cache and re-reads |
|
40 |
/etc/hosts. The same as sending dnsmasq a HUP signal. |
|
41 |
||
42 |
SetServers
|
|
43 |
----------
|
|
44 |
Returns nothing. Takes a set of arguments representing the new |
|
45 |
upstream DNS servers to be used by dnsmasq. IPv4 addresses are |
|
46 |
represented as a UINT32 (in network byte order) and IPv6 addresses |
|
47 |
are represented as sixteen BYTEs (since there is no UINT128 type). |
|
48 |
Each server address may be followed by one or more STRINGS, which are |
|
49 |
the domains for which the preceding server should be used. |
|
50 |
||
51 |
Examples.
|
|
52 |
||
53 |
UINT32: <address1> |
|
54 |
UNIT32: <address2> |
|
55 |
||
56 |
is equivalent to |
|
57 |
||
58 |
--server=<address1> --server=<address2> |
|
59 |
||
60 |
||
61 |
UINT32 <address1> |
|
62 |
UINT32 <address2> |
|
63 |
STRING "somedomain.com" |
|
64 |
||
65 |
is equivalent to |
|
66 |
||
67 |
--server=<address1> --server=/somedomain.com/<address2> |
|
68 |
||
69 |
UINT32 <address1> |
|
70 |
UINT32 <address2> |
|
71 |
STRING "somedomain.com" |
|
72 |
UINT32 <address3> |
|
73 |
STRING "anotherdomain.com" |
|
74 |
STRING "thirddomain.com" |
|
75 |
||
76 |
is equivalent to |
|
77 |
||
78 |
--server=<address1> |
|
79 |
--server=/somedomain.com/<address2> |
|
80 |
--server=/anotherdomain.com/thirddomain.com/<address3> |
|
81 |
||
82 |
Am IPv4 address of 0.0.0.0 is interpreted as "no address, local only", |
|
83 |
so
|
|
84 |
||
85 |
UINT32: <0.0.0.0> |
|
86 |
STRING "local.domain" |
|
87 |
||
88 |
is equivalent to |
|
89 |
||
90 |
--local=/local.domain/ |
|
91 |
||
92 |
||
93 |
Each call to SetServers completely replaces the set of servers |
|
94 |
specified by via the DBus, but it leaves any servers specified via the |
|
95 |
command line or /etc/dnsmasq.conf or /etc/resolv.conf alone. |
|
96 |
||
|
0.3.2
by Simon Kelley
Import upstream version 2.46 |
97 |
2. SIGNALS |
98 |
----------
|
|
99 |
||
100 |
If dnsmasq's DHCP server is active, it will send signals over DBUS whenever |
|
101 |
the DHCP lease database changes. Think of these signals as transactions on
|
|
102 |
a database with the IP address acting as the primary key.
|
|
103 |
||
104 |
Signals are of the form:
|
|
105 |
||
106 |
uk.org.thekelleys.<signal>
|
|
107 |
||
108 |
and their parameters are:
|
|
109 |
||
110 |
STRING "192.168.1.115"
|
|
111 |
STRING "01:23:45:67:89:ab"
|
|
112 |
STRING "hostname.or.fqdn"
|
|
113 |
||
114 |
||
115 |
Available signals are:
|
|
116 |
||
117 |
DhcpLeaseAdded
|
|
118 |
---------------
|
|
119 |
||
120 |
This signal is emitted when a DHCP lease for a given IP address is created.
|
|
121 |
||
122 |
DhcpLeaseDeleted
|
|
123 |
----------------
|
|
124 |
||
125 |
This signal is emitted when a DHCP lease for a given IP address is deleted.
|
|
126 |
||
127 |
DhcpLeaseUpdated
|
|
128 |
----------------
|
|
129 |
||
130 |
This signal is emitted when a DHCP lease for a given IP address is updated.
|
|
131 |
|