- Created a more robust security policy for the DBus service
- everything is denied by default
- root can own and send to the service
- users logged in at the console can send to the service
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@159 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.c
- (nm_device_get_essid): use iw_get_basic_config() rather than
iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
the latter
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@157 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* TODO: fix typo
* docs/NetworkManager DBUS API.txt
- Update for new signal strength changes
* panel-applet/NMWirelessApplet.c
- Make panel icon show strength of the current connection
- Cleanups and memleak fixes
* panel-applet/NMWirelessApplet.h
- Add data members for signal strength on devices and networks
* panel-applet/NMWirelessAppletDbus.c
- Free more DBusErrors
- Update for new signal strength changes
- Make devices and networks more like real objects, use ref/unref methods
- Actually unlock the mutex when updating the active device
* src/NetworkManagerAP.c
- Change AP functions and data members from "quality"->"strength"
* src/NetworkManagerDbus.c
- Kill "getMaxQuality" and "getQuality" methods
- Add "getStrength" methods for Networks and Devices
* src/NetworkManagerDevice.[ch]
- Add accessors for device strength
- Add functions to update strength for a device. Note that not all drivers
actually support signal strength for scanned access points (Atmel drivers
being one)
- Calculate signal strength for each AP during scan
* src/NetworkManagerWireless.[ch]
- Add function to return signal strength % from a device and a raw quality struct
* test/nmclienttest.c
- Update for new signal strength changes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@156 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManager.c
- Fix race condition between initscripts and NM on card insertion
which could cause a card to keep an IP address and routes around
even when it was not the active device
* src/NetworkManagerDbus.c
- Fix compile errors, free more DBusErrors
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@154 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* docs/NetworkManager DBUS API.txt
- Add an explanation of NM's API
* src/NetworkManagerDbus.c
- Free some more DBusErrors if needed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@150 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessApplet.c
panel-applet/NMWirelessAppletDbus.c
- Start using NetworkDevice/WirelessNetwork structures in more places
- Update for unified device/network forcing in NetworkManager
* src/NetworkManager.c
- some code consolidation
* src/NetworkManagerDbus.c
- (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
or two arguments: the first is the NM ID of the device to switch to,
and the second (optional) argument is the ESSID of a wireless network
to use as well.
- Get rid of "setNetwork" method due to above change
* src/NetworkManagerDevice.c
- (nm_device_new): perform scan and update best AP on device creation
- nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
- nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
spin waiting for cancellation to finish before returning
* src/NetworkManagerPolicy.c
- Changes here clarify the situations in which a device switch occurs, and
make sure to keep using a forced device and network if the user gives
us one
- Remove old unused code
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@149 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessAppletDbus.c
- Pull fresh devices and networks from NM when wireless networks
change. Provides faster feedback of a forced wireless network
* src/NetworkManagerDbus.c
- Return error when "getMaxQuality" is called on a wired device
- Make best_ap freezing actually work again, and signal cancellation
of activation if there's already a device activation when the user
freezes the best_ap
* src/NetworkManagerDevice.c
- Don't clear out the best_ap for wireless devices when the link goes
down, that's done elsewhere
- Kill any dhcp daemons when cancelling device activation since they
may be stuck waiting for a DHCP address, and since we're cancelling
activation we don't care about that anymore
* src/NetworkManagerPolicy.c
- Make sure to unref the device we ref earlier (we refed it to make sure
it stuck around during device activation and such)
- If we were going to change the best device, but its activating currently
(and therefore the change didn't occur due to the check earlier)
we mark the state changed to we come back to it later when device
activation has canceled and its no longer activating
* src/backends/NetworkManagerRedHat.c
- SIGKILL dhcp daemons rather than SIGTERM-ing them
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@143 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* examples/python/systray/network_tray.py
(network_tray.sort_networks):
Added support for having wireless always scanning
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@141 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
NOTE: this commit changes the behavior of wireless devices in
NetworkManager. They are now up all the time, scanning all
the time. Only the active device has an IP address and routing
information set up however. Also, NetworkManager will no longer
opportunistically switch wireless networks when a better one
comes in range, it will remain associated with one wireless network
until that one drops out.
* panel-applet/NMWirelessApplet.c
panel-applet/NMWirelessAppletDbus.c
- List all wireless cards and their respective networks
* src/NMLoadModules
- Use full path to /sbin/ip
* src/NetworkManager.c
- Keep wireless devices up all the time so they can scan
* src/NetworkManagerDbus.c
- On a WirelessNetworkUpdate signal from NMI, don't update
the "best" AP
* src/NetworkManagerDevice.c
- (nm_device_set_link_active): clear out the best ap for
wireless devices when the link is set to FALSE
- Scan on all wireless cards, all the time
- (nm_device_activation_worker): split out the wireless card
link-waiting code to a separate function
- Keep wireless cards up even if device activation fails
- Don't update the "best" ap as much
* src/NetworkManagerPolicy.c
- Don't update the best ap when checking if its frozen,
let link checking clear out a frozen best ap for us
* src/NetworkManagerWireless.c
- Scan on all wireless cards, all the time
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@140 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* examples/python/NetworkManager.py:
added CONNECTED, CONNECTING, and DISCONNECTED states
added methods to return number of devices of a single type
* examples/python/systray/network_tray.py:
did some tweaks to get the menu looking near what it is supposed
to look like. Also did a Airo card hack to make it show the
correct AP quality
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@134 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/no-networkmanager.png
panel-applet/Makefile.am
panel-applet/NMWirelessApplet.c
- Add a "NetworkManager not running" icon and use it
- Use new consolidated GConf keys rather than Preferred/Trusted
* TODO: update
* info-daemon/NetworkManagerInfo.c
info-daemon/NetworkManagerInfoDbus.[ch]
info-daemon/NetworkManagerInfoPassphraseDialog.c
- There are now no longer two separate lists of wireless networks,
but one list where each network is "trusted" or not trusted
- Add a "getNetworkTrusted" dbus method
- "WirelessNetworkUpdate" signal now sent rather than
"PreferredNetworkUpdate/TrustedNetworkUpdate" signals
- Start freeing some dbus errors (not completed yet)
* info-daemon/passphrase.glade
- Remove the "don't show" hints for pager and taskbar
- Add a title since its going to be in the taskbar
* src/NetworkManager.[ch]
src/NetworkManagerAPList.[ch]
- There are now no longer two separate lists of wireless networks,
but one list where each network is "trusted" or not trusted
* src/NetworkManagerAP.[ch]
- Add get/set "trusted" accessors and data bit
* src/NetworkManagerDbus.[ch]
- Add function to get "trusted" status of a network from NetworkManagerInfo
- Trap new WirelessNetworkUpdate signal rather than old separate signals
* src/NetworkManagerDevice.[ch]
- Add per-device config data (ip4 addr, gateway, netmask) and accessors
- (nm_device_new): Get device config from backend when initializing devices
- (nm_device_activation_worker): Split out device configuration on
activation to deal with static/dynamic IP differences, and try encryption
fallbacks on a device if the encryption method for the best AP is not good
- (nm_device_update_best_ap): convert to new consolidated access point lists from
NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
* src/NetworkManagerWireless.c
- libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
* src/backends/NetworkManagerRedHat.c
src/backends/NetworkManagerSystem.h
- (nm_system_device_update_config_info): Add function to get device configuration
from system data in ifcfg-* files
* src/backends/NetworkManagerDebian.c
src/backends/NetworkManagerGentoo.c
src/backends/NetworkManagerSlackware.c
- Add stub functions for getting device configuration
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patches below from:
<j@bootlab.org>
Mark Roach <mrroach@okmaybe.com>
Thom May <thom@debian.org>
* configure.in
initscript/Debian/NetworkManager
initscript/Debian/Makefile.am
- Initscript for Debian
* src/backends/NetworkManagerDebian.c
- Add missing system init function to allow compilation
on Debian
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@125 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* examples/python/NetworkManager.py:
added convience functions has_wired_device and has_wireless_device
* examples/python/systray/network_tray.py:
cleaned up a bunch of cruft, added support for listing wireless
networks just like the real applet. This is probably all I'm
going to work on this applet from now on.
TODO: add support for actually changing networks and devices
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@111 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* examples/python/NetworkManager.py (NetworkManager.get_device):
changed "nm.networks" into a dict from a list so I can store all
the cool information about networks in there
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@109 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* examples/python/NetworkManager.py:
Bug fixes to the code so we get all the device information
that we need in get_device()
* examples/python/NMTester.py:
Fixed _print_device_list to print_device_list
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@107 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
a GTimeVal instead of time_t. This is easier to work with,
since time_t may be a long or double, we don't know.
* src/NetworkManagerDbus.h: Update prototype.
* src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
instead of time_t.
(nm_ap_get_timestamp): Update to return GTimeVal.
(nm_ap_set_timestamp): Update to take GTimeVal.
* src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
to handle GTimeVal.
* src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
GTimeVal change.
(nm_ap_list_print_members): Fix warnings in printf format.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@104 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
a GTimeVal instead of time_t. This is easier to work with,
since time_t may be a long or double, we don't know.
* src/NetworkManagerDbus.h: Update prototype.
* src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
instead of time_t.
(nm_ap_get_timestamp): Update to return GTimeVal.
(nm_ap_set_timestamp): Update to take GTimeVal.
* src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
GTimeVal change.
(nm_ap_list_print_members): Fix warnings in printf format.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@103 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* configure.in: Generate config.h.
* configure.in: Dump dependency on OpenSSL; we can't
use it since this package is GPL:
http://www.gnome.org/~markmc/openssl-and-the-gpl.html
Instead, check for libgcrypt, use it if available,
otherwise use included MD5 code.
* src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
Suck in from gnome-keyring, munge a bit.
* src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
gnome-keyring-md5.h gnome-keyring-md5.c.
(NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
* src/NetworkManagerWireless.c (nm_md5): New function, uses
libgcrypt or included gnome-keyring md5 bits.
(nm_wireless_128bit_key_from_passphrase): Use nm_md5.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@101 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessApplet.c
- Make current device bold
- Show more user-friendly device name if we got one from hal
* panel-applet/NMWirelessAppletDbus.c
- Grab "info.product" key from hal for network devices
- Cache the current active device
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@92 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessApplet.c
- Remove debugging code
- Enable device switching from menus
* panel-applet/NMWirelessAppletDbus.[ch]
- Method for asking NM to switch devices
* src/NetworkManagerDevice.c
- Set dev->activating earlier, avoids race between
the dbus signal of "DeviceActivating" and setting
dev->activating (which is what NM's "status" method call
looks at)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@83 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessApplet.[ch]
- Rework menu code to add devices to menu, and to show
signal strength for each access point. Code cleanups
too.
* panel-applet/NMWirelessAppletDbus.c
- Grab network devices from NetworkManager too
- Grab quality information from NM for wireless networks
* src/NetworkManagerDbus.[ch]
- Add dbus methods for getting the HAL UDI from a device and
for getting its base quality, if its wireless
- Consolidate some functions (wireless network notifications,
device notifications)
- Add method for requesting NM to use a particular device
* src/NetworkManager.c
- Change for function consolidations from NetworkManagerDbus.c
- Implement active device locking and user-requested devices
(ie, tell NM to use a particular device instead of the one
it autochose)
* src/NetworkManagerDevice.c
- Add method for getting the base quality of a device, if its
wireless
- Grab device base quailty info from iwlib during scans
* src/NetworkManagerPolicy.c
- Use a user-requested device rather than the auto-chosen device
if we are told to
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@81 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
(nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
(nmwa_add_menu_item), (nmwa_menu_item_data_free),
(nmwa_dispose_menu_items), (nmwa_populate_menu),
(nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
* panel-applet/NMWirelessApplet.h:
Use a menu bar instead of a button for the main clickable
thingy.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@79 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.c
- (nm_device_set_enc_key): always set device to "open" mode instead of
turning encryption off, because the Cisco driver doesn't associate
with WEP-enabled access points unless we are in "open"
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@78 4912f4e0-d625-0410-9fb7-b9a5a253dbdc