summaryrefslogtreecommitdiff
path: root/README
blob: 163cef92a4e4e52a22044edfd1a32fb5bb0a6f7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Connection Manager
******************

Copyright (C) 2007-2010  Intel Corporation. All rights reserved.


Functionality and features
==========================

The following features are built-in into Connection Manager:
	- Generic plugin infrastructure
	- Device and network abstraction (with basic storage support)
	- IPv4, routing and DNS configuration

Various plugins can be enabled for networking support:
	- Ethernet plugin
	- WiFi plugin with WEP40/WEP128 and WPA/WPA2 (personal only) support
	- Bluetooth plugin

Also plugins with additional features are available:
	- DHCP plugins (uDHCP and dhclient)
	- Resolver plugins (resolvconf and DNS proxy)
	- Loopback setup
	- PolicyKit support


Compilation and installation
============================

In order to compile Connection Manager you need following software packages:
	- GCC compiler
	- GLib library
	- D-Bus library
	- udev library (optional)
	- PolicyKit (optional)

To configure run:
	./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

Configure automatically searches for all required components and packages.

To compile and install run:
	make && make install


Configuration and options
=========================

For a working system, certain configuration options need to be enabled:

	--enable-ethernet

		Enable support for Ethernet network cards

	--enable-wifi

		Enable support for WiFi devices (requires wpa_supplicant)


	--enable-bluetooth

		Enable support for Bluetooth devices (requires BlueZ)

	--enable-udhcp

		Enable DHCP client support for BusyBox based systems

		The location of the udhcpc binary is auto-detected, but it
		can be overwritten via --with-udhcpc=<path-to-binary>.

	--enable-dhclient

		Enable DHCP client support for ISC dhclient based systems

		The location of the dhclient binary is auto-detected, but it
		can be overwritten via --with-dhclient=<path-to-binary>.

		At least one DHCP client option should be selected. It is
		possible to select both and then uDHCP will be tried first
		before falling back to dhclient.

	--enable-dnsproxy

		Enable DNS proxy support for /etc/resolv.conf abstraction

		The best solution for multiple connections and proper DNS
		handling is a DNS proxy server. This binds a DNS proxy
		server to port 53 on the loopback interface (127.0.0.1).

		The /etc/resolv.conf file needs a "nameserver 127.0.0.1"
		entry, but can now set the immutable bit or be on a read-only
		filesystem. No further modification to that file will be made.

		It is important that this is not used together with other
		DNS proxy solution like dnsmasq.

	--enable-resolvconf

		Enable resolvconf support for Debian/Ubuntu based systems

		The resolvconf package from Debian can be used to handle
		configuration of the /etc/resolv.conf file.

		It is safe to select this option even when resolvconf is not
		installed. A missing resolvconf will be detected and in that
		case it falls back to modifying /etc/resolv.conf directly.

		The location of the resolvconf binary is auto-detected, but it
		can be overwritten via --with-resolvconf=<path-to-binary>.

	--enable-loopback

		Enable setup of loopback device

		For distributions with a really minimal init system and no
		networking scripts this can take care of setting up the
		loopback device and enabling it.

		It is safe to select this option even if networking scripts
		are in place. It detects an already configured loopback
		device and leaves it as it is.

	--enable-polkit

		Enable support for PolicyKit authorization

		This allows to check every D-Bus access against a security
		policy and so restrict access to certain functionality.