* 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
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@72 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessApplet.c
- Set ESSID on a gconf trusted network too when force-setting the wireless
network to associate with
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@71 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
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@59 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@58 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@55 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@48 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
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@46 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
(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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@45 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* dispatcher-daemon/NetworkManagerDispatcher.c:
- Covert uses of dbus_message_iter_* over to dbus_message_get_args
- Use constants for NetworkManager interface, service, and path
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@44 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@43 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@42 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@39 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@38 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
* info-daemon/NetworkManagerInfoDbus.c
src/NetworkManagerDbus.c
- Update to current DBus (ie don't use decomposed paths when registering
object paths/fallbacks)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@32 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