* dispatcher-daemon/NetworkManagerDispatcher.c
- Accept --pid-file with a path to a pidfile, write it out on
startup, and delete it on shutdown
* src/NetworkManager.c
- Accept --pid-file with a path to a pidfile, write it out on
startup, and delete it on shutdown
- Move nm_print_usage() lower
* initscripts/RedHat/NetworkManager.in
- Use new --pid-file option
- Fix service stopping to wait a bit for NM to quit
* initscripts/RedHat/NetworkManagerDispatcher.in
- Use new --pid-file option
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1500 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/Makefile.am
- make and install nm-crash-logger
* src/nm-logging.[ch]
- New files; consolidate logging and crash handling
* src/nm-crash-logger.c
src/gdb-cmd
- Standalong crashlogger for NM, grab a backtrace
using GDB
* src/NetworkManager.[ch]
- Remove signal handling and put it into nm-logging.c
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1499 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* configure.in
gnome/applet/Makefile.am
- Conditionalize all the notify stuff
Merge most of Chris Aillon's notification patch:
* gnome/applet/applet-notifications.[ch]
- New files; show a notification
* gnome/applet/applet-dbus-devices.[ch]
- (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
new functions, do the right thing when a device change occurs
* gnome/applet/applet-dbus.c
- (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
signals, so we can handle them specially
* gnome/applet/applet.[ch]
- nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
- nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
- (nmwa_notify_state): remove
- (nmwa_update_state); remove call to nmwa_notify_state, since the
notification work is now done when the appropriate dbus signals
are received.
- (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
defer execution of the notification/dialog stuff. That was an
artifact of the previous multi-threaded nature of the applet
and is now pointless.
- (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
no longer needed. Function folded into applet-notifications.c
* src/NetworkManagerPolicy.c
- (nm_policy_activation_finish): send the AP along with the device
status change signal, if the connection is wireless. Should
fix the race where applet would show a connection to "unknown"
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1498 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-25 Robert Love <rml@novell.com>
Add WPA Enterprise support:
* gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
nm-gconf-wso-wpa-eap.h.
* gnome/applet/nm-gconf-wso-wpa-eap.c,
gnome/applet/nm-gconf-wso-wpa-eap.h: Add WPA Enterprise Gconf
serialization and deserialization.
* gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
* gnome/applet/wireless-applet.glade: Add UI for configurating security
settings related to WPA Enterprise.
* gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
instantiate WPA Enterprise wireless-security-option.
* gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
Implement WPA Enterprise wireless-security-option object.
* include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
defines. Cleanup.
* libnm-util/cipher-wpa-psk-hex.c,
libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
* libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
nmu_security_serialize_wpa_eap_with_cipher() to serialize input
including the cipher to DBUS method, and
nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
to output.
* src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
nm-ap-security-wpa-eap.h
* src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
* src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
files. Implement NMAPSecurityWPA_EAP object.
* src/nm-ap-security-wpa-psk.c: Cleanup.
* src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
an NMAPSecurityWPA_EAP object via the method
nm_ap_security_wpa_eap_new_deserialize().
* src/nm-dbus-nm.c: Cleanup.
* test/nm-tool.c: Display "Enterprise" for wireless networks providing
WPA Enterprise support.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1494 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
and WPA_SUPPLICANT_CONTROL_SOCKET.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1476 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
information about what connection stage we are at, provide the total
number of stages, e.g. "Stage 2 of 5", so users know how far along
they are if they experience problems.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1474 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix problem since change to "deal with APs changing settings on us," checked
in on the fifth of February in the year of the dog, wherein connecting to
non-broadcast encrypted networks always fails because nm_ap_get_encrypted()
always returns FALSE, even when the user provided a key, because the
newly-created fake AP does not have any capabilities set, which is a sypmtom
of security settings not matching capabilities (Novell bug #150787):
* src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
nm_ap_add_capabilities_from_security(), which sets the given AP's
capabilities off the given security settings. Also improve our handling of
capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and NM_AUTH_CIPHER_AUTO.
* src/nm-device-802-11-wireless.c: Call nm_ap_add_capabilities_from_security
to ensure that capabilities match newly updated security settings.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1470 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the error
as a string, not an integer, if possible; do not print the function name
twice; always give the interface, if possible; misc. cleanup.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1469 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Tom Parker <palfrey@tevp.net>
* src/NetworkManagerSystem.h
- Remove prototype for nm_system_device_setup_static_ip4_config(),
no longer used
* src/backends/NetworkManagerDebian.c
- Remove some dead code (nm_system_device_setup_static_ip4_config) and
unused variables
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1466 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from: Vinay A R <rvinay@novell.com>
* src/vpn-manager/nm-vpn-act-request.[ch]
- Added 'routes' and 'routes_count' to struct NMVPNActRequest since
IPSec VPNs require them for std gateway.
- (nm_vpn_act_request_new): takes arguments for 'user_routes'
and 'user_routes_count'
- (nm_vpn_act_request_get_user_routes): new function; gets user
defined routes from NMVPNActRequest object, returns the string
array of routes.
* src/vpn-manager/nm-vpn-manager.[ch]
- (nm_vpn_manager_activate_vpn_connection): take additional arguments
for 'user_routes' and 'user_routes_count'
* src/vpn-manager/nm-dbus-vpn.c
- (nm_dbus_vpn_activate_connection): gets 'user_routes' from
nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
* src/vpn-manager/nm-vpn-service.c
- (nm_vpn_service_stage3_connect): pass user routes over dbus to
the vpn daemon
Modifications by Dan:
* src/vpn-manager/nm-vpn-service.c
- (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
arrays into dbus
* vpn-daemons/vpnc/src/nm-vpnc-service.c
* vpn-daemons/pptp/src/nm-pptp-service.c
* vpn-daemons/openvpn/src/nm-openvpn-service.c
- Grab user routes from dbus message
- Free all string arrays we got from dbus
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1463 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
test ">=" is never false. If no newline is found, we loop forever.
We can just check for ">" because the following if will see zero-th
argument if the while gets that far.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1455 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Refine handling of non-broadcast networks.
* src/NetworkManagerAPList.c
- (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
property from scanned AP to the AP from the device list
* src/nm-device-802-11-wireless.c
- (supplicant_send_network_config): use ap_scan=1 for all networks
except non-SSID-broadcasting and Ad-Hoc networks. Use
ap_scan=2 for those. Also, don't set scan_ssid for Ad-Hoc
networks since those don't have APs.
- (add_new_ap_to_device_list): if there's no valid SSID, mark the
AP as non-SSID-broadcasting
- (process_scan_results): don't handle non-SSID-broadcasting here
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1452 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (get_supplicant_timeout): new function; return
NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
14 channels. These are likely a/b/g cards, like Atheros, and
slow as hell to scan.
- (supplicant_timeout_cb, supplicant_monitor_start): use
get_supplicant_timeout()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1450 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/dhcp-manager/nm-dhcp-manager.c
- Loose a commit race with Robert; make sure size check
uses size of DHCP_SERVICE_LEN, not hardcoded 15
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1448 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Remove anything having to do with device_setup_func from the
AP security objects, since it's no longer used.
* src/nm-ap-security.h
- Kill device_setup_func and nm_ap_security_device_setup()
* src/nm-ap-security-wep.c
src/nm-ap-security-wpa-psk.c
- (real_device_setup): remove
* src/nm-ap-security.c
- (real_device_setup): remove
- (nm_ap_security_device_setup): remove
* src/nm-device-802-11-wireless.[ch]
- (nm_device_802_11_wireless_set_wep_enc_key): make static
- (set_wireless_config, wireless_configure_adhoc): remove; unused
and done by wpa_supplicant now anyway
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1446 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (ap_need_key, real_act_stage2_config): deal with APs changing
settings on us. Previously NM would loop asking for the
key but getting the same one back. Now, if the NMI-supplied
cipher doesn't overlap with the scanned AP capabilities,
we request a completely new key from the user.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1445 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerUtils.c: Even for debugging, we should not log the
user's encryption key, so we print the err_msg_cmd not the command,
if available. So long as SUPPLICANT_DEBUG is default, this makes
sense.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1441 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
Make nm_device_802_11_wireless_get_essid() return 'const char *' not
'char *'.
* src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
nm_ip4_config_get_hostname() and
nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
* src/backends/NetworkManagerSuSE.c: Fix up for above. Also, do not
leak g_strdup() result.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1437 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
broadcast == TRUE. Also, copy broadcast and artificial properties
from source network to destination in nm_ap_copy().
* src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
since we now default new networks to non-hidden.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1435 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/Makefile.am: If we aren't going to create the run directory at,
uh, run-time, create it during install. Then users just doing
'make install' are cool, too. While we are here, create the
dispatcher.d directory, too.
* src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
the exact run directory.
* Makefile.am: Install nm-applet.desktop.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1430 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
structure, which denotes whether or not the AP is hidden. This is a
superset of 'artificial' -- we need 'broadcast' because a hidden AP
can show up in the scan list. Add nm_ap_get_broadcast() and
nm_ap_set_broadcast() accessor interfaces.
* src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
nm_ap_set_broadcast().
* src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
"getProperties" method, which denotes whether or not the given
network is hidden.
* src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
an artificial network. Set broadcast to TRUE when scanning returns
an ESSID and FALSE when not.
* gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
from "getProperties" method on a network. Possible TODO is to
somehow display this.
* test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1429 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (supplicant_interface_init): don't try to create
/var/run/NetworkManager, since that should be done by
the distro package. Causes problems for stuff like SELinux
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1428 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c: Add two new manufacturer default network
names: linksys-a and linksys-g. These are found (at least) on the
Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
own ESSID.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1419 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c: Optimize the function
nm_ap_has_manufacturer_default_essid(). I did not like its resulting
machine code. This is the first in a series of code tweaks aiming to
generate better machine code and make NetworkManager all the better.
Just kidding. Who has time to go through the assembly generated for
every function? I certainly don't. I have a wife, a kid, a job,
a mortgage, a mistress. But this function was so bad, I was called
to arms. Like the book.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1418 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
AP is not broadcasting, to scan with probe request frames. Required
for non-broadcast networks.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1417 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
preprocessor define (still 20s). Fix message text in nm_info()
s/too too/took too/.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1414 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/Makefile.am
- Define LOCALSTATEDIR
* src/nm-device-802-11-wireless.c
- (supplicant_exec): tell wpa_ctrl_open() to stick the local control
socket where we want it to
* src/wpa_ctrl.[ch]
- (wpa_ctrl_open): accept location to put local control socket
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1411 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
gnome/applet/wireless-security-option.c, include/NetworkManager.h,
libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
support for "Automatic" pairwise and group cipher configuration by
letting wpa_supplicant handle the details. Add UI elements, new
cipher type NM_AUTH_CIPHER_AUTO, and backend support. Works like a
charm. Note this does more than add a nice feature, it fixes a bug.
Apparently, some people have AP's where the pairwise cipher does not
match the group cipher. Insane, but true.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1407 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet-dbus-devices.c
- (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
functions, grab device driver name from NetworkManager
- (nmwa_dbus_device_properties_cb): call functions to get driver
* gnome/applet/applet.c
- (nmwa_update_info): show driver name in Connection Information
dialog
* gnome/applet/nm-device.[ch]
- (network_device_get_driver, network_device_set_driver): add
accessors for driver name
* gnome/applet/wireless-applet.glade
- Add line for driver name to Connection Information dialog
* src/nm-dbus-device.c
- (nm_dbus_device_get_driver): new function to return driver name
- (nm_dbus_device_methods): hook up driver name function to dbus
* test/nm-tool.c
- (get_driver_name): new function
- (detail_device): grab and show driver name
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1406 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* configure.in: Require wpa_supplicant. Detect location of binary and
use it. Override with "--with-wpa_supplicant=foo".
* src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
path to wpa_supplicant but use the auto-detected or user-provided
value from configure.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1399 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
but the DHCP server did not return a hostname, try to look up our
name via DNS and set the system hostname to that.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1398 4912f4e0-d625-0410-9fb7-b9a5a253dbdc