2004-08-27 Christian Rose * configure.in: Added "sv" to ALL_LINGUAS. Thu Aug 26 2004 Dan Williams * Tag NetworkManager-0.2 Thu Aug 26 17:23:16 2004 Jonathan Blandford * initscripts/Makefile.am * configure.in: Make pass distcheck * po/ChangeLog: added Thu Aug 26 2004 Dan Williams * 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) Thu Aug 26 2004 Dan Williams * 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 Thu Aug 26 15:12:36 2004 Jonathan Blandford * Makefile.am: add po as a supdir * autogen.sh: use gnome-autogen.sh * initscript/Gentoo/.cvsignore: * initscript/RedHat/.cvsignore: Shut up cvs * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo. * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu), (nmwa_fill): Use gettext. * configure.in: add gettext support * po/.cvsignore: * po/NetworkManager.pot: * po/POTFILES.in: 2004-08-26 Seth Nickell * panel-applet/NMWirelessApplet.c: (nmwa_destroy), (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. 2004-08-25 Dan Williams * 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" 2004-08-25 Dan Williams * src/NetworkManagerWireless.c - Don't try to defererence blank passphrases 2004-08-25 Dan Williams * panel-applet/NMWirelessApplet.c - Rebuild the menu whenever a user clicks 2004-08-25 Dan Williams * 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. 2004-08-25 Dan Williams * panel-applet/NMWirelessAppletDbus.c - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name for getting encryption, and don't stop on "val" once we've gotten it from NetworkManager. Short form: encryption should now show up. 2004-08-25 Dan Williams * panel-applet/NMWirelessApplet.c - Set ESSID on a gconf trusted network too when force-setting the wireless network to associate with 2004-08-25 Dan Williams * panel-applet/* - Rework the panel applet to do all DBUS communication in a separate thread 2004-08-25 Dan Williams * info-daemon/NetworkManagerInfo.[ch] - Remove "get_next_priority" function * info-daemon/NetworkManagerInfoDbus.[ch] - Convert "priority" functions to "timestamp" 2004-08-25 Dan Williams * 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 2004-08-25 Seth Nickell Patch from Matthew Garrett for adding Debian support. * src/Makefile.am: * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp), (nm_system_device_stop_dhcp), (nm_system_device_flush_routes), (nm_system_device_flush_addresses), (nm_system_enable_loopback), (nm_system_delete_default_route), (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns), (nm_system_load_device_modules): 2004-08-24 Dan Willemsen * 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 2004-08-23 Dan Williams * 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 2004-08-23 Dan Willemsen * dispatcher-daemon/NetworkManagerDispatcher.c info-daemon/NetworkManagerInfo.[ch] info-daemon/NetworkManagerInfoDbus.c info-daemon/NetworkManagerInfoPassphraseDialog.c src/NetworkManager.c src/NetworkManagerAP.c src/NetworkManagerAPList.c src/NetworkManagerDbus.c src/NetworkManagerDevice.c src/NetworkManagerPolicy.c src/NetworkManagerUtils.[ch] src/NetworkManagerWireless.c - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf * src/NetworkManager.c - Fixed usage wording for --no-daemon 2004-08-23 Dan Williams * 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 2004-08-23 Dan Williams * initscript/NetworkManager - Use NMLaunchHelper rather than sleeping * initscript/NMLaunchHelper.c Makefile.am - Add helper program that exits only when NM activates a device, or 10 seconds have passed, whichever happens first. This stops the boot processes until we have a network connection, which NM can't do because it daemonizes and brings the connection up in the background. Allows stuff like NFS to not die. 2004-08-20 Dan Williams * info-daemon/NetworkManagerInfoPassphraseDialog.c - (nmi_passphrase_dialog_ok_clicked): when updating the wep key for a network, set the essid as well since it may not exist yet - (nmi_passphrase_dialog_init): don't star out the passphrase field, since WEP keys/passphrases are long and prone to entry-error * panel-applet/Makefile.am panel-applet/wired.png - Add (pulled from system-config-network temporarily) * panel-applet/NMWirelessApplet.[ch] - Show wired picture when a wired connection is used - Rename wireless icon enums, adding WIRELESS * src/NetworkManagerDevice.c - (nm_device_activate_wireless): unset encryption before bringing down the card and setting the essid - (nm_device_activatin_worker): request a key from the user if the AP we are connecting to is encrypted but we don't have a key for it yet - (nm_device_set_user_key_for_network): fix missing '== 0' for a strcmp() that prevented a user-entered key from actually getting used 2004-08-16 Dan Williams * initscript/NetworkManager - Check for /sbin/ip - Do sysctl magic that network service does - sleep 4s after start to allow network time to come up [hack] * src/Makefile.am src/NMLoadModules - Load all network device kernel modules (hal doesn't know devices are ethernet until the module is loaded, and therefore we don't know) * src/NetworkManager.c - (main): daemonize later, launch NMLoadModules to alert HAL of our network devices, and bring up the loopback device explicitly * src/NetworkManagerUtils.[ch] - (nm_enable_loopback): new function 2004-08-13 Dan Williams * configure.in panel-applet/Makefile.am - Fix up cleanfiles and server_DATA/server_in_files * README - Update with some comments on theory of operation * CONTRIBUTING Makefile.am - Add CONTRIBUTING 2004-08-12 Dan Williams * info-daemon/passphrase.glade - Set window title to " " * panel-applet/Makefile.am panel-applet/keyring.png - Deliver to correct place * panel-applet/NMWirelessApplet.[ch] - Add comments - Remove applet->have_active_device as its no longer used - (nmwa_load_theme): load keyring.png too - (error_dialog): remove - (show_warning_dialog): subsume functionality of error dialog too - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient - (nmwa_handle_network_choice): add to deal with user clicking on an item from the networks menu - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup and when we get broadcasts of changed wireless access points only, not when the user clicks on the button to display the menu (too long of a wait) - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside networks that are encrypted - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each menu item with g_object_set_data() * panel-applet/NMWirelessAppletDbus.[ch] - (nmwa_dbus_get_bool): add method to return boolean value from dbus message - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network) - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device activation/deactivation signals and rebuild the menu when they happen * src/NetworkManager.c - (main): use new nm_spawn_process() rather than system() * src/NetworkManagerDbus.c - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids instead. Since we can now force best_aps to stick around, the AP structure to which dev->options.wireless.best_ap points to won't necessarily be in the device's device list if a scan has happened since the best_ap was frozen. Also add "setNetwork" method to freeze the best_ap. * src/NetworkManagerDevice.[ch] - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system() - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's ap list * src/NetworkManagerUtils.[ch] - (nm_spawn_process): add replacement for system() usage 2004-08-11 Dan Williams * 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 2004-08-11 Dan Williams * info-daemon/NetworkManagerInfo.c: - (main): clean up Seth's code style * info-daemon/NetworkManagerInfoDbus.c: - Use the more aptly-named path/service/interface constants from NetworkManager - Don't return empty strings ("") as object paths ever, instead return errors * panel-applet/NMWirelessApplet.c: - Clean up Seth's code style * src/NetworkManager.[ch] - (nm_remove_device_from_list): remove anything having to do with pending_device - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon * src/NetworkManagerAPList.[ch] - Move Iter struct right above the iter functions to preserve opacity - (nm_ap_list_remove_ap): implement - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(), remove AP if NetworkManagerInfo doesn't know anything about it - (nm_ap_list_diff): user NMAPList iterators - (nm_ap_list_print_members): implement debugging function * src/NetworkManagerDbus.[ch] - (nm_dbus_nm_get_active_device): remove anything to do with pending_device - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused), and move the actual key setting stuff into NetworkManagerDevice.c - (nm_dbus_get_network_priority): return -1 now on errors - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to get lost, and force the active device to update its "best" ap when AP lists change - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status" method call due to pending_device member removal * src/NetworkManagerDevice.[ch] - Move NMDevice structure to the top - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure - Remove Pending Action stuff from everywhere - (nm_device_activation_*): We now "begin" activation and start a thread to do the activation for us. This thread blocks until all conditions for activation have been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and then setup up the interface and runs dhclient. We have to do this because there is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot run our main loop and respond to dbus method calls or HAL device removals/inserts - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we can tell nm_device_activation_worker() that we've got a key - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list) - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here * src/NetworkManagerPolicy.c - Remove anything to do with pending_device - Adjust device activation to deal with activation-in-worker-thread * src/NetworkManagerUtils.c - Clean up locking debugging a bit * src/NetworkManagerWireless.[ch] - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap(). This function was badly named and is better as a device function * panel-applet/.cvsignore: add 2004-08-09 Seth Nickell * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler), (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets), (nmwa_new): * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter): Don't load the menus until clicked on (also removes a call outside normal code paths at first load). Hide applet when NM is not present. Improve printf debugging stuff. 2004-08-09 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c: - Covert uses of dbus_message_iter_* over to dbus_message_get_args - Use constants for NetworkManager interface, service, and path 2004-08-09 Dan Williams * src/NetworkManagerDbus.c: - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path, instead return an error message - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called on a wired device. Also never return an empty object path, instead return an error message 2004-08-06 Seth Nickell * panel-applet/NMWirelessApplet.c: (nmwa_new): Check the error code when getting a connection. * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init): Check if the NM service exists when initializing (rather than assuming it does not). * src/NetworkManagerDbus.c: (nm_dbus_init): Don't acquire the well-known service name until we have registered object/path handlers and can actually receive calls. 2004-08-06 Dan Williams * panel-applet/* - Add panel applet * src/NetworkManagerPolicy.c src/NetworkManager.c - Get access point lists from NetworkManagerInfo on-demand, and look for ServiceCreate/ServiceDeleted signals to see when we should query NMI for lists * src/NetworkManagerAPList.c - Make sure to init the list's mutex - Convert traversals of the list over to the list iter functions * src/NetworkManagerDbus.[ch] - Use more aptly-named path/service/interface constants - Treat both active and pending devices the same for "getActiveDevice" - Add a "status" method returning "connected", "connecting", or "disconnected" * src/NetworkManagerDevice.c - Honor "ignored" network list when picking best ap to use 2004-08-06 Seth Nickell * aclocal.m4: Autogenerated, remove from CVS. * autogen.sh: Don't hardcode automake version. * configure.in: * info-daemon/Makefile.am: * info-daemon/NetworkManagerInfo.c: (main): Use GnomeProgram et al. for doing session management. Use popt stuff for argument parsing rather than doing it manugally. 2004-08-05 Dan Williams * 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 2004-08-05 Dan Williams * An assload of changes 2004-08-02 Dan Williams * 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 2004-07-29 Dan Williams * info-daemon/NetworkManagerInfoDbus.c src/NetworkManagerDbus.c - Update to current DBus (ie don't use decomposed paths when registering object paths/fallbacks) 2004-07-27 Dan Williams * 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 2004-07-27 Dan Williams * TODO - Add a couple of items 2004-07-27 Dan Williams * info-daemon/NetworkManagerInfo.c - Update allowed network's GConf key when user enters a WEP key explicitly * info-daemon/NetworkManagerDbus.c - Fix some comments - nmi_dbus_get_allowed_networks(): kill warning 2004-07-27 Dan Williams * initscript/Makefile.in - Remove * initscript/Makefile.am - Add correct rules to install the init.d initscript * info-daemon/NetworkManagerInfoDbus.c - Remove debug fprintf * src/NetworkManagerDbus.[ch] - Remove debug fprintfs - Add macros for NetworkManagerInfo object path/namespace - Use said macros instead of constant strings 2004-07-27 Dan Williams * initscript/.cvsignore - Add * info-daemon/Makefile.am - Install .glade files and keyring.png - Fix stupid omission of a \ that caused half the flags not to be passed to gcc * info-daemon/NetworkManagerInfo.c - gtk_signal_connect->g_signal_connect - Alert NetworkManagerInfo to new glade file location 2004-07-27 Dan Williams * test/nmclienttest.c test/nminfotest.c - Add missing headers - Add GPL message at top 2004-07-27 Dan Williams * src/NetworkManagerAPList.[ch] src/Makefile.am - Add. Deal with allowed network list additions, deletions, and updates * dispatcher-daemon/NetworkManagerDispatcher.c - Add missing header * info-daemon/NetworkManagerInfo.[ch] - Add missing header - Implement the GConf notify callback to signal NetworkManager of an allowed network change - Better error checking * info-daemon/NetworkManagerInfoDbus.[ch] - Add missing header - Convert to using dbus_message_append_args/dbus_message_get_args - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager that an allowed network changed. We don't want to signal on individual keys _inside_ an allowed network really, just want NM to query the info daemon for updated info on all keys. - Better error checking * src/NetworkManager.[ch] - Add missing header - Move allowed_ap_list free functions to NetworkManagerAPList.[ch] - Zero out NMData structure on free - No longer use a thread for allowed_ap_list updating, instead its now done through dbus queries against NetworkManagerInfo - Populate allowed_ap_list initially before adding existing network devices to the device list, so wireless devices can get their "best" AP * src/NetworkManagerDbus.[ch] - Convert to using dbus_message_append_args/dbus_message_get_args - Better error checking - Implement Allowed Network info functions to request allowed network info from NetworkManagerInfo - Implement the filter function to process signals from NetworkManagerInfo about changing allowed networks * src/NetworkManagerDevice.c - Fix file descriptor leak in nm_device_update_ip4_address() 2004-07-27 Dan Williams * .cvsignore src/.cvsignore test/.cvsignore dispatcher-daemon/.cvsignore info-daemon/.cvsignore - Add .cvsignore files to reduce noise when diffing 2004-07-24 Dan Williams * src/NetworkManager.[ch] src/NetworkManagerDbus.[ch] src/NetworkManagerDevice.[ch] src/NetworkManagerPolicy.c src/NetworkManagerWireless.[ch] - Add many more g_return_if_fail()/g_return_val_if_fail() checks - Pass the NMData application data structure through all calls that need it so we can get rid of nm_get_global_data() - Change deallocation of the allowed_ap_list GSList in preparation for not completely clearing it every time we get an update, but instead getting incremental updates via GConf/dbus 2004-07-22 Dan Williams * 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 2004-07-19 Dan Williams * src/NetworkManagerDbus.c - Switch from indexed device paths to names. Less code, more efficient. ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0" 2004-07-19 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal 2004-07-19 Dan Williams * 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 2004-07-15 Dan Williams * src/Makefile.am - Turn on warnings * src/NetworkManager.c - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather that doing the deactivation ourselves - Cancel an pending actions on a device if its being removed - Break up link state checking a bit, make non-active wireless cards deactivated to save power - Remove unused variables * src/NetworkManager.h - Add support for "pending" device * src/NetworkManagerAP.h src/NetworkManagerAP.c - Add support for determining whether and AP has encryption enabled or not - AP address is now "struct ether_addr" rather than a string * src/NetworkManagerDbus.h src/NetworkManagerDbus.c - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only) - Changes for AP address from struct ether_addr->string * src/NetworkManagerDevice.h src/NetworkManagerDevice.c - Remove unused variables, fix warnings - Add support for Pending Actions (things that block a device from being "active" until they are completed). - First pending action: Get a WEP key from the user - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless() - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless() - Update wireless link checking to try to determine if the AP we are associated with is correct, but the WEP key we are using is just wrong. If its wrong, trigger the GetUserKey pending action on the device - If dhclient can't get an IP address, it brings the device down. Bring it back up in that case, otherwise we can't scan or link-check on it - Add IP address change notifications at appropriate points (still needs some work) - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not * src/NetworkManagerPolicy.h src/NetworkManagerPolicy.c - Split out "best" access point determiniation into separate function - Make device activation 2-stage: first the device is pending, then in the next iteration through it becomes "active" unless it has pending actions * src/NetworkManagerUtils.h src/NetworkManagerUtils.c - Clean up unused variables and warnings - Wrap our debug macros in {} to prevent possible confusion * src/NetworkManagerWireless.c - Forgot to return current best priority, which lead to last available AP always being chosen no matter what its priority was. Corrected. 2004-07-15 Dan Williams * dispatcher-daemon/Makefile.am - Turn on warnings * dispatcher-daemon/NetworkManagerDispatcher.c - Remove unused variables due to warnings - Fix some comments - Print message on receipt of NeedKeyForNetwork signal (testing only) 2004-07-06 Dan Williams * src/NetworkManager.c - Add IPv4 address update for active device during link state check - Don't allow wireless cards to be powered up when they are not the active device * src/NetworkManagerDbus.c src/NetworkManagerDbus.h - Add DBUS IPv4 address change signal - Add DBUS IPv4 address get method for devices * src/NetworkManagerDevice.c - Make setting the WEP key actually work - Move IP address get/set/update stuff here, per-device - Power down/bring down wireless device when deactivated - For scanning wireless devices, if first scan returned ENODATA, try again * src/NetworkManagerPolicy.c - Only set the WEP key for an allowed access point if there is one. We were setting it to be blank if one wasn't specified. * src/NetworkManagerUtils.h src/NetworkManagerUtils.c - Move the IP address stuff to NetworkManagerDevice.c * dispatcher-daemon/NetworkManagerDispatcher.c - Add device IPv4 address change notification stuff 2004-07-05 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c - A bit more descriptive state message - Don't segfault when reading directory * src/NetworkManager.h - Remove NMData desired_ap member, its now per-device rather than global * src/NetworkManager.c - Remove references to desired_ap - Move the allowed AP list refresh stuff into a thread * src/NetworkManagerDevice.c src/NetworkManagerDevice.h - Each wireless device now has a "best ap" - Make device activate/deactivate functions per-device - Make wireless scanning per-device - Add IPv4 address discover functions, stub IPv6 ones - Move ethernet address validation functions to NetworkManagerUtils.c - Add wireless access point accessor function - Get/Set functions for "best ap" * src/NetworkManagerPolicy.c - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device - Deal with per-device "best ap" rather than data->desired_apa - Implement allowed access point worker thread - Add nm_policy_essid_is_allowed() function * src/NetworkManagerUtils.c src/NetworkManagerUtils.h - Add nm_ethernet_address_is_valid() function - Add IPv4/IPv6 address get functions * src/NetworkManagerWireless.c src/NetworkManagerWireless.h - Move scanning stuff into NetworkManagerDevice.c, per-device 2004-06-29 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c - Implement script callout functionality 2004-06-24 Dan Williams * NetworkManager.c - Spacing cleanups - Flush device routes and ip addresses when added to the device list * NetworkManagerDbus.c - Spacing cleanups - Add missing returns in the two signal functions * NetworkManagerPolicy.c - Spacing and variable cleanups 2004-06-24 Dan Williams * Makefile.am Makefile.in configure.in dispatcher-daemon/Makefile.am dispatcher-daemon/Makefile.in dispatcher-daemon/NetworkManagerDispatcher.c - Add a daemon that receives signals from NetworkManager and will (eventually) call scripts in /etc/somewhere when devices go up or down. * NetworkManager.c - Spacing cleanups - Flush device routes and ip addresses when added to the device list * NetworkManagerDbus.c - Spacing cleanups - Add missing returns in the two signal functions * NetworkManagerPolicy.c - Spacing and variable cleanups - Rename nm_policy_switch_interface->nm_policy_switch_device - nm_policy_switch_device(): Use kill (pid) instead of system ("kill ") - nm_state_modification_monitor(): Add wireless essid to output of debug statements Correct typo in device compare to switch or not (should be !=) Don't sleep after sending "no longer active" signal, was useless 2004-06-24 Dan Williams * Initial import