Patches from Thom May:
* test/nmtestdevices.c
- Include <string.h>
* src/backends/NetworkManagerDebian.c:
- (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
(nm_system_device_flush_routes, nm_system_device_flush_addresses)
Move to using g_strdup_printf rather than arbitrary buffers
- (nm_system_device_setup_static_ip4_config) Implement function.
- (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@256 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDbus.c
info-daemon/NetworkManagerInfoDbus.c
- Display an error dialog when the user tries to use an
"Other wireless network" that's not found.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@250 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAPList.c
- (nm_ap_list_update_network): Disown AP after the list takes ownership
* src/NetworkManagerDbus.c
- (nm_dbus_nm_set_active_device): Simplify the device setting logic
* src/NetworkManagerDevice.c
- Disown APs after the device's AP list takes ownership
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@246 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.[ch]
- Add "artificial" get/set functions, set for APs that
aren't discovered as part of a scan but instead
discovered by force-setting the ESSID
* src/NetworkManagerDevice.[ch]
- (nm_device_wireless_network_exists): pass back whether
or not the discovered AP was encrypted. Also, try
falling back to encrypted mode on the card if unencrypted
association doesn't work
- (nm_device_find_and_use_essid): If the network requested
did in fact exists, but it wasn't in our scan list, add
an "artificial" entry for it. Some Cisco cards don't
see non-ESSID-broadcasting APs in their scan but can still
associate with them if you know the ESSID, this works around
that behavior
- (nm_device_do_normal_scan): Carry "artificial" APs over from scan
to scan if the card is currently associated with that AP
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@244 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
---- We have a website ----
http://people.redhat.com/dcbw/NetworkManager
Patch from Robert Paskowitz:
* src/NetworkManager.c
- (main): Make sure we are run as root
* src/NetworkManagerDevice.c
- Fix type in ad-hoc setting function
Patch from Thom May:
* src/backends/NetworkManagerDebian.c
- Make Debian backend compile again
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@243 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* NEWS
src/NetworkManagerDevice.[ch]
src/backends/NetworkManagerDebian.c
src/backends/NetworkManagerGentoo.c
src/backends/NetworkManagerRedHat.c
src/backends/NetworkManagerSlackware.c
- Add support for grabbing and using a broadcast address
from system config files
- Some Gentoo backend fixes for grabbing network config
- Fix LOG_WARN->LOG_WARNING
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@239 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManager.c
- Only accept and manager 802.3 and 802.11 devices
* src/NetworkManagerDbus.[ch]
- (nm_dbus_nm_set_active_device): move most of the actual activation
logic into NetworkManagerDevice.c
- (nm_dbus_network_status_from_data): new function
- (nm_dbus_signal_network_status_change): new function, unused for now
- (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
* src/NetworkManagerDevice.[ch]
- (nm_device_find_and_use_essid): new function. Search for, and if found use,
a random ESSID.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@231 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessApplet.c
- Add function to print out applet_state in a readable
manner
* src/NetworkManager.c
- (main): Don't segfault when nm_dbus_init() fails, we had
a left-over call to hal_shutdown() into which we passed NULL
* src/NetworkManagerAP.c
- (nm_ap_set_essid): Allow NULL essids
* src/NetworkManagerAPList.[ch]
- More use of nm_ap_list_[un]lock ()
- (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
network/essid, just return nothing. Also skip over NULL
essid access points in the list when searching
- (nm_ap_list_get_ap_by_address): new function
- (nm_ap_list_update_network): set the access point's key source to
NULL when the key returned from NetworkManagerInfo is NULL or
of 0 length
- nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
copy timestamp over too
- (nm_ap_list_copy_essids_by_address): new function, attempt to
find the correct ESSID for a blank-essid access point by searching
through another list and matching access point MAC addresses
- (nm_ap_list_diff): exclude blank-essid access points from the diffs
* src/NetworkManagerDbus.c
- (nm_dbus_nm_set_active_device): deal with random networks the user
may specify. This is mainly for access points that don't
broadcast their essid. So if the user tells us to associate with
some random ESSID that's not in our access point list, we find
out if the access point does in fact exist (by attempting association
and then matching that access point's MAC address with the essid the
user gave us) and then we switch to it.
- (nm_dbus_devices_handle_request): don't add blank-essid access points
to the returned list of networks for the "getNetworks" method
* src/NetworkManagerDevice.[ch]
- Extra debugging info for link detection
- (nm_device_ap_list_get_ap_by_address): new function, return an AP
based on MAC address
- (nm_device_get_path_for_ap): ignore blank-essid access points
- (nm_device_wireless_network_exists): new function, find out whether
a random ESSID exists by attempting to associate with it
- (nm_device_do_normal_scan): allow blank-essid access points in our
device list as long as they have an AP MAC address we can use.
Also send WirelessNetwork[Dis]Appeared signals for non-active
devices too. Lets the applet update more frequently.
* src/backends/NetworkManagerGentoo.c
- Patch from: Robert Paskowitz
- Update backend code for Gentoo
- Implement nm_system_device_update_config_info ()
* test/nmclienttest.c
- (set_network_device): new function, takes a command-line argument
and tells NetworkManager to use that wireless network
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@222 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessAppletDbus.c
- New functions:
wireless_network_new
wireless_network_copy
network_device_new
network_device_copy
* src/NetworkManagerDevice.[ch]
- New functions:
nm_device_set_mode_managed
nm_device_set_mode_adhoc
- Use these functions where appropriate
- When creating a new wireless device, force the card
to managed/Infrastructure mode as soon as possible
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@216 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* TODO
- Remove bit about static IP address support
* src/NetworkManagerUtils.c
- (nm_spawn_process): Add some error reporting
* src/NetworkManagerDevice.c
- (nm_device_activation_configure_ip): hook up to the static config
routines in the backends
* src/backends/NetworkManagerRedHat.c
- (nm_system_device_update_config_info): use shvar.c routines to
parse the config file iformation, not our own
- (nm_system_device_setup_static_ip4_config): new function, based
heavily on 'ifup' script and 'ipcalc' tool code. Set up a device
with a static IP address and gateway
* src/backends/shvar.[ch]
- Parser (filched from initscripts package) for ifcfg-* files
* src/backends/NetworkManagerSystem.h
src/backends/NetworkManagerGentoo.c
src/backends/NetworkManagerDebian.c
src/backends/NetworkManagerSlackware.c
- Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@212 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
- (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
enough RAM to allocate new AP structures, but return NULL instead
* src/NetworkManagerAPList.[ch]
- (nm_ap_list_is_empty): new function
- (nm_ap_list_combine): new function, combine two access point lists
- (nm_ap_list_copy_keys): new function, copy keys from one list
into another
* src/NetworkManagerDevice.[ch]
- Rename some functions to be clearer:
nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
nm_device_just_activated -> nm_device_is_just_activated
nm_device_activating -> nm_device_is_activating
nm_device_now_scanning -> nm_device_is_scanning
- Cache the last 4 scans so that the access point list is more stable.
We combine the lastest two scans and use that as the AP list,
and diff that combined list against the combination of the earliest
two cached scans for the WirelessNetworkAppeared/Dissappeared signals
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@210 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.c
- Be a bit more robust about link checking, ie make sure that
the WEP key we were given actually has some data in it
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@199 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* info-daemon/NetworkManagerInfo.[ch]
info-dameon/NetworkManagerInfoDbus.[ch]
info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
- Preserve original label text in the passphrase dialog so that
it actually gets updated with the new network name the next
time around. Previously, we were overwriting it so you'd get
the wrong network name to enter a key for
- Add a "Key Type" combo to the passphrase dialog, user selects
encryption key type now, type is stored in GConf too
- Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
* src/NetworkManagerAP.[ch]
- Remove all the encyption method magic. It's now set by the user
and NetworkManager retrieves the type of encryption key from
NetworkManagerInfo
* src/NetworkManagerAPList.[ch]
src/NetworkManagerDbus.[ch]
- Adjust to new way of setting encryption key and method
- Pull encryption method down from NMI along with key
* src/NetworkManagerDevice.[ch]
- Removed encryption method fallback magic as the method is now
determined by the user. This greatly simplifies the connection
logic.
- More robust connection/link logic. Besides removing the encryption
method fallback magic, check whether or not the card is receiving
invalidly encrypted packets, which usually indicates that we have
a bad WEP key set.
- Don't blindly forge ahead when DHCP fails (still not completely fixed)
* test/nminfotest.c
- Test out new "Key Type" stuff in the NMI passphrase dialog
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@195 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.[ch]
src/NetworkManagerDbus.c
doc/NetworkManager DBUS API.txt
- Add a new status tag "scanning", which is set when there
is no active network connection, but NetworkManager is
looking for an access point to associate with
* panel-applet/main.c
- Cast the applet appropriately for gtk_widget_show_all ()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@192 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.[ch]
- Add a slightly more robust method of determining if the WEP key
is correct or not, by checking the WEP-discarded packet count
on the card
* info-daemon/NetworkManagerInfo.c
- (nmi_gconf_notify_callback): Fix GConf essid escaping, should
un-escape values we pull out rather than escaping them
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@189 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* info-daemon/NetworkManagerInfo.c
info-daemon/NetworkManagerInfoDbus.c
test/nminfotest.c
- Escape ESSIDs in gconf
* src/NetworkManagerDevice.c
- Fix pseudo-scanning to use netowrk list from info daemon
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@182 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* initscript/Debian/.cvsignore:
* initscript/Slackware/.cvsignore:
Added new cvsignores for Makefile, Makefile.in
* test/.cvsignore:
Added nmtestdevices
* src/NetworkManagerDevice.c:
* src/NetworkManager.c:
Updated the wireless/wired HAL device strings from net.ethernet to
net.80203 or net.80211 depending on wired or wireless respectively
Should probably update the configure.in to ask for the correct HAL
version now.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@168 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
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
* 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
* Remove 'debug' extern global from all files since we now
use syslog()
* src/NetworkManager.[ch]
- Break out routine that get the net.interface property from HAL,
removing that logic from nm_create_device_and_add_to_list()
- (nm_create_device_and_add_to_list): make this a bit more general so
it doesn't do the talking to HAL. Also add arguments to facilitate
the create of test devices.
- (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
- (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
which makes NetworkManager listen for dbus commands to create test
devices, which have no backing hardware. Use when you're on a plane
for example, and/or forgot your wireless card at home. Test devices
_cannot_ be created unless NM is started with --enable-test-devices.
* src/NetworkManagerDbus.[ch]
- New "getLinkActive" method for devices
- New "setLinkActive" method for devices (only works on test devices)
- New "createTestDevice" method on NetworkManager object to create a test
device of a specified type (ie wired, wireless). UDI is created from
scratch, as is the interface name. Only works when NM is started with
--enable-test-devices switch.
- New "removeTestDevice" method on NetworkManager object which removes a
test device. Only works when NM is started with --enable-test-devices
* src/NetworkManagerDevice.[ch]
- Logic to facilitate test devices. Add variables to NMDevice struct to indicate
whether a device is a test device or not, and what its link status is.
- Deal with test devices in most functions. For those that work directly on hardware
special-case test devices.
- (nm_device_new): don't create a test device if test devices weren't enabled on the
command-line.
- (nm_device_update_link_active): split out logic for wired and wireless device link
checking to separate functions to facilitate test device link checking.
- (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
don't make a distinction between System Authentication and Encryption
(namely Cisco aironet), we use Open System auth when setting a WEP key
on the card. We don't deal with Shared Key auth yet.
- (nm_device_activation_worker): split the activation cancel check logic out into
a separate routine nm_device_activation_cancel_if_needed()
- (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
- (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
a list of fake access points that they can "see"
- (nm_device_is_test_device): return whether or not a device is a test device
* src/NetworkManagerPolicy.c
- (nm_policy_get_best_device): attempt to deal with wireless network selection,
previously if you "locked"/forced NM to use a wireless device but then
selected a wireless network for NM to use, it would switch to a wired device.
So, if the active device is wireless and it has a "forced" best AP, use it
if the "forced" best AP is still valid
- (nm_state_modification_monitor): deal with NULL best devices, for example
there were no usable network devices, or the last one was removed
* src/backends/NetworkManager*.c
- Deal with test devices, mostly just return success for operations like getting
a DHCP address
* test/nmtestdevices.c
- Test tool to create/remove/link-switch test devices
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@112 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
- 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
* 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
* panel-applet/NMWirelessApplet.c
- (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
when NM isn't around or when its not connected
* src/NetworkManagerDevice.c
- (nm_device_activation_worker): Make sure to reset dev->activating if we get
canceled.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@73 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.[ch]
- Add a "enc_method_good" member and accessors to an Access Point
to signal when we've found the correct encryption method
for an access point
- Add a "timestamp" member and accessors, remove "priority" member
and accessors (use timestamps instead)
- Rename "wep_key"->"enc_key"
- (nm_ap_get_enc_key_hashed): new, return the correct mangled key
for a specified encryption method using the access points
source encryption key/passphrase
* src/NetworkManagerAPList.c
- When updating a network with dbus, grab timestamp now instead of
priority
* src/NetworkManagerDBus.[ch]
- Add signal for "DeviceActivating"
- Switch priority->timestamp
* src/NetworkManagerDevice.c
- Change references of "wep_key" -> "enc_key" or "key"
- Signal DeviceActivating when starting activation
- When activating a wireless device, if the access point we are connecting
to is encrypted, and we have a source key, try to generate a mangled
key and use that (ie, generate real WEP key from a passphrase)
- Rework device activation to fallback to other encryption methods if
a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
first, then if that doesn't work fall back to direct hex key).
- (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
priority. We now prefer the latest access point used, rather than using
a priority scheme
- (nm_device_do_normal_scan): make the encryption method "unknown" on access
points we've just discovered, and merge in correct info from the global
access point lists
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@68 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManager.c
src/backends/NetworkManagerGentoo.c
src/backends/NetworkManagerRedHat.c
src/backends/NetworkManagerSystem.h
- Implement preliminary Gentoo support, adding a
nm_system_init function to the backend specification
* configure.in
- Distribution auto-detection, lowercase any user-fed
distribution names
* initscript/.cvsignore
initscript/Makefile.am
initscript/RedHat/Makefile.am
initscript/RedHat/NetworkManager
initscript/Gentoo/Makefile.am
initscript/Gentoo/NetworkManager
- Refactored initscript code separately for each
distribution
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@64 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* configure.in
src/Makefile.am
src/NetworkManagerDevice.c
src/NetworkManager.c
src/NetworkManagerUtils.[ch]
src/backends/NetworkManagerSystem.h
src/backends/NetworkManagerRedHat.c
src/backends/NetworkManagerGentoo.c
- Refactor system-specific code into separate backends for
each distribution
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@62 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessApplet.c
- Update our state every second to get more responsive panel icon
- (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
was causing our marching ants status blips to never move when
looking for a wireless network
* src/NetworkManagerDevice.c
- (nm_device_activation_begin): return if activation has already begun
- (nm_device_do_normal_scan): merge WEP key and priority from the
trusted/preferred network into the device's access point when the
scan list is processed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@60 4912f4e0-d625-0410-9fb7-b9a5a253dbdc