* Ad Ad-Hoc networking mode support. In Ad-Hoc mode, we only try to get
link-local addresses instead of doing DHCP.
* In the panel applet, there's a new "Create new Wireless Network..." item
* The panel applet also sticks around now even if NetworkManager dies, but
it doesn't hide its icon when NM isn't around. Not hiding the icon is
a bug, I'll fix that later.
* We also don't use 'nscd' anymore in the RH backend, it was impeding name
lookups after a switch rather than actually doing them.
* Clean up some of those warnings in nm_ap_list_* functions
* Delay between scans changed to 15s instead of 10s
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@342 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Tom Parker
* Add autoip/Link Local Addressing support when we fail to get a DHCP
address
* Longer pause after setting ESSID on cards that support a larger number
of channels to give the card time to find the right channel
* Add system hook to restart mDNSResponder (or whatever the local implementation
of Multicast DNS is) when we activate interfaces
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@341 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Rework the DHCP code again to revert to sending full ethernet frames
rather then relying on the kernel to do the right thing with our
packets.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@340 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* dhcpcd/client.c
- Fix some minor errors in dhcp_handle_transaction() that caused
unexpected early timeouts of DHCP transactions
* dhcpcd/client.h
- DHCP retransmit time from 4s -> 5s
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@338 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Major rework of the DHCP code, taking some cues from pump. We don't
write raw Ethernet packets anymore, which simplifies the code quite
a bit. The new code should be more robust, not hang in recvfrom()
as much, and generally work better. This also means that we need
to force HAL/dbus to use a created GMainContext rather than the
default context, since having the DHCP renew/rebind thread using
its own GMainContext seemed to give dbus a fit. There is also more
debugging information printed from the DHCP loop to help with future
problems.
* Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
assume that the default gateway should be the DHCP server.
Patch from Matthew Schick <matt oss-institute org>
* src/backends/NetworkManagerGentoo.c
- Fix compilation error due to missing "ip4_broadcast"
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@336 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* initscript/Makefile.am
* initscript/Debian/NetworkManager
* initscript/Gentoo/NetworkManager
* initscript/RedHat/NetworkManager
* initscript/NMLaunchHelper.c
- Remove NMLaunchHelper, if you need to wait until the network
comes up, use the dead code from CVS.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@332 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
* 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