* Kill dhcpcd. We now use "dhcdbd", a dbus daemon that controls dhclient.
This means that NetworkManager shouldn't have DHCP issues anymore. It also
means you need dhcdbd, which you can get here (get the latest one):
http://people.redhat.com/jvdias/dhcdbd/
Technically NetworkManager can use any DHCP daemon that uses the same DBUS
interface as dhcdbd.
* Rewrite device activation to facilitate the new DHCP infrastructure and
future improvements. Its now "activation request" based, ie there is a single
activation request composed of the device, access point, and other info which
follows the entire activation process. There are 5 stages of the activation
process which correspond to:
1) Device preparation
2) Device configuration (bring it up, set ESSID/Key/etc)
3) IP Config Start (fire off DHCP if we're using it)
4) IP Config Get (grab config from DHCP or static config files)
5) IP Config Commit (set device's IP address, DNS, etc)
Note that there is no longer a "scanning" step, since the access point must
be known _before_ activation starts. If the access point drops out or does
not exist for some reason, the entire activation process fails and must be
restarted for a different access point or device.
Patch from Bill Moss:
* gnome/applet/applet.c
- Fix type of vpn_failure dialog -> vpn_banner dialog
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@597 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Merge the applet and the info-daemon, and move the converged
applet under gnome/applet
* Move libnm_glib to gnome/libnm_glib
* Convert most dbus calls between the applet, info-daemon, and NM
into async calls
* Fix a few things valgrind noticed
* Make NM broadcast state more reliably
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@586 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* dhcpcd/dhcpcd.[ch]
src/NetworkManagerDHCP.c
- Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
(ie, dhcp_option_record_len -> dhcp_option_element_len)
* src/NetworkManagerDbus.c
- spacing cleanups
* src/nm-dbus-dhcp.c
- Make the API suck less. There is now only 1 type of each function,
ie only "getInteger" and no longer also "getIntegerv". All types
are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
that will never have more than 1 element. This should simplify
things greatly.
* test/nm-dhcp-opt-test.c
- Make the tool not segfault
- adapt to new DHCP Options API
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@506 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fourth (probably working) cut at porting to
dbus 0.30 api and new hal. This cut adds
some new logging macros to make debugging
easier.
* dispatcher-daemon/NetworkManagerDispatcher.c:
* info-daemon/NetworkmanagerInfo.c:
* info-daemon/NetworkManagerInfoPassphraseDialog.c:
* info-daemon/NetworkManagerInfoVPN.c:
* src/NetworkManager.c:
* src/NetworkManagerAP.c:
* src/NetworkManagerAPList.c:
* src/NetworkManagerDHCP.c:
* src/NetworkManagerDbus.c:
* src/NetworkManagerDevice.c:
* src/NetworkManagerPolicy.c:
* src/NetworkManagerSystem.c:
* src/NetworkManagerUtils.c:
* src/NetworkManagerWireless.c:
* src/autoip.c:
* src/nm-dbus-nm.c:
* src/backends/NetworkManagerDebian.c:
* src/backends/NetworkManagerGentoo.c:
* src/backends/NetworkManagerRedHat.c:
* src/backends/NetworkManagerSlackware.c:
use new logging macros.
* dispatcher-daemon/NetworkManagerDispatcher.c:
(nmd_dbus_filter): s/dbus_free/g_free/
* info-daemon/Makefile.am: link in utils library.
* info-daemon/NetworkmanagerInfo.c: use new logging
macros.
(nmi_dbus_get_network): don't assume enumerations
are 32-bit.
(nmi_dbus_nmi_message_handler): don't free what
doesn't belong to us.
* libnm_glib/libnm_glib.c:
(libnm_glib_get_nm_status):
(libnm_glib_init): don't free what doesn't
belong to us.
(libnm_glib_dbus): strdup result, so it doesn't get
lost when message is unref'd.
* panel-applet/NMWirelessAppletDbus.c:
(nmwa_dbus_update_devices): s/dbus_free/g_free/
* src/NetworkManager.c:
(nm_monitor_wired_link_state): request initial status
dump of all cards when we start up, instead of relying
on /sys/.../carrier.
(nm_info_handler), (nm_set_up_log_handlers):
log handlers to specify what syslog priorites
the logging macros default to.
* src/NetworkManagerAPList.c:
(nm_ap_list_populate_from_nmi):
s/dbus_free_string_array/g_strfreev/
* src/NetworkManagerDbus.c:
(nm_dbus_get_network_object):
validate d-bus message argument types.
Advance message iterator after reading argument,
prepend instead of append to GSList.
* src/NetworkManagerDevice.c:
(nm_device_probe_wired_link_status):
remove redundant /sys in /sys path. remove wrong
contents == NULL means has carrier assumption.
* src/nm-netlink-monitor.c
(nm_netlink_monitor_request_status): implement
function to ask kernel to dump interface link
status over netlink socket.
* test/*.c: s/dbus_free/g_free/
* utils/nm-utils.h:
(nm_print_backtrace): new macro to print backtrace.
(nm_get_timestamp): new macro to get sub-second precise
unix timestamp.
(nm_info), (nm_debug), (nm_warning), (nm_error):
new logging functions. nm_info just prints,
nm_debug includes timestamp and function,
nm_warning includes function, nm_error includes
backtrace and sigtrap.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@497 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm_glib/libnm_glib.[ch]
test/libnm_glib_test.c
- Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
and its data, and doesn't have to free the callback data anymore
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@461 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Peter Jones:
* dhcpcd/client.c
- Ensure we return RET_DHCP_CEASED everywhere we should
* dhcpcd/udpipgen.c
- Use faster TOS for IP packets
- Don't set ip_id since we're UDP
Patch from Tomislav Vujec:
* src/nm-dbus-dhcp.c
test/nm-dhcp-opt-test.c
- Clean up warnings to enable cvs tree compilation.
* configure.in
- Set AM_MAINTAINER_MODE
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@451 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Dan Reed: DHCP options D-BUS API
Exposes the DHCP options that a device receives to clients over D-BUS.
* configure.in
- A few cleanups
* dhcpcd/client.h
- Correct names, option length, and types for DHCP options
* dhcpcd/dhcpcd.[ch]
- Clarify function names that access DHCP options & data
* src/NetworkManagerDHCP.c
- Use new DHCP data access functions
* src/NetworkManagerDbus.c
- Message handler for DHCP functions
* src/nm-dbus-dhcp.[ch] (new)
- DHCP dbus methods
* test/nm-dhcp-opt-test.c
- Test DHCP D-BUS API and return all present DHCP options
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@444 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/gtkcellview.[ch]
panel-applet/menu-info.c
- Fix GTK version checks to be <= rather than <
* test/Makefile.am
- Include the libtool archive of libnm_glib rather than
trying to pull in the .so
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@397 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm_glib/
- Client library for applications using glib
* configure.in
various Makefiles
- Split NM_CFLAGS and NM_LIBS into separate variables
like DBUS_*, HAL_* and GLIB_*
* src/NetworkManager.c
src/NetworkManagerMain.h
- (nm_schedule_status_signal_broadcast): at the earliest convenience,
broadcast a status changed signal over DBUS from the main thread.
Still unused anywhere for the moment.
Patch from j@bootlab.org
* panel_applet/NMWirelessAppletDbus.c
src/NetworkManagerDbus.c
- Correct INT32->UINT32 mistmatch between NM and the panel applet
for the "getMode" method call
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@368 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* configure.in: Suck in gcc warnings code from Rhythmbox,
but use fewer default flags, and in particular add -Wno-unused,
since the codebase has a lot of unused variables.
* test/nmtestdevices.c (create_device):
* test/nminfotest.c (get_network_string_property)
(get_networks_of_type):
* test/nmclienttest.c (main):
* src/NetworkManagerDbus.c (nm_dbus_create_error_message):
* initscript/NMLaunchHelper.c (get_nm_status):
* info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb):
* info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message):
Fix declarations after statements.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@331 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Major rework of link detection code. We now use DHCP
as part of the link detection which proves to be much more robust,
and also supports Open System authentication for wireless networks.
We no longer use external DHCP client programs. Instead, we use
our own DHCP client, based on substantially reworked bits of 'dhcpcd'
which was written by:
Yoichi Hariguchi <yoichi@fore.com>
Sergei Viznyuk <sv@phystech.com>
http://www.phystech.com/download/
It resides in the "dhcpcd" directory and was refactored into a general
purpose DHCP client library by me.
Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@314 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* NetworkManager.h
- New file, now contains commonly used structures and bits
for the dbus API of NetworkManager
* Makefile.am
- Deliver NetworkManager.h to ${includedir}/NetworkManager
* src/NetworkManager.h
- Rename -> src/NetworkManagerMain.c
* Various fixups all around to use NetworkManager.h and new
src/NetworkManagerMain.h, remove redundant bits that got
moved into NetworkManager.h
* src/NetworkManagerDevice.[ch]
src/NetworkManagerUtils.[ch]
src/NetworkManagerPolicy.c
src/NetworkManagerDbus.c
- Whitelist wireless drivers, and blacklist some wired
drivers. Also blacklist cipsec and ethernet-over-usb
devices at this time (RH #135722, RH #135648)
- Don't leak unsupported devices out over dbus, or allow
them to be set as the active device. Skip over them
during automatic device picking
* test/nmclienttest.c
- Clean up the dbus code a lot
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@261 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
* 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
* 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
* 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
* 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
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
* 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
* panel-applet/NMWirelessApplet.[ch]
- Fix up copyright and credits to include Bastien and Eskil,
who created the gnome-applets wireless applet, from whose
skeleton this one was created
- Rework nmwa_update_state()/nmwa_draw() so that state and which
pixmap to draw is computed during nmwa_update_state()
- Applet now shows itself all the time due to panel packing issues
which caused the applet to previously never come back after hiding.
When a wired device is the active device, the applet shows "not connected"
* panel-applet/NMWirelessAppletDbus.[ch]
- Clean up error messages and show what function they are from
- nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
- Add new device type getters, and a status getter
* src/NetworkManagerDbus.c
- (nm_dbus_devices_handle_request): Don't return an active network unless that
network is actually in the device's ap list
- (nm_dbus_nm_message_handler): Fix silly mistake returning status
* src/NetworkManagerDevice.c
- (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
card
* test/nmclienttest.c
- Report status of NetworkManager too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@47 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* test/nminfotest.c
- Update to new NMI dbus API, check different network types
* info-daemon/NetworkManagerInfoDbus.c
- Update to new NM dbus API, ie network type sent in query message
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@36 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* TODO
- new task: proper logging support
* info-daemon/NetworkManagerInfo.c
- Correct spelling of "canceled"
- Correct casting of objects for g_signal_connect()
* info-daemon/NetworkManagerInfoDbus.c
- Add defines for NetworkManager namespace and object path, and use them
- Add filter function to trap new signals from NetworkManager:
WirelessNetworkAppeared, WirelessNetworkDisappeared
* info-daemon/passphrase.glade
- Change name of "ok" button to "Login to Network..."
- Mark invisible
* src/NetworkManager.c
- Code and debug message cleanups
- Rename "nm_add_current_devices"->"nm_add_initial_devices"
- (nm_add_initial_devices) Check returned string array of devices
and don't try to add devices if array is NULL
- (main) Initialize libhal a bit later, make code a bit clearer
* src/NetworkManagerAP.[ch]
- New accessor and data member "matched": used to speed up AP list
diffing
- New accessor and data member "enc_method": will be used during key
fallback to cache which passphrase->key conversion actually works
so we don't have to do it every time
* src/NetworkManagerAPList.[ch]
- (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
- (nm_ap_list_diff) New: given two lists of access points, find the differences
between them, and send WirelessNetworkAppeared/Disappeared signals over
dbus in response to those differences
* src/NetworkManagerDbus.[ch]
- (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
make an object path for that access point (NOTE that we don't yet check to
make sure that access point is actually in the device's AP list yet)
- (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
- (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
New: signal appearance/disappearance of wireless networks
- (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
key entry
* src/NetworkManagerDevice.[ch]
- (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
- (nm_device_ap_list_get) New: return the AP list (static function)
- (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
new one resulting from the scan with the old one
* src/NetworkManagerWireless.c
- (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
* test/nminfotest.c
- #define object paths and namespaces and use the #defines rather than static strings
- Test out user-key functionality of NetworkManagerInfo too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@33 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Remove various Makefile.in files
* TODO
- Add some more items
* configure.in
- Add checks for OpenSSL/md5 headers and libs
* src/Makefile.am
- Use OpenSSL CFLAGS
* src/NetworkManagerAP.[ch]
- Remove 'stamp' functions, replace with 'invalid' functions
to support user cancelling WEP key entry
* src/NetworkManagerDbus.c
- Remove 'stamp' return functions
- Treat returned user key as a passphrase and convert to a WEP key,
but don't actually use the WEP key yet. We use the returned user
key as a hexadecimal WEP key until we can figure out a UI for
passphrase-vs-hex key
* src/NetworkManagerWireless.[ch]
- Add passphrase-to-128bit-key function
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@28 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* configure.in
- Add checks for GConf libs & headers & flags
* info-daemon/Makefile.am
- Add GConf flags & libs to compile/link stages of NetworkManagerInfo
* info-daemon/NetworkManagerInfo.[ch]
- Don't use gquarks for data storage, just use normal data storage
- Add gconf bits to watch /system/networking/wireless/allowed_networks
* info-daemon/NetworkManagerDbus.[ch]
- Add method call for getting allowed networks
- Add method calls for getting an allowed network's essid, priority, and key
- Hook the method calls up to GConf
- Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
- nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
* src/NetworkManagerDbus.[ch]
- Switch for enumeration of networks to using essid instead
* test/Makefile.am
test/nminfotest.c
- Add test program for NetworkManagerInfo
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@19 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Makefile.am
- Add info-daemon directory
* configure.in
- Check for glade libs and headers
- Add info-daemon directory
* src/NetworkManagerAP.c
- nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
copied over to the new AP.
* src/NetworkManagerDbus.c
src/NetworkManagerDbus.h
- Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
- Remove nm_dbus_signal_need_key_for_network()
- Add disabled code for asynchronous user wep key callbacks
- Add functions for getting, setting, and cancelling user key operations
- Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
- Add "setKeyForNetwork" dbus method call on NetworkManager object
* src/NetworkManagerDevice.c
src/NetworkManagerDevice.h
- nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
logic is in device activation now
- nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
key is wrong) trigger get-user-key pending action
- Implement get-user-key pending action stuff, tie to dbus messages
- Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
- Add nm_device_ap_list_get_ap_by_essid()
- Instead of copying "best" access points, ref them instead so that the key we set
sticks around
* src/NetworkManagerPolicy.c
- Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
- Don't cancel pending actions on a device if its the same device as last iteration
- Only promote pending_device->active_device if activation was successfull
* src/Makefile.am
- Rename nmclienttest->nmtest
* info-daemon/Makefile.am
info-daemon/NetworkManagerInfo.c
info-daemon/NetworkManagerInfo.h
info-daemon/NetworkManagerInfoDbus.c
info-daemon/NetworkManagerInfoDbus.h
info-daemon/passphrase.glade
info-daemon/NetworkManagerInfo.conf
info-daemon/keyring.png
- Import sources for info-daemon, which pops up dialog for passphrase/key when
NetworkManager asks for it, and also will (soon) provide "allowed" access point
lists to NetworkManager by proxying user's GConf
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@16 4912f4e0-d625-0410-9fb7-b9a5a253dbdc