~ubuntu-branches/ubuntu/lucid/dnsmasq/lucid

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