Proposed PATCH: enable NetworkManager to use static data at boot time
- From: Éric Brunet <Eric Brunet lps ens fr>
- To: networkmanager-list gnome org
- Subject: Proposed PATCH: enable NetworkManager to use static data at boot time
- Date: Fri, 28 Oct 2005 12:06:19 +0200
Hello everybody.
I propose the present patch for inclusion in NetworkManager.
With this patch, NM will look for files in
/var/cache/NetworkManager/system/wireless
and read network information from them, at startup time. This way, if the
administrator puts a file there, he may have network at boot time and may share
networks between users without exposing the secret key. The target audience of
NM, however, will never know such a functionnality exists and this patch won't
change anything for them.
So: big advantage for power users, and zero disadvantage for other users. How
to refuse the patch ?
A configuration file in /var/cache/NetworkManager/system/wireless looks like
this:
# the name of the file is not important, except that it must end with
# .conf
# essid: required field
essid = my_ap
# timestamp, as in: date +"%s"
timestamp = 1130490970
# addresses, of the form xx:xx:xx:xx:xx:xx
# put multiple addresses lines if you need
addresses = 00:01:02:03:04:05
addresses = 06:07:08:09:0a:0b
# auth_method, one of "unknown", "none",
# "open_system", "shared_key", "wpa_psk". You can
# also give a numerical constant (unknown=0, etc.)
auth_method = open_systen
# key_type, one of "unknown", "none",
# hexa, ascii or passphrase. Numerical constant are
# also possible.
key_type = passphrase
# key. Verrrry secret. Use quote if there are
# spaces
key = "This is not actually my real key"
(end of example file). As you see, one cannot do simpler. (Writing a parser was
a nice exercise...)
The patch itself is
--- NetworkManager.c.orig 2005-10-26 21:34:36.000000000 +0200
+++ NetworkManager.c 2005-10-28 11:36:30.000000000 +0200
@@ -48,6 +48,7 @@
#include "nm-dbus-vpn.h"
#include "nm-netlink-monitor.h"
#include "nm-dhcp-manager.h"
+#include "nm-systemwide.h"
#define NM_WIRELESS_LINK_STATE_POLL_INTERVAL (5 * 1000)
@@ -912,6 +913,9 @@
nm_data->dhcp_manager = nm_dhcp_manager_new (nm_data);
nm_data->named_manager = nm_named_manager_new (nm_data->dbus_connection);
+ /* static data */
+ read_system_wide_info(nm_data);
+
/* If NMI is running, grab allowed wireless network lists from it ASAP */
if (nm_dbus_is_info_daemon_running (nm_data->dbus_connection))
{
and there are four new files parser.c, parser.h, nm-systemwide.c and nm-systemwide.h.
Those four files and the patch can be downloaded from
http://tudia.nerim.net/nm/
Enjoy !
Éric Brunet
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]