Exalt
- Date:
- 2008-2009
Table of contents
- Exalt
- Exalt_DBus
- Exalt_DBus examples (source code)
Introduction
The Exalt library is a library that implement an API for managing the network interfaces. This package contains 2 libraries and a daemon. The both libraries are :
- Exalt : A low level library for managing the list of interfaces (list the interfaces, set a configuration, get the current configuration, save the configuration ...)
- Exalt_DBus : A high level library that hide the DBus API of the daemon.
The daemon provides a DBus API to the clients. The aims of the daemon are :
- Gives an easy way to an application for managing the network interfaces. The application does not need to be run as root as the commands will be execute by the daemon, that's means all users can manage the interfaces.
- Manages the comportment of an interface. If an interface is linked, apply the last known configuration for example.
- informs the clients when an event occurs. For example if an interface is unlinked.
Currently Exalt is compatible :
- classic wired ethernet interface
- WEP with an hexadecimal or a ascii key
- WPA1 or WPA2 personnal
- WPA1 or WPA2 enterprise TLS. This configuration has not been tested because I don't have the hardware. If you have some problems, can test it ... Please contact me.
A module for Enlightenment DR17 exists but it is not distribute with this package but it is available in the official enlightenment svn : trunk/E-MODULES-EXTRA/exalt-client. The module is called exalt-client and use Exalt_DBus to communicate with the daemon.
Install & configure
Install
You have to install Exalt before Exalt-client :
cd exalt ./autogen.sh make as root: make install
cd exalt-client ./autogen.sh make as root: make install
If you want the support of wpa_supplicant or dhcp, you need wpa_supplicant and dhclient. During the autogen.sh Exalt try to find these commands in your path. Maybe these commands are only in the path of the user root. You can specify the path with:
./autogen.sh --with-wpa_supplicant=/sbin/wpa_supplicant --with-dhcp=/sbin/dhclient
Configure
In order to use the daemon you will have to configure the exalt dbus service. The dbus configuration file should be :
/etc/dbus-1/system.d/exalt.conf
You can use this default configuration or create your own custom file. The file is available here : data/daemon/dbus/exalt.conf
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <policy user="root"> <allow own="org.e.Exalt"/> <allow send_destination="org.e.Exalt"/> <allow send_interface="org.e.Exalt"/> </policy> <policy at_console="true"> <allow send_destination="org.e.Exalt"/> <allow send_interface="org.e.Exalt"/> </policy> <policy context="default"> <!-- <deny own="org.e.Exalt"/> --> <!-- <deny send_destination="org.e.Exalt"/> --> <!-- <deny send_interface="org.e.Exalt"/> --> <allow own="org.e.Exalt"/> <allow send_destination="org.e.Exalt"/> <allow send_interface="org.e.Exalt"/> </policy> </busconfig>
If the daemon should be automatically starts by a client if it is not running, copy the file org.e.Exalt.service in /usr/share/dbus-1/system-services/. A example of content :
[D-BUS Service] Name=org.e.Exalt Exec=/usr/local/sbin/exalt-daemon User=root
Gentoo
If you want add the daemon in your init, you can use the script in daemon/data/init.d/gentoo:
cp data/daemon/data/init.d/gentoo /etc/init.d/exaltd
rc-update add exaltd default
Others
I'm sorry, I don't have a script for others distribution, if you have one you can send me it :)
Architecture
Architecture of Exalt
Contact
Jonathan Atton alias Watchwolf <jonathan[dot]atton[at]gmail[dot]com>
