* info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
(nmi_dbus_get_vpn_userpass): New method.
(nmi_dbus_nmi_message_handler): Invoke it.
* info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
* info-daemon/NetworkManagerInfoVPN.h,
info-daemon/NetworkManagerInfoVPN.c: New files; responds
to requests for VPN passwords.
* configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@329 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
Remove useless CLAMP (); the value is unsigned, and the case tests
qual->qual < 100, so the value must always be between 0 and 100.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@325 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
"nscd -i hosts" to invalidate the host cache instead of restarting nscd,
which is essentially a noop since nscd caches hosts on disk too.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@322 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevicePrivate.h
- Split out the NMDevice struct to a different file so that stuff like
NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
* dhcpcd/client.c
- fprintf->syslog
- (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
need to cancel the dhcp request during the send and recv
* dhcpcd/client.h
- Move the DHCP option enum to dhcpcd.h
* src/NetworkManagerDHCP.c
- Split out the actual IP/netmask/etc setting code
- New Renew/Rebind functions
- New timer setup function for renew/rebind operations
* src/NetworkManagerDevice.c
- For device activation, if we are using DHCP then keep the activation thread
alive until device deactivation. We need to renew/rebind the DHCP address
after the T1 (renew) and T2 (rebind) times have expired.
- Increase some timeouts after bringing wireless cards up/down
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@320 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
connected to them. Then, after a scan, match up non-ESSID-broadcasting access
points with any cached MAC addresses from NetworkManagerInfo. Allows us to
show known access points that don't broadcast their ESSID in the menus without
any user intervention whatsoever.
* info-daemon/NetworkManagerInfoDbus.c
- (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
* src/NetworkManagerAP.[ch]
- Add a "user_addresses" data member to the NMAccessPoint structure
- (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
the user_addresses data member
* src/NetworkManagerAPList.c
- (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
the AP's reported address
- (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
* src/NetworkManagerDHCP.c
- Increase DHCP timeout from 25s -> 30s
* src/NetworkManagerDbus.[ch]
- (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
user addresses
* src/NetworkManagerDevice.c
- (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
wait 2s, then configure it. Sometimes Prism54 cards will freeze up with
"mgnt tx queue full", seemingly in response to NM controlling the card too much.
So, we take the card down to clear it out.
- (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
too, since that's where the user_addresses are
* src/NetworkManagerPolicy.c
- (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
that wireless networks' user_addresses list upon successful activation
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@319 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.[ch]
- (nm_device_clear_activation_fail): new function
* src/NetworkManagerPolicy.c
- (nm_state_modification_monitor): clear the activation_failed flag on devices
when we've dealt with the failure so the user doesn't get failure-dialog-spammed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@317 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.c
- (nm_device_activate_wireless): Unref best_ap upon success so we don't
leak the structure, better updating of now_scanning status
- (nm_device_wireless_network_exists): Rewrite for better/faster checking
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@316 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
Patch from Tom Parker <palfrey@tevp.net>:
* src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
* src/backends/NetworkManagerRedHat.c: Switch to
including shvar.h instead of shvar.c.
* src/backends/NetworkManagerDebian.c: Don't include
interface_parser.c in source file.
(libnmbackend_la_SOURCES): Don't include shvar.[ch]
and interface_parser.[ch].
* src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
Include shvar.c and shvar.h here.
(libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
interface_parser.c and interface_parser.h here.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@310 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* configure.in: Strip out TARGET_DISTRO and
SYSTEM_BACKEND_FILE variables. Switch to Automake
conditionals.
* src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
(libnmbackend_la_SOURCES): Use Automake conditionals
to add distro-specific files.
* initscript/Makefile.am (SUBDIRS): Update to
use conditionals.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@309 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
call to nmi_dbus_is_running too, not necessary anymore.
* info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
pick up exit().
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@306 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
Delete.
(nmi_dbus_service_init): Call dbus_bus_acquire_service with
the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
This avoids a race condition that made it pretty easily
possible to get two NetworkManagerInfo daemons running.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@305 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patches from j bootlab org
* src/NetworkManagerDevice.c
- (nm_device_activate_wireless): wait 5 seconds before attempting to detect
whether the card has a link or not, some cards are slow
- (nm_device_activation_configure_ip): make ipv6 work a bit better
* info-daemon/NetworkManagerInfoPassphraseDialog.c
- Disable the "Login" button on the passphrase dialog until the user
enters a valid passphrase or key
Patches from Tom Parker <palfrey tevp net>
* src/backends/NetworkManagerDebian.c
- Add static IP support to the debian backend
* src/backends/interface_parser.[ch]
- Parse debian interface config files
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@303 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.c
- Some random fprintf->syslog conversions
- (nm_device_wireless_network_exists): double-check for network
- (nm_device_find_and_use_essid): Copy over encryption key no matter what
* src/NetworkManagerWireless.[ch]
- (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
so that the binary->ascii conversion works (if unsigned, the bitshift
will fill with zeros, which is what's required). Also mask bitshift
result with 0xF for futher assurance.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@300 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerUtils.c
- (nm_get_wireless_driver_support_level): default to
FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
flip this when changing from whitelist->blacklist of
wireless drivers
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@299 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* info-daemon/NetworkManagerInfoDbus.c
src/NetworkManagerDbus.[ch]
src/NetworkManagerDevice.c
- Keep track of the # of attempts to get the WEP key
from the user and pass that along to the info daemon
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@297 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerUtils.c
- Blacklist wireless cards rather than whitelisting them.
- Grab driver name from HAL rather than trying to find it
ourselves.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@296 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessAppletOtherNetworkDialog.c,
- Disable OK button until valid data is entered
for encryption stuff too
* panel-applet/NMWirelessApplet.c
- Report card strength for current AP if the card
doesn't report strength data for scanned access
points
* src/NetworkManagerDevice.c
- Smooth out cards reported quality, Atmel card was
intermittently reporting no quality data but soon
recovers
* src/NetworkManagerWireless.c
- Better quality data percentage calculation. Atmel
cards (mine at least) seem to report the quality
in percentage format already, so honor that
Patch from <j@bootlab.org>
* NetworkManager.h
info-daemon/NetworkManagerInfoPassphraseDialog.c
info-daemon/passphrase.glade
panel-applet/NMWirelessAppletOtherNetworkDialog.c
panel-applet/essid.glade
src/NetworkManagerAP.c
src/NetworkManagerDevice.c
src/NetworkManagerWireless.[ch]
- Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@291 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.[ch]
- (nm_device_set_enc_key): Add parameter to set Authentication
Mode (Open System, Shared Key, or None). We're still using
Shared Key for now though.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@289 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/menu-info.c: change from bold text to light
colored, may cause problems with some themes, i've tested a lot
and they seem fine.
* panel-applet/NMWirelessApplet.c: fix strength tooltip
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@288 4912f4e0-d625-0410-9fb7-b9a5a253dbdc