2008-10-26 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-26  Dan Williams  <dcbw@redhat.com>
2
3         Patch from Tambet Ingo <tambet@gmail.com>
4
5         * libnm-util/libnm-util.ver
6           libnm-util/nm-setting-connection.c
7           libnm-util/nm-setting-connection.h
8                 - Make properties private and add accessor functions
9
10         * src/NetworkManagerPolicy.c
11           src/nm-cdma-device.c
12           src/nm-device-ethernet.c
13           src/nm-device-interface.c
14           src/nm-device-wifi.c
15           src/nm-gsm-device.c
16           src/nm-manager.c
17           src/ppp-manager/nm-ppp-manager.c
18           src/vpn-manager/nm-vpn-connection.c
19           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
20           system-settings/plugins/ifcfg-fedora/plugin.c
21           system-settings/plugins/ifcfg-fedora/reader.c
22           system-settings/plugins/ifcfg-suse/parser.c
23           system-settings/plugins/ifupdown/parser.c
24           system-settings/plugins/keyfile/nm-keyfile-connection.c
25           system-settings/plugins/keyfile/plugin.c
26           system-settings/plugins/keyfile/writer.c
27           system-settings/src/main.c
28                 - Use those accessors
29
30 2008-10-26  Dan Williams  <dcbw@redhat.com>
31
32         Patch from Tambet Ingo <tambet@gmail.com>
33
34         * libnm-util/libnm-util.ver
35           libnm-util/nm-setting-gsm.c
36           libnm-util/nm-setting-gsm.h
37                 - Make properties private and add accessor functions
38
39         * src/nm-gsm-device.c
40           src/nm-hso-gsm-device.c
41           src/ppp-manager/nm-ppp-manager.c
42                 - Use those accessors
43
44 2008-10-26  Dan Williams  <dcbw@redhat.com>
45
46         Patch from Tambet Ingo <tambet@gmail.com>
47
48         * libnm-util/libnm-util.ver
49           libnm-util/nm-setting-cdma.c
50           libnm-util/nm-setting-cdma.h
51                 - Make properties private and add accessor functions
52
53         * src/nm-cdma-device.c
54           src/ppp-manager/nm-ppp-manager.c
55                 - Use those accessors
56
57 2008-10-26  Dan Williams  <dcbw@redhat.com>
58
59         Patch from Tambet Ingo <tambet@gmail.com>
60
61         * libnm-util/libnm-util.ver
62           libnm-util/nm-setting-pppoe.c
63           libnm-util/nm-setting-pppoe.h
64                 - Make properties private and add accessor functions
65
66         * src/nm-device-ethernet.c
67           src/ppp-manager/nm-ppp-manager.c
68                 - Use those accessors
69
70 2008-10-26  Dan Williams  <dcbw@redhat.com>
71
72         Patch from Tambet Ingo <tambet@gmail.com>
73
74         * libnm-util/libnm-util.ver
75           libnm-util/nm-setting-wired.c
76           libnm-util/nm-setting-wired.h
77                 - Make properties private and add accessor functions
78
79         * src/nm-device-ethernet.c
80           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
81           system-settings/plugins/ifcfg-suse/parser.c
82           system-settings/src/main.c
83                 - Use those accessors
84
85 2008-10-26  Dan Williams  <dcbw@redhat.com>
86
87         Patch from Tambet Ingo <tambet@gmail.com>
88
89         * libnm-util/libnm-util.ver
90           libnm-util/nm-setting-serial.c
91           libnm-util/nm-setting-serial.h
92           src/nm-serial-device.c
93                 - Make properties private and use accessors instead
94
95 2008-10-26  Dan Williams  <dcbw@redhat.com>
96
97         * src/supplicant-manager/nm-supplicant-interface.c
98           src/supplicant-manager/nm-supplicant-interface.h
99           src/supplicant-manager/nm-supplicant-manager.c
100           src/supplicant-manager/nm-supplicant-manager.h
101                 - Add state-to-string conversion functions
102
103         * src/nm-device-wifi.c
104           src/nm-device-ethernet.c
105                 - Normalize state info logging and use strings instead of numbers
106
107 2008-10-26  Dan Williams  <dcbw@redhat.com>
108
109         * src/NetworkManagerPolicy.c
110                 - (update_routing_and_dns): ignore host routes when determining whether
111                         a VPN connection should own the default route (bgo #552594)
112
113 2008-10-24  Dan Williams  <dcbw@redhat.com>
114
115         * src/nm-gsm-device.c
116                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
117
118 2008-10-23  Dan Williams  <dcbw@redhat.com>
119
120         * src/ppp-manager/nm-ppp-manager.c
121                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
122                         add really important stuff to the command line to ensure that NM
123                         overrides /etc/ppp/options (bgo #556781)
124
125 2008-10-22  Dan Williams  <dcbw@redhat.com>
126
127         * src/NetworkManagerSystem.c
128           src/nm-device.c
129                 - Use the device's IP interface where appropriate (Per Hallsmark)
130
131 2008-10-22  Dan Williams  <dcbw@redhat.com>
132
133         * src/nm-gsm-device.c
134                 - (schedule_automatic_registration_again): use a short timeout here
135                         instead of an idle handler to avoid using too much CPU polling for
136                         something we should be waiting a bit for anyway
137
138 2008-10-22  Dan Williams  <dcbw@redhat.com>
139
140         * include/NetworkManager.h
141           introspection/nm-device.xml
142                 - Add device state change reason for carrier changes
143
144         * src/nm-device-ethernet.c
145                 - (set_carrier): use the carrier change reason when changing device
146                         state in response to carrier changes
147
148 2008-10-21  Dan Williams  <dcbw@redhat.com>
149
150         * src/NetworkManagerPolicy.c
151                 - (update_etc_hosts): don't leak errors, and ensure that
152                         g_file_set_contents() gets a valid error placeholder (rh #461933)
153
154 2008-10-21  Dan Williams  <dcbw@redhat.com>
155
156         * src/nm-manager.c
157                 - (free_get_settings_info): don't use the DBusGProxy which could be
158                         disposed of by the time the function is called
159                 - (internal_new_connection_cb): save connection scope
160                 - (connection_get_settings_cb): don't replace a connection unless it's
161                         actually different from the existing one; fixes an issue where
162                         killing the settings service wouldn't deactivate an active connection
163                         provided by that settings service, because it was using a connection
164                         that had already been replaced in the system or user hash
165
166 2008-10-21  Dan Williams  <dcbw@redhat.com>
167
168         * src/NetworkManager.c
169                 - (main): keep the DHCP manager around since it's a singleton; fixes
170                         a use-after-free exposed by r4196 since the DHCP manager singleton
171                         variable isn't cleared when the DHCP manager object is finalized
172
173 2008-10-20  Dan Williams  <dcbw@redhat.com>
174
175         * libnm-util/nm-setting-wireless-security.c
176                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
177
178 2008-10-20  Dan Williams  <dcbw@redhat.com>
179
180         * src/supplicant-manager/nm-supplicant-config.c
181                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
182
183 2008-10-20  Dan Williams  <dcbw@redhat.com>
184
185         * src/dhcp-manager/nm-dhcp-manager.c
186                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
187                         manager object already refs it once
188                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
189                         also get cleaned up by nm_dhcp_device_destroy() to prevent
190                         double-frees
191
192 2008-10-20  Dan Williams  <dcbw@redhat.com>
193
194         * src/nm-manager.c
195                 - (initial_get_connections): use private dbus manager, don't keep
196                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
197                         manager object.
198
199 2008-10-18  Dan Williams  <dcbw@redhat.com>
200
201         * libnm-glib/nm-settings.c
202           libnm-glib/nm-settings.h
203                 - Rename the "get_secrets" virtual function "service_get_secrets" to
204                         clarify when it's used; NMExportedConnetion is a base-class for both
205                         the client and service side, which is sort of confusing, and
206                         get_secrets only makes sense on the service side.
207
208         * libnm-glib/nm-dbus-connection.c
209                 - (get_secrets): remove, unused, and clients need to do extra work to
210                         get secrets anyway since the call can block on the remote side
211
212         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
213           system-settings/plugins/keyfile/nm-keyfile-connection.c
214                 - Fix up for get_secrets -> service_get_secrets
215
216 2008-10-16  Dan Williams  <dcbw@redhat.com>
217
218         * src/nm-device-wifi.c
219                 - (constructor): correctly determine encryption capabilities
220
221 2008-10-15  Dan Williams  <dcbw@redhat.com>
222
223         * src/nm-device-wifi.c
224                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
225                         (Johannes Berg)
226
227 2008-10-15  Dan Williams  <dcbw@redhat.com>
228
229         * src/NetworkManagerSystem.c
230                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
231                         if the ip4_dest is in a smaller subnet contained within a subnet
232                         the machine is currently on, the destination is in the same subnet
233                 - (nm_system_device_set_ip4_route): move subnet checks to callers
234                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
235                         subnet as the parent device, and if so, don't add the direct
236                         host route via the parent device's gateway (bgo #481620)
237                 - (nm_system_apply_ip4_config): check whether the route to be added
238                         is contained within a subnet the device is already on
239
240 2008-10-11  Dan Williams  <dcbw@redhat.com>
241
242         * include/NetworkManager.h
243           introspection/nm-device.xml
244           include/NetworkManagerVPN.h
245                 - Add a few more state reasons for the device deactivated state
246
247         * src/nm-device-interface.c
248           src/nm-device-interface.h
249                 - (nm_device_interface_deactivate): add a 'reason' argument
250
251         * src/nm-device.c
252           src/nm-device.h
253                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
254                 - (nm_device_state_changed): pass the state change reason to
255                         nm_device_take_down()
256                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
257                         to the state change function
258
259         * src/nm-manager.c
260           src/nm-manager.h
261                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
262                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
263                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
264                         something reasonable along to VPN deactivation
265
266         * src/vpn-manager/nm-vpn-manager.c
267           src/vpn-manager/nm-vpn-manager.h
268                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
269                         pass that along to nm_vpn_connection_disconnect()
270
271 2008-10-11  Dan Williams  <dcbw@redhat.com>
272
273         * src/nm-device-wifi.c
274                 - (can_scan): remove old madwifi hack for not scanning while connected
275
276 2008-10-11  Dan Williams  <dcbw@redhat.com>
277
278         Add support for VPN subnet gateways (bgo #549196)
279
280         * include/NetworkManager.h
281                 - Add key for internal VPN subnet gateway
282
283         * src/vpn-manager/nm-vpn-connection.c
284                 - (ip_address_to_string): return a const from a static buffer so we
285                         don't leak a lot of strings
286                 - (print_vpn_config): print internal VPN gateway as well
287                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
288                         VPN service too
289                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
290
291         * src/NetworkManagerSystem.c
292           src/NetworkManagerSystem.h
293                 - (nm_system_device_replace_default_ip4_route): split into two, one for
294                         VPN connections and one for normal devices
295                 - (replace_default_ip4_route): break out route stuff into its own function
296                 - (nm_system_replace_default_ip4_route_vpn,
297                    nm_system_replace_default_ip4_route): simplify by having two cases,
298                         one for VPNs and one for normal devices
299
300         * src/NetworkManagerPolicy.c
301                 - (update_routing_and_dns): simplify, use split default route replacement
302                         functions
303
304 2008-10-10  Dan Williams  <dcbw@redhat.com>
305
306         Rework default route handling to consolidate decisions in the policy,
307         and to take active VPN connections into account when changing the default
308         route (bgo #545912)
309
310         * src/NetworkManager.c
311                 - (main): pass the vpn_manager to the policy so it knows about active
312                         VPN connections; clean up the named manager which wasn't done before
313
314         * src/NetworkManagerPolicy.c
315           src/NetworkManagerPolicy.h
316                 - (nm_policy_new): get a clue about the vpn_manager
317                 - (update_default_route): remove, fold into update_routing_and_dns()
318                 - (update_routing_and_dns): handle active VPN connections too; an
319                         active VPN connection becomes the default route if it does not have
320                         server-specified or user-specified custom routes.  Otherwise, the
321                         best active device gets the default route
322                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
323                    nm_policy_destroy): track VPN connection activation and deactivation
324                         and update the default route when appropriate
325
326         * src/NetworkManagerSystem.c
327           src/NetworkManagerSystem.h
328                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
329                         in the VPN connection itself
330                 - (nm_system_vpn_device_set_from_ip4_config,
331                    nm_system_device_set_from_ip4_config): merge together to make
332                         nm_system_apply_ip4_config()
333                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
334                         via the parent device
335                 - (nm_system_apply_ip4_config): simplify
336                 - (add_ip4_route_to_gateway): new function; add a direct route to the
337                         gateway if needed
338                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
339                         route stuff out into add_ip4_route_to_gateway() for clarity
340
341         * src/nm-device.c
342                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
343
344         * src/vpn-manager/nm-vpn-connection.c
345           src/vpn-manager/nm-vpn-connection.h
346                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
347                    nm_vpn_connection_get_parent_device): add
348                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
349                         device explicit
350                 - (connection_state_changed): update the named manager now that
351                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
352                         useful on errors
353
354         * src/vpn-manager/nm-vpn-manager.c
355           src/vpn-manager/nm-vpn-manager.h
356                 - Add a 'connection-activated' signal
357                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
358                         policy to find out about active VPN connections
359
360 2008-10-10  Tambet Ingo  <tambet@gmail.com>
361
362         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
363         a daemon to prevent NM logging spew on console on startup and shutdown (due
364         to dependency loop between NM and syslog).
365
366 2008-10-10  Alexander Sack  <asac@ubuntu.com>
367
368         Implement managed mode. We bind devices configured in /etc/network/interfaces
369         to their connections by updating wired/wireless setting with the
370         mac address of the device.
371
372         * system-settings/plugins/ifupdown/plugin.c
373                 - (get_net_address_for_udi): implement function to retrieve MAC
374                         address of udi from hal in GByteArray format
375                 - (bind_device_to_connection): bind mac address of device to
376                         wired/wireless system connection
377                 - (hal_device_added_cb): call bind_device_to_connection for
378                         system connections with a matching interface.name
379                 - (hal_device_added_cb): ensure that all code paths
380                         properly free the "iface" string.
381
382 2008-10-10  Alexander Sack  <asac@ubuntu.com>
383
384         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
385         mode of the ifupdown system config plugin.
386
387         * system-settings/plugins/ifupdown/plugin.c
388                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
389                         private unmanage_well_known state field accordingly
390
391 2008-10-10  Alexander Sack  <asac@ubuntu.com>
392
393         Implement unmanaged mode that will prevent all devices in the
394         well_known_udis set from being touched by NetworkManager
395
396         * system-settings/plugins/ifupdown/plugin.c
397                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
398                         unmanage_well_known field used to turn on/off unmanaged
399                         mode
400                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
401                         signal when well_known_udis get added/removed
402                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
403                         if we are in unmanaged mode
404
405 2008-10-10  Alexander Sack  <asac@ubuntu.com>
406
407         Add support to track network devices that have a configuration
408         with a matching interface.name in /etc/network/interfaces
409
410         * system-settings/plugins/ifupdown/plugin.c
411                 - (typedef struct SCPluginIfupdownPrivate): add hash table
412                         to track |well_known_udis|
413                 - (get_iface_for_udi): helper function to get interface.name
414                         for a udi
415                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
416                         that add and remove devices to and from the well_known_udis
417                         set depending on whether their |interface.name| matches
418                         any interface definition in /etc/network/interfaces
419                 - (SCPluginIfupdown_init): connect callbacks from above with
420                         hal_mgr and setup well_known_udis hashtable
421                 - (GObject__dispose): destroy well_known_udis hashtable
422                 - (hal_device_added_cb2): implement wrapper callback with GFunc
423                         signature. user_data is supposed to be a triple (hal_mgr,
424                         config and devtype)
425                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
426                         startup and call hal_device_added_cb2
427
428 2008-10-10  Alexander Sack  <asac@ubuntu.com>
429
430         Remove implementation for not used NMSystemConfigInterface callback functions
431         in ifupdown plugin
432
433         * system-settings/plugins/ifupdown/plugin.c
434                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
435                 - (SCPluginIfupdown_connection_added): removed
436
437 2008-10-08  Dan Williams  <dcbw@redhat.com>
438
439         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
440
441         * src/NetworkManagerUtils.c
442                 - (nm_utils_call_dispatcher): add a 'hostname' action
443
444         * src/NetworkManagerPolicy.c
445                 - (set_system_hostname): dispatch hostname changes
446
447         * callouts/nm-dispatcher-action.c
448                 - (nm_dispatcher_action): handle 'hostname' actions
449
450 2008-10-08  Dan Williams  <dcbw@redhat.com>
451
452         * src/NetworkManagerSystem.c
453                 - (find_route): ref the route so it doesn't get destroyed when the cache
454                         is cleared
455                 - (nm_system_device_set_priority): unref the route here after it's done
456                         being used
457
458 2008-10-08  Dan Williams  <dcbw@redhat.com>
459
460         * src/nm-serial-device.c
461                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
462
463 2008-10-08  Tambet Ingo  <tambet@gmail.com>
464
465         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
466         connection with new settings before saving it.
467
468 2008-10-06  Dan Williams  <dcbw@redhat.com>
469
470         * src/nm-ip4-config.c
471           src/nm-ip4-config.h
472                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
473
474         * src/nm-device-interface.c
475                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
476                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
477                         by using '/' for the object path
478
479         * src/nm-device.c
480                 - (src/nm-device.c): marshal missing/unexported ip4-config through
481                         dbus as '/' since dbus-glib can't handle NULL objects nor can
482                         dbus handle NULL object paths
483
484 2008-10-03  Alexander Sack  <asac@ubuntu.com>
485
486         Implement system hostname support for debian/ubuntu
487
488         * system-settings/plugins/ifupdown/plugin.c
489                 - (GObject__get_property): extend announced capabilities; add
490                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
491                 - (GObject__set_property,write_system_hostname): implement
492                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
493                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
494                    update_system_hostname, get_hostname):
495                         implement hostname property that watches and
496                         parses /etc/hostname
497
498 2008-10-03  Alexander Sack  <asac@ubuntu.com>
499
500         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
501           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
502           system-settings/plugins/ifcfg-fedora/Makefile.am
503           system-settings/src/nm-inotify-helper.c
504           system-settings/src/nm-inotify-helper.h
505           src/Makefile.am
506                 - Move ifcfg-fedora inotify helpers to the system settings service so
507                         they are available to all plugins
508
509 2008-10-03  Alexander Sack  <asac@ubuntu.com>
510
511         Implement support for wep-tx-keyidx in ifupdown system
512         config plugin.
513
514         * system-settings/plugins/ifupdown/parser.c
515                 - (update_wireless_security_setting_from_if_block): introduce
516                         free_type_mapping func table; rename a few local
517                         variables to improve readability; add wpa security mapping
518                         for wep-tx-keyidx property
519                 - (string_to_gpointerint): new function used for the auto_type_mapping
520                         of new wep-tx-keyidx property
521                 - (slist_free_all): free func used for mapped slist types
522
523 2008-10-03  Alexander Sack  <asac@ubuntu.com>
524
525         * system-settings/src/main.c:
526                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
527                         always used as the hash key; fixes a crash when removing wired
528                         devices
529
530 2008-10-02  Dan Williams  <dcbw@redhat.com>
531
532         * src/nm-gsm-device.c
533                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
534                         pass the required GSM secret along via user_data rather than keeping
535                         it around in the private data where it sometimes didn't get cleared
536                 - (real_get_ppp_name): implement using the GSM username
537
538 2008-10-02  Dan Williams  <dcbw@redhat.com>
539
540         * src/ppp-manager/nm-ppp-manager.c
541           src/ppp-manager/nm-ppp-manager.h
542                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
543                         the settings daemon for completely new ones
544                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
545                         local PPP peer name; allow PPP debuging by launching NM with
546                         the environment variable NM_PPP_DEBUG defined
547                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
548                         create_pppd_cmd_line()
549
550         * src/nm-serial-device.c
551           src/nm-serial-device.h
552                 - New 'get_ppp_name' function for subclasses to implement to return the
553                         local PPP peer name
554                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
555                         and pass that name to the PPP manager
556
557         * src/nm-device-ethernet.c
558                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
559                         the local peer name
560
561         * src/nm-cdma-device.c
562                 - (real_get_ppp_name): implement using the CDMA username
563
564 2008-10-02  Dan Williams  <dcbw@redhat.com>
565
566         Patch from Alexander Sack <asac ubuntu com>
567
568         * system-settings/plugins/ifupdown/parser.c
569                 - Implement more graceful ip4 config parsing for cases where
570                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
571                   by using default values
572
573 2008-10-02  Dan Williams  <dcbw@redhat.com>
574
575         * src/NetworkManagerPolicy.c
576                 - (device_state_changed): when marking a connection invalid, clear its
577                         secrets too so that fresh secrets get requested the next time
578
579 2008-10-01  Dan Williams  <dcbw@redhat.com>
580
581         * system-settings/src/dbus-settings.c
582                 - (nm_sysconfig_settings_init): cache system hostname on startup as
583                         a fallback if no plugin provides a hostname
584                 - (get_property): fall back to cached hostname if no plugin provides
585                         a hostname
586
587 2008-10-01  Dan Williams  <dcbw@redhat.com>
588
589         Fix setting value comparison issue that caused some settings to look the
590         same when they were really different (rh #464417)
591
592         * libnm-util/nm-param-spec-specialized.c
593                 - (type_is_fixed_size): return fundamental size of the fixed type too
594                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
595                         in the comparison so that the _entire_ fixed type collection gets
596                         compared rather than just the first 'len1' bytes
597
598 2008-09-30  Dan Williams  <dcbw@redhat.com>
599
600         * src/NetworkManagerPolicy.c
601                 - (lookup_thread_worker): don't store the idle handler ID becuase the
602                         idle handler could have already run and freed the LookupThread
603                         structure
604
605 2008-09-30  Tambet Ingo  <tambet@gmail.com>
606
607         * src/nm-device.c (nm_device_get_priority): Implement.
608         (nm_device_set_ip4_config): Send the device priority to system ip4 
609         config setter.
610
611         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
612         Add priority argument and if it's >= 0, set the priority of the network
613         route added automatically by netlink (or kernel?).
614         (nm_system_device_set_priority): Implement.
615
616         * src/NetworkManagerPolicy.c (get_best_device): Use 
617         nm_device_get_priority() instead of home-grown version. Revert the
618         meaning, best priority is the lowest one.
619
620 2008-09-29  Dan Williams  <dcbw@redhat.com>
621
622         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
623         when it returns EAGAIN (rh #362421)
624
625         * src/nm-device-wifi.c
626                 - (wireless_get_range): try GIWRANGE a few times until the card responds
627                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
628
629 2008-09-28  Dan Williams  <dcbw@redhat.com>
630
631         * src/nm-serial-device.c
632           src/nm-serial-device.h
633                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
634                         cleaned at the right times when subclasses close the serial port too
635                 - (nm_serial_device_send_command): use a default send delay; don't
636                         spin forever on EAGAIN
637                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
638                         remove, no longer used
639                 - (find_response): return the matched response if any
640                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
641                         while doing so
642                 - (wait_for_reply_done): pass the matched response to the callback
643                 - (wait_for_reply_got_data): save the matched response; simplify timeout
644                         handling
645                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
646                         const since they never get modified
647                 - (cleanup_device): split out common cleanup stuff to a new function
648                 - (real_deactivate_quickly, finalize): use cleanup_device()
649
650         * src/nm-gsm-device.c
651                 - (modem_get_reply): remove, unused
652                 - (set_apn): give the card a bit more time to respond
653                 - (manual_registration_again, schedule_manual_registration_again,
654                    manual_registration_response, manual_registration): handle manual
655                         registration timeouts better by retrying registration a few times
656                         because cards are a bit slow after CFUN=1
657                 - (automatic_registration_get_network, get_network_response): use
658                         modem_wait_for_reply() because it interacts better with the serial
659                         buffer and does more intelligent matching; need to wait for 'OK'
660                         rather than just matching terminators
661                 - (schedule_automatic_registration_again,
662                    automatic_registration_response, automatic_registration): retry
663                         registration a few times on timeout or "searching" because cards
664                         take a bit to find a network after being powered up with CFUN=1
665                 - (power_up_response, power_up, init_full_done, enter_pin,
666                    check_pin_done): power up the card with CFUN=1 before trying to
667                         register with the network
668                 - (init_modem_full, init_modem): use more standard 3G init strings
669
670         * src/nm-hso-gsm-device.c
671                 - (modem_get_reply): remove, unused
672                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
673                         modem_wait_for_reply() to match actual responses instead of single
674                         termination characters; it doesn't leave stuff in the serial buffer
675                         that might confuse later calls
676                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
677                         to ensure that the call is really disconnected and not leave extra
678                         stuff in the serial buffer
679
680         * src/nm-cdma-device.c
681                 - (power_up_response, power_up, init_done): try Sierra-style modem
682                         power up before attempting to connect
683
684 2008-09-27  Dan Williams  <dcbw@redhat.com>
685
686         * libnm-util/nm-setting-gsm.c
687                 - (verify): verify GSM network ID
688
689 2008-09-25  Dan Williams  <dcbw@redhat.com>
690
691         * libnm-util/nm-setting-gsm.c
692           libnm-util/nm-setting-gsm.h
693                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
694                         technology terms (bgo #551361)
695
696 2008-09-25  Dan Williams  <dcbw@redhat.com>
697
698         Fix bgo #549401 (inspired by patch from Alexander Sack)
699
700         * src/nm-device-ethernet.c
701                 - (finish_supplicant_task): clean up scheduled tasks and free memory
702                 - (remove_supplicant_interface_error_handler): remove the supplicant
703                         error idle callback too
704                 - (supplicant_interface_release): rename from supplicant_interface_clean
705                         to match nm-device-wifi.c; clean up supplicant interface-related
706                         state tasks when the supplicant interface is disposed of
707                 - (schedule_state_handler): add scheduled tasks to a list so they can
708                         be cleaned up later
709                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
710                    supplicant_iface_connection_state_cb_handler): use
711                         finish_supplicant_task() to clean up each completed task
712                 - (supplicant_iface_connection_error_cb_handler,
713                    supplicant_connection_timeout_cb): clear source id when the task is
714                         complete
715                 - (supplicant_iface_connection_error_cb): save scheduled task id for
716                         later cleanup
717                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
718                         tasks
719
720         * src/nm-device-wifi.c
721                 - (finish_supplicant_task): clean up scheduled tasks and free memory
722                 - (remove_supplicant_interface_error_handler): remove the supplicant
723                         error idle callback too
724                 - (supplicant_interface_release): clean up supplicant interface-related
725                         state tasks when the supplicant interface is disposed of
726                 - (schedule_state_handler): add scheduled tasks to a list so they can
727                         be cleaned up later
728                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
729                    supplicant_iface_connection_state_cb_handler): use
730                         finish_supplicant_task() to clean up each completed task
731                 - (supplicant_iface_connection_error_cb_handler): clear source id when
732                         the task is complete
733                 - (supplicant_iface_connection_error_cb): save scheduled task id for
734                         later cleanup
735                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
736
737 2008-09-24  Tambet Ingo  <tambet@gmail.com>
738
739         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
740         method and get/set hostname property.
741
742 2008-09-24  Tambet Ingo  <tambet@gmail.com>
743
744         * src/supplicant-manager/nm-supplicant-interface.c
745         (nm_supplicant_interface_disconnect): Don't increment the reference 
746         count when disconnecting. The problem is on shutdown, when the replies
747         to these commands do not arrive before NM exits, resulting on never
748         calling supplicant interface's dispose(), which removes the interface
749         from supplicant.
750
751 2008-09-24  Tambet Ingo  <tambet@gmail.com>
752
753         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
754         all the public function arguments.
755
756 2008-09-22  Tambet Ingo  <tambet@gmail.com>
757
758         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
759         "Failure" signal from VPN plugins, store the failure reason, and
760         use it when the state is changed to failure.
761
762         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
763         description.
764
765         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
766         reason to the end of the list to not break the API.
767         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
768         so it can be shared by plugins and daemon.
769
770 2008-09-18  Dan Williams  <dcbw@redhat.com>
771
772         Patch from Alexander Sack <asac@ubuntu.com>
773
774         * configure.in
775           system-settings/plugins/Makefile.am
776           system-settings/plugins/ifupdown/Makefile.am
777           system-settings/plugins/ifupdown/interface_parser.c
778           system-settings/plugins/ifupdown/interface_parser.h
779           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
780           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
781           system-settings/plugins/ifupdown/parser.c
782           system-settings/plugins/ifupdown/parser.h
783           system-settings/plugins/ifupdown/plugin.c
784           system-settings/plugins/ifupdown/plugin.h
785                 - Implement a Debian/Ubuntu legacy network configuration plugin
786                         (gnome.org #551941)
787
788 2008-09-18  Dan Williams  <dcbw@redhat.com>
789
790         Implement support for honoring configured and automatic hostnames, and for
791         setting the configured hostname.
792
793         * introspection/nm-ip4-config.xml
794           src/nm-ip4-config.c
795           src/nm-ip4-config.h
796           src/dhcp-manager/nm-dhcp-manager.c
797                 - Remove useless hostname property; it's not really part of the IPv4
798                         config
799
800         * introspection/nm-settings-system.xml
801           libnm-glib/nm-dbus-settings-system.c
802           libnm-glib/nm-dbus-settings-system.h
803                 - Add SetHostname() call to system settings D-Bus interface
804                 - Add Hostname property to system settings D-Bus interface
805                 - (nm_dbus_settings_system_save_hostname,
806                    nm_dbus_settings_system_get_hostname): implement
807
808         * src/nm-device.c
809           src/nm-device.h
810                 - (nm_device_get_dhcp4_config): implement
811
812         * src/nm-manager.c
813           src/nm-manager.h
814                 - Fetch and track system settings service hostname changes, and proxy
815                         the changes via a GObject property of the manager
816
817         * system-settings/src/nm-system-config-interface.c
818           system-settings/src/nm-system-config-interface.h
819                 - Replace nm_system_config_interface_supports_add() with a capabilities
820                         bitfield
821
822         * system-settings/src/nm-system-config-error.c
823           system-settings/src/nm-system-config-error.h
824                 - Add additional errors
825
826         * system-settings/src/dbus-settings.c
827           system-settings/src/dbus-settings.h
828                 - (get_property, nm_sysconfig_settings_class_init): add hostname
829                         property; first plugin returning a hostname wins
830                 - (impl_settings_add_connection): use plugin capabilities instead of
831                         nm_system_config_interface_supports_add()
832                 - (impl_settings_save_hostname): implement hostname saving
833
834         * src/NetworkManagerPolicy.c
835                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
836                    lookup_thread_die): implement an asynchronous hostname lookup thread
837                         which given an IPv4 address tries to look up the hostname for that
838                         address with reverse DNS
839                 - (get_best_device): split out best device code from
840                         update_routing_and_dns()
841                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
842                         to preserve the 127.0.0.1 reverse mapping that so many things require
843                 - (set_system_hostname): set a given hostname
844                 - (update_system_hostname): implement hostname policy; a configured
845                         hostname (from the system settings service) is used if available,
846                         otherwise an automatically determined hostname from DHCP, VPN, etc.
847                         If there was no automatically determined hostname, reverse DNS of
848                         the best device's IP address will be used, and as a last resort the
849                         hostname 'localhost.localdomain' is set.
850                 - (update_routing_and_dns): use get_best_device(); update the system
851                         hostname when the network config changes
852                 - (hostname_changed): update system hostname if the system settings
853                         service signals a hostname change
854                 - (nm_policy_new): list for system settings service hostname changes
855                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
856                         gets told to die
857
858         * system-settings/plugins/keyfile/plugin.c
859           system-settings/plugins/ifcfg-suse/plugin.c
860                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
861                         capabilities properties
862
863         * system-settings/plugins/ifcfg-fedora/shvar.c
864                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
865                         writes out /etc/sysconfig/network now
866
867         * system-settings/plugins/ifcfg-fedora/plugin.c
868                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
869                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
870                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
871                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
872                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
873                         hostname get/set and capabilities get
874
875 2008-09-18  Dan Williams  <dcbw@redhat.com>
876
877         * libnm-util/nm-setting-wireless.c
878                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
879                         group ciphers if the wireless-security setting explicitly specified
880                         them, effectively making the default be "all ciphers"  (idea from
881                         Alexander Sack)
882
883 2008-09-15  Dan Williams  <dcbw@redhat.com>
884
885         Patch from Alexander Sack <asac@ubuntu.com>
886
887         * src/named-manager/nm-named-manager.c
888                 - (dispatch_resolvconf): respect resolvconf exit code
889
890 2008-09-12  Tambet Ingo  <tambet@gmail.com>
891
892         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
893         again. Add some debugging.
894
895 2008-09-11  Dan Williams  <dcbw@redhat.com>
896
897         * system-settings/plugins/keyfile/plugin.c
898                 - (update_connection_settings): update connection manually, since
899                         nm_exported_connection_update() does authentication
900                 - (dir_changed): update_connection_settings() doesn't need to return
901                         an error
902
903 2008-09-09  Dan Williams  <dcbw@redhat.com>
904
905         * libnm-glib/nm-vpn-plugin-ui-interface.c
906           libnm-glib/nm-vpn-plugin-ui-interface.h
907           libnm-glib/libnm_glib_vpn.ver
908                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
909                         should clean up resources related to the connection (like keyring
910                         secrets)
911                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
912                         should save user-scope secrets (like to the keyring)
913
914 2008-09-08  Dan Williams  <dcbw@redhat.com>
915
916         Patch from Alexander Sack <asac@ubuntu.com>
917
918         * libnm-util/crypto_gnutls.c
919           libnm-util/crypto_nss.c
920                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
921
922         * libnm-util/nm-utils.c
923           libnm-util/nm-utils.h
924           libnm-util/libnm-util.ver
925                 - (nm_utils_init): initialize libnm-util
926                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
927
928         * libnm-util/nm-setting-8021x.c
929                 - (nm_setting_802_1x_class_init): init libnm-util when needed
930
931 2008-09-05  Dan Williams  <dcbw@redhat.com>
932
933         Patch from Roy Marples <roy@marples.name> and others
934
935         * configure.in
936           src/named-manager/nm-named-manager.c
937                 - Add support for resolvconf; use --with-resolvconf at configure time
938                         to enable it
939
940 2008-09-05  Dan Williams  <dcbw@redhat.com>
941
942         * libnm-util/crypto_nss.c
943           libnm-util/crypto_gnutls.c
944           libnm-util/crypto.h
945                 - (crypto_init): return error when init fails
946
947 2008-09-05  Dan Williams  <dcbw@redhat.com>
948
949         * libnm-glib/nm-device-wifi.c
950                 - (access_point_removed_proxy): clean up the active access point too
951                         just in case the active ap changed signal didn't come through yet
952                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
953
954 2008-09-05  Dan Williams  <dcbw@redhat.com>
955
956         * libnm-glib/nm-client.c
957                 - (constructor): get initial state after we know whether NM is running
958                         or not
959
960 2008-09-05  Dan Williams  <dcbw@redhat.com>
961
962         * libnm-glib/nm-ip4-config.c
963           libnm-glib/nm-dhcp4-config.c
964                 - (finalize): clean up the DBusGProxy
965
966 2008-09-04  Dan Williams  <dcbw@redhat.com>
967
968         * src/nm-ip4-config.c
969           src/nm-ip4-config.h
970                 - (nm_ip4_config_new): don't export over D-Bus here
971                 - (nm_ip4_config_export): new function; export the config over D-Bus
972                 - (nm_ip4_config_is_exported): new function
973
974         * src/nm-device.c
975                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
976                         objects by balancing the IP4Config constructor; the device holds
977                         a reference to the IP4Config already
978                 - (nm_device_set_ip4_config): export the IP4Config when needed
979
980 2008-09-04  Dan Williams  <dcbw@redhat.com>
981
982         * src/supplicant-manager/nm-supplicant-settings-verify.c
983                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
984
985 2008-09-04  Dan Williams  <dcbw@redhat.com>
986
987         * libnm-util/nm-setting-vpn.c
988           libnm-util/nm-setting-vpn.h
989                 - Split VPN secrets from VPN data so that settings services can actually
990                         figure out that they are secrets and store them accordingly
991
992         * system-settings/plugins/keyfile/nm-keyfile-connection.c
993           system-settings/plugins/keyfile/reader.c
994           system-settings/plugins/keyfile/reader.h
995           system-settings/plugins/keyfile/writer.c
996                 - Store VPN secrets separately from VPN data so that they can be fetched
997                         on demand
998                 - Implement the get_secrets() call so that (a) secrets don't leak out
999                         to unprivileged callers, and (b) secrets can be sent to privileged
1000                         callers when needed
1001
1002         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1003                 - Handle split VPN secrets
1004
1005 2008-08-27  Dan Williams  <dcbw@redhat.com>
1006
1007         * system-settings/plugins/ifcfg-fedora/reader.c
1008                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1009
1010 2008-08-27  Dan Williams  <dcbw@redhat.com>
1011
1012         Ensure zombie children get cleaned up.  To get notifications when children
1013         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1014         that requires calling waitpid() yourself if you've removed the child watch
1015         handler before the process has actually died, which NM needs to do in a few
1016         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1017         cleans up after the child when required.  Should fix problems trying to
1018         activate mobile broadband connections after a previous failure.
1019
1020         * src/dhcp-manager/nm-dhcp-dhclient.c
1021           src/dhcp-manager/nm-dhcp-dhcpcd.c
1022                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1023
1024         * src/dhcp-manager/nm-dhcp-manager.c
1025                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1026                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1027                         block on child quitting, since the non-blocking functionality was
1028                         never actually used
1029
1030         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1031                 - (dm_watch_cb): child is already reaped here
1032                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1033
1034         * src/nm-device.c
1035                 - (aipd_cleanup): block until child is dead
1036
1037         * src/named-manager/nm-named-manager.c
1038                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1039                         event bothering to watch the child
1040
1041         * src/ppp-manager/nm-ppp-manager.c
1042                 - (ppp_watch_cb): child is already reaped here
1043                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1044
1045         * src/vpn-manager/nm-vpn-service.c
1046                 - (vpn_service_watch_cb): child is already reaped here
1047                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1048                         status of the child is actually tracked
1049                 - (ensure_killed, finalize): block until child is dead
1050
1051 2008-08-26  Dan Williams  <dcbw@redhat.com>
1052
1053         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1054                 - (update): Update filename of the connection if the connection id
1055                         was changed
1056
1057         * system-settings/plugins/keyfile/plugin.c
1058                 - (dir_changed): first pass at handling connection renames correctly
1059
1060         * system-settings/plugins/keyfile/writer.c
1061           system-settings/plugins/keyfile/writer.h
1062                 - (write_connection): replace '/' with '*' when writing out the filename
1063                         from the connection id
1064
1065 2008-08-26  Dan Williams  <dcbw@redhat.com>
1066
1067         Add connection UUIDs, since connection names can be changed, and since
1068         old-style connection IDs could change over the life of the connection.  The
1069         UUID should be assigned at connection creation time, be stable for a given
1070         connection, and should be unique among all connections for a given settings
1071         service.
1072
1073         * configure.in
1074           libnm-util/Makefile.am
1075                 - Require libuuid
1076
1077         * introspection/nm-exported-connection.xml
1078                 - Remove "GetID" method
1079
1080         * libnm-glib/nm-dbus-connection.c
1081           libnm-glib/nm-settings.c
1082           libnm-glib/nm-settings.h
1083                 - Remove id-related stuff
1084
1085         * libnm-util/nm-utils.c
1086           libnm-util/nm-utils.h
1087           libnm-util/libnm-util.ver
1088                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1089                         utility functions to generate UUIDs
1090
1091         * libnm-util/nm-setting-connection.c
1092           libnm-util/nm-setting-connection.h
1093                 - Add 'uuid' member to the connection setting
1094                 - (verify): require valid 'uuid' for a valid connection
1095
1096         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1097           system-settings/plugins/ifcfg-fedora/reader.c
1098           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1099           system-settings/plugins/ifcfg-suse/parser.c
1100           system-settings/plugins/keyfile/nm-keyfile-connection.c
1101           system-settings/src/main.c
1102                 - Remove id-related stuff
1103                 - Give connections UUIDs where needed
1104
1105 2008-08-25  Dan Williams  <dcbw@redhat.com>
1106
1107         * libnm-util/crypto_gnutls.c
1108           libnm-util/crypto_nss.c
1109                 - (crypto_init, crypto_deinit): refcount init/deinit
1110                 - (crypto_md5_hash): allow NULL salt
1111
1112 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1113
1114         * libnm-glib/Makefile.am
1115           libnm-util/Makefile.am
1116           libnm-glib/libnm_glib.ver
1117           libnm-glib/libnm_glib_vpn.ver
1118           libnm-util/libnm-util.ver
1119                 - Use linker version scripts to control the list of exported 
1120                 symbols. List each exported symbol explicitely.
1121         * libnm-util/Makefile.am
1122                 - Fix compilation of the test-crypto binary. The crypto
1123                 functions are no longer part of the libnm-util API. Add 
1124                 crypto_*.c to test_crypto_SOURCES and link against the correct
1125                 crypto libraries.
1126
1127 2008-08-19  Dan Williams  <dcbw@redhat.com>
1128
1129         * configure.in
1130           test/Makefile.am
1131                 - Don't build test/test-common
1132                 - Remove unused stuff
1133
1134         * test/nm-set-fallback
1135           test/nmtestdevices.c
1136           test/test-common/.cvsignore
1137           test/test-common/Makefile.am
1138           test/test-common/test-common.c
1139           test/test-common/test-common.h
1140                 - delete
1141
1142 2008-08-18  Dan Williams  <dcbw@redhat.com>
1143
1144         * libnm-util/nm-utils.c
1145           libnm-util/nm-utils.h
1146                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1147                         export anything that needs to be converted with this function
1148
1149         * src/dhcp-manager/nm-dhcp-manager.c
1150                 - (garray_to_string): convert a byte array to a UTF-8 string with
1151                         minimal validation; the DHCP client sends it in ASCII anyway
1152                 - (get_option, copy_option): use garray_to_string()
1153
1154 2008-08-18  Dan Williams  <dcbw@redhat.com>
1155
1156         * include/NetworkManager.h
1157           introspection/nm-device.xml
1158                 - Add a "missing firmware" device state reason
1159
1160         * src/NetworkManagerSystem.c
1161           src/NetworkManagerSystem.h
1162                 - (nm_system_device_set_up_down): add a no_firmware argument
1163                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1164                         IFF_UP is ENOENT, that almost always means missing firmware
1165
1166         * src/backends/NetworkManagerGeneric.c
1167           src/nm-device-ethernet.c
1168           src/nm-device-private.h
1169           src/nm-device-wifi.c
1170           src/nm-device.c
1171           src/nm-device.h
1172           src/nm-hso-gsm-device.c
1173           src/vpn-manager/nm-vpn-connection.c
1174                 - Pass no_firmware along; check it where appropriate
1175
1176 2008-08-18  Dan Williams  <dcbw@redhat.com>
1177
1178         Patch from Robert Buchholz <rbu@gentoo.org>
1179
1180         * autogen.sh
1181           configure.in
1182                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1183                         1003.1-1988, allowing for file names longer than 99 characters
1184
1185 2008-08-17  Dan Williams  <dcbw@redhat.com>
1186
1187         * include/NetworkManager.h
1188           introspection/nm-device.xml
1189           src/nm-gsm-device.c
1190                 - Finer-grained GSM registration failure error codes
1191
1192 2008-08-17  Dan Williams  <dcbw@redhat.com>
1193
1194         * callouts/Makefile.am
1195           src/Makefile.am
1196                 - Move dispatcher directory creation to callouts/Makefile.am
1197
1198         * system-settings/plugins/keyfile/Makefile.am
1199                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1200
1201 2008-08-15  Dan Williams  <dcbw@redhat.com>
1202
1203         Do connection sharing in a cleaner manner; all required iptables rules
1204         are now stored in the activation request and pertain only to the device
1205         which is being shared to other computers. (rh #458625)
1206
1207         * src/nm-activation-request.c
1208           src/nm-activation-request.h
1209                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1210                         the activation request which will get torn down automatically when
1211                         the activation request dies
1212                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1213                         is started, and tear them down when sharing is stopped
1214
1215         * src/nm-device.c
1216                 - (start_sharing): start up sharing by doing the required iptables magic
1217                 - (share_init): poke the right bits of the kernel and load the right
1218                         modules for NAT
1219                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1220                         connection if it's a 'shared' connection
1221
1222         * src/NetworkManagerPolicy.c
1223                 - Remove all sharing stuff; done in the device code itself
1224
1225 2008-08-15  Dan Williams  <dcbw@redhat.com>
1226
1227         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1228                 - (create_dm_cmd_line): send the right router address
1229
1230 2008-08-15  Dan Williams  <dcbw@redhat.com>
1231
1232         * src/ppp-manager/nm-ppp-manager.c
1233                 - (pppd_timed_out): ensure timeouts fail the connection
1234
1235 2008-08-14  Dan Williams  <dcbw@redhat.com>
1236
1237         * src/nm-properties-changed-signal.c
1238           src/nm-properties-changed-signal.h
1239                 - Add a property spec flag for "don't export this property" in
1240                         property changed signals
1241
1242         * src/nm-hso-gsm-device.c
1243           src/nm-gsm-device.c
1244           src/nm-cdma-device.c
1245                 - Don't export monitor interface or netdev interface properties
1246
1247 2008-08-14  Dan Williams  <dcbw@redhat.com>
1248
1249         * src/NetworkManagerPolicy.c
1250                 - (update_routing_and_dns): 'hso' devices can be default even if they
1251                         don't have a gateway
1252
1253 2008-08-14  Dan Williams  <dcbw@redhat.com>
1254
1255         * src/nm-device.c
1256                 - (nm_device_deactivate_quickly): tear down activation request after
1257                         calling device-specific deactivation
1258
1259         * src/nm-hso-gsm-device.c
1260                 - (real_deactivate_quickly): terminate connection when deactivating
1261
1262 2008-08-14  Dan Williams  <dcbw@redhat.com>
1263
1264         * src/nm-activation-request.h
1265                 - Add HSO secrets caller
1266
1267         * src/nm-gsm-device.c
1268           src/nm-gsm-device.h
1269                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1270                         something to the callback function
1271                 - (set_apn, set_apn_done): call class dial function, not a static one
1272                 - (nm_gsm_device_class_init): add a class 'dial' function
1273
1274         * src/nm-hal-manager.c
1275                 - (get_hso_netdev): find the hso-driven hardware's net device
1276                 - (modem_device_creator): recognize hso-driven hardware and create the
1277                         right type of device object for it
1278
1279         * src/Makefile.am
1280           src/nm-hso-gsm-device.c
1281           src/nm-hso-gsm-device.h
1282                 - Implement support for devices driven by the 'hso' driver as a subclass
1283                         of NMGsmDevice
1284
1285 2008-08-14  Dan Williams  <dcbw@redhat.com>
1286
1287         * src/NetworkManagerSystem.c
1288                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1289                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1290                         success if the operation really was successful
1291
1292 2008-08-14  Dan Williams  <dcbw@redhat.com>
1293
1294         * src/nm-netlink-monitor.c
1295           src/nm-netlink-monitor.h
1296           src/nm-device-ethernet.c
1297                 - (nm_netlink_monitor_request_status): return an error on failure
1298                 - (constructor): don't segfault on missing error
1299
1300 2008-08-13  Dan Williams  <dcbw@redhat.com>
1301
1302         * callouts/nm-dispatcher-action.c
1303                 - Add IP4 config info to script environment
1304
1305 2008-08-12  Dan Williams  <dcbw@redhat.com>
1306
1307         * src/nm-device.c
1308                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1309                         that want to use DHCP hostnames should use dispatcher scripts
1310                         for that
1311
1312         * src/NetworkManagerSystem.h
1313           src/backends/NetworkManagerArch.c
1314           src/backends/NetworkManagerDebian.c
1315           src/backends/NetworkManagerFrugalware.c
1316           src/backends/NetworkManagerGeneric.c
1317           src/backends/NetworkManagerGeneric.h
1318           src/backends/NetworkManagerGentoo.c
1319           src/backends/NetworkManagerMandriva.c
1320           src/backends/NetworkManagerPaldo.c
1321           src/backends/NetworkManagerRedHat.c
1322           src/backends/NetworkManagerSlackware.c
1323           src/backends/NetworkManagerSuSE.c
1324                 - Remove nm_system_set_hostname(), no longer used
1325           
1326         * src/backends/Makefile.am
1327           src/backends/shvar.c
1328           src/backends/shvar.h
1329                 - Remove shvar.*; no longer used
1330
1331 2008-08-12  Dan Williams  <dcbw@redhat.com>
1332
1333         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1334         hostname is updated at runtime.  Distros or users who want hostname updates
1335         can use dispatcher scripts to update the hostname if they need it.
1336
1337 2008-08-12  Dan Williams  <dcbw@redhat.com>
1338
1339         * introspection/nm-settings-system.xml
1340           system-settings/src/dbus-settings.c
1341           system-settings/src/dbus-settings.h
1342                 - Add a 'Hostname' property (rw) which represents the configured
1343                         hostname and domain of the system, if any
1344
1345         * system-settings/src/nm-system-config-error.c
1346           system-settings/src/nm-system-config-error.h
1347           system-settings/src/nm-system-config-interface.c
1348           system-settings/src/nm-system-config-interface.h
1349                 - Add a 'hostname' property to the plugin interface
1350                 - Add a method to send updated hostname to plugins to save in their
1351                         backing configuration store
1352
1353         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1354           system-settings/plugins/keyfile/plugin.c
1355           system-settings/plugins/keyfile/writer.c
1356           system-settings/plugins/keyfile/writer.h
1357           system-settings/plugins/ifcfg-suse/plugin.c
1358                 - Add minimal hostname support
1359
1360         * system-settings/plugins/ifcfg-fedora/plugin.c
1361                 - Add support for updating system hostname in /etc/sysconfig/network
1362
1363 2008-08-12  Dan Williams  <dcbw@redhat.com>
1364
1365         * system-settings/plugins/ifcfg-fedora/shvar.c
1366           system-settings/plugins/ifcfg-fedora/shvar.c
1367                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1368
1369 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1370
1371         * Makefile.am: Fix distcheck.
1372
1373 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1374
1375         * libnm-glib/*.c. Document some more.
1376
1377 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1378
1379         Start documenting libnm-glib public API using gtk-doc.
1380
1381         * libnm-glib/nm-serial-device.c: 
1382         * libnm-glib/nm-object.c: 
1383         * libnm-glib/nm-gsm-device.c: 
1384         * libnm-glib/nm-device.c: 
1385         * libnm-glib/nm-device-wifi.c: 
1386         * libnm-glib/nm-device-ethernet.c: 
1387         * libnm-glib/nm-client.c: 
1388         * libnm-glib/nm-cdma-device.c: Document the public API.
1389
1390         * docs/libnm-glib/libnm-glib.types: Implement.
1391
1392         * docs/libnm-glib/Makefile.am: Implement.
1393
1394         * autogen.sh: 
1395         * configure.in: 
1396         * Makefile.am: Add gtk-doc support.
1397
1398 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1399
1400         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1401
1402         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1403         the composite result of all the IP4 configurations and call a distro
1404         specific update_resolv_conf().
1405         (update_resolv_conf): Implement one for directly writing to 
1406         /etc/resolv.conf and one for opensuse to call netconfig.
1407
1408 2008-08-11  Dan Williams  <dcbw@redhat.com>
1409
1410         * src/ppp-manager/nm-ppp-manager.c
1411                 - (impl_ppp_manager_need_secrets): pass interface as required
1412
1413 2008-08-11  Dan Williams  <dcbw@redhat.com>
1414
1415         Merge the vpn-properties setting with the vpn setting since it was pointless
1416         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1417         of string:string (instead of string:variant) so that system settings plugins
1418         can have an easier time dealing with the arbitrary key/value pairs.
1419
1420 2008-08-11  Dan Williams  <dcbw@redhat.com>
1421
1422         * libnm-util/nm-utils.c
1423                 - (nm_utils_register_value_transformations): add value transform for
1424                         a hash table of string:string
1425
1426 2008-08-10  Dan Williams  <dcbw@redhat.com>
1427
1428         * libnm-glib/nm-vpn-plugin.c
1429                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1430                         an idle handler so the Connect reply gets delivered before the
1431                         stop StateChanged signal
1432
1433 2008-08-10  Dan Williams  <dcbw@redhat.com>
1434
1435         * src/nm-ip4-config.c
1436                 - (get_property): use common ip4 address/route conversion functions
1437                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1438                         copy the new route here, not take ownership
1439
1440 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1441
1442         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1443         Update the IP4 setting's method name.
1444
1445 2008-08-07  Dan Williams  <dcbw@redhat.com>
1446
1447         * introspection/nm-ip4-config.xml
1448           libnm-glib/libnm-glib-test.c
1449           libnm-glib/nm-ip4-config.c
1450           libnm-glib/nm-ip4-config.h
1451           src/NetworkManagerSystem.h
1452           src/backends/NetworkManagerArch.c
1453           src/backends/NetworkManagerDebian.c
1454           src/backends/NetworkManagerFrugalware.c
1455           src/backends/NetworkManagerGeneric.c
1456           src/backends/NetworkManagerGeneric.h
1457           src/backends/NetworkManagerGentoo.c
1458           src/backends/NetworkManagerMandriva.c
1459           src/backends/NetworkManagerPaldo.c
1460           src/backends/NetworkManagerRedHat.c
1461           src/backends/NetworkManagerSlackware.c
1462           src/backends/NetworkManagerSuSE.c
1463           src/dhcp-manager/nm-dhcp-manager.c
1464           src/nm-device.c
1465           src/nm-ip4-config.c
1466           src/nm-ip4-config.h
1467                 - Remove NIS logic; should be done from dispatcher scripts instead
1468
1469 2008-08-07  Dan Williams  <dcbw@redhat.com>
1470
1471         * src/dhcp-manager/nm-dhcp-manager.c
1472                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1473                         mis-handling of DHCP responses that returned more than one router
1474                         (found by Grant Williamson)
1475
1476 2008-08-07  Dan Williams  <dcbw@redhat.com>
1477
1478         * callouts/nm-dispatcher-action.c
1479                 - (nm_dispatcher_action): grab device path and create the device; pass
1480                         the device's DHCP4 config to script caller
1481                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1482                         scripts
1483
1484         * libnm-glib/nm-dhcp4-config.c
1485           libnm-glib/nm-dhcp4-config.h
1486                 - (nm_dhcp4_config_get_options): expose
1487                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1488
1489 2008-08-07  Dan Williams  <dcbw@redhat.com>
1490
1491         * include/NetworkManager.h
1492                 - Add the DHCP4Config D-Bus interface
1493
1494         * libnm-glib/Makefile.am
1495           libnm-glib/nm-dhcp4-config.c
1496           libnm-glib/nm-dhcp4-config.h
1497                 - Handle DHCP4 config objects exported by NM over D-Bus
1498
1499         * libnm-glib/nm-device.c
1500           libnm-glib/nm-device.h
1501                 - Add a 'dhcp4-config' property
1502
1503         * libnm-glib/libnm-glib-test.c
1504                 - Print out DHCP4 config for devices
1505                 - Fix some crashes when no connections are active
1506
1507         * src/nm-device-interface.c
1508           src/nm-device.c
1509           src/nm-dhcp4-config.c
1510           src/nm-dhcp4-config.h
1511                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1512                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1513                         doesn't let us do when the property type is G_TYPE_OBJECT
1514
1515 2008-08-07  Dan Williams  <dcbw@redhat.com>
1516
1517         * src/NetworkManager.c
1518           src/NetworkManagerSystem.h
1519           src/backends/NetworkManagerArch.c
1520           src/backends/NetworkManagerDebian.c
1521           src/backends/NetworkManagerFrugalware.c
1522           src/backends/NetworkManagerGeneric.c
1523           src/backends/NetworkManagerGeneric.h
1524           src/backends/NetworkManagerGentoo.c
1525           src/backends/NetworkManagerMandriva.c
1526           src/backends/NetworkManagerPaldo.c
1527           src/backends/NetworkManagerRedHat.c
1528           src/backends/NetworkManagerSlackware.c
1529           src/backends/NetworkManagerSuSE.c
1530                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1531
1532 2008-08-06  Dan Williams  <dcbw@redhat.com>
1533
1534         * libnm-glib/nm-ip4-config.c
1535           libnm-glib/nm-ip4-config.h
1536                 - Add 'routes' property
1537
1538         * libnm-util/nm-setting-vpn.c
1539           libnm-util/nm-setting-vpn.h
1540                 - Remove 'routes' property
1541
1542         * libnm-util/nm-setting-ip4-config.c
1543           libnm-util/nm-setting-ip4-config.h
1544                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1545                 - Add 'ignore-auto-routes' property
1546                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1547                         accomodate route metrics
1548                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1549
1550         * libnm-util/nm-utils.c
1551           libnm-util/nm-utils.h
1552                 - Add helpers for marshalling IP4 routes
1553
1554         * src/NetworkManagerUtils.c
1555                 - (nm_utils_merge_ip4_config): handle property renames and new route
1556                         structure
1557
1558         * src/NetworkManagerSystem.c
1559                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1560                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1561
1562         * src/dhcp-manager/nm-dhcp-manager.c
1563                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1564
1565         * system-settings/plugins/ifcfg-fedora/reader.c
1566           system-settings/plugins/ifcfg-fedora/writer.c
1567                 - Handle routes separately from addresses now that routes have a different
1568                         format
1569
1570         * introspection/nm-ip4-config.xml
1571           src/nm-ip4-config.c
1572           src/nm-ip4-config.h
1573                 - Rename internal routing functions
1574                 - 'static-routes' renamed to 'routes'
1575
1576 2008-08-04  Dan Williams  <dcbw@redhat.com>
1577
1578         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1579
1580         * src/NetworkManager.c
1581           src/nm-manager.c
1582           src/nm-manager.h
1583                 - More explicitly make the NMManager a singleton
1584
1585 2008-08-04  Dan Williams  <dcbw@redhat.com>
1586
1587         * libnm-util/nm-connection.c
1588           libnm-util/nm-connection.h
1589                 - (nm_connection_verify): return error on missing 'connection' setting
1590                         (found by Sjoerd Simons)
1591
1592 2008-08-04  Dan Williams  <dcbw@redhat.com>
1593
1594         Handle multiple concurrent PPP connections.
1595
1596         * src/ppp-manager/nm-ppp-manager.c
1597           src/ppp-manager/nm-ppp-manager.h
1598                 - (constructor): only PPP Manager request bus name once; each
1599                         NMPPPManager object gets a unique object path
1600                 - (nm_ppp_manager_class_init, get_property, set_property,
1601                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1602                         at construct time
1603                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1604                         remove timeout until PPP manager gets an IP4 config
1605                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1606                         the plugin can call back to this specific PPP manager instance
1607
1608         * src/nm-device-ethernet.c
1609           src/nm-serial-device.c
1610                 - Pass parent device in nm_ppp_manager_new()
1611
1612         * src/nm-gsm-device.c
1613           src/nm-cdma-device.c
1614                 - (device_state_changed): don't close serial device on NEED_AUTH
1615                         state changed, that's not a failure case like the rest are
1616
1617         * src/ppp-manager/nm-pppd-plugin.c
1618                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1619                         binds one interface to any pppd process, thus the correct index
1620                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1621                         problems; try harder to get a peer address in spite of pppd
1622                 - (plugin_init): use 'ipparam' as the object path back to our specific
1623                         PPP manager instance
1624
1625 2008-08-04  Dan Williams  <dcbw@redhat.com>
1626
1627         * src/ppp-manager/nm-ppp-manager.c
1628                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1629                         since the GSM and CDMA settings now implement need_secrets, we can
1630                         rely on them to do the right thing.  Where secrets are not required,
1631                         just pass empty strings back to the pppd plugin.
1632                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1633                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1634                         on successful IP4 config receipt
1635
1636 2008-08-04  Dan Williams  <dcbw@redhat.com>
1637
1638         * libnm-util/nm-setting-cdma.c
1639           libnm-util/nm-setting-gsm.c
1640                 - (verify): validate username & password if they exist
1641                 - (need_secrets): if username given, require a password too
1642
1643 2008-08-04  Dan Williams  <dcbw@redhat.com>
1644
1645         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1646                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1647                         manpage says about --listen-address without --interface
1648                         (bgo #546033)
1649
1650 2008-08-01  Dan Williams  <dcbw@redhat.com>
1651
1652         * libnm-glib/nm-device.c
1653                 - (proxy_get_string): util function for querying a HAL property
1654                 - (get_ancestor_device): split out from get_product_and_vendor()
1655                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1656                         from PCI devices by querying subsys properties
1657                 - (nm_device_update_description): simplify
1658
1659 2008-08-01  Dan Williams  <dcbw@redhat.com>
1660
1661         * libnm-util/nm-setting-ip4-config.c
1662           libnm-util/nm-setting-ip4-config.h
1663                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1664                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1665                         settings, and they don't necessarily use DHCP.
1666
1667         * src/NetworkManagerPolicy.c
1668           src/nm-device.c
1669           system-settings/plugins/ifcfg-fedora/reader.c
1670           system-settings/plugins/ifcfg-suse/parser.c
1671                 - Fixup for method changes
1672
1673 2008-07-31  Dan Williams  <dcbw@redhat.com>
1674
1675         * src/nm-activation-request.c
1676           src/vpn-manager/nm-vpn-connection.c
1677                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1678                         itself should be attached to the activation request or the VPN
1679                         connection, not the NMConnection object, since the call is not
1680                         expected to live as long as the NMConnection itself
1681
1682 2008-07-31  Dan Williams  <dcbw@redhat.com>
1683
1684         * src/nm-device-wifi.c
1685                 - (real_act_stage2_config): fix issue where association would continue
1686                         even though secrets were needed; 'goto out' was in wrong scope and
1687                         result of handle_auth_or_fail() should have been dumped directly to
1688                         'ret' to ensure that the association was postponed until secrets
1689                         are available
1690
1691 2008-07-31  Dan Williams  <dcbw@redhat.com>
1692
1693         * system-settings/plugins/ifcfg-fedora/plugin.c
1694           system-settings/plugins/ifcfg-fedora/reader.c
1695                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1696                         valid NM connection
1697
1698 2008-07-29  Dan Williams  <dcbw@redhat.com>
1699
1700         * src/nm-gsm-device.c
1701                 - (automatic_registration_response, automatic_registration): recognize
1702                         denied registration and reorder responses
1703
1704 2008-07-29  Dan Williams  <dcbw@redhat.com>
1705
1706         * src/nm-serial-device.c
1707                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1708                         time(2) is used for current time, which returns seconds, we shouldn't
1709                         be multiplying by 1000.
1710
1711 2008-07-28  Dan Williams  <dcbw@redhat.com>
1712
1713         Patch from Fabrice Bellet <fabrice@bellet.info>
1714
1715         * src/NetworkManagerSystem.c
1716                 - (route_in_same_subnet): mask addresses and compare them so that the
1717                         function actually does what it says it's going to do (rh #456685)
1718
1719 2008-07-27  Dan Williams  <dcbw@redhat.com>
1720
1721         * libnm-util/nm-setting-ip6-config.c
1722                 - (set_property): add missing break that caused routes to be overwritten
1723                         with addresses
1724
1725         * libnm-util/nm-setting-ip6-config.c
1726                 - (verify): validate routes and return GError everywhere on invalid setting
1727                 - (finalize): don't leak routes
1728                 - (set_property): add missing break that caused routes to be overwritten
1729                         with addresses
1730
1731 2008-07-27  Dan Williams  <dcbw@redhat.com>
1732
1733         * libnm-util/*
1734                 - Relicense to LGPLv2+
1735
1736 2008-07-27  Dan Williams  <dcbw@redhat.com>
1737
1738         * system-settings/plugins/ifcfg-fedora/reader.c
1739                 - (make_ip4_setting): fix parsing automatic configs
1740
1741 2008-07-27  Dan Williams  <dcbw@redhat.com>
1742
1743         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1744           src/nm-device.c
1745           src/ppp-manager/nm-ppp-manager.c
1746                 - Ensure child process gets reaped.  The child watch function may be
1747                         removed from the mainloop before the child gets killed, so we have
1748                         to make sure the child is reaped when it's told to die intentionally
1749
1750 2008-07-27  Dan Williams  <dcbw@redhat.com>
1751
1752         Patch from Roy Marples <roy@marples.name>
1753
1754         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1755                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1756
1757 2008-07-27  Dan Williams  <dcbw@redhat.com>
1758
1759         * src/nm-gsm-device.c
1760                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1761                         Huawei devices turn echo back on after CPIN (rh #456770)
1762
1763 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1764
1765         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1766         format argument to g_set_error() call.
1767
1768         * src/backends/interface_parser.[ch]: Remove.
1769
1770         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1771
1772 2008-07-21  Dan Williams  <dcbw@redhat.com>
1773
1774         * src/ppp-manager/nm-ppp-manager.c
1775                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1776                         to prevent pppd from picking up some random local address from an
1777                         interface that doesn't have anything to do with the one we're
1778                         interested in (rh #455348)
1779
1780 2008-07-17  Dan Williams  <dcbw@redhat.com>
1781
1782         * libnm-util/nm-utils.c
1783                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1784                         by locale
1785                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1786                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1787
1788 2008-07-17  Dan Williams  <dcbw@redhat.com>
1789
1790         * introspection/Makefile.am
1791           introspection/nm-device.xml
1792           introspection/nm-dhcp4-config.xml
1793                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1794                         itself
1795         * src/nm-device-interface.c
1796           src/nm-device-interface.h
1797                 - Add the DHCP4Config property
1798
1799         * src/nm-device.c
1800                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1801                         D-Bus clients when it changes
1802
1803         * src/nm-dhcp4-config.c
1804           src/nm-dhcp4-config.h
1805                 - Simple object to store DHCP4 options, export them over D-Bus, and
1806                         notify when they change
1807
1808         * src/dhcp-manager/nm-dhcp-manager.c
1809           src/dhcp-manager/nm-dhcp-manager.h
1810                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1811                         filter server-returned DHCP options into an NMDHCP4Config object
1812
1813 2008-07-16  Dan Williams  <dcbw@redhat.com>
1814
1815         * introspection/nm-device.xml
1816                 - Add device state reasons
1817
1818 2008-07-16  Dan Williams  <dcbw@redhat.com>
1819
1820         Patch from Roy Marples <roy@marples.name>
1821
1822         * configure.in
1823                 - Add --with-dhcp-client option
1824
1825         * src/dhcp-manager/Makefile.am
1826                 - pass DHCP_CLIENT_PATH on compile line
1827
1828         * src/dhcp-manager/nm-dhcp-manager.c
1829           src/dhcp-manager/nm-dhcp-manager.h
1830                 - Genericize for both dhcpcd and dhclient
1831
1832         * src/dhcp-manager/nm-dhcp-dhclient.c
1833                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1834
1835         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1836                 - Implement support for dhcpcd too
1837
1838 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1839
1840         * system-settings/src/nm-system-config-interface.c 
1841         (nm_system_config_interface_supports_add): Implement.
1842         (nm_system_config_interface_add_connection): Return a boolean to notify
1843         of errors.
1844
1845         * system-settings/src/nm-polkit-helpers.c: 
1846         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1847         a separate file.
1848
1849         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1850         Return an error when none of the plugins support add or if addition
1851         failed for some reason.
1852
1853         * system-settings/src/nm-system-config-error.h: 
1854         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1855         here from nm-polkit-helpers.[ch].
1856
1857         * system-settings/src/Makefile.am: Build new files.
1858
1859         * system-settings/plugins/keyfile/reader.c 
1860         (read_array_of_array_of_uint): Make it more general so that it would
1861         work for routes as well.
1862
1863         * system-settings/plugins/keyfile/writer.c
1864         (write_array_of_array_of_uint): Ditto.
1865         Fix the netmask/prefix writing.
1866
1867         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1868         boolean to notify errors.
1869
1870         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1871         Return more specific error.
1872         (delete): Ditto.
1873
1874 2008-07-11  Dan Williams  <dcbw@redhat.com>
1875
1876         Modify the NMDevice::state-changed signal to include the previous state
1877         and reason. Enables the applet to provide more information why device
1878         activation failed.
1879
1880 2008-07-09  Dan Williams  <dcbw@redhat.com>
1881
1882         * callouts/Makefile.am
1883           callouts/nm-avahi-autoipd-action.c
1884           callouts/nm-avahi-autoipd.conf
1885                 - avahi-autoipd callout to send options back to NM
1886
1887         * src/autoip.c
1888           src/autoip.h
1889                 - remove
1890
1891         * src/nm-device.c
1892           src/nm-device-private.h
1893           src/nm-manager.c
1894                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1895                         old custom stuff
1896
1897 2008-07-07  Dan Williams  <dcbw@redhat.com>
1898
1899         * system-settings/plugins/ifcfg-fedora/reader.c
1900                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1901                         handle PREFIX too; clean up
1902
1903 2008-07-07  Dan Williams  <dcbw@redhat.com>
1904
1905         Convert to using IPv4 prefixes instead of netmasks.
1906
1907 2008-07-03  Dan Williams  <dcbw@redhat.com>
1908
1909         * libnm-util/nm-setting-ip4-config.c
1910           libnm-util/nm-setting-ip4-config.h
1911                 - Add properties for DHCP Client Identifier and DHCP Hostname
1912
1913         * src/dhcp-manager/nm-dhcp-manager.c
1914           src/dhcp-manager/nm-dhcp-manager.h
1915                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1916                         setting as an argument to pass on to the dhclient config file
1917                         creation function
1918                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1919                         DHCP is torn down
1920                 - (dhclient_run): punt config file handling to create_dhclient_config()
1921                 - (create_dhclient_config): create an interface-specific dhclient
1922                         config file since there may need to be interface-specific options
1923                         passed to dhclient
1924                 - (merge_dhclient_config): merge normal distro dhclient config file and
1925                         add options from the connection
1926                 - (nm_dhcp_device_new): generate the interface specific dhclient
1927                         config file path once
1928                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1929                         dhclient config file path
1930
1931         * src/nm-device.c
1932                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1933                         DHCP manager when starting DHCP
1934
1935 2008-07-02  Dan Williams  <dcbw@redhat.com>
1936
1937         * libnm-util/nm-setting-8021x.c
1938                 - (verify): allow forcing the PEAP label to 0
1939
1940 2008-07-02  Dan Williams  <dcbw@redhat.com>
1941
1942         * introspection/nm-active-connection.xml
1943           introspection/nm-vpn-connection.xml
1944           libnm-glib/nm-active-connection.c
1945           src/nm-activation-request.c
1946           src/nm-active-connection.h
1947           src/vpn-manager/nm-vpn-connection.c
1948                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1949                         and libnm-glib API since sharing didn't get implemented that way
1950
1951 2008-07-02  Dan Williams  <dcbw@redhat.com>
1952
1953         * src/nm-device-wifi.c
1954                 - (can_scan): don't scan when a shared connection is activated since
1955                         that makes drivers mad (causing disconnects); also NM doesn't need
1956                         to hedge against disconnects by keeping up-to-date network topology
1957                         because the connection originates from the local machine, and thus
1958                         there should be no disconnects
1959
1960 2008-07-01  Dan Williams  <dcbw@redhat.com>
1961
1962         Fix mobile broadband username/password issues.  NM was never requesting
1963         mobile broadband secrets, nor was it passing back the username and password
1964         if it had them.
1965
1966         * marshallers/nm-marshal.list
1967                 - Add some new types for activation request objects
1968
1969         * src/nm-activation-request.c
1970           src/nm-activation-request.h
1971                 - (get_secrets_cb): pass the caller type in the signal
1972                 - (nm_act_request_request_connection_secrets): take a caller type, so
1973                         that GetSecrets() reply handlers know who asked for the secrets in
1974                         the first place; use secret hints too so the settings service can
1975                         figure out exactly what NM wants (ie, PIN or the PPP password)
1976
1977         * src/ppp-manager/nm-ppp-manager.c
1978           src/ppp-manager/nm-ppp-manager.h
1979                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1980                         detect needed secrets when the secret could be blank, like GSM/CDMA
1981                         passwords.  So always ask for secrets, and send a hint as to what
1982                         secret we really want.
1983                 - (nm_ppp_manager_update_secrets): make function more generic by making
1984                         the device specific class figure out the username and password, and
1985                         accept an error argument to return back over D-Bus
1986
1987         * src/nm-device-wifi.c
1988                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1989                         nm_act_request_request_connection_secrets()
1990                 - (real_connection_secrets_updated): update for 'caller' changes
1991
1992         * src/nm-device.c
1993           src/nm-device.h
1994                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1995                         for 'caller' changes
1996
1997         * src/nm-device-ethernet.c
1998                 - (real_connection_secrets_updated): update for 'caller' changes and
1999                         move logic for getting PPPoE username and password here before
2000                         calling nm_ppp_manager_update_secrets()
2001                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2002                         nm_act_request_request_connection_secrets()
2003
2004         * src/nm-cdma-device.c
2005                 - (real_connection_secrets_updated): pass username and password back
2006                         to the PPP manager when required
2007
2008         * src/nm-gsm-device.c
2009                 - (enter_pin): send the required secret name to the settings service
2010                 - (real_connection_secrets_updated): pass username and password back
2011                         to the PPP manager when required
2012
2013 2008-06-30  Dan Williams  <dcbw@redhat.com>
2014
2015         * src/nm-device-wifi.c
2016                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2017
2018 2008-06-30  Dan Williams  <dcbw@redhat.com>
2019
2020         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2021         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2022         priv->supplicant.iface.  When either condition is false, the device should
2023         transition back to UNAVAILABLE because it cannot be used.
2024
2025         * src/nm-device-wifi.c
2026                 - (constructor): cleanup; connect to supplicant manager here since the
2027                         supplicant manager is always around
2028                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2029                         ensure the supplicant manager is in the IDLE state
2030                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2031                         cancel any pending scans too
2032                 - (real_bring_up): don't set up the supplicnat interface here, because
2033                         we need the supplicant interface at times when the device may not
2034                         be "up"
2035                 - (real_take_down): just remove the periodic source
2036                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2037                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2038                         do anything if there's no supplicant interface
2039                 - (cleanup_association_attempt): cleanup
2040                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2041                         the interface enters the READY state; transition to UNAVAILABLE
2042                         state when the interface goes down because the device can't be used
2043                         without a supplicant interface
2044                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2045                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2046                         acquire the supplicant interface and transition to DISCONNECTED
2047                         if the radio isn't killed
2048                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2049                 - (state_changed_cb): release any existing supplicant interface; if the
2050                         radio is enabled then try to acquire a new supplicant interface;
2051                         if the radio is enabled and a supplicant interface has been acquired,
2052                         we can transition to DISCONNECTED
2053                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2054                         don't enable the radio, because HAL probably lied to us about the
2055                         killswitch being off.  If bringing the hardware up worked, then
2056                         try to grab a supplicant interface, and if that was successful,
2057                         transition to DISCONNECTED
2058
2059 2008-06-30  Dan Williams  <dcbw@redhat.com>
2060
2061         * src/supplicant-manager/nm-supplicant-interface.c
2062                 - (request_scan_results, nm_supplicant_interface_dispose,
2063                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2064                         the id of the timeout, not a GSource
2065
2066 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2067
2068         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2069         bunch of typoes introduced by "Patch from David Cantrell 
2070         <dcantrell@redhat.com> and me".
2071
2072 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2073
2074         * src/nm-serial-device.c: 
2075         * src/nm-gsm-device.c: 
2076         * src/nm-cdma-device.c: Move the pending call handling to a common location
2077         in serial device. Handle setting device state to failed in one place as well.
2078
2079 2008-06-29  Dan Williams <dcbw@redhat.com>
2080
2081         * src/nm-hal-manager.c
2082                 - Rework killswitch handling to query killswitch status immediately
2083                         when the first killswitch is added, so that rfkill state is
2084                         known as early as possible
2085                 - Also treat failure of GetPower() as rfkill when the dbus method
2086                         call times out (but not when the HAL callout returns an error)
2087
2088 2008-06-26  Dan Williams <dcbw@redhat.com>
2089
2090         Patch from David Cantrell <dcantrell@redhat.com> and me
2091
2092         * include/nm-dbus-glib-types.h
2093                 - Add IP6 address types
2094
2095         * libnm-util/Makefile.am
2096           libnm-util/nm-setting-ip6-config.c
2097           libnm-util/nm-setting-ip6-config.h
2098                 - Add IP6 settings object
2099
2100         * libnm-util/nm-connection.c
2101                 - (register_default_settings): register ip6 settings object
2102
2103         * libnm-util/nm-utils.c
2104           libnm-util/nm-utils.h
2105                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2106                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2107                         ip6 address conversion functions
2108         
2109 2008-06-26  Dan Williams <dcbw@redhat.com>
2110
2111         Patch from David Cantrell <dcantrell@redhat.com>
2112         
2113         * Use inet_ntop() and inet_pton() everwhere and check for errors
2114
2115 2008-06-26  Dan Williams <dcbw@redhat.com>
2116
2117         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2118
2119 2008-06-26  Dan Williams <dcbw@redhat.com>
2120
2121         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2122
2123         * src/nm-device-wifi.c
2124                 - (link_timeout_cb): don't ignore disconnects due to scanning
2125                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2126                         a longer timeout when scanning; avoids case where supplicant can't
2127                         find the AP and just keeps scanning forever but isn't connected
2128
2129 2008-06-26  Dan Williams <dcbw@redhat.com>
2130
2131         Patch from Michael Biebl <biebl@debian.org>
2132
2133         * Clean up build system stuff
2134
2135 2008-06-23  Christian Persch  <chpe@gnome.org>
2136
2137         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2138         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2139         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2140         (impl_get_object):
2141         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2142         (impl_get_object):
2143         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2144         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2145         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2146         (impl_get_object):
2147         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2148         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2149         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2150         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2151         * vpn-daemons/pptp/properties/vpnui_opt.c:
2152         (vpnui_opt_connect_signals):
2153         * vpn-daemons/pptp/properties/vpnui_opt.h:
2154         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2155         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2156         deprecated gtk type macros. Bug #539325.
2157
2158 2008-06-20  Dan Williams  <dcbw@redhat.com>
2159
2160         * libnm-glib/nm-vpn-plugin-ui-interface.c
2161           libnm-glib/nm-vpn-plugin-ui-interface.h
2162                 - 'validity-changed' -> 'changed' to work better with the connection
2163                         editor.  Plugin UI widgets should emit 'changed' whenever their
2164                         UI values change in a meaningful way.
2165                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2166                         update_connection member now returns validity of the UI widget
2167
2168 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2169
2170         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2171
2172 2008-06-17  Dan Williams  <dcbw@redhat.com>
2173
2174         * libnm-glib/nm-vpn-plugin-ui-interface.c
2175           libnm-glib/nm-vpn-plugin-ui-interface.h
2176                 - Add "desc" property for longer descriptions of the VPN plugin
2177
2178 2008-06-16  Dan Williams  <dcbw@redhat.com>
2179
2180         * configure.in
2181           libnm-glib/libnm_glib_vpn.pc.in
2182                 - add a .pc file for libnm_glib_vpn
2183
2184         * libnm-glib/nm-vpn-plugin-ui-interface.c
2185           libnm-glib/nm-vpn-plugin-ui-interface.h
2186                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2187                         rework it substantially
2188
2189 2008-06-12  Dan Williams  <dcbw@redhat.com>
2190
2191         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2192         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2193         returns a descriptive GError when verification fails.
2194
2195 2008-06-11  Dan Williams  <dcbw@redhat.com>
2196
2197         Patch from Tambet Ingo <tambet@gmail.com>
2198
2199         * libnm-util/nm-setting-gsm.c
2200                 - (verify): validate APN
2201
2202         * src/nm-gsm-device.c
2203                 - (manual_registration_done): start setting APN if needed
2204                 - (set_apn, set_apn_done): set the APN
2205                 - (do_dial): use the APN when dialing
2206
2207 2008-06-11  Dan Williams  <dcbw@redhat.com>
2208
2209         * src/NetworkManagerSystem.c
2210                 - (nm_system_device_set_ip4_route,
2211                    nm_system_device_replace_default_ip4_route): check for the right
2212                         return value from rtnl_route_add() to know when to add a gateway
2213                         route (from Tambet)
2214
2215 2008-06-11  Dan Williams  <dcbw@redhat.com>
2216
2217         * src/NetworkManagerPolicy.c
2218                 - do_ipt_cmd -> do_cmd
2219                 - (sharing_init): use do_cmd() instead of system()
2220
2221 2008-06-10  Dan Williams  <dcbw@redhat.com>
2222
2223         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2224         and use "wifi" everwhere instead.
2225
2226 2008-06-10  Dan Williams  <dcbw@redhat.com>
2227
2228         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2229
2230 2008-06-10  Dan Williams  <dcbw@redhat.com>
2231
2232         Patch from Tambet Ingo <tambet@gmail.com>
2233
2234         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2235                 changes.
2236
2237         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2238                 a signal to emit these changes over dbus.
2239
2240         * src/Makefile.am: Genereate nm-serial-device-glue.
2241
2242         * libnm-glib/nm-serial-device.[ch]: Implement.
2243
2244         * libnm-glib/nm-cdma-device.[ch]
2245           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2246
2247         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2248
2249         * introspection/nm-device-serial.xml: Implement.
2250
2251         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2252
2253         * introspection/Makefile.am: Add nm-device-serial.xml.
2254
2255         * include/NetworkManager.h: Add a DBus interface for serial device.
2256
2257 2008-06-10  Dan Williams  <dcbw@redhat.com>
2258
2259         * configure.in
2260                 - Add TARGET_* define to config.h to distinguish distros
2261
2262         * src/dhcp-manager/nm-dhcp-manager.c
2263                 - (dhclient_run): use distro-specific path for dhclient config file
2264
2265 2008-06-09  Dan Williams  <dcbw@redhat.com>
2266
2267         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2268           src/dnsmasq-manager/nm-dnsmasq-manager.h
2269                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2270                         calculate the addresses passed to dnsmasq instead of hard-coding
2271                         them
2272
2273         * src/nm-device.c
2274                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2275                         IP addresses for shared connections to guard against shared
2276                         connection address collisions
2277                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2278                         error conditions
2279                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2280                         the dnsmasq manager
2281
2282 2008-06-09  Dan Williams  <dcbw@redhat.com>
2283
2284         * src/NetworkManagerPolicy.c
2285                 - (update_routing_and_dns): set the default connection _after_ unsetting
2286                         default on all non-default connections so that two connections can
2287                         never be default at the same time
2288                 - (device_state_changed): start and stop connection sharing when
2289                         needed
2290                 - (active_connection_default_changed): restart or stop sharing when
2291                         the default connection changes to keep shared connections always
2292                         NAT-ed through the default connection
2293                 - (check_sharing): handle activation/deactivation of shared connections
2294                 - (sharing_restart): atom-bomb approach to connection sharing until we
2295                         can use libnl; reinit all sharing when the default connection or
2296                         shared connections change
2297                 - (sharing_init, sharing_stop): evil functions that init and deinit
2298                         iptables
2299
2300 2008-06-09  Dan Williams  <dcbw@redhat.com>
2301
2302         * src/nm-activation-request.c
2303           src/nm-activation-request.h
2304                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2305                    nm_act_request_get_device): new functions to facilitate connection
2306                         sharing
2307
2308 2008-06-09  Dan Williams  <dcbw@redhat.com>
2309
2310         * src/nm-device.c
2311                 - (clear_act_request): unset the 'default' property of the activation
2312                         request when clearing it to ensure the property changed signal gets
2313                         delivered and handled
2314
2315 2008-06-09  Dan Williams  <dcbw@redhat.com>
2316
2317         * libnm-glib/nm-device-802-11-wireless.c
2318                 - (access_point_removed_proxy): actually unref the AP after removing
2319                         it from the device's AP list.  Fixes refcounting bug for APs that
2320                         caused them to get mixed up in the applet's menu.
2321
2322 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2323
2324         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2325         (nm_dhcp_device_destroy): Destroy the device options hash table.
2326
2327 2008-06-06  Dan Williams <dcbw@redhat.com>
2328
2329         * system-settings/src/nm-polkit-helpers.c
2330                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2331                         unref the context if the initialization fails; also avoid spew when
2332                         the error isn't set
2333
2334 2008-06-06  Dan Williams <dcbw@redhat.com>
2335
2336         Patch from Tambet Ingo  <tambet@gmail.com>
2337
2338         * src/NetworkManagerSystem.c
2339           src/NetworkManagerSystem.h
2340                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2341                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2342                 - (nm_system_device_set_ip4_route): clean up
2343                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2344
2345         * src/nm-device.c
2346                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2347
2348         * src/vpn-manager/nm-vpn-connection.c
2349                 - (ip_address_to_string): new function
2350                 - (print_vpn_config): use ip_address_to_string
2351                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2352                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2353
2354         * include/NetworkManagerVPN.h
2355                 - Add 'routes' key
2356
2357 2008-06-05  Dan Williams <dcbw@redhat.com>
2358
2359         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2360
2361         * test/nm-tool.c
2362                 - Show which device is the default device
2363
2364 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2365
2366         Fix memory leaks.
2367
2368         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2369         Free data returned from dbus method call.
2370
2371         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2372         dbus_g_method_get_sender() returns a duplicated string, free it 
2373         when done.
2374         (check_polkit_privileges): Looks like policykit sometimes returns
2375         error and non-null return value, don't leak errors in that case.
2376
2377         * system-settings/src/main.c (find_plugin): Don't leak existing 
2378         plugin names.
2379         (load_stuff): Don't leak device list and list items.
2380         (have_connection_for_device): Don't leak connection list.
2381
2382         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2383         Free the data received from g_keyfile_get_*.
2384
2385         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2386         the key when the security object is updated.
2387
2388         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2389         Free data returned from dbus method call.
2390         (iface_state_cb): Ditto.
2391         (add_network_cb): Ditto.
2392         (nm_supplicant_interface_add_cb): Don't make another copy of already
2393         duplicated object path.
2394         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2395         when done.
2396
2397         * src/supplicant-manager/nm-supplicant-config.c 
2398         (ADD_STRING_LIST_VAL): Fix a memory leak.
2399
2400         * src/nm-manager.c (free_get_settings_info): Free the allocated
2401         memory slice.
2402         (list_connections_cb): Free data returned from dbus method call.
2403         (system_settings_get_unmanaged_devices_cb): Ditto.
2404
2405         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2406
2407         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2408         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2409         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2410         of the GList.
2411
2412         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2413         arguments after the object is created.
2414
2415 2008-06-04  Dan Williams <dcbw@redhat.com>
2416
2417         * libnm-util/Makefile.am
2418                 - Don't distribute nm-param-spec-specialized.h
2419
2420 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2421
2422         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2423
2424         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2425         NMIP4Address, update the getters and setters.
2426
2427         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2428         Use the updated NMIP4Config routes api.
2429
2430         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2431         static routes as well.
2432
2433         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2434         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2435         routes api.
2436
2437 2008-05-30  Dan Williams <dcbw@redhat.com>
2438
2439         * src/named-manager/nm-named-manager.c
2440           src/named-manager/nm-named-manager.h
2441                 - Remove stale/obsolete bits for controlling bind over DBus
2442
2443 2008-05-29  Dan Williams <dcbw@redhat.com>
2444
2445         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2446           src/dnsmasq-manager/nm-dnsmasq-manager.h
2447                 - (nm_dnsmasq_manager_new): move iface argument here
2448                 - (constructor): remove, not needed
2449                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2450                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2451
2452         * src/nm-device.c
2453                 - (real_act_stage4_get_ip4_config,
2454                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2455                         changes
2456
2457 2008-05-29  Dan Williams <dcbw@redhat.com>
2458
2459         * src/nm-device.c
2460                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2461                         something happens to dnsmasq
2462                 - (nm_device_new_ip4_shared_config): new function; create a new
2463                         ip4-config for shared connections.  Shared connections always use a
2464                         fixed static IP address.
2465                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2466                         autoip connections by actually using the returned ip4-config and
2467                         not leaking it
2468                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2469                         connections
2470                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2471                         if its active
2472
2473 2008-05-29  Dan Williams <dcbw@redhat.com>
2474
2475         * src/nm-device-802-11-wireless.c
2476                 - (real_get_best_auto_connection): auto-activate 'shared' method
2477                         connections too
2478
2479 2008-05-29  Dan Williams <dcbw@redhat.com>
2480
2481         * libnm-util/nm-setting-ip4-config.c
2482           libnm-util/nm-setting-ip4-config.h
2483                 - Add a 'shared' method to indicate that this connection should be
2484                         brought up with a DHCP and proxy DNS server to facilitate
2485                         connection sharing.
2486                 - (verify): 'shared' method doesn't allow DNS or searches either
2487
2488 2008-05-29  Dan Williams <dcbw@redhat.com>
2489
2490         * configure.in
2491           src/Makefile.am
2492           src/dnsmasq-manager/Makefile.am
2493           src/dnsmasq-manager/nm-dnsmasq-manager.c
2494           src/dnsmasq-manager/nm-dnsmasq-manager.h
2495                 - Add a dnsmasq daemon manager to facilitate connection sharing
2496
2497 2008-05-29  Dan Williams <dcbw@redhat.com>
2498
2499         * src/nm-device-private.h
2500                 - Remove unused prototypes and clean up
2501
2502         * src/nm-device.c
2503                 - Remove anything related to system_config_data, which is no longer used
2504                 - (nm_device_new_ip4_autoip_config): make static
2505
2506 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2507
2508         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2509         (file_changed): Fix a bug where suse system settings plugin didn't
2510         update the connections automatically when the files changed.
2511
2512 2008-05-28  Dan Williams  <dcbw@redhat.com>
2513
2514         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2515
2516 2008-05-28  Dan Williams  <dcbw@redhat.com>
2517
2518         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2519
2520         * src/NetworkManagerSystem.c
2521                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2522                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2523                         was causing -EINVAL errors since the libnl code actually does flush
2524                         the routes on VPN interfaces now
2525
2526         * src/backends/NetworkManagerArch.c
2527           src/backends/NetworkManagerDebian.c
2528           src/backends/NetworkManagerFrugalware.c
2529           src/backends/NetworkManagerGeneric.c
2530           src/backends/NetworkManagerGentoo.c
2531           src/backends/NetworkManagerMandriva.c
2532           src/backends/NetworkManagerPaldo.c
2533           src/backends/NetworkManagerRedHat.c
2534           src/backends/NetworkManagerSlackware.c
2535           src/backends/NetworkManagerSuSE.c
2536                 - (nm_system_device_flush_ip4_routes,
2537                    nm_system_device_flush_ip4_routes_with_iface): remove
2538
2539 2008-05-28  Dan Williams  <dcbw@redhat.com>
2540
2541         * libnm-util/nm-setting-wireless.c
2542           libnm-util/nm-setting-wireless.h
2543                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2544                         'adhoc-create' property, which when TRUE indicates that NM should
2545                         create this connection as an adhoc wifi network if it's not found
2546                         as an adhoc network during scanning.  Can be used to auto-create
2547                         adhoc networks when used in combination with autoconnect.
2548
2549 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2550
2551         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2552
2553         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2554         checked, it doesn't work on some devices.
2555
2556 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2557
2558         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2559         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2560
2561         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2562         Use inet_aton() everywhere to improve error detection.
2563         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2564         provided.
2565
2566 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2567
2568         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2569         Fix a typo.
2570
2571 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2572
2573         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2574         reference counting issue.
2575
2576 2008-05-23  Dan Williams  <dcbw@redhat.com>
2577
2578         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2579
2580         * src/backends/NetworkManagerGeneric.c
2581                 - (nm_generic_enable_loopback): use libnl
2582
2583 2008-05-23  Dan Williams  <dcbw@redhat.com>
2584
2585         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2586
2587         * src/NetworkManagerSystem.h
2588           src/backends/NetworkManagerArch.c
2589           src/backends/NetworkManagerDebian.c
2590           src/backends/NetworkManagerFrugalware.c
2591           src/backends/NetworkManagerGentoo.c
2592           src/backends/NetworkManagerMandriva.c
2593           src/backends/NetworkManagerPaldo.c
2594           src/backends/NetworkManagerRedHat.c
2595           src/backends/NetworkManagerSlackware.c
2596           src/backends/NetworkManagerSuSE.c
2597                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2598                    nm_system_flush_arp_cache): remove, unused
2599
2600         * src/backends/NetworkManagerGeneric.c
2601           src/backends/NetworkManagerGeneric.h
2602                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2603                    nm_generic_flush_arp_cache): remove, unused
2604
2605 2008-05-23  Dan Williams  <dcbw@redhat.com>
2606
2607         * system-settings/plugins/ifcfg-fedora/reader.c
2608                 - (make_ip4_setting): honor PEERDNS setting
2609
2610 2008-05-23  Dan Williams  <dcbw@redhat.com>
2611
2612         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2613
2614         * src/NetworkManagerSystem.c
2615                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2616                         libnl
2617
2618         * src/backends/NetworkManagerArch.c
2619           src/backends/NetworkManagerDebian.c
2620           src/backends/NetworkManagerFrugalware.c
2621           src/backends/NetworkManagerGentoo.c
2622           src/backends/NetworkManagerMandriva.c
2623           src/backends/NetworkManagerPaldo.c
2624           src/backends/NetworkManagerRedHat.c
2625           src/backends/NetworkManagerSlackware.c
2626           src/backends/NetworkManagerSuSE.c
2627                 - (nm_system_device_flush_ip4_addresses,
2628                    nm_system_device_flush_ip4_addresses_with_iface): remove
2629
2630         * src/backends/NetworkManagerGeneric.c
2631                 - (nm_generic_device_flush_ip4_addresses,
2632                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2633
2634 2008-05-23  Dan Williams  <dcbw@redhat.com>
2635
2636         * src/supplicant-manager/nm-supplicant-settings-verify.c
2637                 - Switch 'bssid' from bytes to keyword type
2638                 - (validate_type_keyword): allow NULL keyword lists
2639
2640         * src/supplicant-manager/nm-supplicant-config.c
2641                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2642                         a byte array to string form, which is what the supplicant expects
2643
2644 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2645
2646         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2647         information received from DHCP.
2648
2649         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2650         to make it possible to ignore the DNS information (both servers and 
2651         searches) returned by DHCP server.
2652
2653         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2654         name servers and searches if "ignore_dhcp_dns" is set.
2655
2656         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2657         (nm_ip4_config_reset_searches): Implement.
2658
2659 2008-05-22  Dan Williams  <dcbw@redhat.com>
2660
2661         Remove anything mDNS related.  This is better done from a distro-specific
2662         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2663         avahi, since avahi can handle interface changes just fine using netlink.
2664
2665         * configure.in
2666                 - Remove --with-mdns-provider
2667
2668         * src/NetworkManagerPolicy.c
2669                 - (global_state_changed): don't restart the mdns provider
2670
2671         * src/NetworkManagerSystem.h
2672           src/backends/NetworkManagerArch.c
2673           src/backends/NetworkManagerDebian.c
2674           src/backends/NetworkManagerFrugalware.c
2675           src/backends/NetworkManagerGentoo.c
2676           src/backends/NetworkManagerMandriva.c
2677           src/backends/NetworkManagerPaldo.c
2678           src/backends/NetworkManagerRedHat.c
2679           src/backends/NetworkManagerSlackware.c
2680           src/backends/NetworkManagerSuSE.c
2681                 - (nm_system_restart_mdns_responder): remove
2682
2683         * src/backends/NetworkManagerGeneric.c
2684           src/backends/NetworkManagerGeneric.h
2685                 - (nm_generic_restart_mdns_responder): remove
2686
2687 2008-05-22  Dan Williams  <dcbw@redhat.com>
2688
2689         * configure.in
2690                 - clean up crypto options; just use --with-crypto=nss or
2691                         --with-crypto=gnutls
2692
2693 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2694
2695         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2696         anymore, do it right away.
2697
2698 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2699
2700         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2701         serial device open when we're not connecting or connected.
2702
2703         * src/nm-cdma-device.c (device_state_changed): Ditto.
2704
2705 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2706
2707         Don't remove all devices on waking up, sync with HAL.
2708
2709         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2710         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2711         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2712
2713 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2714
2715         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2716         If the default gateway is unreachable, add a route to gateway and try
2717         again.
2718
2719 2008-05-20  Dan Williams  <dcbw@redhat.com>
2720
2721         * system-settings/plugins/ifcfg-fedora/reader.c
2722                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2723
2724 2008-05-19  Dan Williams  <dcbw@redhat.com>
2725
2726         * system-settings/plugins/ifcfg-fedora/reader.c
2727                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2728                         if the ifcfg doesn't specify one (rh #446527)
2729
2730 2008-05-19  Dan Williams  <dcbw@redhat.com>
2731
2732         Make the system settings service exit when the bus goes away.  Since it's
2733         a bus-activated service, it's lifetime is limited to the bus that activated
2734         it (rh #444976).
2735
2736         * system-settings/src/Makefile.am
2737           system-settings/src/nm-system-config-hal-manager-private.h
2738                 - Remove nm-system-config-hal-manager-private.h
2739
2740         * system-settings/src/nm-system-config-hal-manager.c
2741                 - (nm_system_config_hal_manager_reinit_dbus,
2742                    nm_system_config_hal_manager_deinit_dbus): remove
2743
2744         * system-settings/src/main.c
2745                 - (dbus_reconnect): remove
2746                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2747                 - (destroy_cb): just quit when the bus goes away
2748                 - (start_dbus_service, dbus_init): simplify
2749                 - (main): destroy the wired devices hash table after destroying
2750                         the HAL manager so we don't have to disconnect signals from the
2751                         HAL manager
2752
2753 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2754
2755         Move crypto functions from nm-applet to libnm-util.
2756
2757         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2758         (nm_setting_802_1x_set_client_cert)
2759         (nm_setting_802_1x_set_phase2_ca_cert)
2760         (nm_setting_802_1x_set_phase2_client_cert)
2761         (nm_setting_802_1x_set_private_key)
2762         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2763         file (or private key and it's password), read the certificate data.
2764
2765         * libnm-util/crypto_nss.c: 
2766         * libnm-util/crypto_gnutls.c: 
2767         * libnm-util/crypto.[ch]: Move here from nm-applet.
2768
2769         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2770
2771         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2772         Imlement WPA-EAP configuration reading from sysconfig.
2773
2774 2008-05-16  Dan Williams  <dcbw@redhat.com>
2775
2776         * src/nm-device-802-11-wireless.c
2777                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2778                         wireless
2779
2780 2008-05-14  Dan Williams  <dcbw@redhat.com>
2781
2782         Fix Linus' bug in rh #134886
2783
2784         * src/nm-device-802-3-ethernet.c
2785                 - (constructor): request initial carrier state
2786
2787         * src/nm-netlink-monitor.c
2788                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2789                         signals after refilling the link cache.  Because the refill is a 
2790                         synchronous operation, the normal message hander won't get called
2791                         since libnl has already consumed the messages.
2792                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2793
2794 2008-05-14  Dan Williams  <dcbw@redhat.com>
2795
2796         * src/NetworkManagerSystem.c
2797                 - (nm_system_device_is_up_with_iface): clean up
2798
2799 2008-05-13  Dan Williams  <dcbw@redhat.com>
2800
2801         Fix refcounting issues over sleep/wake when a VPN connection was active that
2802         caused NM to try registering an object path for a device upon wake that was
2803         the same as an already registered object path.
2804
2805         * src/nm-device.c
2806                 - (nm_device_take_down): properly handle cases where the device is
2807                         no longer active but was just active, and therefore must be
2808                         deactivated.  When a device moves to unmanaged mode, this function
2809                         previously would not deactivate the device, because the state was
2810                         already unmanaged by the time this function was called.
2811
2812         * src/vpn-manager/nm-vpn-connection.c
2813                 - (device_state_changed): properly handle multiple devices states in
2814                         which the device is now deactivated.  Code previously didn't handle
2815                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2816                         UNMANAGED states.
2817
2818 2008-05-13  Dan Williams  <dcbw@redhat.com>
2819
2820         * src/nm-device-private.h
2821           src/nm-device.c
2822                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2823
2824         * src/nm-device-802-11-wireless.c
2825                 - (nm_device_802_11_wireless_set_enabled): take devices up
2826                         and down as appropriate for the rfkill state
2827
2828 2008-05-13  Dan Williams  <dcbw@redhat.com>
2829
2830         * marshallers/nm-marshal.list
2831                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2832
2833         * system-settings/plugins/ifcfg-fedora/Makefile.am
2834           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2835           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2836                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2837                         events.  Solely for use watching ifcfg files to pick up changes
2838                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2839
2840         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2841                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2842                         file contents change
2843                 - (finalize): clean up inotify watches
2844                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2845                         and the connection ifcfg for changes on their hardlinks
2846                 - (files_changed_cb): proxy the changed signal back out to listeners
2847
2848         * system-settings/plugins/ifcfg-fedora/plugin.c
2849                 - (dir_changed): 
2850                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2851                         changes
2852                 - (read_one_connection): connect to change signals on the new connection
2853                 - (dir_changed, connection_changed_handler,
2854                    handle_connection_remove_or_new): break out connection change
2855                         handling and connection new/remove handling so it can be used from
2856                         both the GFileMonitor callback and the NMIfcfgConnection changed
2857                         signals
2858
2859         * system-settings/plugins/ifcfg-fedora/reader.c
2860           system-settings/plugins/ifcfg-fedora/reader.h
2861                 - (connection_from_file): return the keyfile path the connection would use
2862
2863 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2864
2865         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2866         single PolKitContext which is shared by all. PolKitContext::unref leaks
2867         just about everything, including all open file descriptiors and results
2868         in 99% cpu usage when data arrives to any of the fds that don't belong
2869         to any context anymore.
2870
2871 2008-05-12  Dan Williams  <dcbw@redhat.com>
2872
2873         * gfilemonitor/glocaldirectorymonitor.c
2874           gfilemonitor/glocaldirectorymonitor.h
2875                 - (g_local_directory_monitor_constructor): actually subscribe to the
2876                         watch
2877                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2878
2879         * gfilemonitor/glocalfilemonitor.c
2880           gfilemonitor/glocalfilemonitor.h
2881                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2882                 - (_g_local_file_monitor_new): ensure that inotify is started up
2883
2884 2008-05-11  Dan Williams  <dcbw@redhat.com>
2885
2886         * configure.in
2887                 - record PolicyKit version
2888
2889         * system-settings/src/nm-polkit-helpers.c
2890                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2891                         with PolicyKit <= 0.6
2892
2893 2008-05-11  Dan Williams  <dcbw@redhat.com>
2894
2895         Update Fedora system-settings plugin to support latest API and use
2896         GFileMonitor rather than home-rolled inotify code.
2897
2898         * system-settings/plugins/ifcfg-fedora/Makefile.am
2899           system-settings/plugins/ifcfg-fedora/common.h
2900           system-settings/plugins/ifcfg-fedora/plugin.c
2901                 - Update to latest system settings plugin API; use GIO instead of
2902                         custom inotify code; use NMIfcfgConnection objects instead of
2903                         ConnectionData structures tacked onto NMConnection objects
2904
2905         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2906           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2907                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2908                         connections
2909
2910         * system-settings/plugins/ifcfg-fedora/reader.c
2911           system-settings/plugins/ifcfg-fedora/reader.h
2912                 - Move ifcfg parsing bits here from parser.c
2913
2914         * system-settings/plugins/ifcfg-fedora/parser.c
2915           system-settings/plugins/ifcfg-fedora/parser.h
2916                 - Remove; most code moved to reader.c
2917
2918 2008-05-11  Dan Williams  <dcbw@redhat.com>
2919
2920         * configure.in
2921           Makefile.am
2922           gfilemonitor/*
2923                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2924                         implementation, so that the same change monitoring code can be used
2925                         on systems without glib-2.14 (like Fedora 8)
2926
2927         * system-settings/plugins/keyfile/Makefile.am
2928           system-settings/plugins/keyfile/plugin.c
2929           system-settings/plugins/ifcfg-suse/Makefile.am
2930           system-settings/plugins/ifcfg-suse/plugin.c
2931                 - Use private gfilemonitor code if GIO is not present
2932
2933 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2934
2935         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2936         NMExportedConnection's 'update' and 'delete' and return error with
2937         descriptive message.
2938
2939 2008-05-08  Dan Williams  <dcbw@redhat.com>
2940
2941         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2942
2943         * src/nm-gsm-device.c
2944           src/nm-cdma-device.c
2945                 - (real_get_best_auto_connection): implement; allow autoconnection
2946                         to GSM & CDMA devices
2947
2948 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2949
2950         Use PolicyKit to authorize the system settings' AddConnection method
2951         and the system settings connections' Update and Delete methods.
2952         
2953         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2954         (impl_exported_connection_delete, nm_exported_connection_update)
2955         (nm_exported_connection_delete): Return boolean and fill GError
2956         to notify the callers of the reasons why it might have failed.
2957
2958         * libnm-glib/nm-dbus-settings-system.c
2959         (nm_dbus_settings_system_add_connection): Return the error from dbus
2960         call so that the callers can see why it failed.
2961
2962         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2963         signatures.
2964
2965         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2966
2967         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2968         abstract base class that checks PolicyKit permissions.
2969
2970         * system-settings/src/dbus-settings.c:
2971         (impl_settings_add_connection): Check the policy before carring out
2972         the request.
2973
2974         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2975         Inherit from NMSysconfigConnection, check the policies before
2976         allowing updating or removing.
2977
2978         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2979         Inherit from NMSysconfigConnection.
2980
2981         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2982         "Delete" methods with async flag so that the implementations can get
2983         access to DBusGMethodInvocation.
2984
2985         * system-settings/src/dbus-settings.c 
2986         (settings_add_connection_check_privileges): Implement.
2987         (impl_settings_add_connection): Check the privileges before adding a new
2988         connection. Improve error reporting.
2989
2990         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2991         async so that the implementation can access DBusGMethodInvocation.
2992
2993         * configure.in: Check for PolicyKit.
2994
2995         * policy/org.freedesktop.network-manager-settings.system.policy: 
2996         New file.
2997
2998         * policy/Makefile.am: Install the policy file.
2999
3000         * configure.in: Add 'policy' subdir.
3001
3002 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3003
3004         Rewrite the suse system settings plugin.
3005
3006         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3007
3008         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3009
3010         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3011
3012         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3013
3014         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3015
3016         * system-settings/src/main.c (load_plugins): Improve error reporting.
3017
3018         * system-settings/src/sha1.[ch] Add.
3019
3020         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3021
3022 2008-05-07  Dan Williams  <dcbw@redhat.com>
3023
3024         * system-settings/plugins/keyfile/reader.c
3025                 - (read_one_setting_value): handle IP address items separately
3026                 - (read_array_of_uint): read IPv4 DNS option as a string array
3027                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3028                         array
3029
3030         * system-settings/plugins/keyfile/writer.c
3031                 - (write_setting_value): handle IP address items separately
3032                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3033                         not an array of uint, so that it's user-editable
3034                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3035                         arrays, so they are user-editable
3036
3037 2008-05-07  Dan Williams  <dcbw@redhat.com>
3038
3039         * system-settings/plugins/keyfile/Makefile.am
3040                 - Change location of the keyfile plugin settings to
3041                         /etc/NetworkManager/system-connections
3042
3043 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3044
3045         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3046
3047         * system-settings/plugins/keyfile/plugin.c: Work with
3048         NMKeyfileConnections.
3049
3050         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3051         Plugins are supposed to return NMExportedConnections now and handle the
3052         updated(), removed(), and GetSecrets().
3053         Store the internal list of connections in hash table to make it easier
3054         to find duplicates.
3055
3056 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3057
3058         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3059         for multiple IP addresses.
3060
3061 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3062
3063         Patch from André Lemos.
3064
3065         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3066         corruption.
3067
3068 2008-05-06  Dan Williams  <dcbw@redhat.com>
3069
3070         * src/dhcp-manager/nm-dhcp-manager.c
3071                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3072                         NMIP4Config to support multiple IP addresses
3073
3074         * src/NetworkManagerUtils.c
3075                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3076
3077         * src/nm-ip4-config.c
3078           src/nm-ip4-config.h
3079                 - Store a list of IPv4 address/netmask/gateway tuples
3080                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3081                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3082                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3083                    nm_ip4_config_set_address): remove
3084                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3085                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3086                         new functions; handle multiple IPv4 addresses
3087
3088         * src/nm-device.c
3089           src/ppp-manager/nm-ppp-manager.c
3090           src/vpn-manager/nm-vpn-connection.c
3091           src/NetworkManagerPolicy.c
3092           test/nm-tool.c
3093           libnm-glib/libnm-glib-test.c
3094                 - update for changes to NMIP4Config for multiple IPv4 addresses
3095
3096         * src/NetworkManagerSystem.c
3097                 - (nm_system_device_set_ip4_route): don't add the route if any address
3098                         is on the same subnet as the destination
3099                 - (check_one_address): ignore the exact match, just match family and
3100                         interface index
3101                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3102                         an interface
3103                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3104                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3105
3106         * introspection/nm-ip4-config.xml
3107                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3108                 - Add 'addresses' property which is an array of (uuu) tuples of
3109                         address/netmask/gateway
3110
3111         * libnm-util/nm-setting-ip4-config.c
3112                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3113
3114         * libnm-glib/nm-ip4-config.c
3115           libnm-glib/nm-ip4-config.h
3116                 - Handle D-Bus interface changes to support multiple IP addresses
3117
3118 2008-05-06  Dan Williams  <dcbw@redhat.com>
3119
3120         * libnm-util/nm-utils.c
3121           libnm-util/nm-utils.h
3122                 - (nm_utils_ip4_addresses_from_gvalue,
3123                    nm_utils_ip4_addresses_to_gvalue): new functions
3124
3125 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3126
3127         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3128         the returned connection paths.
3129
3130 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3131
3132         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3133         "PropertiesChanged" signal signature.
3134
3135         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3136         defined in nm-dbus-glib-types.h.
3137         Don't register the connection on dbus, we're a proxy class to 
3138         communicate with an already registered connection over dbus.
3139
3140 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3141
3142         Implement new subclasses of NMSettings and NMExportedConnection to make
3143         it easier for the applet to access and modify system settings.
3144
3145         * libnm-glib/nm-dbus-connection.[ch]:
3146         * libnm-glib/nm-dbus-settings.[ch]:
3147         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3148
3149         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3150         bindings and glue.
3151
3152         * include/NetworkManager.h: Define the system settings DBus interface.
3153
3154 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3155
3156         Implement additional C API for exported connections to make them identical
3157         with the DBus API. Change the (list_connections) virtual function to be
3158         more usable from C - instead of requiring implementers to return a GPtrArray
3159         of dbus paths, return a list of connections.
3160
3161         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3162         (nm_settings_list_connections):
3163         (nm_exported_connection_new):
3164         (nm_exported_connection_update):
3165         (nm_exported_connection_delete): Implement.
3166
3167         (impl_settings_list_connections):
3168         (impl_exported_connection_update):
3169         (impl_exported_connection_delete): Use the new public functions to make 
3170         sure the C and dbus interfaces stay in sync.
3171
3172         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3173         connections.
3174
3175 2008-05-02  Dan Williams  <dcbw@redhat.com>
3176
3177         * system-settings/plugins/ifcfg-fedora/plugin.c
3178                 - (dispose): use right unref call on the DBusGConnection
3179
3180 2008-05-02  Dan Williams  <dcbw@redhat.com>
3181
3182         * src/nm-serial-device.c
3183                 - (find_terminator): don't compare the whole line, just the size of the
3184                         terminator, since some modems put stuff after the terminator, like
3185                         "CONNECT 9600"
3186
3187 2008-05-01  Dan Williams  <dcbw@redhat.com>
3188
3189         Patch from Michael Biebl <biebl@debian.org>
3190
3191         * callouts/Makefile.am
3192           callouts/org.freedesktop.nm_dispatcher.service.in
3193           system-settings/src/Makefile.am
3194           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3195                 - use the right install location for dbus-activated stuff
3196
3197 2008-04-30  Dan Williams  <dcbw@redhat.com>
3198
3199         * src/nm-gsm-device.c
3200                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3201                         PIN or PUK
3202
3203 2008-04-30  Dan Williams  <dcbw@redhat.com>
3204
3205         * src/nm-manager.c
3206                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3207
3208 2008-04-30  Dan Williams  <dcbw@redhat.com>
3209
3210         * src/nm-device-802-3-ethernet.c
3211           src/nm-device-802-11-wireless.c
3212                 - (real_is_up): return true instead of chaining up to unimplemented
3213                         parent method
3214
3215 2008-04-30  Dan Williams  <dcbw@redhat.com>
3216
3217         * src/NetworkManagerSystem.c
3218           src/NetworkManagerSystem.h
3219                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3220                         functions to check device flags for IFF_UP
3221
3222         * src/nm-serial-device.c
3223                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3224                         implement is_up
3225
3226         * src/nm-device-802-3-ethernet.c
3227           src/nm-device-802-11-wireless.c
3228                 - (real_hw_is_up): call nm_system_device_is_up()
3229
3230         * src/nm-device.c
3231                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3232                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3233                         does not implement
3234
3235 2008-04-29  Dan Williams  <dcbw@redhat.com>
3236
3237         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3238
3239         * marshallers/nm-marshal.list
3240                 - Add marshaller
3241
3242         * src/NetworkManager.c
3243                 - (main): let the NMManager handle the NMHalManager
3244
3245         * src/nm-hal-manager.c
3246           src/nm-hal-manager.h
3247                 - convert to a GObject, and emit singals when stuff changes.  Let the
3248                         NMManager handle the signals, instead of the NMHalManager calling
3249                         into the NMManager.  
3250
3251         * src/nm-manager.c
3252           src/nm-manager.h
3253                 - (remove_one_device): consolidate device removals here
3254                 - (dispose): use remove_one_device()
3255                 - (nm_manager_get_device_by_udi): make static
3256                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3257                         manager for devices at startup or wakeup time
3258                 - (nm_manager_new): create and monitor the HAL manager
3259                 - (hal_manager_udi_added_cb): new function; do what
3260                         nm_manager_add_device() used to do when signalled by the hal manager
3261                 - (hal_manager_udi_removed_cb): new function; do what
3262                         nm_manager_remove_device() used to do when signalled by the hal
3263                         manager
3264                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3265                         hal manager
3266                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3267                         in our device list that aren't known to HAL
3268                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3269                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3270                         commits ago
3271                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3272                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3273                    nm_manager_wireless_hardware_enabled,
3274                    nm_manager_set_wireless_hardware_enabled): remove, unused
3275
3276 2008-04-28  Dan Williams  <dcbw@redhat.com>
3277
3278         Fix the device up/down ambiguities.  Up/down state used to be a
3279         conglomeration of hardware state (IFF_UP) and any device-specific things
3280         (supplicant, periodic timers, etc) that the device used to indicate
3281         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3282         reason, then the device specific stuff wouldn't get run, and the device
3283         would be stuck.
3284
3285         * src/nm-device.c
3286           src/nm-device.h
3287                 - Create hw_is_up, hw_bring_up, and hw_take_down
3288                 - Rename bring_down -> take_down
3289                 - (real_hw_is_up): check interface flags for IFF_UP
3290                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3291                 - (nm_device_is_up): make static; only used locally
3292                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3293                         if the device is already up; if the device isn't up, bring it up
3294                 - (nm_device_hw_take_down): just take down hardware
3295                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3296                 - (nm_device_take_down): always deactivate device when called; always
3297                         try to take hardware down too
3298                 - (nm_device_state_changed): take device down when entering unmanaged
3299                         state from a higher state
3300
3301         * src/nm-device-802-11-wireless.c
3302                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3303                         check IFF_UP really
3304                 - (real_take_down, supplicant_iface_state_cb_handler, 
3305                    supplicant_iface_connection_state_cb_handler,
3306                    supplicant_mgr_state_cb_handler): fix some messages
3307
3308         * src/nm-device-802-3-ethernet.c
3309                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3310                         check IFF_UP really
3311
3312 2008-04-28  Dan Williams  <dcbw@redhat.com>
3313
3314         * src/nm-manager.c
3315           src/nm-manager.h
3316                 - (nm_manager_error_get_type): add new error
3317                 - (nm_manager_remove_device): don't bother taking down the device here,
3318                         the state change from unmanaging the device will do it
3319                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3320                         uses it; when going to sleep, just unmanage the device instead of
3321                         taking it down, because stuff will cleaned up correctly when the
3322                         device gets unmanaged
3323
3324 2008-04-28  Dan Williams  <dcbw@redhat.com>
3325
3326         * src/nm-hal-manager.c
3327                 - (add_initial_devices): convert to a GSourceFunc prototype
3328                 - (nm_manager_state_changed): when coming out of sleep, punt the
3329                         device re-addition to an idle handler to let D-Bus events go out
3330                         first, fixing a potential dbus-glib assert if the old device was
3331                         not yet disposed (due to references held while emitting the D-Bus
3332                         signals) but the new device was found, because the mainloop didn't
3333                         run between signal emission and add_initial_devices()
3334
3335 2008-04-27  Dan Williams  <dcbw@redhat.com>
3336
3337         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3338
3339         * initscript/paldo/NetworkManager.in
3340           initscript/SUSE/networkmanager.in
3341                 - Remove last bits of dhcdbd
3342
3343 2008-04-27  Dan Williams  <dcbw@redhat.com>
3344
3345         * src/nm-device-802-11-wireless.c
3346                 - (link_timeout_cb): don't ask for secrets when disconnected during
3347                         association/authentication phase, drivers are still just too crappy
3348
3349 2008-04-27  Dan Williams  <dcbw@redhat.com>
3350
3351         * Makefile.am
3352           configure.in
3353           dispatcher-daemon/Makefile.am
3354           dispatcher-daemon/NetworkManagerDispatcher.c
3355           initscript/Arch/Makefile.am
3356           initscript/Arch/networkmanager-dispatcher.in
3357           initscript/Gentoo/Makefile.am
3358           initscript/Gentoo/NetworkManagerDispatcher.in
3359           initscript/Mandriva/Makefile.am
3360           initscript/Mandriva/networkmanagerdispatcher.in
3361           initscript/RedHat/Makefile.am
3362           initscript/RedHat/NetworkManagerDispatcher.in
3363           initscript/SUSE/Makefile.am
3364           initscript/SUSE/networkmanager-dispatcher.in
3365           initscript/Slackware/Makefile.am
3366           initscript/Slackware/rc.networkmanager-dispatcher.in
3367           initscript/paldo/Makefile.am
3368           initscript/paldo/NetworkManagerDispatcher.in
3369           man/Makefile.am
3370           man/NetworkManagerDispatcher.8.in
3371                 - Remove the dispatcher daemon
3372
3373 2008-04-27  Dan Williams  <dcbw@redhat.com>
3374
3375         * callouts/Makefile.am
3376           callouts/nm-dispatcher-action.c
3377           callouts/nm-dispatcher-action.h
3378           callouts/nm-dispatcher.conf
3379           callouts/nm-dispatcher.xml
3380           callouts/org.freedesktop.nm_dispatcher.service
3381                 - Re-implement the dispatcher as a system-bus activated service that
3382                         NM calls on-demand, rather than an always running daemon
3383
3384         * src/Makefile.am
3385                 - Add callouts dir to includes to pick up dispatcher defines
3386
3387         * src/nm-device.c
3388                 - (nm_device_state_changed): call dispatcher on device activated/
3389                         deactivated
3390
3391         * src/vpn-manager/nm-vpn-connection.c
3392                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3393                         go up and down
3394
3395         * src/NetworkManagerUtils.c
3396           src/NetworkManagerUtils.h
3397                 - (nm_utils_call_dispatcher): helper to call dispatcher
3398
3399 2008-04-27  Dan Williams  <dcbw@redhat.com>
3400
3401         * src/NetworkManagerUtils.c
3402           src/NetworkManagerUtils.h
3403                 - remove unneeded includes
3404                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3405                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3406                    nm_timeval_cmp, nm_timeval_add): remove, unused
3407                 - clean up formatting
3408                 - (nm_spawn_process): de-uglify
3409
3410         * src/nm-device-802-11-wireless.c
3411                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3412
3413 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3414
3415         * initscript/Gentoo/NetworkManager.in:
3416                 Fix for starting the daemon.
3417
3418 2008-04-25  Dan Williams  <dcbw@redhat.com>
3419
3420         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3421
3422         * src/NetworkManagerSystem.c
3423                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3424
3425 2008-04-25  Dan Williams  <dcbw@redhat.com>
3426
3427         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3428
3429         * src/NetworkManagerSystem.c
3430                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3431                         implementation of nm_system_device_replace_default_route()
3432
3433         * src/NetworkManagerPolicy.c
3434                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3435
3436         * src/backends/NetworkManagerArch.c
3437           src/backends/NetworkManagerDebian.c
3438           src/backends/NetworkManagerFrugalware.c
3439           src/backends/NetworkManagerGeneric.c
3440           src/backends/NetworkManagerGeneric.h
3441           src/backends/NetworkManagerGentoo.c
3442           src/backends/NetworkManagerMandriva.c
3443           src/backends/NetworkManagerPaldo.c
3444           src/backends/NetworkManagerRedHat.c
3445           src/backends/NetworkManagerSlackware.c
3446           src/backends/NetworkManagerSuSE.c
3447                 - (nm_system_device_replace_default_route): remove
3448
3449 2008-04-25  Dan Williams  <dcbw@redhat.com>
3450
3451         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3452
3453         * src/NetworkManagerSystem.c
3454                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3455                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3456                         replace nm_system_device_add_route_via_device_with_iface() in the
3457                         backends
3458
3459         * src/backends/NetworkManagerArch.c
3460           src/backends/NetworkManagerDebian.c
3461           src/backends/NetworkManagerFrugalware.c
3462           src/backends/NetworkManagerGeneric.c
3463           src/backends/NetworkManagerGeneric.h
3464           src/backends/NetworkManagerGentoo.c
3465           src/backends/NetworkManagerMandriva.c
3466           src/backends/NetworkManagerPaldo.c
3467           src/backends/NetworkManagerRedHat.c
3468           src/backends/NetworkManagerSlackware.c
3469           src/backends/NetworkManagerSuSE.c
3470                 - Remove nm_system_device_add_route_via_device_with_iface()
3471
3472 2008-04-25  Dan Williams  <dcbw@redhat.com>
3473
3474         * system-settings/plugins/ifcfg-fedora/parser.c
3475                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3476
3477 2008-04-24  Dan Williams  <dcbw@redhat.com>
3478
3479         * dispatcher-daemon/NetworkManagerDispatcher.c
3480                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3481
3482 2008-04-24  Dan Williams  <dcbw@redhat.com>
3483
3484         * initscript/RedHat/NetworkManager.in
3485           initscript/RedHat/NetworkManagerDispatcher.in
3486                 - Be active at runlevel 2
3487                 - Adjust priorities earlier
3488
3489 2008-04-22  Dan Williams  <dcbw@redhat.com>
3490
3491         * src/NetworkManagerPolicy.c
3492                 - (update_routing_and_dns): when checking for a gateway, look at the
3493                         composite IP4 config, not the connection's ip4-config setting, which
3494                         doesn't include DHCP-returned information
3495
3496 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3497
3498         Implement GKeyFile system settings plugin.
3499         Implement writing system settings (currently supported only by GKeyFile plugin).
3500
3501         * system-settings/src/main.c: 
3502         * system-settings/src/dbus-settings.c: Move the communication with plugins
3503         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3504         plugins for adding/updating/removing connections.
3505
3506         * system-settings/src/nm-system-config-interface.c
3507         (nm_system_config_interface_add_connection): Implement
3508         (nm_system_config_interface_update_connection): Implement.
3509         (nm_system_config_interface_remove_connection): Implement.
3510
3511         * system-settings/plugins/keyfile/Makefile.am:
3512         * system-settings/plugins/keyfile/plugin.[ch]:
3513         * system-settings/plugins/keyfile/writer.[ch]:
3514         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3515
3516         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3517
3518         * configure.in: Generate GKeyFile Makefile.
3519
3520         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3521         corruption, need to duplicate the returned string.
3522         (impl_exported_connection_update): Implement.
3523         (impl_exported_connection_delete): Implement.
3524
3525         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3526
3527         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3528
3529 2008-04-22  Dan Williams  <dcbw@redhat.com>
3530
3531         Patch from Charles R. Anderson (cra@wpi.edu)
3532
3533         * src/NetworkManagerPolicy.c
3534                 - (update_routing_and_dns): don't select devices without a gateway
3535                         as having the default route (rh #437338)
3536
3537 2008-04-21  Dan Williams  <dcbw@redhat.com>
3538
3539         * src/nm-activation-request.c
3540           src/nm-activation-request.h
3541                 - (dispose): ensure to disconnect from the device's state-changed signal
3542                         when appropriate so the signal doesn't get handled by an already
3543                         disposed NMActRequest
3544                 - (device_state_changed): update is_default here too just to make sure
3545                         default is only True when the child device is activated
3546                 - (nm_act_request_set_default): new function
3547
3548         * src/NetworkManagerPolicy.c
3549                 - (update_routing_and_dns): set 'default' on the active connection which
3550                         has the default route and DNS
3551
3552 2008-04-21  Dan Williams  <dcbw@redhat.com>
3553
3554         * src/NetworkManagerPolicy.c
3555                 - (device_state_changed): update routing and DNS when a device goes
3556                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3557
3558 2008-04-21  Dan Williams  <dcbw@redhat.com>
3559
3560         * include/NetworkManager.h
3561                 - Add NMActiveConnectionState enum
3562
3563         * introspection/nm-active-connection.xml
3564           introspection/nm-vpn-connection.xml
3565                 - Add 'State' property for overall active connection state
3566                 - Add 'Default' property, when True means this active connection
3567                         has the default route
3568                 - Add PropertyChanged signals so changes actually go out over the bus
3569
3570         * src/nm-active-connection.h
3571                 - Add defines for State & Default properties
3572
3573         * src/nm-activation-request.c
3574                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3575                         signal to determine active connection state
3576
3577         * src/vpn-manager/nm-vpn-connection.c
3578           src/vpn-manager/nm-vpn-connection.h
3579           src/vpn-manager/nm-vpn-manager.c
3580           src/vpn-manager/nm-vpn-service.c
3581                 - Rename old 'state' to 'vpn-state'
3582                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3583                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3584                         'vpn-state-changed' signal
3585
3586         * libnm-glib/nm-active-connection.c
3587           libnm-glib/nm-active-connection.h
3588                 - Add new 'state' and 'default' properties and accessors
3589
3590         * libnm-glib/nm-vpn-connection.c
3591           libnm-glib/nm-vpn-connection.h
3592                 - Rename old 'state' property to 'vpn-state'
3593                 - Add new 'state' and 'default' properties and accessors
3594
3595 2008-04-21  Dan Williams  <dcbw@redhat.com>
3596
3597         * src/nm-ip4-config.c
3598                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3599                         not specified (rh #443474)
3600
3601 2008-04-20  Dan Williams  <dcbw@redhat.com>
3602
3603         * src/NetworkManagerUtils.c
3604           src/NetworkManagerUtils.h
3605                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3606                         NMSettingIP4Config to an NMIP4Config object
3607
3608         * src/nm-device.c
3609                 - (merge_ip4_config): move to NetworkManagerUtils.c
3610
3611         * src/vpn-manager/nm-vpn-connection.c
3612                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3613                         too
3614
3615 2008-04-18  Dan Williams  <dcbw@redhat.com>
3616
3617         * libnm-util/nm-setting-ppp.c
3618           libnm-util/nm-setting-ppp.h
3619                 - Add 'no-vj-comp' option for TCP header compression
3620                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3621                         uint32
3622
3623 2008-04-18  Dan Williams  <dcbw@redhat.com>
3624
3625         * libnm-util/nm-setting-ppp.c
3626           libnm-util/nm-setting-ppp.h
3627           src/ppp-manager/nm-ppp-manager.c
3628                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3629
3630 2008-04-18  Dan Williams  <dcbw@redhat.com>
3631
3632         * libnm-util/nm-setting-ppp.c
3633           libnm-util/nm-setting-ppp.h
3634           src/ppp-manager/nm-ppp-manager.c
3635                 - Remove the 'usepeerdns' option and always request DNS servers from
3636                         the PPP server; the connection chooses to use/override/ignore the
3637                         DNS servers returned from the PPP server
3638
3639 2008-04-18  Dan Williams  <dcbw@redhat.com>
3640
3641         * libnm-util/nm-setting-ppp.c
3642           libnm-util/nm-setting-ppp.h
3643           src/ppp-manager/nm-ppp-manager.c
3644                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3645                         it seems to have been an erroneous addition to the PPTP plugin in
3646                         the first place (from which the ppp-manager is derived)
3647
3648 2008-04-17  Dan Williams  <dcbw@redhat.com>
3649
3650         * libnm-util/nm-setting-pppoe.c
3651                 - (verify): require a PPP setting too
3652
3653         * src/ppp-manager/nm-ppp-manager.c
3654                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3655                         segfaulting
3656
3657 2008-04-17  Dan Williams  <dcbw@redhat.com>
3658
3659         * src/nm-device.c
3660                 - (nm_device_state_changed): do deactivation and and promotion to
3661                         unavailable here, so that the device gets cleaned up before the
3662                         manager runs and starts emitting signals; do the
3663                         FAILED->DISCONNECTED transition from an idle handler rather than
3664                         immediately to guard against recursion
3665                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3666                         FAILED->DISCONNECTED handler if it's scheduled
3667
3668 2008-04-17  Dan Williams  <dcbw@redhat.com>
3669
3670         * src/nm-device-802-11-wireless.c
3671                 - (state_changed_cb): clear AP list when device transitions to
3672                         unavailable or unmanaged
3673                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3674                         since this is already done in device_cleanup()
3675                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3676                         isn't available or managed
3677                 - (device_cleanup): use remove_all_aps()
3678                 - (remove_all_aps): consolidate code removing all APs
3679
3680 2008-04-17  Dan Williams  <dcbw@redhat.com>
3681
3682         * src/nm-serial-device.c
3683           src/nm-serial-device.h
3684                 - (wait_for_reply_got_data): break input into lines, and search each
3685                         line for responses _and_ terminator strings; also make sure that
3686                         the read loop doesn't continue after the timeout is supposed to fire
3687                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3688
3689         * src/nm-gsm-device.c
3690           src/nm-cdma-device.c
3691                 - Send terminators to nm_serial_device_wait_for_reply()
3692
3693 2008-04-16  Dan Williams  <dcbw@redhat.com>
3694
3695         Patch from 陈鑫 <znscnchen@gmail.com>
3696
3697         * src/ppp-manager/nm-pppd-plugin.c
3698                 - (get_credentials): return correct value for success; handle case where
3699                         pppd just does some checking but doesn't want a password
3700                 - (plugin_init): make CHAP work too
3701
3702 2008-04-16  Dan Williams  <dcbw@redhat.com>
3703
3704         Patch from 陈鑫 <znscnchen@gmail.com>
3705
3706         * src/ppp-manager/nm-ppp-manager.c
3707                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3708
3709 2008-04-16  Dan Williams  <dcbw@redhat.com>
3710
3711         Patch from 陈鑫 <znscnchen@gmail.com>
3712
3713         * src/nm-device-802-3-ethernet.c
3714                 - (real_deactivate_quickly): clear the IP interface name on
3715                         deactivation, otherwise the wrong interface might get used later
3716                         for routing and IP management
3717
3718 2008-04-15  Dan Williams  <dcbw@redhat.com>
3719
3720         * libnm-glib/nm-device.c
3721                 - (get_product_and_vendor): handle serial devices correctly
3722                 - (nm_device_update_description): pass device to get_product_and_vendor()
3723
3724 2008-04-15  Dan Williams  <dcbw@redhat.com>
3725
3726         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3727
3728         * src/NetworkManagerSystem.h
3729           src/backends/NetworkManagerArch.c
3730           src/backends/NetworkManagerDebian.c
3731           src/backends/NetworkManagerFrugalware.c
3732           src/backends/NetworkManagerGeneric.c
3733           src/backends/NetworkManagerGeneric.h
3734           src/backends/NetworkManagerGentoo.c
3735           src/backends/NetworkManagerMandriva.c
3736           src/backends/NetworkManagerPaldo.c
3737           src/backends/NetworkManagerRedHat.c
3738           src/backends/NetworkManagerSlackware.c
3739           src/backends/NetworkManagerSuSE.c
3740           src/nm-device.c
3741                 - (nm_generic_device_add_ip6_link_address,
3742                    nm_system_device_add_ip6_link_address): remove
3743
3744 2008-04-15  Dan Williams  <dcbw@redhat.com>
3745
3746         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3747
3748         * src/backends/NetworkManagerArch.c
3749           src/backends/NetworkManagerDebian.c
3750           src/backends/NetworkManagerFrugalware.c
3751           src/backends/NetworkManagerGeneric.c
3752           src/backends/NetworkManagerGeneric.h
3753           src/backends/NetworkManagerGentoo.c
3754           src/backends/NetworkManagerMandriva.c
3755           src/backends/NetworkManagerPaldo.c
3756           src/backends/NetworkManagerRedHat.c
3757           src/backends/NetworkManagerSlackware.c
3758           src/backends/NetworkManagerSuSE.c
3759           src/NetworkManagerSystem.h
3760                 - flush_routes -> flush_ip4_routes
3761                 - flush_addresses -> flush_ip4_addresses
3762
3763         * src/NetworkManagerSystem.c
3764           src/nm-device.c
3765           src/vpn-manager/nm-vpn-connection.c
3766                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3767
3768 2008-04-15  Dan Williams  <dcbw@redhat.com>
3769
3770         Remove exposure of wireless-tools mode types in the API.
3771
3772         * include/NetworkManager.h
3773                 - Define NM80211Mode enum
3774
3775         * introspection/generic-types.xml
3776                 - Describe NM_802_11_MODE enum
3777                 - Remove IW_MODE_* enum
3778
3779         * introspection/nm-access-point.xml
3780           libnm-glib/nm-access-point.c
3781           libnm-glib/nm-access-point.h
3782                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3783
3784         * introspection/nm-device-802-11-wireless.xml
3785           libnm-glib/nm-device-802-11-wireless.c
3786           libnm-glib/nm-device-802-11-wireless.h
3787                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3788
3789         * libnm-util/nm-setting-wireless.c
3790           src/NetworkManagerAP.c
3791           src/NetworkManagerAP.h
3792           src/nm-device-802-11-wireless.c
3793           src/nm-device-802-11-wireless.h
3794           test/nm-tool.c
3795                 - Use NM80211Mode not IW_MODE_*
3796
3797 2008-04-15  Dan Williams  <dcbw@redhat.com>
3798
3799         Enhance nm-online based on a patch from Bill Nottingham.
3800
3801         * test/nm-online.c
3802                 - Add a '-q' option
3803                 - Add help messages and option summary
3804                 - Add long-format options
3805                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3806
3807 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3808
3809         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3810
3811         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3812
3813 2008-04-15  Dan Williams  <dcbw@redhat.com>
3814
3815         * nm-setting-ip4-config.c
3816                 - (ip4_addresses_from_gvalue): handle NULL address array
3817
3818         * nm-setting-8021x.c
3819                 - (verify_tls, verify_ttls): warn on failed verification
3820
3821 2008-04-10  Dan Williams  <dcbw@redhat.com>
3822
3823         * src/nm-gsm-device.c
3824                 - (automatic_registration): accept "+CREG: 0,0"
3825                 - (automatic_registration_response): fail on "+CREG: 0,0"
3826
3827 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3828
3829         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3830
3831 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3832
3833         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3834         Make it compile again by commenting out broken code that at first didn't work and
3835         now didn't compile either.
3836
3837 2008-04-08  Dan Williams  <dcbw@redhat.com>
3838
3839         * libnm-glib/nm-object-cache.c
3840           libnm-glib/nm-settings.c
3841           src/dhcp-manager/nm-dhcp-manager.c
3842           system-settings/plugins/ifcfg-fedora/plugin.c
3843           system-settings/plugins/ifcfg-suse/plugin.c
3844           system-settings/src/nm-system-config-hal-manager.c
3845           libnm-util/nm-utils.c
3846                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3847                         not threadsafe anyway
3848
3849 2008-04-08  Dan Williams  <dcbw@redhat.com>
3850
3851         * system-settings/src/main.c
3852                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3853                         callbacks take a device type too
3854
3855 2008-04-08  Dan Williams  <dcbw@redhat.com>
3856
3857         The system settings service will now create a new default DHCP connection
3858         for wired devices that have no existing applicable connection.
3859
3860         * system-settings/src/nm-system-config-hal-manager.c
3861           system-settings/src/nm-system-config-hal-manager.h
3862                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3863
3864         * system-settings/src/dbus-settings.c
3865           system-settings/src/dbus-settings.h
3866                 - (nm_sysconfig_settings_get_connections): new function
3867                 - (nm_sysconfig_settings_is_device_managed): new function
3868
3869         * system-settings/src/main.c
3870                 - (load_stuff): check for wired devices that need a default connection
3871                 - (get_details_for_udi): get interface and MAC address from HAL
3872                 - (add_default_dhcp_connection): add a default connection for a wired
3873                         device if needed
3874                 - (device_added_cb, device_removed_cb): do the right thing with
3875                         wired devices and their default connections on HAL device events
3876
3877 2008-04-07  Dan Williams  <dcbw@redhat.com>
3878
3879         * libnm-glib/nm-device.c
3880           libnm-glib/nm-device.h
3881                 - Proxy the 'managed' property
3882
3883 2008-04-07  Dan Williams  <dcbw@redhat.com>
3884
3885         * src/nm-gsm-device.c
3886           src/nm-cdma-device.c
3887                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3888                         handler to transition to DISCONNECTED
3889
3890 2008-04-07  Dan Williams  <dcbw@redhat.com>
3891
3892         Patch from Bill Nottingham
3893
3894         * dispatcher-daemon/NetworkManagerDispatcher.c
3895                 - ignore backup/packaging crufy (rh #440143)
3896
3897 2008-04-07  Dan Williams  <dcbw@redhat.com>
3898
3899         * include/NetworkManager.h
3900                 - Remove the DOWN and CANCELLED device states
3901                 - Add UNMANAGED and UNAVAILABLE device states
3902                 - Document the device states
3903
3904         * introspection/nm-device.xml
3905           src/nm-device-interface.c
3906           src/nm-device-interface.h
3907                 - Add the 'managed' property
3908
3909         * test/nm-tool.c
3910                 - (detail_device): print out device state
3911
3912         * src/NetworkManagerSystem.h
3913           src/backends/NetworkManagerArch.c
3914           src/backends/NetworkManagerDebian.c
3915           src/backends/NetworkManagerFrugalware.c
3916           src/backends/NetworkManagerGentoo.c
3917           src/backends/NetworkManagerMandriva.c
3918           src/backends/NetworkManagerPaldo.c
3919           src/backends/NetworkManagerRedHat.c
3920           src/backends/NetworkManagerSlackware.c
3921           src/backends/NetworkManagerSuSE.c
3922                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3923                    nm_system_device_free_system_config): remove; they were unused and
3924                         their functionality should be re-implemented in each distro's
3925                         system settings service plugin 
3926
3927         * src/nm-gsm-device.c
3928           src/nm-gsm-device.h
3929           src/nm-cdma-device.c
3930           src/nm-cdma-device.h
3931                 - (*_new): take the 'managed' argument
3932
3933         * src/nm-device.c
3934                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3935                 - (nm_device_init): start in unmanaged state, not disconnected
3936                 - (constructor): don't start device until the system settings service
3937                         has had a chance to figure out if the device is managed or not
3938                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3939                         don't set device state here, let callers handle that as appropriate
3940                 - (nm_device_dispose): don't touch the device if it's not managed
3941                 - (set_property, get_property, nm_device_class_init): implement the
3942                         'managed' property
3943                 - (nm_device_state_changed): bring the device up if its now managed,
3944                         and deactivate it if it used to be active
3945                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3946                         with the managed state
3947
3948         * src/nm-hal-manager.c
3949                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3950                         take initial managed state and pass it along to device constructors
3951                 - (create_device_and_add_to_list): get managed state and pass to
3952                         type creators
3953
3954         * src/nm-device-802-11-wireless.c
3955                 - (real_can_activate): fold in most of
3956                         nm_device_802_11_wireless_can_activate()
3957                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3958                 - (link_timeout_cb): instead of deactivating, change device state and
3959                         let the device state handler to it
3960                 - (real_update_hw_address): clean up
3961                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3962                         handler to transition to DISCONNECTED if the device isn't rfkilled
3963
3964         * src/nm-device-802-3-ethernet.c
3965                 - (set_carrier): move above callers and get rid of prototype
3966                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3967                         idle handler to transition to DISCONNECTED if the device has a
3968                         carrier
3969                 - (real_update_hw_address): clean up
3970                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3971                         deactivation directly as deactivation doesn't change state anymore
3972
3973         * src/NetworkManagerPolicy.c
3974                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3975                         the NMManager and wireless devices work that out themselves now
3976                 - (device_state_changed): change to a switch and update for new device
3977                         states
3978                 - (device_carrier_changed): remove; device handles this now through
3979                         state changes
3980                 - (device_added): don't care about carrier any more; the initial
3981                         activation check will happen when the device transitions to
3982                         DISCONNECTED
3983
3984         * src/nm-manager.c
3985                 - (dispose): clear unmanaged devices
3986                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3987                         the managed property on each device when needed
3988                 - (system_settings_properties_changed_cb): handle signals from the
3989                         system settings service
3990                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3991                         getting the unmanaged device list method call
3992                 - (query_unmanaged_devices): ask the system settings service for its
3993                         list of unmanaged devices
3994                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3995                         devices
3996                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3997                         devices directly and let them handle the necessary state transitions
3998                 - (manager_device_state_changed): update for new device states
3999                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4000                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4001                 - (nm_manager_activate_connection): return error if the device is
4002                         unmanaged
4003                 - (nm_manager_sleep): handle new device states correctly; don't change
4004                         the state of unavailable/unmanaged devices
4005
4006         * libnm-glib/nm-device-802-11-wireless.c
4007                 - (state_changed_cb): update for new device states
4008
4009 2008-04-07  Dan Williams  <dcbw@redhat.com>
4010
4011         * marshallers/nm-marshal.list
4012                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4013
4014 2008-04-07  Dan Williams  <dcbw@redhat.com>
4015
4016         * system-settings/src/main.c
4017                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4018                         plugins to the dbus settings object
4019                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4020                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4021                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4022                 - (main): switch default logging to syslog with a 'debug' option to
4023                         output to console; start up the HAL manager
4024
4025 2008-04-07  Dan Williams  <dcbw@redhat.com>
4026
4027         * introspection/nm-settings-system.xml
4028           introspection/Makefile.am
4029                 - Define the unmanaged devices interface for the system settings service
4030
4031         * system-settings/src/nm-system-config-hal-manager.c
4032           system-settings/src/nm-system-config-hal-manager.h
4033           system-settings/src/nm-system-config-hal-manager-private.h
4034           system-settings/src/Makefile.am
4035                 - Add a lightweight HAL manager object for tracking network devices for
4036                         the purpose of determining unmanaged devices and which devices need
4037                         the default DHCP connections
4038
4039         * system-settings/src/nm-system-config-interface.c
4040           system-settings/src/nm-system-config-interface.h
4041                 - (nm_system_config_interface_init): add the HAL manager as an argument
4042                 - (nm_system_config_interface_get_unmanaged_devices): implement
4043                 - Define 'unmanaged-devices-changed' signal
4044
4045         * system-settings/src/dbus-settings.c
4046           system-settings/src/dbus-settings.h
4047                 - Implement the unmanaged devices interface; some cleanups
4048
4049         * system-settings/plugins/ifcfg-suse/plugin.c
4050                 - Fixup for plugin interface changes
4051
4052         * system-settings/plugins/ifcfg-fedora/plugin.c
4053                 - (get_ether_device_udi): new function; find the device that has
4054                         a specified MAC address and return its UDI
4055                 - (get_udi_for_connection): new function; try to find the specific
4056                         device a connection is locked to, if any
4057                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4058                         response to HAL events
4059                 - (get_unmanaged_devices): new function; return unmanaged device list
4060                 - (build_one_connection): set the connection's locked device, if any
4061                 - (write_auto_wired_connection): remove
4062                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4063                 - (handle_connection_changed): alert listeners that the unmanaged device
4064                         list has changed
4065                 - (init): fixup for plugin interface changes, implement unmanaged devices
4066
4067         * system-settings/plugins/ifcfg-fedora/parser.c
4068           system-settings/plugins/ifcfg-fedora/parser.h
4069                 - (connection_data_free): clean up connection UDI
4070
4071 2008-04-07  Dan Williams  <dcbw@redhat.com>
4072
4073         * system-settings/plugins/ifcfg-fedora/parser.c
4074                 - (make_ip4_setting): fix parsing of DNS servers
4075
4076 2008-04-05  Dan Williams  <dcbw@redhat.com>
4077
4078         * Makefile.am
4079           configure.in
4080           marshallers/Makefile.am
4081           marshallers/nm-marshal-main.c
4082           marshallers/nm-marshal.list
4083                 - Consolidate marshallers
4084
4085         * libnm-glib/nm-marshal-main.c
4086           libnm-glib/nm-marshal.list
4087           src/marshallers/Makefile.am
4088           src/marshallers/nm-marshal-main.c
4089           src/marshallers/nm-marshal.list
4090                 - Remove
4091
4092         * libnm-glib/Makefile.am
4093           src/Makefile.am
4094           src/dhcp-manager/Makefile.am
4095           src/ppp-manager/Makefile.am
4096           src/supplicant-manager/Makefile.am
4097           src/vpn-manager/Makefile.am
4098                 - Use consolidated marshallers
4099
4100 2008-04-04  Dan Williams  <dcbw@redhat.com>
4101
4102         * src/nm-hal-manager.c
4103           src/nm-hal-manager.h
4104                 - (hal_init): don't look for hardware here
4105                 - (nm_hal_manager_start): new function; look for hardware here instead,
4106                         which can be done at a later time than hal_init()
4107
4108         * src/NetworkManager.c
4109                 - (main): start HAL manager after entering the main loop
4110
4111 2008-04-03  Dan Williams  <dcbw@redhat.com>
4112
4113         * libnm-glib/nm-settings.c
4114           libnm-glib/nm-settings.h
4115             - (nm_exported_connection_get_id): new function
4116                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4117
4118 2008-04-02  Dan Williams  <dcbw@redhat.com>
4119
4120         * src/nm-device-interface.c
4121           src/nm-device-interface.h
4122           src/nm-device.c
4123           src/nm-device.h
4124                 - Rename check_connection_conflicts() to check_connection_compatible()
4125
4126         * src/nm-device-802-11-wireless.c
4127                 - (real_check_connection_conflicts): remove
4128                 - (real_check_connection_compatible): implement; match MAC address
4129
4130         * src/nm-device-802-3-ethernet.c
4131                 - (real_check_connection_conflicts): remove
4132                 - (real_check_connection_compatible): implement; match MAC address
4133                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4134
4135         * src/nm-manager.c
4136                 - (check_connection_allowed): remove; unused until PolicyKit integration
4137                 - (internal_activate_device): check whether the connection is compatible
4138                         with the device before trying to activate it
4139
4140 2008-04-02  Dan Williams  <dcbw@redhat.com>
4141
4142         * system-settings/plugins/ifcfg-fedora/parser.c
4143                 - (read_mac_address): new function; read in MAC address and stuff it
4144                         into the connection
4145                 - (add_one_wep_key): remove debug spew
4146                 - (make_wireless_security_setting): validate the default TX key; don't
4147                         add the wireless-security setting if the connection doesn't need
4148                         security; don't leak the keys shvarFile on error cases
4149                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4150                         address
4151
4152 2008-04-02  Dan Williams  <dcbw@redhat.com>
4153
4154         * libnm-util/nm-setting-connection.c
4155           libnm-util/nm-setting-connection.h
4156                 - (set_property, get_property, nm_setting_connection_class_init): remove
4157                         the 'lockdown' property; it's functionality will be replaced by
4158                         PolicyKit instead
4159
4160 2008-04-01  Dan Williams  <dcbw@redhat.com>
4161
4162         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4163
4164         * configure.in
4165           initscript/Makefile.am
4166           initscript/Mandriva/Makefile.am
4167           initscript/Mandriva/networkmanager.in
4168           initscript/Mandriva/networkmanagerdispatcher.in
4169           src/backends/Makefile.am
4170           src/backends/NetworkManagerMandriva.c
4171           system-settings/plugins/Makefile.am
4172                 - Add Mandriva support
4173
4174 2008-03-31  Dan Williams  <dcbw@redhat.com>
4175
4176         * src/vpn-manager/nm-vpn-service.c
4177                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4178                         errors can be passed back to the caller; also no longer scheduled
4179                         as an idle handler, but called directly; and bump up VPN service
4180                         spawn timeout, 2s is really short
4181                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4182                         but call it directly so that errors are reported on return from
4183                         ActivateConnection() and don't get lost.  If scheduled as an idle
4184                         handler, clients don't have the time to query NM for the new VPN
4185                         connection's properties before the VPN connection is torn down again
4186                         if the service couldn't be launched, and therefore launch errors
4187                         get lost.
4188
4189 2008-03-31  Dan Williams  <dcbw@redhat.com>
4190
4191         * src/vpn-manager/nm-vpn-connection.c
4192                 - (device_state_changed): send correct state on device failure too
4193                 - (plugin_state_changed): failed state means unexpected disconnection,
4194                         thus if the service goes away while the VPN connection is activated
4195                         that's a failure too
4196
4197 2008-03-31  Dan Williams  <dcbw@redhat.com>
4198
4199         * src/vpn-manager/nm-vpn-manager.c
4200           src/vpn-manager/nm-vpn-manager.h
4201                 - Make VPNManager errors more available; add a service-start-failed error
4202
4203 2008-03-31  Dan Williams  <dcbw@redhat.com>
4204
4205         * libnm-glib/nm-client.c
4206           libnm-glib/nm-client.h
4207                 - (activate_cb): pass the new active connection to callback; fix
4208                         message when no callback is specified
4209
4210 2008-03-30  Dan Williams  <dcbw@redhat.com>
4211
4212         * libnm-util/nm-setting-wireless-security.c
4213                 - (need_secrets): only require key0 if the transmit key index is also
4214                         0
4215                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4216
4217 2008-03-29  Dan Williams  <dcbw@redhat.com>
4218
4219         * libnm-util/nm-setting-8021x.c
4220           libnm-util/nm-setting-ip4-config.c
4221           libnm-util/nm-setting-vpn-properties.c
4222           libnm-util/nm-setting-vpn.c
4223           libnm-util/nm-setting-wireless-security.c
4224           libnm-util/nm-setting-wireless.c
4225           libnm-util/nm-utils.c
4226           src/dhcp-manager/nm-dhcp-manager.c
4227           src/nm-activation-request.c
4228           src/nm-ip4-config.c
4229           src/nm-manager.c
4230           src/nm-properties-changed-signal.c
4231           src/ppp-manager/nm-pppd-plugin.c
4232           src/supplicant-manager/nm-supplicant-interface.c
4233           src/vpn-manager/nm-vpn-connection.c
4234                 - consistently use nm-dbus-glib-types.h
4235
4236 2008-03-29  Dan Williams  <dcbw@redhat.com>
4237
4238         * src/vpn-manager/nm-vpn-connection.c
4239                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4240                         not string
4241
4242         * src/nm-activation-request.c
4243                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4244                         not string
4245
4246 2008-03-29  Dan Williams  <dcbw@redhat.com>
4247
4248         * libnm-glib/nm-device-802-11-wireless.c
4249                 - (access_point_added_proxy): create new APs if not found
4250
4251 2008-03-29  Dan Williams  <dcbw@redhat.com>
4252
4253         * libnm-glib/nm-client.c
4254                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4255                         before freeing them
4256
4257 2008-03-29  Dan Williams  <dcbw@redhat.com>
4258
4259         * system-settings/plugins/ifcfg-fedora/parser.c
4260                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4261                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4262
4263 2008-03-29  Dan Williams  <dcbw@redhat.com>
4264
4265         * system-settings/plugins/ifcfg-fedora/parser.c
4266                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4267
4268 2008-03-27  Dan Williams  <dcbw@redhat.com>
4269
4270         * nm-object.c
4271                 - (nm_object_queue_notify): don't notify multiple times for the same
4272                         property
4273
4274         * nm-object-private.h
4275                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4276                         if it has zero elements
4277
4278         * nm-ip4-config.c
4279                 - (finalize): use g_ptr_array_foreach() when freeing domains
4280                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4281
4282         * nm-active-connection.c
4283                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4284
4285         * nm-device-802-11-wireless.c
4286           nm-device-802-11-wireless.h
4287                 - (nm_device_802_11_wireless_get_access_points): return const; use
4288                         handle_ptr_array_return()
4289
4290         * nm-types.c
4291                 - (nm_object_array_demarshal): always create an array, even of length
4292                         zero, to distinguish between "NM returned no items" and "haven't
4293                         asked NM yet"
4294
4295         * nm-client.c
4296                 - (dispose): free active connections too
4297                 - (proxy_name_owner_changed): free active connections too when NM goes
4298                         away
4299                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4300                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4301
4302 2008-03-26  Dan Williams  <dcbw@redhat.com>
4303
4304         Rework VPN connection handling for a more consistent D-Bus API.  The
4305         VPNManager object has been removed, and active VPN connections are now the
4306         same as any other active connection.  The Manager object's ActivateConnection
4307         and DeactivateConnection methods are used to start and stop a VPN connection,
4308         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4309         When activating a VPN connection, pass the path of the active connection
4310         to which the VPN connection is tied in the 'specific_object' argument.
4311
4312         Consequently, the libnm-glib API has been reworked to match this arrangement,
4313         with the VPNManager object removed, and the NMVPNConnection objects now
4314         being subclasses of NMActiveConnection.
4315
4316 2008-03-25  Dan Williams  <dcbw@redhat.com>
4317
4318         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4319
4320         * initscript/Arch/networkmanager.in
4321           initscript/Arch/networkmanager-dispatcher.in
4322                 - Updates for Arch Linux (gnome.org #523701)
4323
4324 2008-03-25  Dan Williams  <dcbw@redhat.com>
4325
4326         * libnm-glib/nm-ip4-config.c
4327           libnm-glib/nm-active-connection.c
4328           libnm-glib/nm-access-point.c
4329                 - Use nm_object_queue_notify() instead of g_object_notify()
4330
4331         * libnm-glib/nm-device.c
4332                 - (demarshal_ip4_config): distinguish between successful but missing
4333                         ip4-config request, and unsuccessful and missing ip4-config request
4334                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4335                         path
4336                 - Use nm_object_queue_notify() instead of g_object_notify()
4337
4338         * libnm-glib/nm-device-802-11-wireless.c
4339                 - (demarshal_active_ap): distinguish between successfull but missing
4340                         active-ap request, and unsuccessful and missing active-ap request
4341                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4342                         code
4343                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4344                         for the NMClient to notify the device that wireless is disabled,
4345                         and therefore to clear the AP list and active AP
4346                 - Use nm_object_queue_notify() instead of g_object_notify()
4347
4348         * libnm-glib/nm-client.c
4349                 - (poke_wireless_devices_with_rf_status): new function
4350                 - (update_wireless_status): notify wireless devices of the rfkill status
4351                         so they can clean up if needed
4352                 - Use nm_object_queue_notify() instead of g_object_notify()
4353
4354 2008-03-25  Dan Williams  <dcbw@redhat.com>
4355
4356         * libnm-glib/nm-object.c
4357           libnm-glib/nm-object-private.h
4358                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4359                         signals to an idle handler
4360                 - (nm_object_get_property): add a timeout to the D-Bus method call
4361
4362 2008-03-25  Dan Williams  <dcbw@redhat.com>
4363
4364         * introspection/nm-device-cdma.xml
4365           introspection/nm-device-gsm.xml
4366           introspection/Makefile.am
4367           introspection/all.xml
4368                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4369
4370         * src/nm-gsm-device.h
4371           src/nm-gsm-device.c
4372           src/nm-cdma-device.h
4373           src/nm-cdma-device.c
4374           src/Makefile.am
4375                 - Implement PropertiesChanged signals
4376
4377         * libnm-glib/nm-cdma-device.c
4378           libnm-glib/nm-cdma-device.c
4379                 - Attach to PropertiesChanged signals
4380
4381 2008-03-24  Dan Williams  <dcbw@redhat.com>
4382
4383         * libnm-glib/nm-client.c
4384                 - (client_device_added_proxy): add new devices to the internal device
4385                         list so they appear to clients
4386
4387 2008-03-24  Dan Williams  <dcbw@redhat.com>
4388
4389         Massive fixup of libnm-glib to:
4390         a) have all objects (with the exception of VPN) cache their properties and
4391                 update them asynchronously on PropertiesChanged signals from NM
4392         b) return internal const data for most attributes/properties instead of
4393                 allocated values that the caller must free
4394         c) cache wrapped objects such that a given D-Bus path will always map to the
4395                 same GObject returned by libnm-glib
4396         d) remove a few signals and move them to GObject property notifications
4397         e) match recent NM D-Bus API changes for activation/deactivation
4398         f) remove some private functions from libnm-glib headers
4399
4400 2008-03-20  Dan Williams  <dcbw@redhat.com>
4401
4402         * src/nm-manager.c
4403                 - (nm_manager_update_state, manager_device_state_changed,
4404                    nm_manager_activate_device, connection_added_default_handler,
4405                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4406                         queue PropertyChanged singals when the active connections change
4407
4408 2008-03-20  Dan Williams  <dcbw@redhat.com>
4409
4410         * introspection/nm-manager.xml
4411           introspection/nm-manager-client.xml
4412                 - (ActivateConnection): return the object path of the active connection
4413                         on success
4414                 - (GetActiveConnections): remove
4415                 - (DeactivateConnection): new function; deactivate a currently active
4416                         connection
4417                 - Add an ActiveConnections property which returns an array of
4418                         active connection object paths
4419
4420         * introspection/nm-device.xml
4421                 - (Deactivate): remove
4422
4423         * introspection/all.xml
4424                 - Add ActiveConnection introspection
4425
4426         * introspection/nm-active-connection.xml
4427                 - Add the ActiveConnection object
4428
4429         * include/NetworkManager.h
4430                 - Add the Connection.Active D-Bus interface
4431
4432         * src/nm-device-interface.c
4433                 - (impl_device_deactivate): remove
4434
4435         * src/nm-activation-request.c
4436           src/nm-activation-request.c
4437           src/Makefile.am
4438                 - Implement the Connection.Active D-Bus interface
4439
4440         * src/nm-manager.c
4441                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4442                 - (nm_manager_activate_device): return the active connection path
4443                 - (connection_added_default_handler, impl_manager_activate_connection):
4444                         return the active connection to the caller
4445                 - (add_one_connection_element, impl_manager_get_active_connections):
4446                         remove
4447                 - (impl_manager_deactivate_connection): new function; deactivate an
4448                         active connection
4449
4450         * libnm-glib/nm-device.c
4451           libnm-glib/nm-device.h
4452                 - Remove Deactivate() function
4453
4454 2008-03-19  Dan Williams  <dcbw@redhat.com>
4455
4456         * introspection/nm-manager.xml
4457           introspection/nm-manager-client.xml
4458                 - Rename the ActivateDevice method to ActivateConnection to better
4459                         reflect it's usage; it's arguments get reordered a bit too
4460                 - Convert GetActiveConnections method return from a struct to a dict
4461
4462         * include/NetworkManager.h
4463                 - Define the dict keys for return value of GetActiveConnections
4464
4465         * src/nm-manager.c
4466                 - impl_manager_activate_device -> impl_manager_activate_connection
4467                 - (add_one_connection_element): return a populated hash table, not
4468                         a structure
4469
4470         * libnm-glib/nm-client.c
4471           libnm-glib/nm-client.h
4472                 - nm_client_activate_device -> nm_client_activate_connection
4473                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4474                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4475                         instead of the custom structures.  Each element of the returned list
4476                         must be freed with nm_client_free_active_connections_element()
4477
4478 2008-03-18  Dan Williams  <dcbw@redhat.com>
4479
4480         * system-settings/plugins/ifcfg-fedora/parser.c
4481           system-settings/plugins/ifcfg-fedora/parser.h
4482           system-settings/plugins/ifcfg-fedora/plugin.c
4483                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4484                         profiles.  DNS servers and searches must now be stored in the ifcfg
4485                         files themselves
4486
4487 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4488
4489         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4490         print out username and password, it's supposed to be a secret.
4491
4492         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4493         request and set the device state accordingly.
4494
4495 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4496
4497         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4498
4499         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4500
4501 2008-03-18  Dan Williams  <dcbw@redhat.com>
4502
4503         * src/vpn-manager/nm-vpn-connection.c
4504                 - (get_secrets_cb): handle new GetSecrets return format
4505
4506 2008-03-18  Dan Williams  <dcbw@redhat.com>
4507
4508         Adapt system settings service for split 802.1x.
4509
4510         * system-settings/src/nm-system-config-interface.h
4511                 - clarify return value of get_secrets()
4512
4513         * system-settings/src/dbus-settings.c
4514                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4515                 - (check_for_secrets): check if there actually secrets returned by a
4516                         plugin
4517                 - (exported_connection_get_secrets): just return the plugin-returned
4518                         hash of settings' secrets if it looks valid
4519
4520         * system-settings/plugins/ifcfg-fedora/plugin.c
4521                 - (get_secrets): add split secrets with correct format to reply hash
4522
4523         * system-settings/plugins/ifcfg-fedora/parser.c
4524           system-settings/plugins/ifcfg-fedora/parser.h
4525                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4526                    connection_data_free, connection_data_add): keep secrets for
4527                         different settings in different hashes
4528
4529 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4530
4531         Clean up activating device deactivation.
4532
4533         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4534         should be done whether the device activation gets cancelled or the device
4535         is just getting deactivated.
4536         (nm_device_activation_cancel): Remove.
4537         (nm_device_deactivate_quickly): Handle the case where device is activating.
4538
4539         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4540         It does the exact same thing as real_deactivate_quickly().
4541
4542 2008-03-17  Dan Williams  <dcbw@redhat.com>
4543
4544         Split the 802.1x bits out of the wireless-security setting so they are
4545         generalized enough for wired 802.1x to use too.
4546
4547         * introspection/nm-exported-connection.xml
4548                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4549                         of just a hash of the secrets for one setting
4550
4551         * libnm-util/nm-setting-wireless-security.c
4552           libnm-util/nm-setting-wireless-security.h
4553                 - Remove 802.1x-specific stuff
4554                 - Added leap-username and leap-password properties for old-school LEAP
4555
4556         * src/nm-device.c
4557           src/nm-device.h
4558                 - (connection_secrets_updated_cb): take a list of updated settings names,
4559                         not just one
4560
4561         * src/supplicant-manager/nm-supplicant-config.c
4562           src/supplicant-manager/nm-supplicant-config.h
4563                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4564                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4565                         to nm_supplicant_config_add_setting_8021x()
4566                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4567                         the supplicant config
4568
4569         * src/nm-device-802-11-wireless.c
4570                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4571                 - (real_connection_secrets_updated): take a list of updated settings
4572                         names, not just one
4573
4574         * src/nm-device-802-3-ethernet.c
4575           src/nm-cdma-device.c
4576           src/nm-gsm-device.c
4577                 - (real_connection_secrets_updated_cb): take a list of updated settings
4578                         names, not just one
4579
4580         * src/nm-activation-request.c
4581           src/nm-activation-request.h
4582                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4583                         now passes a list of updated settings names, not just one
4584                 - (update_one_setting): new function; handle one updated setting
4585                 - (get_secrets_cb): handle multiple settings returned from the
4586                         settings service; have to be careful of ordering here as there are
4587                         some dependencies between settings (ex. wireless-security and 802.1x
4588                         in some cases)
4589
4590         * src/marshallers/nm-marshal.list
4591                 - new marshaller for connection-secrets-updated signal
4592
4593         * libnm-util/nm-setting-8021x.c
4594                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4595                         methods
4596                 - (verify): a valid 'eap' property is now required
4597
4598         * libnm-util/nm-connection.c
4599                 - (register_default_settings): add priorities to settings; there are
4600                         some dependencies between settings, and during the need_secrets
4601                         calls this priority needs to be respected.  For example, only the
4602                         wireless-security setting knows whether or not the connection is
4603                         going to use 802.1x or now, so it must be asked for secrets before
4604                         any existing 802.1x setting is
4605                 - (nm_connection_lookup_setting_type): expose
4606
4607         * libnm-util/nm-setting-wireless.c
4608                 - (verify): should verify even if all_settings is NULL; otherwise won't
4609                         catch the case where there is missing security
4610
4611         * libnm-util/nm-setting-wireless-security.c
4612                 - Remove everything to do with 802.1x
4613                 - Add old-school LEAP specific properties for username and password
4614                 - (need_secrets): rework LEAP secrets checking
4615                 - (verify): rework for LEAP and 802.1x verification
4616
4617 2008-03-17  Dan Williams  <dcbw@redhat.com>
4618
4619         * src/NetworkManagerPolicy.c
4620                 - (auto_activate_device): always remove the current activation check
4621                         from the pending activation list, otherwise when the policy gets
4622                         destroyed on NM exit it will attempt to free the already freed
4623                         activation check
4624
4625 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4626
4627         * src/backends/NetworkManagerSlackware.c 
4628         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4629
4630         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4631
4632 2008-03-14  Dan Williams  <dcbw@redhat.com>
4633
4634         * src/nm-manager.c
4635                 - (nm_device_interface_get_iface): g_object_get() will return an
4636                         allocated value, so this function must not return const
4637                 - (nm_device_interface_activate): free returned iface
4638
4639 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4640
4641         * libnm-util/Makefile.am: Add new files to build.
4642
4643         * libnm-util/nm-connection.c: Register NMSetting8021x.
4644
4645         * libnm-util/nm-setting-8021x.c
4646         * libnm-util/nm-setting-8021x.h: Implement.
4647
4648 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4649
4650         * libnm-util/Makefile.am: Add new files to build.
4651
4652         * libnm-util/nm-connection.c: Register NMSetting8021x.
4653
4654         * libnm-util/nm-setting-8021x.c
4655         * libnm-util/nm-setting-8021x.h: Implement.
4656
4657 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4658
4659         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4660         data.
4661
4662 2008-03-14  Dan Williams  <dcbw@redhat.com>
4663
4664         * include/wireless-helper.h
4665           include/Makefile.am
4666                 - One place for all the junk needed for #including wireless.h
4667
4668         * test/nm-tool.c
4669           src/NetworkManagerAP.c
4670           src/wpa.c
4671           src/Makefile.am
4672           libnm-util/nm-utils.c
4673           libnm-util/nm-setting-wireless.c
4674           libnm-glib/nm-device-802-11-wireless.c
4675           libnm-glib/nm-access-point.c
4676           libnm-glib/libnm-glib-test.c
4677                 - include wireless-helper.h, not iwlib.h
4678
4679         * configure.in
4680                 - Don't need libiw really, just need to check for wireless.h
4681
4682         * src/kernel-types.h
4683                 - Remove; used types moved into wpa.c
4684
4685         * src/nm-device-802-11-wireless.c
4686                 - (nm_device_802_11_wireless_update_signal_strength,
4687                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4688                    nm_device_802_11_wireless_set_mode,
4689                    nm_device_802_11_wireless_get_frequency,
4690                    nm_device_802_11_wireless_get_ssid,
4691                    nm_device_802_11_wireless_set_ssid,
4692                    nm_device_802_11_wireless_get_bitrate,
4693                    nm_device_802_11_wireless_get_bssid,
4694                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4695                         instead of iwlib functions
4696
4697 2008-03-14  Dan Williams  <dcbw@redhat.com>
4698
4699         * src/ppp-manager/nm-ppp-manager.c
4700                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4701                         should only take the DBusGMethodInvocation argument, not user/pass
4702                         too.  With dbus-glib, async functions only take 2 C arguments since
4703                         the real dbus method arguments get passed back with
4704                         dbus_g_method_return()
4705
4706 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4707
4708         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4709         Adapt the changes of NMSettingIP4Config.
4710
4711 2008-03-13  Dan Williams  <dcbw@redhat.com>
4712
4713         * src/NetworkManagerUtils.c
4714           src/NetworkManagerUtils.h
4715                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4716
4717         * src/NetworkManagerAP.c
4718           src/nm-device-802-11-wireless.c
4719           src/nm-device-802-3-ethernet.c
4720                 - s/iw_ether_ntop/nm_ether_ntop/g
4721
4722 2008-03-13  Dan Williams  <dcbw@redhat.com>
4723
4724         * src/NetworkManagerPolicy.c
4725                 - (update_routing_and_dns): never set the default route through an
4726                         IPv4LL addressed device
4727
4728 2008-03-13  Dan Williams  <dcbw@redhat.com>
4729
4730         * NetworkManagerUtils.c
4731           NetworkManagerUtils.h
4732                 - Remove NMSock stuff
4733                 - Remove the completion stuff
4734
4735         * nm-device.c
4736           nm-device.h
4737           NetworkManager.c
4738           NetworkManagerSystem.c
4739           autoip.c
4740           nm-device-802-11-wireless.c
4741           nm-device-802-3-ethernet.c
4742                 - Remove NMSock and completion stuff
4743                 - Remove nm_ioctl_info()
4744
4745 2008-03-12  Dan Williams  <dcbw@redhat.com>
4746
4747         * src/nm-device.c
4748                 - (merge_ip4_config): avoid duplicates
4749
4750 2008-03-12  Dan Williams  <dcbw@redhat.com>
4751
4752         * libnm-util/nm-setting-ip4-config.c
4753           libnm-util/nm-setting-ip4-config.h
4754                 - Remove 'manual' and 'autoip' properties
4755                 - Add 'method' property
4756                 - (verify): fix verification with 'method'
4757                 - (finalize): free 'method'
4758                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4759                         up for 'method'
4760
4761         * src/nm-device.c
4762                 - (real_act_stage3_ip_config_start): check IP4Config method
4763                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4764                         the future
4765                 - (merge_ip4_config): IP settings are valid with DHCP too
4766                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4767                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4768
4769         * src/nm-device-802-11-wireless.c
4770                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4771                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4772                         only on demand
4773
4774         * system-settings/plugins/ifcfg-fedora/parser.c
4775           system-settings/plugins/ifcfg-suse/parser.c
4776                 - (make_ip4_setting): fix up for 'method'
4777
4778 2008-03-12  Dan Williams  <dcbw@redhat.com>
4779
4780         * system-settings/plugins/ifcfg-fedora/parser.c
4781           system-settings/plugins/ifcfg-fedora/parser.h
4782                 - (get_ifcfg_name): ignore more file suffixes
4783                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4784
4785 2008-03-12  Dan Williams  <dcbw@redhat.com>
4786
4787         * configure.in
4788                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4789
4790 2008-03-12  Dan Williams  <dcbw@redhat.com>
4791
4792         * system-settings/plugins/ifcfg-fedora/plugin.c
4793                 - (write_auto_wired_connection): new function; write out an auto
4794                         wired connection file since the applet isn't doing it any more
4795                 - (reload_all_connections): write out the auto wired connection file
4796                         if there aren't any wired connections already
4797                 - (init): don't leak a GError
4798
4799 2008-03-12  Dan Williams  <dcbw@redhat.com>
4800
4801         * src/nm-device-interface.c
4802                 - (nm_device_interface_activate): print the ID of the connection
4803                         that's about to be activated
4804
4805 2008-03-12  Dan Williams  <dcbw@redhat.com>
4806
4807         Harmonize the 802.11 bitrate API
4808
4809         * introspection/nm-access-point.xml
4810                 - 'Rate' -> 'MaxBitrate'; clarify units
4811
4812         * introspection/nm-device-802-11-wireless.xml
4813                 - Clarify units of 'Bitrate'
4814
4815         * src/NetworkManagerAP.c
4816           src/NetworkManagerAP.h
4817                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4818                         property to 'max-bitrate'
4819                 - (foreach_property_cb): convert rate to Kb/s
4820
4821         * src/nm-device-802-11-wireless.c
4822                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4823
4824         * libnm-glib/nm-access-point.c
4825           libnm-glib/nm-access-point.h
4826                 - 'rate' -> 'max-bitrate'
4827
4828         * test/nm-tool.c
4829           libnm-glib/libnm-glib-test.c
4830                 - Fix up for these changes
4831
4832 2008-03-12  Dan Williams  <dcbw@redhat.com>
4833
4834         * src/nm-device.c
4835                 - (nm_device_set_ip4_config): don't send property notifications when
4836                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4837                         which dbus-glib can't parse because the value is NULL, which isn't
4838                         a legal object path.  Setting the IP4 config to NULL is only
4839                         valid when deactivating a device anyway, so the device state change
4840                         will alert listeners that the ip4 config is invalid.
4841
4842 2008-03-12  Dan Williams  <dcbw@redhat.com>
4843
4844         * src/nm-properties-changed-signal.c
4845                 - (add_to_string): better handling of NULL objects
4846
4847 2008-03-12  Dan Williams  <dcbw@redhat.com>
4848
4849         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4850         convert the libnm-glib NMDevice8023Ethernet to cached properties
4851
4852         * introspection/nm-device-802-3-ethernet.xml
4853                 - New 'Carrier' property
4854                 - New 'PropertiesChanged' signal
4855
4856         * introspection/nm-device.xml
4857                 - Remove 'Carrier' property
4858                 - Remove 'CarrierChanged' signal
4859
4860         * src/nm-device-interface.c
4861           src/nm-device-interface.h
4862                 - (nm_device_interface_init): remove 'carrier' property and
4863                         'carrier-changed' signal
4864
4865         * src/nm-device.c
4866           src/nm-device.h
4867                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4868                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4869                         the link here; wired device will handle that
4870                 - (handle_dhcp_lease_change): don't bother updating link here
4871                 - (get_property, nm_device_class_init): remove carrier property
4872
4873         * src/nm-device-802-11-wireless.c
4874                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4875                         real_update_link(); wireless devices don't use carrier at all
4876                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4877                    supplicant_iface_connection_state_cb_handler,
4878                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4879
4880         * src/nm-device-802-3-ethernet.c
4881           src/nm-device-802-3-ethernet.h
4882                 - (nm_device_802_3_ethernet_carrier_on,
4883                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4884                         instead of nm_device_set_carrier()
4885                 - (device_state_changed): update link from sysfs on activation;
4886                         replaces real_update_link()
4887                 - (real_update_link): remove, replaced by device_state_changed()
4888                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4889                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4890                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4891                         new get_carrier function
4892                 - (get_property): add 'carrier' property
4893                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4894                         hook into property-changed signal helper
4895
4896         * src/NetworkManagerPolicy.c
4897                 - (device_carrier_changed): will only ever be called with a wired device
4898                 - (device_added): only hook up to carrier-changed for wired devices
4899
4900         * libnm-glib/nm-device.c
4901           libnm-glib/nm-device.h
4902                 - (constructor, nm_device_class_init): remove carrier-changed signal
4903                 - (device_carrier_changed_proxy): remove; unused
4904                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4905
4906         * libnm-glib/nm-device-802-3-ethernet.c
4907           libnm-glib/nm-device-802-3-ethernet.h
4908                 - Convert to cached properties like AP and Wireless objects
4909                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4910                         instead of a 'char *', return value should not be freed
4911                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4912                 - (constructor): hook into properties-changed helper
4913                 - (set_property, get_property): new functions
4914                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4915
4916         * test/nm-tool.c
4917                 - (detail_device): strdup the wired hardware address too since it's
4918                         cached now
4919
4920         * libnm-glib/libnm-glib-test.c
4921                 - (dump_wired): strdup the wired hardware address too since it's
4922                         cached now
4923
4924 2008-03-12  Dan Williams  <dcbw@redhat.com>
4925
4926         * libnm-util/nm-setting-ip4-config.c
4927           libnm-util/nm-setting-ip4-config.h
4928                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4929                         the 'autoip' property from the spec
4930
4931 2008-03-11  Dan Williams  <dcbw@redhat.com>
4932
4933         * src/backends/NetworkManagerGeneric.c
4934           src/backends/NetworkManagerGeneric.h
4935                 - (nm_generic_device_get_use_dhcp): remove
4936
4937 2008-03-11  Dan Williams  <dcbw@redhat.com>
4938
4939         * src/nm-device.c
4940                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4941                         already in nm_device_set_ip4_config()
4942                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4943                         due to a DHCP rebind fails
4944                 - (nm_device_set_ip4_config): send property notifications when the
4945                         ip4 config changes
4946                 - (get_property): only report IP4Config property during valid states
4947
4948         * src/NetworkManagerPolicy.c
4949                 - (update_routing_and_dns): ignore devices that don't have an ip4
4950                         config; add parameter 'force_update' to allow callers to specify
4951                         that changes should be made even if the default device doesn't change
4952                 - (device_ip4_config_changed): update DNS and routing when the device's
4953                         IP4Config changes, like for DHCP updates
4954                 - (device_added): listen for ip4-config property changes
4955
4956 2008-03-11  Dan Williams  <dcbw@redhat.com>
4957
4958         Fix address handling as a result of DHCP rebind/renew/reboot.
4959
4960         * src/NetworkManagerSystem.c
4961                 - (check_one_address): delete an address if it doesn't match a given
4962                         one for the same interface
4963                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4964                         be smarter about flushing addresses (only flush ones that don't
4965                         match the one we're about to apply)
4966
4967         * src/backends/NetworkManagerDebian.c
4968           src/backends/NetworkManagerSuSE.c
4969           src/backends/NetworkManagerArch.c
4970           src/backends/NetworkManagerSlackware.c
4971           src/backends/NetworkManagerRedHat.c
4972           src/backends/NetworkManagerPaldo.c
4973           src/backends/NetworkManagerFrugalware.c
4974           src/backends/NetworkManagerGentoo.c
4975                 - (nm_system_delete_default_route): remove
4976
4977         * src/backends/NetworkManagerGeneric.c
4978           src/backends/NetworkManagerGeneric.h
4979                 - (nm_generic_enable_loopback): fix the loopback device label
4980                 - (nm_generic_delete_default_route): remove; no longer used
4981
4982 2008-03-11  Dan Williams  <dcbw@redhat.com>
4983
4984         * src/nm-device-interface.h
4985                 - Delimit property name words with '-', otherwise g_object_notify()
4986                         doesn't work the way we expect
4987
4988 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4989
4990         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4991
4992 2008-03-11  Dan Williams  <dcbw@redhat.com>
4993
4994         * src/NetworkManagerPolicy.c
4995                 - (update_routing_and_dns): don't change anything if the default device
4996                         hasn't changed; print something out when switching the default route
4997                         and DNS
4998
4999 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5000
5001         Implement PPPoE.
5002
5003         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5004         setting. Use "nic-$eth".
5005
5006         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5007         the device is activating here to fix a race condition.
5008
5009         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5010
5011         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5012         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5013         (nm_ppp_manager_start): Take activation request instead of connection, we might
5014         need it for asking secrets.
5015         (nm_ppp_manager_update_secrets): Implement.
5016
5017         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5018         ppp manager start. It might be needed for asking secrets.
5019
5020         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5021         (ppp_state_changed): Handle pppd daemon disappearing.
5022         (pppoe_stage2_config): Send activation request to ppp manager start.
5023
5024         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5025
5026         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5027         username and password.
5028         
5029 2008-03-10  Dan Williams  <dcbw@redhat.com>
5030
5031         * src/nm-device.c
5032                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5033                         response to a DHCP lease change
5034                 - (dhcp_state_changed): handle DHCP lease changes while activated
5035                 - (nm_device_set_ip4_config): remove a previously set named config
5036                         when setting an ip4 config
5037
5038 2008-03-10  Dan Williams  <dcbw@redhat.com>
5039
5040         * src/nm-serial-device.c
5041                 - (nm_serial_device_send_command): report errno on error
5042                 - (get_reply_got_data): limit the size of the overall buffer
5043                 - (wait_for_reply_info_destroy): destroy result string
5044                 - (wait_for_reply_got_data): append received data to an overall buffer
5045                         until timeout, filled buffer, or error instead of keeping a per-call
5046                         buffer.  Some devices send data slowly enough that this function
5047                         gets called multiple times for the same command stream.
5048                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5049                         wait_for_reply_got_data() here
5050
5051 2008-03-10  Dan Williams  <dcbw@redhat.com>
5052
5053         * src/nm-cdma-device.c
5054                 - (do_dial, init_modem): handle errors from
5055                         nm_serial_device_send_command_string()
5056
5057         * src/nm-gsm-device.c
5058                 - (do_dial, manual_registration, automatic_registration_get_network,
5059                    automatic_registration, enter_pin, check_pin, init_modem): handle
5060                         errors from nm_serial_device_send_command_string()
5061
5062 2008-03-10  Dan Williams  <dcbw@redhat.com>
5063
5064         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5065
5066         * src/named-manager/nm-named-manager.c
5067                 - (compute_searches): prefer searches before domains
5068                 - (compute_domain): new function
5069                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5070                 - (merge_one_ip4_config): if there are no searches in the source config,
5071                         merge domains of the source config into the target config
5072                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5073
5074 2008-03-10  Dan Williams  <dcbw@redhat.com>
5075
5076         * src/nm-serial-device.c
5077                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5078                 - (wait_for_reply_got_data): try to handle slower serial devices where
5079                         the reply is broken up into multiple reads by concatenating replies
5080                         together until either an error is received or the search string is
5081                         found
5082
5083 2008-03-10  Dan Williams  <dcbw@redhat.com>
5084
5085         * src/nm-device.c
5086                 - (nm_device_bring_down): deactivate the device if it's activating too,
5087                         not just if it's already activated.  This makes sure that everything
5088                         from an association attempt is cleaned up (like DHCP for example)
5089
5090 2008-03-10  Dan Williams  <dcbw@redhat.com>
5091
5092         * src/nm-serial-device.c
5093                 - (config_fd): report error from TCSETA
5094                 - (nm_serial_device_open): fail when config_fd() fails
5095
5096 2008-03-10  Dan Williams  <dcbw@redhat.com>
5097
5098         * src/nm-ip4-config.c
5099                 - (nm_ip4_config_init): allocate searches list
5100                 - (finalize): free searches list
5101
5102 2008-03-09  Dan Williams  <dcbw@redhat.com>
5103
5104         Patch from Bas Zoetekouw <bas@debian.org>
5105
5106         * src/dhcp-manager/nm-dhcp-manager.c
5107                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5108
5109 2008-03-09  Dan Williams  <dcbw@redhat.com>
5110
5111         Patch from Bas Zoetekouw <bas@debian.org>
5112
5113         * src/nm-ip4-config.c
5114           src/nm-ip4-config.h
5115                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5116                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5117                         domains.  'searches' is the correct way to store multiple search
5118                         domains, whereas 'domains' is really just supposed to store one
5119                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5120                         search domains to the client.
5121                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5122
5123 2008-03-09  Dan Williams  <dcbw@redhat.com>
5124
5125         * src/dhcp-manager/nm-dhcp-manager.c
5126                 - (dhclient_run): send interface-specific config files to dhclient
5127
5128 2008-03-07  Dan Williams  <dcbw@redhat.com>
5129
5130         * system-settings/plugins/ifcfg-fedora/parser.c
5131                 - (is_wireless_device): new function; test a device for wireless
5132                         extensions
5133                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5134                         test the device for wireless extensions to determine the type
5135
5136 2008-03-07  Dan Williams  <dcbw@redhat.com>
5137
5138         Change manager's StateChange signal to StateChanged for consistency.
5139
5140         * introspection/nm-manager.xml
5141                 - Add 'StateChanged' signal
5142                 - Move 'StateChange' down to the deprecated section
5143
5144         * src/nm-hal-manager.c
5145                 - (nm_hal_manager_new): connect to 'state-changed' instead
5146
5147         * src/NetworkManagerPolicy.c
5148                 - (nm_policy_new): connect to 'state-changed' instead
5149
5150         * src/nm-manager.c
5151           src/nm-manager.h
5152                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5153                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5154                         of 'state-change'
5155
5156         * libnm-glib/nm-client.c
5157           libnm-glib/nm-client.h
5158                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5159                         track and proxy 'state-changed' instead of 'state-change'
5160
5161 2008-03-07  Dan Williams  <dcbw@redhat.com>
5162
5163         First pass of multiple active device support.  Expect bugs.
5164
5165         * src/nm-ip4-config.c
5166           src/nm-ip4-config.h
5167                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5168                         there are better ways to do this in the named manager
5169
5170         * src/nm-device.c
5171           src/nm-device.h
5172                 - (nm_device_can_activate): return whether the device can activate a
5173                         connection right now; taking into account things like carrier state
5174                         and rfkill state
5175                 - (nm_device_get_best_auto_connection): renamed from
5176                         nm_device_get_best_connection
5177                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5178                         device subclasses themselves, so that each device can override the
5179                         MTU from it's NMSetting subclass if needed
5180                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5181                         in NetworkManagerSystem.c, not here
5182
5183         * src/named-manager/nm-named-manager.c
5184           src/named-manager/nm-named-manager.h
5185                 - (nm_named_manager_name_owner_changed,
5186                    nm_named_manager_dbus_connection_changed): fix for changes to
5187                         rewrite_resolv_conf()
5188                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5189                         from parameter list
5190                 - (merge_one_ip4_config): new function; merge ip4 configs together
5191                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5192                         ip4 configs; the VPN config takes precedence, then the best
5193                         device config, then the rest of the configs
5194                 - (get_domain_for_config): take the NMNamedManager as an argument
5195                         to check whether the config is the VPN config
5196                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5197                         attribute from ip4 configs
5198                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5199                 - (remove_ip4_config_from_named): fix for changes to
5200                         get_domain_for_config()
5201                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5202                         based on its type; callers must pass in the type now
5203                 - (get_last_default_domain): remove, unused
5204                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5205
5206         * src/nm-device-802-11-wireless.c
5207                 - (real_can_activate): new function
5208                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5209                 - (real_act_stage4_get_ip4_config): handle MTU override
5210
5211         * src/nm-device-802-3-ethernet.c
5212                 - (real_can_activate): new function
5213                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5214                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5215
5216         * src/vpn-manager/nm-vpn-connection.c
5217                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5218                         attribute on the ip4 config
5219
5220         * src/NetworkManagerPolicy.c
5221                 - (nm_policy_auto_get_best_device): remove
5222                 - (nm_policy_device_change_check): remove
5223                 - (update_default_route): new function; set the default route via
5224                         the specified device
5225                 - (get_device_priority): new function; return the priority number of
5226                         a device type WRT which one should have the default route.  Order is
5227                         (highest to lowest)  wired, wireless, GSM, CDMA.
5228                 - (update_routing_and_dns): new function; determine which device should
5229                         have the default route, then update the routing table and DNS
5230                 - (maybe_auto_activate_device): new function; if a device is now
5231                         available for activation, find out what connection it would like to
5232                         activate and do it
5233                 - (schedule_activate_check): new function; if a device can be activated
5234                         now, schedule the activation.  Each device may have only one
5235                         pending activation at a given time.
5236                 - (device_state_changed): if activation was canceled, try again,
5237                         possibly with another connection; if the device was activated,
5238                         update routing and DNS; if the device was deactivated, try again
5239                         with another connection
5240                 - (device_carrier_changed): if there is no carrier, deactivate the
5241                         device; otherwise schedule an activation check for the device
5242                 - (wireless_networks_changed): schedule an activation check for the
5243                         device
5244                 - (device_added): keep track of the signal handler IDs so they can
5245                         be removed when the device goes away
5246                 - (device_removed): remove any signal handlers that might be attached
5247                         to the device; update routing and DNS
5248                 - (schedule_activate_all): new function
5249                 - (connections_added, connection_added, connection_updated): when
5250                         connections change, schedule all devices for an activation check
5251                 - (connection_removed): when a device is deactivated because its
5252                         connection was removed, schedule another activation check for it
5253                 - (nm_policy_destroy): destroy pending activations and disconnect
5254                         all device signal handlers
5255
5256         * src/nm-manager.c
5257                 - (nm_manager_activate_device): if the device was already actived,
5258                         deactivate it
5259                 - (deactivate_old_device): remove
5260                 - (connection_added_default_handler, impl_manager_activate_device):
5261                         don't deactivate other devices when activating this one
5262
5263         * src/backends/NetworkManagerGentoo.c
5264           src/backends/NetworkManagerFrugalware.c
5265           src/backends/NetworkManagerPaldo.c
5266           src/backends/NetworkManagerRedHat.c
5267           src/backends/NetworkManagerSlackware.c
5268           src/backends/NetworkManagerArch.c
5269           src/backends/NetworkManagerSuSE.c
5270           src/backends/NetworkManagerDebian.c
5271                 - (nm_system_get_mtu): remove; MTU should be provided through the
5272                         distro's system settings service plugin instead
5273                 - (nm_system_device_add_default_route_via_device): remove
5274                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5275                 - (nm_system_device_replace_default_route): new function; call
5276                         generic implementation
5277
5278         * src/backends/NetworkManagerGeneric.c
5279           src/backends/NetworkManagerGeneric.h
5280                 - (nm_generic_device_add_default_route_via_device,
5281                    nm_generic_device_add_default_route_via_device_with_iface): remove
5282                 - (nm_generic_device_replace_default_route): replace the default route
5283                         with the given route via some gateway
5284
5285         * src/NetworkManagerSystem.c
5286           src/NetworkManagerSystem.h
5287                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5288                         to routing and DNS; but set the MTU here
5289                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5290                         ip_iface of the active device; use the standard MTU setting function
5291                 - (nm_system_set_mtu): remove
5292                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5293
5294 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5295
5296         Rework the interaction between ppp manager and pppd plugin. Register a well
5297         known DBUS service in manager and let the plugin call it's methods instead
5298         of listening plugin's signals.
5299
5300         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5301         of emitting signals.
5302
5303         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5304
5305         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5306
5307         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5308         nm_ppp_manager_start().
5309
5310         * introspection/nm-ppp-manager.xml: New file.
5311
5312         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5313         the case correctly where driver is trying to send -1 for the speed, which gets
5314         casted to u16 and thus is always > 0.
5315
5316 2008-03-07  Dan Williams  <dcbw@redhat.com>
5317
5318         * src/nm-hal-manager.c
5319                 - (nm_get_device_driver_name): use net.originating_device first, fall
5320                         back to physical device.  HAL has deprecated physical_device.
5321
5322         * libnm-glib/nm-device.c
5323                 - (get_product_and_vendor): use net.originating_device first, fall
5324                         back to physical device.  HAL has deprecated physical_device.
5325                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5326
5327 2008-03-07  Dan Williams  <dcbw@redhat.com>
5328
5329         * src/nm-netlink.c
5330                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5331                         last commit; fix that
5332                 - (get_link_cache): print error string
5333
5334 2008-03-07  Dan Williams  <dcbw@redhat.com>
5335
5336         * src/nm-netlink.c
5337                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5338                         don't need this hack any more (Benoit Boissinot)
5339
5340 2008-03-06  Dan Williams  <dcbw@redhat.com>
5341
5342         * autogen.sh
5343                 - Die gnome-common, die
5344
5345 2008-03-04  Dan Williams  <dcbw@redhat.com>
5346
5347         Patch from Michael Biebl <biebl@debian.org>
5348
5349         * NetworkManager.pc.in
5350                 - doesn't actually depend on dbus-1
5351
5352         * libnm-util/nm-utils.h
5353                 - remove unused #include <dbus/dbus.h>
5354
5355         * libnm-glib/libnm_glib.pc.in
5356                 - depends on glib and dbus-glib
5357
5358 2008-03-02  Dan Williams  <dcbw@redhat.com>
5359
5360         * src/NetworkManagerPolicy.c
5361                 - s/device_state_changed_idle_id/update_state_id/
5362
5363 2008-03-02  Dan Williams  <dcbw@redhat.com>
5364
5365         * src/nm-device.c
5366           src/nm-device.h
5367           src/nm-device-802-11-wireless.c
5368           src/nm-device-802-3-ethernet.c
5369           src/NetworkManagerPolicy.c
5370                 - s/link_active/carrier
5371                 - nm_device_set_active_link() -> nm_device_set_carrier()
5372                 - nm_device_has_active_link() -> nm_device_get_carrier()
5373
5374 2008-03-02  Dan Williams  <dcbw@redhat.com>
5375
5376         * system-settings/plugins/ifcfg-fedora/parser.c
5377                 - (make_wireless_setting): fail connection creation on missing SSID
5378
5379 2008-02-29  Dan Williams  <dcbw@redhat.com>
5380
5381         * src/NetworkManagerPolicy.c
5382                 - (nm_policy_device_change_check): ensure that a previously active
5383                         device with a system connection has a link before denying a switch
5384                         to a user connection
5385
5386 2008-02-29  Dan Williams  <dcbw@redhat.com>
5387
5388         * src/nm-device-802-11-wireless.c
5389                 - (link_timeout_cb): try again if scanning; deactivate the device when
5390                         activated if the link dies
5391                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5392                         15 seconds
5393
5394 2008-02-29  Dan Williams  <dcbw@redhat.com>
5395
5396         * src/nm-device-802-11-wireless.c
5397           src/nm-device-802-11-wireless.h
5398                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5399                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5400                 - (device_cleanup): reset the scan interval lower when the device
5401                         deactivates
5402                 - (can_scan): base decision mostly off device state, not supplicant
5403                         interface state since the supplicant interface state isn't a
5404                         great indicator of whether the device is active or not
5405                 - (request_wireless_scan): clean up; schedule the next scan here
5406                 - (schedule_scan): only back the scan interval off if a new scan
5407                         actually gets scheduled; and make scan intervals tighter when the
5408                         device is disconnected
5409                 - (supplicant_iface_state_cb_handler): fold in the bits of
5410                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5411                         interval to minimum
5412                 - (activation_success_handler): reset scan interval to something
5413                         reasonable 
5414
5415 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5416
5417         reviewed by: Steev <steev@steev.net>
5418
5419         * configure.in:
5420         * src/backends/NetworkManagerGentoo.c:
5421         (nm_system_restart_mdns_responder):
5422                 Howl is no longer a supported mDNS provider
5423
5424 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5425
5426         Get rid of a bunch of unused distro specific functions.
5427
5428 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5429
5430         Implement suse plugin for system settings daemon.
5431
5432         * system-settings/plugins/ifcfg-suse/*: Implement.
5433
5434         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5435         suse.
5436
5437         * configure.in: Check (without failing) for gio.
5438         Create ifcfg-suse plugin's Makefile.
5439
5440 2008-02-20  Dan Williams  <dcbw@redhat.com>
5441
5442         * libnm-util/nm-connection.c
5443           libnm-util/nm-connection.h
5444                 - (nm_connection_compare): accept compare flags and pass them to the
5445                         setting compare function
5446
5447         * libnm-util/nm-setting.c
5448           libnm-util/nm-setting.h
5449                 - (nm_setting_compare): accept compare flags; ignore properties that are
5450                         marked fuzzy
5451
5452         * libnm-util/nm-setting-connection.c
5453           libnm-util/nm-setting-wireless.c
5454           libnm-util/nm-setting-ppp.c
5455           libnm-util/nm-setting-wired.c
5456                 - Mark some setting properties as ignorable when doing a fuzzy compare
5457
5458         * src/nm-device.c
5459                 - (device_activation_precheck): use exact compare
5460
5461 2008-02-20  Dan Williams  <dcbw@redhat.com>
5462
5463         * src/NetworkManagerPolicy.c
5464                 - (nm_policy_device_change_check): get scope off the connection, not
5465                         using the manager helper
5466
5467         * src/nm-manager.c
5468           src/nm-manager.h
5469                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5470                 - (connection_get_settings_cb): set scope and path on connection, not
5471                         using GObject data items
5472                 - (get_connection_for_proxy): don't need to return path, since that
5473                         can be gotten from the connection
5474                 - (get_connection_for_proxy): get path off the connection, not from
5475                         parameters
5476                 - (connection_removed_cb, connection_updated_cb): don't need to get
5477                         path from get_connection_for_proxy(); get scope off the connection
5478                         instead of using GObject data items
5479                 - (connection_added_default_handler, add_one_connection_element): use
5480                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5481                 - (nm_manager_get_connection_dbus_path): remove
5482                 - (nm_manager_get_connection_scope): remove
5483
5484 2008-02-20  Dan Williams  <dcbw@redhat.com>
5485
5486         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5487                 on confusing names
5488
5489         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5490                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5491                 NMExportedConnection
5492
5493         * Internally rename NMConnectionType -> NMConnectionScope
5494
5495         * Provide default implementations of the 'get_id' and 'get_settings' methods
5496                 of NMExportedConnection
5497
5498 2008-02-15  Dan Williams  <dcbw@redhat.com>
5499
5500         * src/nm-device-802-11-wireless.c
5501                 - (device_cleanup): release the AP list here too so that the AP list
5502                         doesn't survive across suspend/resume and up/down.  There is some
5503                         room for optimization, for example blow the list away when the card
5504                         brought back up, but only if the device has only been down for a
5505                         minute or more.
5506
5507 2008-02-15  Dan Williams  <dcbw@redhat.com>
5508
5509         * src/nm-hal-manager.c
5510                 - (modem_device_creator): recognize new HAL modem capabilities
5511
5512 2008-02-12  Dan Williams  <dcbw@redhat.com>
5513
5514         * system-settings/plugins/ifcfg-fedora/plugin.c
5515                 - (watch_path): handle IN_DELETE_SELF too
5516                 - (handle_connection_changed): notify when removing a connection
5517                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5518                         case of a file moving out of the profile directory
5519
5520 2008-02-12  Dan Williams  <dcbw@redhat.com>
5521
5522         * system-settings/plugins/ifcfg-fedora/parser.c
5523                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5524
5525 2008-02-12  Dan Williams  <dcbw@redhat.com>
5526
5527         * libnm-util/nm-utils.c
5528                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5529                         just any empty array
5530
5531 2008-02-12  Dan Williams  <dcbw@redhat.com>
5532
5533         * system-settings/src/nm-system-config-interface.c
5534           system-settings/src/nm-system-config-interface.h
5535                 - (load_connections): get_connections() should now return an allocated
5536                         GSList that the system settings service will free
5537
5538         * system-settings/plugins/ifcfg-fedora/plugin.c
5539           system-settings/plugins/ifcfg-fedora/parser.h
5540           system-settings/plugins/ifcfg-fedora/parser.c
5541                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5542                         in the profile directory, handle resolv.conf file changes
5543
5544 2008-02-10  Dan Williams  <dcbw@redhat.com>
5545
5546         * src/nm-device-802-3-ethernet.c
5547                 - (real_bring_up): save the supplicant interface state signal id
5548                 - (real_bring_down): disconnect from the supplicant interface state
5549                         signal
5550
5551 2008-02-07  Dan Williams  <dcbw@redhat.com>
5552
5553         * initscript/RedHat/NetworkManager.in
5554           initscript/RedHat/NetworkManagerDispatcher.in
5555                 - Add new-style LSB init headers
5556
5557 2008-02-07  Dan Williams  <dcbw@redhat.com>
5558
5559         * system-settings/src/dbus-settings.c
5560           system-settings/src/dbus-settings.h
5561                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5562                         table of secrets
5563                 - (connection_settings_get_secrets): consolidate error returns into
5564                         one place; use the new get_secrets() plugin interface function to
5565                         get secrets from the plugin itself rather than using GObject data
5566                         magic
5567
5568         * system-settings/src/main.c
5569                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5570                    load_connections): keep a private list of the plugin-returned
5571                         connections, don't use the plugin's GSList
5572
5573         * system-settings/plugins/ifcfg-fedora/plugin.c
5574                 - (watch_path): watch the path, not the filename (duh)
5575                 - (reload_all_connections): use the direct hash/equal functions; the
5576                         ones for int aren't appropriate here
5577                 - (get_secrets, system_config_interface_init): implement the
5578                         get_secrets() function
5579                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5580                         now in the connection's ConnectionData instead of being a GObject
5581                         data property
5582                 - (handle_profile_item_changed): ifcfg file path is now in the
5583                         connection's ConnectionData instead of being a GObject data property;
5584                         be sure to copy secrets over from the new connection to the existing
5585                         connection when updating the connection's settings
5586                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5587                         file descriptor
5588
5589         * system-settings/plugins/ifcfg-fedora/parser.c
5590           system-settings/plugins/ifcfg-fedora/parser.h
5591                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5592                    connection_data_copy_secrets, connection_data_free,
5593                    connection_data_add): new functions; connection data manipulation
5594                 - (make_wireless_security_setting): stuff secrets into the
5595                         connection data, not as GObject data items; make sure to close
5596                         the keys ifcfg file
5597                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5598                         connection data to the connection
5599
5600 2008-02-07  Dan Williams  <dcbw@redhat.com>
5601
5602         * system-settings/src/nm-system-config-interface.c
5603           system-settings/src/nm-system-config-interface.h
5604                 - Add a get_secrets() interface function to retrieve secrets for a
5605                         specific setting of a specific connection.  Document the interface
5606                         a bit more too.
5607
5608 2008-02-07  Dan Williams  <dcbw@redhat.com>
5609
5610         * src/nm-device-802-11-wireless.c
5611                 - (handle_auth_or_fail): new function; consolidate device activation
5612                         failure check after a certain number of failures getting secrets
5613                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5614                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5615                         the connection if secrets were requested more than a few times
5616                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5617                         tries here; otherwise they are cleared before the IP configure
5618                         timeout, which happens with open system WEP when key is wrong
5619                 - (activation_success_handler): clear wireless secrets tries here too
5620
5621 2008-02-07  Dan Williams  <dcbw@redhat.com>
5622
5623         * src/NetworkManagerPolicy.c
5624                 - (connection_updated): clear invalid tag when connection gets updated
5625                         to allow that connection to be tried again
5626                 - (nm_policy_new): save signal ids so they can be disconnected when
5627                         the policy is destroyed
5628                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5629                         and disconnect all signals from the manager object so that none
5630                         of the policy functions gets called after the policy is destroyed
5631
5632 2008-02-06  Dan Williams  <dcbw@redhat.com>
5633
5634         * src/nm-manager.c
5635                 - (finalize): remove devices a bit earlier; clean up system settings
5636                         poke
5637                 - (nm_manager_name_owner_changed): clean up system settings poke when
5638                         the service appears, and try to restart it if it fails
5639                 - (poke_system_settings_daemon_cb): try to get the system settings
5640                         service started through D-Bus service activation
5641                 - (initial_get_connections): start the system settings daemon if it's
5642                         not already running
5643
5644 2008-02-05  Dan Williams  <dcbw@redhat.com>
5645
5646         * src/supplicant-manager/nm-supplicant-config.c
5647                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5648                         broadcast networks too
5649
5650 2008-02-04  Dan Williams  <dcbw@redhat.com>
5651
5652         * system-settings/plugins/ifcfg-fedora/parser.c
5653                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5654                         need key_mgmt set too
5655                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5656                         .bak files; ensure that an error is set whenever NULL gets returned
5657
5658 2008-02-04  Dan Williams  <dcbw@redhat.com>
5659
5660         * system-settings/src/Makefile.am
5661                 - Install D-Bus service activation file for the system settings
5662                         service
5663
5664         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5665                 - D-Bus service activation file for system settings service
5666
5667 2008-02-04  Dan Williams  <dcbw@redhat.com>
5668
5669         * system-settings/src/main.c
5670                 - (parse_config_file): parse a config file
5671                 - (main): accept --config option and read plugins from config file
5672
5673 2008-02-04  Dan Williams  <dcbw@redhat.com>
5674
5675         * system-settings/plugins/ifcfg-fedora/plugin.c
5676                 - Change reported name to 'ifcfg-fedora'
5677                 - Use IFCFG_PLUGIN_NAME
5678
5679         * system-settings/plugins/ifcfg-fedora/plugin.c
5680                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5681
5682 2008-02-04  Dan Williams  <dcbw@redhat.com>
5683
5684         * system-settings/plugins/ifcfg-fedora/parser.c
5685                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5686                 - (make_connection_setting): use get_ifcfg_name()
5687                 - (make_wireless_security_setting): handle shadow key files
5688                 - (get_one_wep_key): treat empty string as NULL
5689
5690 2008-02-04  Dan Williams  <dcbw@redhat.com>
5691
5692         * src/supplicant-manager/nm-supplicant-manager.c
5693                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5694                         glib automatically reschedule
5695                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5696                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5697                         the supplicant
5698
5699 2008-02-01  Dan Williams  <dcbw@redhat.com>
5700
5701         * src/NetworkManagerPolicy.c
5702                 - (device_state_changed): schedule a change check when a device gets
5703                         deactivated so something happens if you disconnect GSM/CDMA
5704
5705 2008-01-31  Dan Williams  <dcbw@redhat.com>
5706
5707         * src/nm-device-802-11-wireless.h
5708           src/nm-device-802-11-wireless.c
5709                 - (ap_list_get_ap_by_ssid, is_associated,
5710                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5711                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5712                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5713                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5714                         function
5715
5716 2008-01-30  Dan Williams  <dcbw@redhat.com>
5717
5718         * system-settings/plugins/ifcfg
5719         * system-settings/plugins/ifcfg-fedora
5720                 - Move the ifcfg plugin to ifcfg-fedora
5721
5722 2008-01-24  Dan Williams  <dcbw@redhat.com>
5723
5724         * libnm-glib/nm-device-802-11-wireless.c
5725                 - (get_access_point): move the "/" check here; check for invalid path
5726                         too
5727                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5728                         to get_access_point()
5729                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5730                         to send signals for non-existent access points
5731
5732 2008-01-24  Dan Williams  <dcbw@redhat.com>
5733
5734         * libnm-glib/nm-device-802-11-wireless.c
5735                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5736
5737 2008-01-23  Dan Williams  <dcbw@redhat.com>
5738
5739         * libnm-glib/libnm_glib.c
5740                 - (libnm_glib_init): make thread joinable
5741                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5742
5743 2008-01-23  Dan Williams  <dcbw@redhat.com>
5744
5745         * test/libnm_glib_test.c
5746                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5747                 - (main): set up signal handlers; call libnm_glib_shutdown
5748
5749 2008-01-21  Dan Williams  <dcbw@redhat.com>
5750
5751         * include/NetworkManager.h
5752                 - Add CDMA mobile broadband card device type
5753
5754         * src/nm-hal-manager.c
5755                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5756                         must now be tagged with 'cdma' or 'gsm' capability
5757
5758         * src/nm-cdma-device.c
5759           src/nm-cdma-device.h
5760           src/Makefile.am
5761                 - Add the CDMA mobile broadband card device class
5762
5763         * libnm-util/nm-connection.c
5764                 - (register_default_settings): add NMSettingCdma
5765
5766         * libnm-util/nm-setting-cdma.c
5767           libnm-util/nm-setting-cdma.h
5768           libnm-util/Makefile.am
5769                 - Add the CDMA mobile broadband card setting class
5770
5771         * libnm-glib/nm-cdma-device.c
5772           libnm-glib/nm-cdma-device.h
5773           libnm-glib/Makefile.am
5774                 - Add the CDMA mobile broadband card GLib proxy class
5775
5776         * libnm-glib/nm-client.c
5777                 - (get_device): handle CDMA devices too
5778
5779 2008-01-21  Dan Williams  <dcbw@redhat.com>
5780
5781         * src/ppp-manager/nm-ppp-manager.c
5782                 - (ip4_config_get): set peer address too
5783
5784         * src/ppp-manager/nm-pppd-plugin.c
5785                 - (nm_ip_up): try harder to get the peer's address
5786
5787         * src/NetworkManagerSystem.c
5788                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5789                         address, use that too.  Otherwise, some PPP connections won't work.
5790
5791 2008-01-19  Dan Williams  <dcbw@redhat.com>
5792
5793         * src/NetworkManagerPolicy.c
5794                 - (nm_policy_device_change_check): system connections override user
5795                         connections; don't activate a user connection if there's a currently
5796                         active system connection, and new, better system connections always
5797                         interrupt user connections
5798
5799 2008-01-19  Dan Williams  <dcbw@redhat.com>
5800
5801         * src/nm-manager.h
5802                 - (nm_manager_get_connection_type): new function
5803
5804 2008-01-19  Dan Williams  <dcbw@redhat.com>
5805
5806         * src/nm-device-802-11-wireless.c
5807                 - (real_get_best_connection): collapse find_best_connection() into this
5808                         function
5809
5810 2008-01-19  Dan Williams  <dcbw@redhat.com>
5811
5812         * src/nm-device-802-3-ethernet.c
5813                 - (real_get_best_connection): collapse find_best_connection() into this
5814                         function
5815
5816 2008-01-18  Dan Williams  <dcbw@redhat.com>
5817
5818         * src/nm-device-802-3-ethernet.c
5819                 - (find_best_connection): check MAC address too
5820                 - (real_get_best_connection): let autoconnect=True connections activate
5821                         for devices that don't have carrier detection
5822
5823         * src/nm-device-802-11-wireless.c
5824                 - (find_best_connection): check MAC address too
5825
5826 2008-01-18  Dan Williams  <dcbw@redhat.com>
5827
5828         * system-settings/plugins/ifcfg/parser.c
5829                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5830
5831 2008-01-17  Dan Williams  <dcbw@redhat.com>
5832
5833         * src/nm-device-802-3-ethernet.c
5834                 - (nm_device_802_3_ethernet_carrier_on,
5835                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5836                         carrier events that might come in for devices that don't support
5837                         carrier detect
5838
5839 2008-01-17  Dan Williams  <dcbw@redhat.com>
5840
5841         * src/nm-device-interface.c
5842                 - (nm_device_interface_check_connection_conflicts): need to actually
5843                         get the interface, not cast to the object
5844
5845         * src/nm-device.c
5846                 - (nm_device_check_connection_conflicts): need to get the device class,
5847                         not cast the device to the device class
5848
5849 2008-01-17  Dan Williams  <dcbw@redhat.com>
5850
5851         * src/nm-device-802-11-wireless.c
5852                 - (real_check_connection_conflicts): ignore connections that aren't
5853                         wireless connections
5854
5855 2008-01-17  Dan Williams  <dcbw@redhat.com>
5856
5857         * src/NetworkManagerPolicy.c
5858                 - (nm_policy_device_change_check): clear change check idle here
5859                 - (device_change_check_done): remove
5860                 - (schedule_change_check): simplify
5861
5862 2008-01-17  Dan Williams  <dcbw@redhat.com>
5863
5864         * src/nm-manager.c
5865                 - (check_connection_allowed): take an NMDeviceInterface instead of
5866                         an NMDevice object as an argument
5867                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5868                         check_connection_allowed()
5869
5870 2008-01-13  Dan Williams  <dcbw@redhat.com>
5871
5872         * libnm-glib/nm-device-802-11-wireless.c
5873                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5874
5875 2008-01-12  Dan Williams  <dcbw@redhat.com>
5876
5877         * src/nm-device-802-11-wireless.c
5878                 - (activation_success_handler): if a match was found in the scan list
5879                         and that match is a hidden AP, update that AP's SSID
5880
5881 2008-01-11  Dan Williams  <dcbw@redhat.com>
5882
5883         * src/NetworkManagerAP.c
5884                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5885
5886         * src/nm-device-802-11-wireless.c
5887                 - (get_active_ap): do two passes over the scan list if the caller
5888                         requests that hidden APs get matched too; during the second pass
5889                         when matching hidden APs, ignore the SSID since hidden APs in the
5890                         scan list don't have an SSID yet
5891                 - (periodic_update): move some checks to
5892                         nm_device_802_11_periodic_update() because not all callers need them
5893                 - (nm_device_802_11_periodic_update): move some checks here from
5894                         perodic_update()
5895                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5896                         matching on incoming scan results, because the fake AP's flags
5897                         might be slightly different (yet still compatible) with the incoming
5898                         scan result's flags and they might actually be the same AP; update
5899                         the rate on merged APs too
5900                 - (activation_success_handler): update the frequency of the fake AP
5901                         on successful connection; match hidden APs too since if the
5902                         current AP is fake, there might already be a scan result in the
5903                         scan list for the desired AP, just without it's SSID filled in yet
5904
5905 2008-01-10  Dan Williams  <dcbw@redhat.com>
5906
5907         * src/NetworkManagerAP.c
5908                 - (foreach_property_cb): catch more hidden SSID formats
5909
5910 2008-01-10  Dan Williams  <dcbw@redhat.com>
5911
5912         Fix gnome.org #464215.  Requires the kernel patch titled
5913         "Introduce WEXT scan capabilities" but will handle the patch not being
5914         present, you'll just continue to have problems with hidden SSIDs when
5915         using mac80211-based drivers.
5916
5917         * src/supplicant-manager/nm-supplicant-config.h
5918           src/supplicant-manager/nm-supplicant-config.c
5919                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5920                         whether the driver supports SSID scans or not.  If it does, and if
5921                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5922
5923         * src/nm-device-802-11-wireless.c
5924                 - (constructor): check whether or not the driver supports SSID scans
5925                 - (build_supplicant_config): pass driver SSID scan capability when
5926                         building the wireless bits of the supplicant config
5927
5928 2008-01-09  Dan Williams  <dcbw@redhat.com>
5929
5930         * src/nm-device.c
5931           src/nm-device.h
5932                 - (device_activation_precheck, check_connection_complete): remove this
5933                         virtual function; incomplete connections should be invalid by
5934                         definition, complete-ness should be checked in the setting's
5935                         verify function
5936
5937         * src/nm-serial-device.c
5938           src/nm-gsm-device.c
5939                 - (real_check_connection_complete): remove
5940
5941         * libnm-util/nm-setting-serial.c
5942                 - (verify): new function; ensure there is a PPP setting too
5943
5944         * libnm-util/nm-setting-gsm.c
5945                 - (verify): ensure there is a serial setting too
5946
5947 2008-01-06  Dan Williams  <dcbw@redhat.com>
5948
5949         * src/dhcp-manager/nm-dhcp-manager.c
5950                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5951                         (gnome.org #332953)
5952
5953 2008-01-04  Dan Williams  <dcbw@redhat.com>
5954
5955         * src/named-manager/nm-named-manager.c
5956                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5957                         nameservers if the secondary config doesn't have any
5958                         (gnome.org #346833)
5959
5960 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5961
5962         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5963         with G_PARAM_CONSTRUCT so that they get the default values.
5964
5965         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5966         the monitoring device and prints out the output for now. Or more precicely, doesn't
5967         do absolutely anything right now since the montoring device argument is never set.
5968
5969         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5970         requires it's own knob to turn it on.
5971         (config_fd): Add NMSettingSerial to the arguments list.
5972         (nm_serial_device_open): Ditto.
5973         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5974         (nm_serial_device_get_io_channel): Implement.
5975
5976         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5977         a new reference every time (and forgetting to release it sometimes) is a pain and
5978         it's not like NMManager could work without dbus.
5979         (nm_manager_add_device): Register the added device on dbus here.
5980
5981         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5982         device.
5983
5984         * src/nm-device.c (constructor): Don't export the device here, instead export
5985         it when it's added to the NMManager's device list.
5986
5987 2007-12-31  Dan Williams  <dcbw@redhat.com>
5988
5989         * src/nm-device-interface.c
5990           src/nm-device-interface.h
5991                 - (nm_device_interface_check_connection_conflicts): new function
5992
5993         * src/nm-device.c
5994           src/nm-device.h
5995                 - (nm_device_check_connection_conflicts): new function
5996                 - (device_activation_precheck): don't require subclasses to implement
5997                         check_connection_complete()
5998                 - check_connection() -> check_connection_complete()
5999
6000         * src/nm-device-802-11-wireless.c
6001                 - (real_check_connection): remove; unused
6002                 - (real_check_connection_conflicts): implement, handle lockdown for
6003                         system connections
6004
6005         * src/nm-device-802-3-ethernet.c
6006                 - (real_check_connection): remove; unused
6007
6008         * src/nm-manager.c
6009                 - (check_connection_allowed): new function
6010                 - (nm_manager_activate_device): ensure the connection being requested
6011                         is allowed to be activated
6012
6013         * src/nm-serial-device.c
6014           src/nm-gsm-device.c
6015                 - real_check_connection() -> real_check_connection_complete()
6016
6017 2007-12-27  Dan Williams  <dcbw@redhat.com>
6018
6019         * src/nm-device-interface.c
6020           src/nm-device-interface.h
6021                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6022                         normalize and expand errors
6023                 - (nm_device_interface_init): register errors so they can be marshalled
6024                         through dbus-glib
6025                 - (nm_device_interface_activate): ensure that failure of activation
6026                         returns an error
6027
6028         * src/nm-device.c
6029           src/nm-device.h
6030                 - (device_activation_precheck): implementations of check_connection()
6031                         now take a GError and must fill it in if the check fails.  Return
6032                         more descriptive error if the requested connection is already
6033                         activating
6034                 - (nm_device_activate): actually try to return descriptive errors on
6035                         failures
6036
6037         * src/nm-device-802-11-wireless.c
6038           src/nm-device-802-3-ethernet.c
6039           src/nm-serial-device.c
6040           src/nm-gsm-device.c
6041                 - (real_check_connection): return more descriptive errors on failure
6042
6043         * src/NetworkManagerPolicy.c
6044                 - (nm_policy_device_change_check): print activation errors in the logs
6045
6046         * src/nm-manager.c
6047                 - (nm_manager_error_quark, nm_manager_error_get_type,
6048                    nm_manager_class_init): new errors
6049                 - (nm_manager_activate_device): handle errors
6050                 - (nm_manager_error_new): removed
6051                 - (wait_for_connection_expired, connection_added_default_handler,
6052                    impl_manager_activate_device): better error handling
6053
6054 2007-12-27  Dan Williams  <dcbw@redhat.com>
6055
6056         Fixes gnome.org #466954
6057
6058         * src/supplicant-manager/nm-supplicant-settings-verify.c
6059                 - Allow 'frequency' network property
6060
6061         * src/supplicant-manager/nm-supplicant-config.c
6062           src/supplicant-manager/nm-supplicant-config.h
6063                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6064                         for callers to specify the frequency an Ad-Hoc network should operate
6065                         on.  Some drivers require this to successfully create an Ad-Hoc
6066                         network.
6067
6068         * src/nm-device-802-11-wireless.c
6069                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6070                         guint32 value in MHz
6071                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6072                         iw_freq_to_uint32()
6073                 - (find_supported_frequency): new function; find a free supported
6074                         frequency for a user-created Ad-Hoc network
6075                 - (build_supplicant_config): if no frequency was specified for a user-
6076                         created Ad-Hoc network, find a free one to use
6077                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6078                         a specific object as user-created
6079
6080 2007-12-27  Dan Williams  <dcbw@redhat.com>
6081
6082         * libnm-util/nm-utils.c
6083           libnm-util/nm-utils.h
6084                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6085                         for adhoc networks
6086
6087 2007-12-24  Dan Williams  <dcbw@redhat.com>
6088
6089         * libnm-util/nm-setting-wireless.c
6090                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6091                         185, 187, 188, 192, and 196
6092
6093 2007-12-24  Dan Williams  <dcbw@redhat.com>
6094
6095         * src/nm-device-802-11-wireless.c
6096                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6097                         a channel # instead of a frequency
6098
6099 2007-12-24  Dan Williams  <dcbw@redhat.com>
6100
6101         * src/NetworkManagerAP.c
6102           src/NetworkManagerAP.h
6103                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6104                 - (freq_to_channel): handle split band tables
6105                 - (channel_to_freq): handle split band tables, take a band argument
6106
6107 2007-12-24  Dan Williams  <dcbw@redhat.com>
6108
6109         * libnm-util/nm-setting-connection.h
6110           libnm-util/nm-setting-connection.c
6111                 - Add 'lockdown' member
6112
6113 2007-12-22  Dan Williams  <dcbw@redhat.com>
6114
6115         * libnm-util/nm-setting-wireless.c
6116                 - (nm_setting_wireless_class_init): add missing 'rate' property
6117                         specification
6118
6119 2007-12-18  Dan Williams  <dcbw@redhat.com>
6120
6121         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6122
6123         * src/nm-netlink-monitor.c
6124           src/nm-netlink-monitor.h
6125                 - Remove handrolled netlink, use libnl instead
6126
6127         * src/nm-device-802-3-ethernet.c
6128                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6129                    nm_device_802_3_ethernet_carrier_on): use new names
6130
6131 2007-12-17  Dan Williams  <dcbw@redhat.com>
6132
6133         * configure.in
6134                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6135                         and fixes memory leaks)
6136
6137         * src/nm-netlink.c
6138                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6139                         automatically handle the netlink PID
6140
6141 2007-12-17  Dan Williams  <dcbw@redhat.com>
6142
6143         Patch from Michael Biebl <biebl@debian.org>
6144
6145         * configure.in
6146           src/ppp-manager/Makefile.am
6147                 - fix up install dir of pppd plugin
6148                 - clean up configure.in a bit
6149
6150 2007-12-12  Dan Williams  <dcbw@redhat.com>
6151
6152         * system-settings/src/nm-system-settings.conf
6153                 - Allow non-root clients (like the applet) to read settings
6154
6155 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6156
6157         * Replace all occurences of 'UMTS' with 'GSM'.
6158
6159 2007-12-07  Dan Williams  <dcbw@redhat.com>
6160
6161         * src/nm-serial-device.c
6162                 - (real_is_up): serial devices are always "up"
6163
6164 2007-12-07  Dan Williams  <dcbw@redhat.com>
6165
6166         * src/nm-netlink.c
6167           src/NetworkManagerSystem.c
6168                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6169                         twice (gnome.org #491047)
6170                 - Make more robust against allocation-related failures should they occur
6171
6172 2007-12-07  Dan Williams  <dcbw@redhat.com>
6173
6174         Noticed by Christian Persch <chpe@gnome.org>
6175
6176         Always chain up to parent object in dispose and finalize handlers.
6177                 (gnome.org #433112)
6178
6179 2007-12-07  Dan Williams  <dcbw@redhat.com>
6180
6181         * src/nm-device-802-11-wireless.c
6182                 - Wrap #include of linux/mii.h to fix redefined structures due to
6183                         incorrect kernel headers (gnome.org #350061)
6184
6185 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6186
6187         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6188         before doing anything else.
6189         (init_modem): Move modem initialization here.
6190
6191         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6192         (nm_serial_device_flash): Implement.
6193
6194         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6195         changes signal is "StateChanged" and not "Status".
6196         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6197
6198 2007-12-06  Dan Williams  <dcbw@redhat.com>
6199
6200         * src/supplicant-manager/nm-supplicant-config.c
6201                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6202                         to only send some options when they make sense; also send phase2
6203                         option to the supplicant (possible fix for rh #399631)
6204
6205 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6206
6207         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6208         arguments: This whole file shouldn't really know anything about NMDevices, it
6209         should deal only with device interfaces. Devices might have different ifaces for
6210         different stuff and this place shouldn't know anything about it.
6211
6212         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6213         (global_state_changed): Implement. In the current NM it's not really important,
6214         but will be required in the case of multiple active devices. (Or even better,
6215         if stuff like that gets moved out from NM).
6216
6217         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6218         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6219         instead.
6220
6221         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6222         devices like serial devices (ttyS0 and ppp0 for example).
6223         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6224         set.
6225         (nm_device_set_ip_iface): Implement.
6226         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6227         after setting ip4_config from here ...
6228         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6229         than this function should call nm_system_device_set_from_ip4_config() because no
6230         other code has enough information on which arguments to use. So instead, other code
6231         could just set the new ip4 config using this function and everyone is happy.
6232
6233         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6234         if we happen to get deactivated while something is pending.
6235         (automatic_registration): Handle the response that indicates pending network
6236         registration and wait until the pending registration is done.
6237         (real_deactivate_quickly): If there's a pending operation, cancel it.
6238
6239         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6240         (real_deactivate_quickly): ... and remove it when it's down.
6241         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6242         it if needed.
6243         (nm_serial_device_wait_for_reply): Ditto.
6244
6245 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6246
6247         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6248         (get_network_done): Remove newline, nm_info() does it already.
6249         (real_act_stage1_prepare): Turn the modem echo off.
6250
6251         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6252         device, set the route to the device interface. This is a hack.
6253
6254         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6255         return, no need for a new-line.
6256         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6257         Change the device iface here (ugh).
6258         (real_act_stage4_get_ip4_config): Implement.
6259         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6260         Restore the device iface.
6261
6262         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6263         device is not wired or wireless (eg, automatically upped) device.
6264
6265         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6266         it isn't.
6267         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6268
6269         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6270         before calling it's is_device_fn().
6271
6272 2007-12-05  Dan Williams  <dcbw@redhat.com>
6273
6274         * libnm-util/nm-utils.c
6275                 - (nm_utils_register_value_transformations,
6276                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6277                         GHashTables of GValues too
6278
6279 2007-12-04  Dan Williams  <dcbw@redhat.com>
6280
6281         * initscript/RedHat/NetworkManager.in
6282                 - No longer start named; it's D-Bus interface is going away
6283
6284 2007-12-04  Dan Williams  <dcbw@redhat.com>
6285
6286         Patch from Michael Biebl <biebl@debian.org>
6287
6288         * system-settings/plugins/ifcfg/Makefile.am
6289           system-settings/src/main.c
6290           system-settings/src/Makefile.am
6291                 - Put system settings plugins in NM plugins dir
6292
6293         * src/ppp-manager/Makefile.am
6294           src/ppp-manager/nm-ppp-manager.c
6295                 - Move pppd plugin to NM plugins dir
6296
6297 2007-12-04  Dan Williams  <dcbw@redhat.com>
6298
6299         * libnm-util/nm-setting-vpn-properties.h
6300                 - Clarify usage of the 'data' member of the setting
6301
6302         * libnm-util/nm-setting-vpn-properties.c
6303                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6304                 - (set_property): just remove all the settings; don't recreate the has
6305                 - (update_one_secret): don't need to create the hash table here since
6306                         it should always be present
6307
6308 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6309
6310         Implement PIN and PUK requesting.
6311
6312         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6313         (enter_pin): Handle PIN and PUK requests.
6314         (real_act_stage1_prepare): Clear the secret type.
6315         (real_connection_secrets_updated): Implement this class method to get
6316         notified when new secrets arrive.
6317         (nm_umts_device_class_init): Add private data back to the umts device class
6318         to store the required secret type.
6319
6320 2007-12-01  Dan Williams  <dcbw@redhat.com>
6321
6322         * system-settings/plugins/ifcfg/parser.c
6323                 - (parser_parse_file): don't try to verify NULL connections
6324
6325 2007-12-01  Dan Williams  <dcbw@redhat.com>
6326
6327         * system-settings/src/main.c
6328                 - (load_connections, add_connection_to_settings): actually export
6329                         plugin-provided connections over D-Bus so NM can get them
6330
6331 2007-12-01  Dan Williams  <dcbw@redhat.com>
6332
6333         * system-settings/plugins/ifcfg/parser.c
6334           system-settings/plugins/ifcfg/parser.h
6335           system-settings/plugins/ifcfg/plugin.c
6336                 - Hook up more inotify bits (untested)
6337
6338 2007-11-29  Dan Williams  <dcbw@redhat.com>
6339
6340         * system-settings/src/nm-system-config-interface.h
6341           system-settings/src/nm-system-config-interface.c
6342                 - (nm_system_config_interface_init,
6343                    nm_system_config_interface_get_connections): add
6344
6345         * system-settings/src/main.c
6346                 - (load_plugins, load_connections, main): use a GSList for plugins
6347                         to ensure priority ordering
6348
6349         * system-settings/plugins/ifcfg/parser.c
6350                 - (ifcfg_error_quark): move to plugin.c, and rename
6351
6352         * system-settings/plugins/ifcfg/plugin.h
6353           system-settings/plugins/ifcfg/plugin.c
6354                 - (ifcfg_plugin_error_quark): move here from parser.c
6355                 - rework connection loading and initialization
6356                 - Add preliminary inotify support for network profile config file
6357
6358 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6359
6360         Merge the beginnings of the new GSM card support.
6361
6362         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6363         ppp watch source before killing pppd - If this happens from g_object_unref()
6364         then the ppp manager is already destroyed by the time the watch callback runs.
6365
6366         * src/nm-hal-manager.c: Add a device_type_name string to the device
6367         creators, so that we can print a nice human readable string when a
6368         device is added.
6369
6370         * src/nm-umts-device.c (automatic_registration_get_network): Query
6371         for the activated network, not much is done with the result thought.
6372
6373         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6374         (ppp_ip4_config): Change the device state to activated here for now.
6375         (real_check_connection): Make sure the connection includes ppp setting.
6376
6377         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6378
6379         * libnm-glib/Makefile.am: Add the new files to build.
6380
6381         * libnm-glib/nm-umts-device.c: 
6382         * libnm-glib/nm-umts-device.h: Implement.
6383
6384 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6385
6386         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6387         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6388
6389         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6390         the timeout source - this function is only called when the timeout source has
6391         been removed.
6392         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6393         to be big enough to contain the terminating zero element as well.
6394         The timeout argument is meant to be in seconds now.
6395         (real_deactivate_quickly): Implement.
6396
6397         * src/NetworkManager.conf: Allow root to own 
6398         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6399
6400         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6401         (not unsigned ints).
6402
6403         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6404         small issue with parity bounds - capital letters have lower ascii codes
6405         than lower case letters.
6406
6407         * libnm-util/nm-connection.c (register_default_settings): Register serial
6408         and umts settings.
6409
6410 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6411
6412         Remove the "index" property from devices as not all device types have this.
6413
6414         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6415
6416         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6417         (wired_device_creator): Get the device interface from hal to create the device.
6418         (wireless_device_creator): Ditto.
6419
6420         * src/nm-device.c (nm_device_init): Remove the index member.
6421         (constructor): Remove the checks for index property, make interface property
6422         a require constructor property.
6423         Use the HAL udi for DBus path for devices.
6424         (nm_device_get_index): Remove.
6425         (set_property): Remove index handling.
6426         (get_property): Ditto.
6427         (nm_device_get_dbus_path): Remove.
6428
6429         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6430         property.
6431
6432         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6433         Access the device index through it's interface.
6434         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6435         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6436         index argument. Add interface argument.
6437
6438         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6439         the useless test_dev argument. Remove index argument. Add interface arugment.
6440
6441         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6442         device index through interface.
6443         (nm_system_set_mtu): Ditto.
6444
6445         * introspection/nm-device.xml: Remove the "Index" property.
6446
6447 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6448
6449         * src/nm-serial-device.c: 
6450         * src/nm-serial-device.c: 
6451         * src/nm-umts-device.c:
6452         * src/nm-umts-device.h: Implement.
6453
6454         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6455         allocated by libhal.
6456         (modem_device_creator): Implement.
6457         (register_built_in_creators): Register the modem creator.
6458
6459         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6460         Remove the unused test_dev argument.
6461
6462         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6463
6464         * src/Makefile.am: Add new files to build.
6465         Link in ppp-manager.
6466
6467         * libnm-util/nm-setting-umts.c: 
6468         * libnm-util/nm-setting-umts.h: 
6469         * libnm-util/nm-setting-serial.c: 
6470         * libnm-util/nm-setting-serial.h: Implement.
6471
6472         * libnm-util/Makefile.am: Add new files to build.
6473
6474 2007-11-28  Dan Williams  <dcbw@redhat.com>
6475
6476         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6477
6478         Support DHCP-provided static routes.
6479
6480         * src/nm-ip4-config.h
6481           src/nm-ip4-config.c
6482                 - Add get/set functions for static routes
6483
6484         * src/dhcp-manager/nm-dhcp-manager.c
6485                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6486                         DHCP response
6487
6488         * src/NetworkManagerSystem.c
6489                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6490                         interface when applying the IP4Config
6491
6492 2007-11-28  Dan Williams  <dcbw@redhat.com>
6493
6494         * src/nm-device-802-11-wireless.c
6495                 - (real_act_stage1_prepare): mark APs created for hidden networks
6496                         as non-broadcasting
6497
6498 2007-11-27  Dan Williams  <dcbw@redhat.com>
6499
6500         * system-settings/src/nm-system-config-interface.h
6501                 - Note how to store secrets on NMSetting objects
6502
6503         * system-settings/src/dbus-settings.c
6504                 - (connection_settings_get_secrets): implement
6505
6506 2007-11-27  Dan Williams  <dcbw@redhat.com>
6507
6508         * system-settings/plugins/ifcfg/Makefile.am
6509           system-settings/plugins/ifcfg/parser.c
6510           system-settings/plugins/ifcfg/parser.h
6511           system-settings/plugins/ifcfg/plugin.c
6512                 - Parse wireless connections too
6513
6514         * system-settings/src/dbus-settings.c
6515           system-settings/src/dbus-settings.h
6516           system-settings/src/main.c
6517                 - Handle connection update/removal if the plugin supports it
6518
6519 2007-11-27  Dan Williams  <dcbw@redhat.com>
6520
6521         * src/nm-dbus-manager.h
6522           src/nm-hal-manager.c
6523                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6524                         do it for them
6525
6526         * src/Makefile.am
6527           src/NetworkManagerDbusUtils.c
6528           src/NetworkManagerDbusUtils.h
6529                 - Remove these two source files; they are unused
6530
6531 2007-11-27  Dan Williams  <dcbw@redhat.com>
6532
6533         * src/vpn-manager/nm-vpn-manager.c
6534                 - (impl_vpn_manager_connect): fix system settings check (found by
6535                         James M. Leddy)
6536
6537 2007-11-26  Dan Williams  <dcbw@redhat.com>
6538
6539         * Fix warnings so everything compiles with --enable-more-warnings
6540
6541 2007-11-25  Dan Williams  <dcbw@redhat.com>
6542
6543         * system-settings/*
6544                 - Rework structure and code to use GModule-loaded plugins and a plugin
6545                         interface that plugins export to the system settings service
6546
6547 2007-11-21  Dan Williams  <dcbw@redhat.com>
6548
6549         * system-settings/*
6550                 - Add Soren's system settings service.  Needs work for distros other
6551                         than Fedora; the backends from NM should mostly migrate to here
6552                         and be converted to GObjects
6553
6554 2007-11-21  Dan Williams  <dcbw@redhat.com>
6555
6556         * libnm-util/nm-setting-vpn-properties.c
6557                 - (set_property): must deep-copy the given settings hash, otherwise
6558                         double-free errors occur when the setting is disposed of
6559
6560 2007-11-21  Dan Williams  <dcbw@redhat.com>
6561
6562         * src/vpn-manager/nm-vpn-act-request.h
6563           src/vpn-manager/nm-vpn-act-request.c
6564                 - Remove; unused
6565
6566 2007-11-20  Dan Williams  <dcbw@redhat.com>
6567
6568         * libnm-util/nm-utils.c
6569                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6570                    nm_utils_convert_ip4_addr_struct_array_to_string,
6571                    nm_utils_register_value_transformations): print out the readable
6572                         values of more types of properties of NMSettings subclasses
6573
6574 2007-11-20  Dan Williams  <dcbw@redhat.com>
6575
6576         * libnm-util/nm-setting-ip4-config.c
6577                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6578                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6579                         marshal GValueArrays inside collections, so switch to types that it
6580                         can actually marshal/demarshal
6581
6582 2007-11-16  Dan Williams  <dcbw@redhat.com>
6583
6584         * libnm-util/nm-setting-wireless-security.c
6585                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6586                         minimal verification of EAP methods too
6587                 - (verify): verify phase1 eap methods too
6588
6589 2007-11-15  Dan Williams  <dcbw@redhat.com>
6590
6591         * libnm-glib/nm-device.h
6592           libnm-glib/nm-device.c
6593                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6594                         const char *
6595
6596 2007-11-15  Dan Williams  <dcbw@redhat.com>
6597
6598         * libnm-glib/nm-device.c
6599                 - (get_product_and_vendor): don't try to free things that should be
6600                         freed
6601
6602 2007-11-15  Dan Williams  <dcbw@redhat.com>
6603
6604         * src/NetworkManagerUtils.c
6605                 - (nm_ethernet_address_is_valid): unbreak previous fix
6606
6607 2007-11-15  Dan Williams  <dcbw@redhat.com>
6608
6609         * src/supplicant-manager/nm-supplicant-config.c
6610                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6611                         options
6612
6613 2007-11-15  Dan Williams  <dcbw@redhat.com>
6614
6615         * src/NetworkManagerUtils.c
6616                 - (nm_ethernet_address_is_valid): fix style, clarify
6617                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6618
6619         * src/nm-device-802-11-wireless.c
6620                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6621                 - (nm_device_802_11_wireless_get_ssid,
6622                    nm_device_802_11_wireless_get_bssid,
6623                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6624                         before calling the ioctl; fixes valgrind-reported jump depends on
6625                         uninitialized value errors
6626
6627 2007-11-15  Dan Williams  <dcbw@redhat.com>
6628
6629         * libnm-util/nm-setting.c
6630                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6631                         unecessary to serialize 'name'
6632
6633         * src/nm-activation-request.c
6634                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6635                         the GetSecrets call
6636
6637 2007-11-15  Dan Williams  <dcbw@redhat.com>
6638
6639         * libnm-util/nm-setting-connection.h
6640           libnm-util/nm-setting-connection.c
6641                 - Rename the 'name' property to 'id', because it conflicted with the
6642                         NMSetting superclass' 'name' property.
6643
6644         * libnm-util/nm-setting.c
6645                 - (nm_setting_to_hash): serialize the 'name' property
6646                 - (one_property_cb): ignore 'name' on deserialization of a connection
6647
6648         * src/nm-device-802-11-wireless.c
6649           src/vpn-manager/nm-vpn-connection.c
6650           src/NetworkManagerPolicy.c
6651                 - Fix up for NMSettingConnection 'name'->'id' changes
6652
6653 2007-11-13  Dan Williams  <dcbw@redhat.com>
6654
6655         * libnm-glib/nm-device-802-11-wireless.h
6656           libnm-glib/nm-device-802-11-wireless.c
6657                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6658
6659         * test/nm-tool.c
6660           libnm-glib/libnm-glib-test.c
6661                 - Fixes for above change
6662
6663 2007-11-12  Dan Williams  <dcbw@redhat.com>
6664
6665         * src/supplicant-manager/nm-supplicant-settings-verify.c
6666                 - Allow fragment_size option
6667
6668         * src/supplicant-manager/nm-supplicant-settings-verify.c
6669                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6670                         EAP fragment size than the default to help some TLS connections
6671
6672 2007-11-12  Dan Williams  <dcbw@redhat.com>
6673
6674         Make certs actually work.  The private key is now a secret, and should be
6675         decrypted when requested by NM.  The private key and phase2 private key
6676         passwords are no longer interesting to NM because they should be used by
6677         the settings service to decrypt the private key itself before passing it
6678         to NM, and hence have been removed as fields.
6679
6680         * libnm-util/nm-setting-wireless-security.h
6681           libnm-util/nm-setting-wireless-security.c
6682                 - Remove private-key-passwd and phase2-private-key-passwd from
6683                         properties
6684                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6685                    need_secrets): use property #defines instead strings to keep things
6686                         consistent
6687                 - (need_secrets_tls): if a client certificate is present but no
6688                         private key, request the private key
6689                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6690                         remove private key password stuff, mark private keys as secret
6691
6692         * src/supplicant-manager/nm-supplicant-settings-verify.c
6693                 - Remove private_key_passwd and private_key2_passwd from opt_table
6694
6695 2007-11-09  Dan Williams  <dcbw@redhat.com>
6696
6697         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6698         Since the vpn-properties are managed and known by the VPN daemons themselves,
6699         libnm-util doesn't know what's secret and what's in the setting's 'data'
6700         member.
6701
6702         * libnm-util/nm-setting.h
6703           libnm-util/nm-setting.c
6704                 - Add the ability for subclasses to override update_one_secret
6705
6706         * libnm-util/nm-setting-vpn-properties.c
6707                 - Override update_one_secret and just copy the values into the
6708                         internal table
6709
6710 2007-11-09  Dan Williams  <dcbw@redhat.com>
6711
6712         * libnm-glib/nm-settings.h
6713           libnm-glib/nm-settings.c
6714                 - (nm_settings_new_error): remove
6715                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6716                         clients should use g_set_error() with NM_SETTINGS_ERROR
6717
6718 2007-11-09  Dan Williams  <dcbw@redhat.com>
6719
6720         * src/supplicant-manager/nm-supplicant-config.c
6721                 - (nm_supplicant_config_add_setting_wireless_security): private key
6722                         passwords are never sent to wpa_supplicant, because the supplicant
6723                         should never be reading random files from the disk.  Clients like
6724                         the applet are required to decrypt the private keys and send NM
6725                         the decrypted blobs.
6726
6727 2007-11-08  Dan Williams  <dcbw@redhat.com>
6728
6729         * libnm-util/nm-setting-wireless-security.h
6730           libnm-util/nm-setting-wireless-security.c
6731                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6732                         members to 802-11-wireless-security structure.  This should be used
6733                         to indicate that the values in private-key and phase2-private-key
6734                         are already decrypted by the user agent, and that no
6735                         private-key-passwd or phase2-private-key-passwd should be expected.
6736                         It is not meant to be a stored configuration value, but meant to
6737                         be set when the conneciton is sent to NM over dbus.
6738
6739 2007-11-08  Dan Williams  <dcbw@redhat.com>
6740
6741         * libnm-util/nm-connection.h
6742           libnm-util/nm-connection.c
6743                 - (nm_connection_need_secrets): add argument to return hints
6744
6745         * src/nm-device-802-11-wireless.c
6746                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6747                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6748                         nm_connection_need_secrets() change
6749
6750 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6751
6752         Rework NMSetting structures: Move each setting to it's own file.
6753         Convert to GObject. Remove home grown setting types and use GTypes.
6754         Use GObject property introspection for hash conversion, enumerating
6755         properties, etc.
6756
6757         * libnm-util/nm-setting-connection.[ch]
6758         * libnm-util/nm-setting-ip4-config.[ch]
6759         * libnm-util/nm-setting-ppp.[ch]
6760         * libnm-util/nm-setting-vpn.[ch]
6761         * libnm-util/nm-setting-vpn-properties.[ch]
6762         * libnm-util/nm-setting-wired.[ch]
6763         * libnm-util/nm-setting-wireless.[ch]
6764         * libnm-util/nm-setting-wireless-security.[ch]
6765
6766         New files, each containing a setting.
6767
6768         * libnm-util/nm-setting-template.[ch]: A template for creating new
6769         settings. To use it, just replace 'template' with the new setting
6770         name, and you're half-way done.
6771
6772         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6773         introspection instead of internal types and tables.
6774
6775         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6776
6777         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6778         GValue types defined by dbus-glib for composed types like collections,
6779         structures and maps.
6780
6781         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6782         a setting from connection takes the setting type now. Also, since
6783         the settings are in multiple files, include relevant settings.
6784
6785 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6786
6787         * configure.in:
6788         * src/backends/NetworkManagerGentoo.c:
6789         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6790         providers in Gentoo.
6791
6792 2007-10-31  Dan Williams  <dcbw@redhat.com>
6793
6794         * libnm-util/nm-connection.c
6795                 - (gvalue_to_string): handle UINT32 arrays
6796
6797 2007-10-31  Dan Williams  <dcbw@redhat.com>
6798
6799         * libnm-glib/nm-device.h
6800           libnm-glib/nm-device.c
6801                 - (nm_device_get_description): remove
6802                 - (nm_device_get_product, nm_device_get_vendor): add
6803                 - (nm_device_update_description): new function (private); walk HAL
6804                         devices to get product and vendor IDs for a specific device
6805
6806 2007-10-31  Dan Williams  <dcbw@redhat.com>
6807
6808         * src/nm-device-802-11-wireless.c
6809                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6810
6811 2007-10-29  Dan Williams  <dcbw@redhat.com>
6812
6813         * src/nm-hal-manager.c
6814                 - (device_added, device_new_capability): ignore device additions while
6815                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6816                         kernel module is unloaded and reloaded and recognized by NM again.
6817
6818 2007-10-26  Dan Williams  <dcbw@redhat.com>
6819
6820         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6821
6822         * src/NetworkManagerAP.c
6823           src/NetworkManagerAP.h
6824           libnm-glib/nm-access-point.c
6825           libnm-glib/nm-access-point.h
6826                 - Make 'rate' property a guint32 to better match with WEXT and
6827                         wpa_supplicant and to allow representation of higher bitrates
6828
6829         * src/nm-device-802-11-wireless.c
6830           introspection/nm-device-802-11-wireless.xml
6831           libnm-glib/nm-device-802-11-wireless.c
6832           libnm-glib/nm-device-802-11-wireless.h
6833                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6834
6835         * src/nm-device-802-3-ethernet.c
6836           src/nm-device-802-3-ethernet.h
6837           introspection/nm-device-802-3-ethernet.xml
6838           libnm-glib/nm-device-802-3-ethernet.c
6839           libnm-glib/nm-device-802-3-ethernet.h
6840                 - Make 'speed' property a guint32 to match other speed/rate types
6841                 - Make nm_device_802_3_ethernet_get_speed() static
6842
6843         * test/nm-tool.c
6844                 - Update for the changes above
6845
6846 2007-10-26  Dan Williams  <dcbw@redhat.com>
6847
6848         * src/named-manager/nm-named-manager.c
6849                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6850                     not calling fclose() twice on some error conditions
6851
6852 2007-10-26  Dan Williams  <dcbw@redhat.com>
6853
6854         * src/nm-activation-request.c
6855                 - (dispose): clean up indentation; get the right DBusGProxy object to
6856                         cancel the GetSecrets pending call on.  Need to use the Secrets
6857                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6858                         pending call doesn't get canceled, and pressing Cancel in the
6859                         applet's password dialog could cause get_secrets_cb() to be called
6860                         after the activation request has already been destroyed
6861
6862 2007-10-24  Dan Williams  <dcbw@redhat.com>
6863
6864         * src/supplicant-manager/nm-supplicant-config.c
6865                 - (nm_supplicant_config_add_blob): pass blob data and length for
6866                         verification
6867                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6868
6869 2007-10-24  Dan Williams  <dcbw@redhat.com>
6870
6871         * src/supplicant-manager/nm-supplicant-settings-verify.c
6872                 - (opt_table): max length for certificates should be 65536
6873
6874 2007-10-24  Dan Williams  <dcbw@redhat.com>
6875
6876         * src/supplicant-manager/nm-supplicant-interface.c
6877                 - (blob_free): correctly free blob data after use
6878                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6879
6880 2007-10-24  Dan Williams  <dcbw@redhat.com>
6881
6882         * libnm-util/nm-setting.c
6883                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6884                         EAP method need secrets
6885
6886 2007-10-24  Dan Williams  <dcbw@redhat.com>
6887
6888         * src/backends/NetworkManagerRedHat.c
6889                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6890
6891 2007-10-23  Dan Williams  <dcbw@redhat.com>
6892
6893         * libnm-util/nm-setting.c
6894           libnm-util/nm-setting.c
6895                 - (nm_setting_compare): implement
6896                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6897                    compare_one_hash_gvalue): compare the contents of a setting
6898
6899         * libnm-util/nm-connection.c
6900                 - (nm_connection_compare): implement
6901
6902 2007-10-23  Dan Williams  <dcbw@redhat.com>
6903
6904         * src/nm-activation-request.c
6905                 - (get_secrets_cb): handle getting a setting back that is more than
6906                         just secrets (ie, user changed auth or EAP method or something)
6907
6908 2007-10-23  Dan Williams  <dcbw@redhat.com>
6909
6910         * libnm-util/nm-setting.c
6911           libnm-util/nm-setting.h
6912                 - (nm_setting_verify): new function; verify one setting
6913                 - (nm_settings_verify_all): rename from nm_settings_verify()
6914                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6915                         all_settings
6916
6917         * libnm-util/nm-connection.c
6918                 - (nm_connection_replace_settings, nm_connection_verify,
6919                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6920
6921 2007-10-23  Dan Williams  <dcbw@redhat.com>
6922
6923         * src/nm-device-802-11-wireless.c
6924                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6925                         desired behavior
6926
6927 2007-10-23  Dan Williams  <dcbw@redhat.com>
6928
6929         * src/supplicant-manager/nm-supplicant-settings-verify.c
6930                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6931                         nm-settings.c
6932
6933 2007-10-23  Dan Williams  <dcbw@redhat.com>
6934
6935         * src/nm-device-802-11-wireless.c
6936                 - (real_act_stage2_config): after the first association failure,
6937                         if the connection still needs secrets ask the user for them
6938                         explicitly.  After the fourth association failure due to bad
6939                         secrets, fail the connection entirely.  Handles the GetSecrets
6940                         loop that NM gets into when the provided secrets don't match up
6941                         with the connection details.
6942
6943 2007-10-23  Dan Williams  <dcbw@redhat.com>
6944
6945         * src/supplicant-manager/nm-supplicant-config.c
6946                 - (nm_supplicant_config_add_setting_wireless_security): only add
6947                         WPA-specific options when WPA is in use
6948
6949 2007-10-23  Dan Williams  <dcbw@redhat.com>
6950
6951         * src/supplicant-manager/nm-supplicant-config.c
6952                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6953                         secret doesn't need to be unhexified
6954
6955 2007-10-23  Dan Williams  <dcbw@redhat.com>
6956
6957         * libnm-util/nm-setting.c
6958                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6959                         before trying to do something with it
6960
6961 2007-10-23  Dan Williams  <dcbw@redhat.com>
6962
6963         * src/nm-device-802-11-wireless.c
6964                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6965
6966 2007-10-23  Dan Williams  <dcbw@redhat.com>
6967
6968         * src/nm-device-802-11-wireless.c
6969                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6970                         non-SSID-broadcasting APs
6971
6972 2007-10-23  Dan Williams  <dcbw@redhat.com>
6973
6974         * src/NetworkManagerAP.c
6975                 - (match_cipher, security_compatible): remove
6976                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6977                         libnm-util instead
6978
6979 2007-10-23  Dan Williams  <dcbw@redhat.com>
6980
6981         * libnm-util/nm-utils.c
6982           libnm-util/nm-utils.h
6983                 - (nm_utils_ap_security_compatible): common function for checking
6984                         whether a specific AP is compatible with an NMConnection
6985
6986 2007-10-23  Dan Williams  <dcbw@redhat.com>
6987
6988         * libnm-util/nm-setting.c
6989                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6990                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6991                    need_secrets_password, setting_wireless_security_verify): fix
6992                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6993                         secrets logic for each supported EAP method
6994
6995 2007-10-23  Dan Williams  <dcbw@redhat.com>
6996
6997         * src/supplicant-manager/nm-supplicant-config.c
6998                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6999                         config option name, should be "private_key2_passwd"
7000
7001 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7002
7003         Implement support for static IP addresses, additional/overridden DNS and
7004         DNS domain search lists.
7005
7006         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7007         (ip4_addresses_to_gvalue): Implement.
7008         (convert_array_to_byte_array): Implement.
7009         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7010         NM_S_TYPE_IP4_ADDRESSES.
7011         (nm_setting_hash): Ditto.
7012         (default_setting_clear_secrets): Add a default case for the switch: IP address
7013         shouldn't be secret, ever.
7014         (setting_ip4_config_verify): Update, requires addresses in case of manual
7015         configurations.
7016         (setting_ip4_config_destroy): Free stuff.
7017
7018         * src/nm-device.c (merge_ip4_config): Implement.
7019         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7020
7021 2007-10-22  Dan Williams  <dcbw@redhat.com>
7022
7023         * libnm-util/nm-setting.c
7024                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7025                         pairwise cipher options for Dynamic WEP
7026
7027 2007-10-21  Dan Williams  <dcbw@redhat.com>
7028
7029         * src/NetworkManagerAP.c
7030           src/NetworkManagerAP.h
7031                 - Rename 'articifical' -> 'fake' since that's what they are until
7032                         noticed in scans
7033                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7034                         from the attributes in an NMConnection object
7035                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7036                         WPA Enterprise
7037                 - (nm_ap_match_in_list): find a matching AP in a scan list
7038
7039         * src/nm-device-802-11-wireless.c
7040                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7041                         AP when searching the scan list; match on frequency and mode too
7042                 - (nm_device_802_11_wireless_get_frequency): implement
7043                 - (merge_scanned_ap): replace duplicate matching logic with
7044                         nm_ap_match_in_list()
7045                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7046                         the user is trying to connect to a hidden network that is not yet
7047                         known from the scan list
7048                 - (activation_success_handler): now that the card knows the AP's BSSID,
7049                         there may already be a scanned AP in the scan list that is what
7050                         we really wanted to connect to, but didn't know at the time.  Use
7051                         that instead of the 'fake' AP created at activation start and get
7052                         rid of the 'fake' AP 
7053                 - (cull_scan_list): don't remove fake APs
7054
7055 2007-10-21  Dan Williams  <dcbw@redhat.com>
7056
7057         * src/nm-activation-request.h
7058           src/nm-activation-request.c
7059                 - (nm_act_request_set_specific_object): new function; allow setting the
7060                         specific object if one isn't set yet
7061
7062 2007-10-20  Dan Williams  <dcbw@redhat.com>
7063
7064         * src/supplicant-manager/nm-supplicant-config.h
7065           src/supplicant-manager/nm-supplicant-config.c
7066                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7067                         table to store blobs
7068                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7069                         blob hash table
7070                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7071                 - (nm_supplicant_config_add_setting_wireless_security): handle
7072                         options that use certificates (ie, blobs)
7073
7074         * src/nm-device-802-11-wireless.c
7075                 - (build_supplicant_config): pass a UID (just use the connection path)
7076                         to the supplicant config as now required
7077
7078         * src/supplicant-manager/nm-supplicant-interface.c
7079                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7080                         there are any blobs to send to wpa_supplicant, send those first
7081                         before sending the network configuration
7082
7083 2007-10-19  Dan Williams  <dcbw@redhat.com>
7084
7085         Split the GetSecrets() call off to a separate D-Bus interface so that it
7086         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7087         should be able to call GetSecrets().
7088
7089         * include/NetworkManager.h
7090                 - Define the connection secrets D-Bus interface
7091
7092         * src/vpn-manager/nm-vpn-connection.c
7093                 - (clear_need_auth): get the right proxy object for the connection
7094                         secrets interface
7095                 - (get_connection_secrets): use the connection secrets proxy; send
7096                         empty hints in get secrets request
7097
7098         * src/nm-activation-request.c
7099                 - (nm_act_request_request_connection_secrets): use the connection
7100                         secrets proxy; send empty hints in get secrets request
7101
7102         * src/nm-manager.c
7103           src/nm-manager.h
7104                 - (connection_get_settings_cb): set the connection secrets proxy on
7105                         the connection object too
7106                 - (internal_new_connection_cb): create the connection secrets proxy
7107
7108         * introspection/nm-settings-connection.xml
7109                 - Define Connection.Secrets interface and move GetSecrets there
7110                 - Add a 'hints' argument to GetSecrets
7111
7112         * libnm-glib/nm-settings.c
7113           libnm-glib/nm-settings.h
7114                 - (impl_connection_settings_get_secrets): add 'hints' argument
7115
7116 2007-10-19  Dan Williams  <dcbw@redhat.com>
7117
7118         * src/nm-device.c
7119                 - (constructor): add message about what path a device is exported as
7120                         to help in debugging rh #339011
7121
7122 2007-10-17  Dan Williams  <dcbw@redhat.com>
7123
7124         * libnm-util/nm-utils.h
7125           libnm-util/nm-utils.c
7126                 - (nm_utils_security_valid): common function to help find the intersection
7127                         of capabilities of devices and (optionally) access points
7128
7129 2007-10-17  Dan Williams  <dcbw@redhat.com>
7130
7131         * src/nm-device-802-11-wireless.c
7132                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7133                         don't get erroneously cleared
7134
7135 2007-10-17  Dan Williams  <dcbw@redhat.com>
7136
7137         * src/nm-manager.h
7138           src/nm-manager.c
7139           src/nm-hal-manager.c
7140                 - (device_removed, finalize, nm_manager_remove_device,
7141                    nm_manager_sleep): add a 'deactivate' argument to 
7142                    nm_manager_remove_device() to fully deactivate devices when necessary
7143                    (ie, always except when waking up)
7144
7145 2007-10-16  Dan Williams  <dcbw@redhat.com>
7146
7147         * libnm-util/nm-setting.c
7148                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7149                         also isn't valid phase2 autheap method
7150
7151 2007-10-16  Dan Williams  <dcbw@redhat.com>
7152
7153         * libnm-glib/nm-client.c
7154                 - (update_wireless_status): consolidate updates of wireless status
7155                 - (constructor): use update_wireless_status()
7156                 - (manager_running): set wireless status off when NM goes away; requery
7157                         the wireless status when NM comes back
7158
7159 2007-10-16  Dan Williams  <dcbw@redhat.com>
7160
7161         * libnm-glib/nm-client.c
7162                 - (nm_client_activate_device): actually use the fixed-up specific
7163                         object path
7164
7165 2007-10-16  Dan Williams  <dcbw@redhat.com>
7166
7167         * src/nm-hal-manager.c
7168                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7169                         killswitch error messages once
7170
7171 2007-10-16  Dan Williams  <dcbw@redhat.com>
7172
7173         * src/nm-manager.c
7174                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7175                         if it's disabled in hardware; don't touch network devices while
7176                         NM is asleep
7177
7178 2007-10-16  Dan Williams  <dcbw@redhat.com>
7179
7180         * libnm-util/nm-client.c
7181                 - (nm_client_activate_device): convert NULL specific_object to "/",
7182                         which is used in place of NULL
7183
7184         * src/nm-manager.c
7185                 - (impl_manager_activate_device): convert "/" specific_object back into
7186                         NULL
7187
7188 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7189
7190         Implement a generic NMSetting creator from setting name.
7191         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7192         add a virtual function 'populate_fn'.
7193
7194         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7195         (register_default_creators): Register setting creators instead of functions
7196         that create and then populate.
7197         (parse_one_setting): Use the common setting creator and then setting specific
7198         poplulation function.
7199
7200         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7201         they all looked exactly the same.
7202         Add a 'populate_fn' virtual function to NMSetting.
7203         Use default virtual functions in case they are not overriden.
7204         (nm_setting_populate_from_hash): Implement.
7205
7206         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7207         name, use a defined string.
7208         (real_act_stage4_get_ip4_config): Ditto.
7209
7210 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7211
7212         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7213         HAL is int, not uint.
7214
7215 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7216
7217         Implement killswitch polling through HAL.
7218
7219         * src/nm-manager.c: Add wireless hardware status property. Add 
7220         'properties-changed' signal for changes in wireless and wireless hardware
7221         state changes.
7222
7223         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7224         and update NMManager's wireless hardware state when it has changed.
7225         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7226         already does that.
7227
7228         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7229         values of wireless state and wireless hardware state. Listen for the
7230         'properties-changed' signals, update the cached values and emit notify.
7231
7232         * include/NetworkManager.h: Fix a typo in a comment.
7233
7234 2007-10-14  Dan Williams  <dcbw@redhat.com>
7235
7236         * libnm-util/nm-setting.c
7237                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7238
7239 2007-10-13  Dan Williams  <dcbw@redhat.com>
7240
7241         * libnm-util/nm-setting.h
7242           libnm-util/nm-setting.c
7243           src/supplicant-manager/nm-supplicant-config.c
7244                 - Make the 'proto' field of the 802-11-wireless-security field a
7245                         string list
7246
7247 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7248
7249         Rework the "properties-changed" signal listening implementation.
7250         Add a generic implementation to NMObject class that listens for
7251         the signal and calls property setters of the target NMObject.
7252
7253         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7254
7255         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7256         code to the end of file so that all the static functions are available
7257         without extra declarations.
7258         Remove the "properties-changed" signal handling and use the framework from
7259         NMObject.
7260         Implement property setters for properties that change with 
7261         "properties-changed" signal.
7262
7263         * libnm-glib/nm-access-point.c: Ditto.
7264
7265 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7266
7267         Rework the "properties-changed" signal implementation.
7268         In classes that need to use it, just emit "GObject::notify" and the new
7269         framework takes care of the rest to make the signal available on dbus.
7270         The framework queues the notifications and tries to send as many together
7271         in one signal as possible.
7272
7273         * src/nm-properties-changed-signal.c:
7274         * src/nm-properties-changed-signal.h: Implement.
7275
7276         * src/Makefile.am: Add new files to build.
7277
7278         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7279         signal.
7280
7281         * src/nm-device-802-11-wireless.c: Ditto.
7282
7283 2007-10-10  Dan Williams  <dcbw@redhat.com>
7284
7285         * src/nm-manager.c
7286                 - (wait_for_connection_expired): ensure info is valid
7287                 - (connection_added_default_handler): Should only remove pending
7288                         connection info when the manager has the connection that it's
7289                         waiting for.  Fixes segfault in wait_for_connection_info().  
7290
7291 2007-10-10  Dan Williams  <dcbw@redhat.com>
7292
7293         * libnm-util/nm-setting.c
7294           libnm-util/nm-setting.h
7295                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7296                         can use if they choose.  Should be filled in by the settings service
7297                         on-the-fly with the currently logged in user's username
7298
7299 2007-10-10  Dan Williams  <dcbw@redhat.com>
7300
7301         * src/nm-device-802-11-wireless.c
7302                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7303                         as such, because even if the manager fills in the SSID, NM still
7304                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7305                         its SSID
7306
7307 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7308
7309         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7310         code that used NM's own version of dbus signal handling and custom dictionary
7311         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7312         and we get to maintain over 2000 lines less code.
7313
7314         * libnm-util/dbus-dict-helpers.c:
7315         * libnm-util/dbus-dict-helpers.h: Remove.
7316
7317         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7318
7319         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7320
7321         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7322         handlers.
7323
7324         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7325
7326         * configure.in: Remove test/libnm-util/Makefile creation.
7327
7328         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7329
7330         * test/libnm-util/: Remove the whole directory.
7331
7332 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7333
7334         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7335         device_state_changed_idle_id variable or it would contain some random value and the
7336         schedule_change_check calls would not do anything.
7337
7338 2007-10-09  Dan Williams  <dcbw@redhat.com>
7339
7340         * src/nm-device-802-11-wireless.c
7341                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7342                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7343                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7344                         merging of non-SSID-broadcasting APs
7345
7346 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7347
7348         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7349         "guint8 *" since it's usually used with GByteArray->data.
7350         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7351
7352 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7353
7354         * src/NetworkManagerUtils.c
7355         (nm_utils_is_empty_ssid):
7356         (nm_utils_escape_ssid):
7357         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7358         lot of places, so they belong to libnm-utils instead.
7359
7360         Now with 100% less compiler warnings:
7361
7362         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7363         (nm_dbus_unescape_object_path): Ditto.
7364         (nm_utils_ssid_to_utf8): Ditto.
7365         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7366         (nm_utils_escape_ssid): Ditto.
7367         (nm_utils_same_ssid): Ditto.
7368
7369         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7370         (add_one_connection_element): Remove an unused variable.
7371         (impl_manager_get_active_connections): Ditto.
7372
7373         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7374         variable.
7375
7376         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7377         from the previous commit.
7378
7379         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7380         (real_act_stage1_prepare): Ditto.
7381         (activation_success_handler): Ditto.
7382         (get_property): Ditto.
7383
7384         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7385         variable.
7386
7387         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7388         it's always set.
7389
7390         * src/supplicant-manager/nm-supplicant-config.c 
7391         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7392         to expected "char *".
7393         (nm_supplicant_config_add_setting_wireless): Ditto.
7394         (nm_supplicant_config_remove_option): Remove, not used.
7395
7396         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7397         not double.
7398         (test_wireless_enabled): Ifdef out unused function.
7399         (device_deactivate): Ditto.
7400         (device_state_changed): Ditto.
7401         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7402         (nm_utils_escape_ssid): Ditto.
7403
7404         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7405         (nm_utils_is_empty_ssid): Ditto.
7406
7407         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7408         unused variable.
7409
7410         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7411         (setting_vpn_properties_update_secrets): Ditto.
7412         (int_to_gvalue): Ifdef out for now, not used.
7413         (byte_to_gvalue): Ditto.
7414
7415         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7416         Unused, remove.
7417
7418 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7419
7420         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7421         about dbus manager, not named manager.
7422         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7423
7424         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7425         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7426         However, the same signal is emitted when we destroy it and there's 
7427         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7428
7429         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7430         releasing the DBusGConnection, since proxy needs a conneciton.
7431         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7432
7433 2007-10-08  Dan Williams  <dcbw@redhat.com>
7434
7435         * src/NetworkManager.c
7436                 - (main): error on unknown command-line options
7437
7438 2007-10-08  Dan Williams  <dcbw@redhat.com>
7439
7440         Reimplement the invalid connection list.  Don't try to re-activate a
7441         connection that just failed or was canceled.
7442
7443         * src/nm-device.c
7444                 - (connection_secrets_failed_cb): fail device activation, don't just
7445                         deactivate the device.  Listeners have to know about the failure.
7446
7447         * src/NetworkManagerPolicy.c
7448                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7449                         the connection list given to a device's get_best_connection()
7450                         method
7451                 - (device_state_changed): tag failed connections as invalid; clear the
7452                         tag from successful connections
7453
7454 2007-10-08  Dan Williams  <dcbw@redhat.com>
7455
7456         Fix problems with interrupted activation.  Previously, choosing an AP
7457         from the menu, then choosing another one before the first connection was
7458         successful wouldn't deactivate the device before starting the new connection
7459         on that same device.
7460
7461         * src/NetworkManagerPolicy.c
7462                 - (deactivate_old_device, device_state_changed, state_changed,
7463                    nm_policy_new): wrong place to deactivate old devices
7464
7465         * src/nm-manager.c
7466                 - (pending_connection_info_destroy, finalize,
7467                    wait_for_connection_expired): decouple destruction of the pending
7468                         connection info from the manager device
7469                 - (connection_added_default_handler): deactivate any active or
7470                         activating device before starting a new activation
7471                 - (impl_manager_activate_device): deactivate any active or activating
7472                         device before starting a new activation; be sure not to leak
7473                         pending connection info if a new activation request arrives but
7474                         there's already a pending one in-process
7475
7476 2007-10-08  Dan Williams  <dcbw@redhat.com>
7477
7478         * src/NetworkManagerAP.h
7479           src/NetworkManagerAP.c
7480                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7481                         should handle default SSIDs and whether or not to autoconnect
7482                         to them
7483
7484 2007-10-08  Dan Williams  <dcbw@redhat.com>
7485
7486         * src/NetworkManagerPolicy.c
7487                 - (nm_policy_device_change_check): print out connection name where
7488                         possible
7489
7490 2007-10-08  Dan Williams  <dcbw@redhat.com>
7491
7492         * src/nm-device-802-11-wireless.c
7493           src/nm-device-802-11-wireless.h
7494                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7495                         'hidden-ap-found' signal (for internal use only) that allows the
7496                         NMManager to fill in the AP's SSID if a connection has that AP's
7497                         BSSID in its seen-bssids list
7498
7499         * src/nm-manager.c
7500                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7501                         wireless device's hidden-ap-found signal and fill in the APs SSID
7502                         if possible
7503
7504 2007-10-07  Dan Williams  <dcbw@redhat.com>
7505
7506         * src/nm-manager.c
7507           src/nm-manager.h
7508                 - Add a 'connections-added' signal to batch together updates of large
7509                         numbers of connections, like when reading from a settings service
7510                         the first time.  Otherwise, the policy would just activate the first
7511                         suitable connection it saw rather than waiting for the full list
7512                         to arrive.
7513                 - (nm_manager_class_init): register new signal
7514                 - (get_type_for_proxy, connection_get_settings_cb,
7515                    get_connection_for_proxy): centralize places where a proxy's setting
7516                         service is determined
7517                 - (free_get_settings_info): if the call being freed is the last call
7518                         in a pending call group, fire off the connections-added signal
7519                 - (internal_new_connection_cb): add call to a pending call group if
7520                         requested
7521                 - (list_connections_cb): always create a call group here, because this
7522                         call results in a batch of new connections
7523                 - (initial_get_connections): start getting system connections first
7524                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7525                         removed signal when destroying connections
7526
7527         * src/NetworkManagerPolicy.c
7528                 - (nm_policy_new, connections_added): handle connections-added signal
7529                         from the manager
7530
7531 2007-10-06  Dan Williams  <dcbw@redhat.com>
7532
7533         * src/nm-device-802-11-wireless.c
7534                 - (constructor): fix leaked socket
7535
7536 2007-10-06  Dan Williams  <dcbw@redhat.com>
7537
7538         * src/NetworkManagerPolicy.c
7539                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7540                         connection in the list returned by nm_manager_get_connections() is
7541                         reffed, but they weren't getting unreffed before returning
7542
7543 2007-10-06  Dan Williams  <dcbw@redhat.com>
7544
7545         * src/nm-manager.c
7546                 - (connections_to_slist): sort connections first on autoconnect, then
7547                         on timestamp
7548
7549 2007-10-06  Dan Williams  <dcbw@redhat.com>
7550
7551         * libnm-util/nm-connection.c
7552                 - (gvalue_to_string): handle UINT64
7553
7554 2007-10-06  Dan Williams  <dcbw@redhat.com>
7555
7556         * src/NetworkManagerPolicy.c
7557                 - (connection_updated, nm_policy_new): recheck state when a connection
7558                         gets updated
7559
7560 2007-10-06  Dan Williams  <dcbw@redhat.com>
7561
7562         * src/nm-manager.c
7563           src/nm-manager.h
7564                 - (nm_manager_get_connection_dbus_path): make static
7565                 - (nm_manager_update_connections): remove; unused
7566                 - Add a connection-updated signal
7567                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7568                         handle connection object updates
7569
7570 2007-10-06  Dan Williams  <dcbw@redhat.com>
7571
7572         * src/NetworkManagerPolicy.c
7573                 - (connection_removed): deactivate removed connections
7574
7575 2007-10-06  Dan Williams  <dcbw@redhat.com>
7576
7577         * libnm-util/nm-connection.c
7578           libnm-util/nm-connection.h
7579                 - (nm_connection_replace_settings): new function
7580
7581 2007-10-06  Dan Williams  <dcbw@redhat.com>
7582
7583         * libnm-glib/nm-device-802-11-wireless.c
7584                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7585                         on error when getting the active access point over D-Bus from NM
7586
7587 2007-10-05  Dan Williams  <dcbw@redhat.com>
7588
7589         * libnm-util/nm-setting.c
7590                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7591                         to the NMSettingWireless table; it's now a string array not an array
7592                         of byte arrays
7593
7594 2007-10-05  Dan Williams  <dcbw@redhat.com>
7595
7596         * libnm-glib/nm-device-802-11-wireless.c
7597                 - Cache properties and update cached properties on D-Bus signals from NM
7598
7599 2007-10-05  Dan Williams  <dcbw@redhat.com>
7600
7601         * src/nm-device-802-11-wireless.c
7602                 - (set_current_ap): consolidate current_ap handling code into one place
7603                         to ensure that PropertiesChanged signals are emitted in all cases
7604                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7605                    nm_device_802_11_wireless_dispose): use set_current_ap()
7606
7607 2007-10-05  Dan Williams  <dcbw@redhat.com>
7608
7609         * libnm-glib/nm-access-point.c
7610           libnm-glib/nm-access-point.h
7611                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7612                         because the value is cached internally now.  Callers should not
7613                         free the internal value.
7614                 - Make signal name defines private
7615
7616         * test/nm-tool.c
7617           libnm-glib/libnm-glib-test.c
7618                 - Don't free value returned from nm_access_point_get_hw_address()
7619
7620 2007-10-04  Dan Williams  <dcbw@redhat.com>
7621
7622         * introspection/nm-device-802-11-wireless.xml
7623           src/nm-device-802-11-wireless.h
7624           src/nm-device-802-11-wireless.c
7625                 - Add a PropertiesChanged signal for wireless device
7626                 - Store currently associated access point
7627                 - (periodic_update): generalize; update rate here too and emit the
7628                         correct PropertiesChanged signal when stuff changes
7629                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7630                    real_activation_cancel_handler): clear current_ap when device is
7631                         deactivated
7632                 - (link_to_specific_ap, get_ap_blacklisted,
7633                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7634                         code
7635                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7636                         outside this file
7637                 - (real_set_hw_address): emit property changed signal if the card's
7638                         MAC address changes
7639                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7640                         the card is supposed to be connecting to
7641                 - (activation_success_handler): send out property updates on successful
7642                         activation
7643                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7644                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7645                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7646                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7647                         is now boxed; add PropertiesChanged signal
7648
7649 2007-10-04  Dan Williams  <dcbw@redhat.com>
7650
7651         * libnm-util/nm-connection.c
7652           libnm-util/nm-connection.h
7653                 - (nm_connection_verify): new function
7654
7655 2007-10-04  Dan Williams  <dcbw@redhat.com>
7656
7657         * libnm-util/nm-setting.c
7658                 - (nm_settings_verify): use #defines when possible rather than strings
7659                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7660                 - (setting_vpn_verify): tighter validity check on 'service_type'
7661
7662 2007-10-04  Dan Williams  <dcbw@redhat.com>
7663
7664         * libnm-glib/nm-settings.c
7665                 - (nm_connection_settings_class_init): provide correct type for argument
7666                         to the Updated signal so that dbus-glib knows how to marshal it
7667
7668 2007-10-03  Dan Williams  <dcbw@redhat.com>
7669
7670         * src/nm-device-802-3-ethernet.c
7671                 - (real_get_best_connection): don't create automatic connections
7672                         internally; clients should provide a setting that applies to
7673                         the device with 'autoconnect: True'.  Problem was that these
7674                         internally auto-created connections don't have a proxy or service
7675                         name becuase they weren't created by a settings daemon, and therefore
7676                         clients have no idea what to do with them.
7677
7678 2007-10-03  Dan Williams  <dcbw@redhat.com>
7679
7680         * src/nm-device-802-11-wireless.c
7681           src/nm-device-802-11-wireless.h
7682           introspection/nm-device-802-11-wireless.xml
7683                 - GetActiveNetworks -> GetAccessPoints
7684                 - ActiveNetwork -> ActiveAccessPoint
7685                 - NetworkAdded -> AccessPointAdded
7686                 - NetowrkRemoved -> AccessPointRemoved
7687
7688         * libnm-glib/nm-device-802-11-wireless.c
7689           libnm-glib/nm-device-802-11-wireless.h
7690                 - network-added signal -> access-point-added
7691                 - network-removed signal -> access-point-removed
7692                 - nm_device_802_11_wireless_get_active_network() ->
7693                         nm_device_802_11_wireless_get_active_access_point()
7694                 - nm_device_802_11_wireless_get_network_by_path() ->
7695                         nm_device_802_11_wireless_get_access_point_by_path()
7696                 - nm_device_802_11_wireless_get_networks() ->
7697                         nm_device_802_11_wireless_get_access_points()
7698
7699         * libnm-glib/libnm-glib-test.c
7700           test/nm-tool.c
7701           src/NetworkManagerPolicy.c
7702                 - Fixups for Network -> AccessPoint
7703
7704 2007-10-03  Dan Williams  <dcbw@redhat.com>
7705
7706         Add a GetActiveConnections() method on the Manager object.
7707
7708         * src/nm-manager.c
7709           src/nm-manager.h
7710           introspection/nm-manager.xml
7711                 - (connection_get_settings_cb): keep connection type around too
7712                 - (impl_manager_get_active_connections, add_one_connection_element):
7713                         implement; returns all active connections and what devices they
7714                         apply to
7715
7716         * libnm-glib/nm-client.c
7717           libnm-glib/nm-client.h
7718           introspection/nm-manager-client.xml
7719                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7720                         by the caller; free here to avoid memory leak
7721                 - (nm_client_get_active_connections): implement; return the list of
7722                         active connections
7723                 - (nm_client_free_active_connection_element): implement; free an element
7724                         of the GSList returned by nm_client_get_active_connections()
7725
7726 2007-10-03  Dan Williams  <dcbw@redhat.com>
7727
7728         * src/nm-device-802-11-wireless.c
7729                 - (nm_device_802_11_wireless_update_bssid): remove
7730                 - (get_active_ap): new function; find the AP in the scan list which
7731                         matches the current BSSID and SSID of the wireless device
7732                 - (nm_device_802_11_periodic_update): get current AP using
7733                         get_active_ap() and print AP roam messages
7734
7735 2007-10-01  Dan Williams  <dcbw@redhat.com>
7736
7737         * libnm-util/nm-setting.h
7738                 - Add a 'timestamp' option to NMSettingConnection
7739                 - Add a UINT64 type
7740
7741         * libnm-util/nm-setting.c
7742                 - (uint64_to_gvalue): new function
7743                 - (nm_setting_populate_from_hash, nm_setting_hash,
7744                    default_setting_clear_secrets): handle UINT64 type
7745                 - con_table: add 'timestamp' member
7746
7747 2007-10-01  Dan Williams  <dcbw@redhat.com>
7748
7749         * src/nm-manager.c
7750                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7751                         value when the connection can be activated immediately
7752
7753 2007-10-01  Dan Williams  <dcbw@redhat.com>
7754
7755         * libnm-glib/nm-device.c
7756                 - (nm_device_class_init): actually tell glib about the carrier-changed
7757                         signal
7758
7759 2007-10-01  Dan Williams  <dcbw@redhat.com>
7760
7761         * configure.in
7762           src/marshallers/Makefile.am
7763           src/marshallers/nm-marshal.list
7764           src/marshallers/nm-marshal-main.c
7765                 - Consolidate glib marshallers into one place
7766
7767         * src/dhcp-manager/Makefile.am
7768           src/dhcp-manager/nm-dhcp-manager.c
7769           src/supplicant-manager/Makefile.am
7770           src/supplicant-manager/nm-supplicant-manager.c
7771           src/supplicant-manager/nm-supplicant-interface.c
7772           src/ppp-manager/Makefile.am
7773           src/ppp-manager/nm-ppp-manager.c
7774           src/vpn-manager/Makefile.am
7775           src/vpn-manager/nm-vpn-connection.c
7776           src/Makefile.am
7777                 - Use consolidated marshallers
7778
7779         * src/dhcp-manager/nm-dhcp-marshal.list
7780           src/dhcp-manager/nm-dhcp-marshal-main.c
7781           src/supplicant-manager/nm-supplicant-marshal-main.c
7782           src/supplicant-manager/nm-supplicant-marshal.list
7783           src/nm-marshal-main.c
7784           src/nm-marshal.list
7785           src/ppp-manager/nm-ppp-marshal-main.c
7786           src/ppp-manager/nm-ppp-marshal.list
7787           src/vpn-manager/nm-vpn-marshal-main.c
7788           src/vpn-manager/nm-vpn-marshal.list
7789                 - Remove
7790
7791 2007-10-01  Dan Williams  <dcbw@redhat.com>
7792
7793         * include/NetworkManagerVPN.h
7794                 - define VPN connection state change reason codes
7795
7796         * src/vpn-manager/Makefile.am
7797           src/vpn-manager/nm-vpn-marshal.list
7798           src/vpn-manager/nm-vpn-marshal-main.c
7799                 - Add marshallers for StateChanged signal
7800
7801         * introspection/nm-vpn-connection.xml
7802                 - New Banner property
7803                 - StateChanged signal now includes a 'reason' argument
7804
7805         * src/vpn-manager/nm-vpn-connection.c
7806           src/vpn-manager/nm-vpn-connection.h
7807                 - Add a "Banner" property that contains the returned VPN server login
7808                         banner (if any); valid only in the ACTIVATED state
7809                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7810                         a 'reason' argument and emits that reason along with the
7811                         state-changed signal
7812                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7813                 - (nm_vpn_connection_ip4_config_get): save banner for later
7814                 - (nm_vpn_connection_get_banner, get_property,
7815                    nm_vpn_connection_class_init): implement Banner property
7816
7817         * src/vpn-manager/nm-vpn-service.c
7818                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7819                         connection list because elements may get added/removed from it
7820                         while iterating over the list
7821                 - (connection_state_changed): signal now includes the 'reason' argument
7822
7823         * libnm-glib/nm-vpn-connection.c
7824           libnm-glib/nm-vpn-connection.h
7825                 - (nm_vpn_connection_get_banner): new function
7826                 - (state_changed_proxy): handle reason argument
7827
7828 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7829
7830         * src/nm-manager.c:
7831         * src/nm-manager.h:
7832         Implement device activation through NMManager.
7833         Implement "pending device activation" here - If the connection isn't found,
7834         we try to wait for up to 5 seconds for the connection to be provided.
7835         Add NMConnectionType argument to "connection-added" and "connection-removed"
7836         signals.
7837         (nm_manager_get): Remove. Finally.
7838
7839         * src/nm-activation-request.c: 
7840         * src/nm-activation-request.h: 
7841         Remove all the deferred activation code.
7842
7843         * src/nm-device.c: Remove all the deferred activation code. Once the device
7844         activation is started, it's started. Update the activation virtual function
7845         signature.
7846
7847         * src/nm-device-interface.c:
7848         * src/nm-device-interface.h:
7849         Device activation now takes only NMActRequest argument.
7850         Don't expose device activation directly on dbus, it's supposed to go through
7851         NMManager now.
7852
7853         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7854         a bit more compact.
7855         Use the new device activation methods through NMManager.
7856
7857         * introspection/nm-manager-client.xml: 
7858         * introspection/nm-manager.xml: 
7859         * libnm-glib/nm-client.c:
7860         * libnm-glib/nm-client.h:
7861         Add device activation method.
7862         
7863         * libnm-glib/nm-device.c: 
7864         * libnm-glib/nm-device.h: 
7865         * introspection/nm-device.xml: 
7866         Remove device activation method. It's done through NMManager now.
7867
7868         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7869         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7870
7871 2007-09-28  Dan Williams  <dcbw@redhat.com>
7872
7873         * libnm-glib/nm-vpn-connection.c
7874                 - (nm_vpn_connection_get_state): try to update state if the current
7875                         state is UNKNOWN
7876
7877 2007-09-27  Dan Williams  <dcbw@redhat.com>
7878
7879         Patch from Bill Nottingham
7880
7881         * src/supplicant-manager/nm-supplicant-config.c
7882                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7883                         data to the supplicant
7884
7885 2007-09-27  Dan Williams  <dcbw@redhat.com>
7886
7887         * src/NetworkManagerSystem.c
7888                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7889                         and all address manipulation here should be happening on the
7890                         _VPN_ device, not the active device
7891
7892 2007-09-26  Dan Williams  <dcbw@redhat.com>
7893
7894         * src/nm-manager.c
7895           src/nm-manager.h
7896           src/nm-activation-request.c
7897           src/nm-activation-request.h
7898                 - Move the GetSecrets stuff out of the NMManager instance because it
7899                         doesn't really need to be there and complicates things
7900
7901         * src/nm-device.c
7902                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7903                         connection-secrets-failed signal and deactivate the device if
7904                         the GetSecrets call fails
7905
7906         * src/nm-device-802-11-wireless.c
7907                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7908                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7909                         secrets and give correct hints about whether new secrets should be
7910                         asked for by the client or not
7911
7912 2007-09-26  Dan Williams  <dcbw@redhat.com>
7913
7914         * src/vpn-manager/nm-vpn-connection.c
7915                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7916                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7917                         to the secrets-updated signal of the NMConnection since updating
7918                         the secrets is done within the scope of the NMVPNConnection object
7919                         already
7920                 - (get_connection_secrets): fix an uninialized variable usage error
7921
7922 2007-09-26  Dan Williams  <dcbw@redhat.com>
7923
7924         * libnm-util/nm-setting.c
7925                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7926                         actually get updated when the user enters them
7927
7928 2007-09-26  Dan Williams  <dcbw@redhat.com>
7929
7930         * libnm-glib/nm-vpn-plugin.c
7931                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7932
7933 2007-09-26  Dan Williams  <dcbw@redhat.com>
7934
7935         * include/NetworkManagerVPN.h
7936                 - Add a NEED_AUTH state
7937
7938         * src/vpn-manager/nm-vpn-connection.c
7939                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7940                         the connection needs secrets, and if so, then ask the settings
7941                         service to fill in the secrets.  Then start the connection.
7942
7943 2007-09-26  Dan Williams  <dcbw@redhat.com>
7944
7945         * src/vpn-manager/nm-vpn-manager.c
7946                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7947
7948 2007-09-26  Dan Williams  <dcbw@redhat.com>
7949
7950         * introspection/nm-vpn-plugin.xml
7951           libnm-glib/nm-vpn-plugin.c
7952           libnm-glib/nm-vpn-plugin.h
7953                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7954                         the name of the NMSetting in an NMConnection that may require
7955                         secrets specific to that VPN plugin
7956
7957 2007-09-26  Dan Williams  <dcbw@redhat.com>
7958
7959         * src/nm-manager.c
7960           src/nm-manager.h
7961                 - (nm_manager_get_connection_secrets): make static, unused outside
7962                         the file
7963                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7964
7965 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7966
7967         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7968         method.
7969         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7970         unreference the connection.
7971
7972         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7973         passing properties hash and routes string list, pass NMConnection (in hashed form).
7974
7975         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7976         as GSList, no need to copy stuff around anymore.
7977         (nm_vpn_connection_activate): Update the plugin activation method.
7978
7979         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7980         routes argument to GSList.
7981
7982 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7983
7984         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7985         state and try to get the secrets.
7986
7987         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7988         connections from NMManager and let the device to choose the best from the list.
7989         Since the connection list is sorted by system ones first and user ones later,
7990         the devices still prefer system connections like they did before.
7991         (deactivate_old_device): Implement. When a device starts activation, we have a
7992         policy (for now at least) to deactivate any other device that might be either
7993         active or still activating.
7994
7995         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7996         It's set on construction, there will be no other way to access it.
7997
7998         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7999         device events and drive the device, not the other way around.
8000
8001         * src/nm-device-802-3-ethernet.c: Ditto.
8002
8003         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8004         sent along, pass it on to virtual functions.
8005
8006         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8007         for now, but should really be public instead of nm_device_get_iface() since iface
8008         is a property of the DeviceInterface, not Device.
8009         (impl_device_activate): Don't touch NMManager!
8010
8011 2007-09-26  Jürg Billeter  <j@bitron.ch>
8012
8013         * initscript/paldo/NetworkManager.in:
8014         * initscript/paldo/NetworkManagerDispatcher.in:
8015         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8016         (nm_system_flush_loopback_routes): update paldo backend
8017
8018 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8019
8020         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8021         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8022         which means none of the devices get brought down properly, which in turn leaves
8023         DHCP client running.
8024
8025         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8026         (supplicant_connection_timeout_cb): Ditto.
8027
8028 2007-09-25  Dan Williams  <dcbw@redhat.com>
8029
8030         * src/nm-device.c
8031                 - (device_activation_go): small hack to work around race when
8032                         activating deferred connections; should solve this in a better way
8033
8034 2007-09-25  Dan Williams  <dcbw@redhat.com>
8035
8036         * introspection/nm-device.xml
8037           libnm-glib/nm-device.c
8038           libnm-glib/nm-device.h
8039                 - Add 'Carrier' property to exported NMDevice objects
8040
8041         * src/nm-device-interface.h
8042           src/nm-device-interface.c
8043           src/nm-device.c
8044                 - Add a 'carrier' property to internal NMDevice objects
8045
8046 2007-09-25  Dan Williams  <dcbw@redhat.com>
8047
8048         * src/nm-device-802-11-wireless.c
8049                 - (ap_auth_enforced): also return the encryption status of the AP so
8050                         that callers can differentiate easily between unencrypted APs
8051                         and encrypted ones, in addition to whether the AP has an
8052                         authenticator
8053                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8054                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8055                         previously would request secrets from unencrypted APs at times
8056
8057 2007-09-25  Dan Williams  <dcbw@redhat.com>
8058
8059         * src/nm-manager.c
8060                 - (nm_manager_update_state): new function; updates state and emits
8061                         appropriate signals ensuring a state-change signal for the same state
8062                         never gets emitted twice in a row.
8063                 - (manager_device_state_changed): handle more device state to get a
8064                         better picture of the overall NM state
8065
8066 2007-09-25  Dan Williams  <dcbw@redhat.com>
8067
8068         * libnm-glib/nm-settings.c
8069           libnm-glib/nm-settings.h
8070                 - (new_error -> nm_settings_new_error): make public so that subclasses
8071                         can use the same error domain.  Also pass a valid error code to
8072                         g_error_new_literal() so that libdbus doesn't assert when converting
8073                         the GError into a DBusError
8074                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8075                    impl_connection_settings_get_settings,
8076                    impl_connection_settings_get_secrets): use new error creator
8077                         function
8078
8079 2007-09-25  Dan Williams  <dcbw@redhat.com>
8080
8081         * src/NetworkManager.c
8082                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8083
8084 2007-09-25  Dan Williams  <dcbw@redhat.com>
8085
8086         * src/supplicant-manager/nm-supplicant-manager.c
8087                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8088                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8089                    nm_supplicant_manager_startup): when the supplicant isn't running,
8090                         try to start it periodically via system bus activation.  Fixes
8091                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8092                         for the supplicant to come back
8093
8094 2007-09-25  Dan Williams  <dcbw@redhat.com>
8095
8096         Ensure that old activation requests are forgotten about; previously
8097         hitting Cancel in the password dialog would deactivate whatever device
8098         that password was requested for, even if that wasn't the currently
8099         activating connection.
8100
8101         * src/nm-manager.c
8102           src/nm-manager.h
8103                 - (nm_manager_get_connection_secrets): track the pending call
8104                         object so it can be canceled later if needed
8105                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8106                         GetSecrets call for a particular connection
8107
8108         * src/nm-activation-request.c
8109                 - (dispose): cancel any outstanding GetSecrets calls on the
8110                         connection
8111
8112 2007-09-25  Dan Williams  <dcbw@redhat.com>
8113
8114         * src/NetworkManagerPolicy.c
8115                 - (nm_policy_device_change_check): handle devices that have a
8116                         deferred activation.  These devices are not really active _yet_,
8117                         but need to be treated as such here.  Don't interrupt them
8118                         automatically.
8119
8120         * src/nm-device-interface.c
8121                 - (impl_device_activate): handle devices that have a deferred activation
8122                         like activating or active devices.  When multiple active devices
8123                         get committed, the device shouldn't be deactivated until the
8124                         connection details are available to avoid DoS and such.  Currently,
8125                         any active, activating, or deferred activation device is deactivated
8126                         here before starting the new activation request.
8127
8128 2007-09-25  Dan Williams  <dcbw@redhat.com>
8129
8130         Properly re-query secrets from the settings daemon when stuff fails.
8131
8132         * src/nm-device-802-11-wireless.c
8133                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8134                         between Shared Key and Open System auth modes
8135                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8136                    real_act_stage4_ip_config_timeout): clear existing secrets and
8137                         request new ones when something fails due to a suspected wrong key
8138                 - (real_act_stage2_config): fix for new request_new argument to
8139                         nm_manager_get_connection_secrets()
8140
8141         * src/nm-manager.c
8142           src/nm-manager.h
8143                 - (nm_manager_get_connection_secrets): return error status; pass
8144                         new request_new argument on to the settings daemon
8145
8146         * introspection/nm-settings-connection.xml
8147                 - New 'request_new' argument to the GetSecrets call that hints to the
8148                         settings daemon to ask the user for completely new secrets
8149
8150         * libnm-glib/nm-settings.c
8151           libnm-glib/nm-settings.h
8152                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8153                         argument
8154
8155 2007-09-25  Dan Williams  <dcbw@redhat.com>
8156
8157         * libnm-util/nm-connection.c
8158           libnm-util/nm-connection.h
8159                 - (nm_connection_clear_secrets): new function; clear secrets out of
8160                         each NMSetting in an NMConnection
8161
8162         * libnm-util/nm-setting.h
8163           libnm-util/nm-setting.c
8164                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8165                         secrets out of an NMSetting
8166                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8167                    nm_setting_wired_new, nm_setting_wireless_new,
8168                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8169                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8170                         to default handler default_setting_clear_secrets()
8171
8172 2007-09-25  Dan Williams  <dcbw@redhat.com>
8173
8174         * src/nm-activation-request.c
8175           src/nm-activation-request.h
8176                 - (nm_act_request_is_deferred): new function
8177
8178 2007-09-24  Dan Williams  <dcbw@redhat.com>
8179
8180         * src/nm-device-802-11-wireless.c
8181                 - (activation_success_handler): update signal strength immediately
8182                         after activation
8183
8184 2007-09-24  Dan Williams  <dcbw@redhat.com>
8185
8186         * libnm-util/nm-setting.c
8187                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8188
8189 2007-09-24  Dan Williams  <dcbw@redhat.com>
8190
8191         * src/NetworkManagerPolicy.c
8192                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8193                         device by deactivating it because it doesn't have a "best connection".
8194                         Since autoconnect=False connections aren't automatically chosen,
8195                         NM would interrupt activation of such a connection because it
8196                         would never be "best" due to autoconnect=False.
8197
8198 2007-09-24  Dan Williams  <dcbw@redhat.com>
8199
8200         * src/nm-manager.c
8201                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8202                         actually has some time to enter a key before the GetSecrets call
8203                         times out
8204
8205 2007-09-24  Dan Williams  <dcbw@redhat.com>
8206
8207         * introspection/nm-manager.xml
8208           src/nm-manager.c
8209                 - (impl_manager_legacy_state): fix 'state' method call return value
8210
8211 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8212
8213         * test/Makefile.am: Install nm-tool
8214
8215 2007-09-24  Dan Williams  <dcbw@redhat.com>
8216
8217         Patch from Ross Burton <ross@burtonini.com>
8218
8219         * test/nm-tool.c
8220           callouts/nm-dhcp-client-action.c
8221           src/nm-netlink.c
8222           src/vpn-manager/nm-vpn-connection.c
8223           libnm-glib/libnm-glib-test.c
8224                 - warning fixes
8225
8226 2007-09-24  Dan Williams  <dcbw@redhat.com>
8227
8228         * libnm-util/nm-utils.h
8229           libnm-util/nm-utils.c
8230                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8231                         remove, unused
8232
8233 2007-09-23  Dan Williams  <dcbw@redhat.com>
8234
8235         * vpn-daemons/vpnc/properties/nm-vpnc.c
8236                 - Update for new VPN properties API bits; instead of passing around
8237                         a lot of random things, everything goes into the NMConnection
8238                         object.
8239
8240 2007-09-23  Dan Williams  <dcbw@redhat.com>
8241
8242         * libnm-util/nm-setting.c
8243                 - Correctly dispose of settings objects if creating them from a hash
8244                         table fails
8245
8246 2007-09-23  Dan Williams  <dcbw@redhat.com>
8247
8248         * libnm-util/nm-setting.c
8249                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8250                         the hash table in a standard manner.  Clients of libnm-util should
8251                         only call g_hash_table_remove_all(), never destroy the hash table
8252                         and recreate it.
8253
8254 2007-09-22  Dan Williams  <dcbw@redhat.com>
8255
8256         * src/nm-device-802-11-wireless.c
8257                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8258                         real reason to do it so often, and reduces wakeups for clients.
8259
8260 2007-09-21  Dan Williams  <dcbw@redhat.com>
8261
8262         * src/nm-device-802-11-wireless.c
8263                 - (build_supplicant_config): wpa_supplicant requires the option
8264                         key_mgmt=NONE for unencrypted networks
8265                 - (real_act_stage2_config): clarify log message on activation
8266
8267 2007-09-21  Dan Williams  <dcbw@redhat.com>
8268
8269         * test/nm-supplicant-test.c
8270           test/Makefile.am
8271                 - Remove supplicant test binary; no longer applicable
8272
8273 2007-09-21  Dan Williams  <dcbw@redhat.com>
8274
8275         * src/supplicant-manager/nm-supplicant-manager.c
8276                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8277                         activate it on the system bus
8278
8279 2007-09-20  Dan Williams  <dcbw@redhat.com>
8280
8281         * initscript/RedHat/NetworkManager.in
8282                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8283
8284 2007-09-20  Dan Williams  <dcbw@redhat.com>
8285
8286         * src/nm-device.c
8287                 - (nm_device_is_activating): work around a race between auto-activation
8288                         and the user activating the same device that is being auto-activated
8289
8290 2007-09-20  Dan Williams  <dcbw@redhat.com>
8291
8292         * src/nm-device-interface.c
8293                 - (impl_device_activate): until multiple active device support lands,
8294                         ensure only one device can be active at a time
8295
8296 2007-09-20  Dan Williams  <dcbw@redhat.com>
8297
8298         * src/supplicant-manager/nm-supplicant-config.c
8299           src/supplicant-manager/nm-supplicant-config.h
8300                 - (nm_supplicant_config_add_option): hide secrets from system logs
8301
8302 2007-09-20  Dan Williams  <dcbw@redhat.com>
8303
8304         * src/NetworkManagerPolicy.c
8305                 - (nm_policy_device_change_check): re-enable the wireless device change
8306                         checking code; insted of checking for SSIDs, check for the same
8307                         connection instead
8308
8309 2007-09-20  Dan Williams  <dcbw@redhat.com>
8310
8311         * src/nm-device-802-11-wireless.c
8312                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8313                         composite link state when determining when to start the disconnection
8314                         timer; that link state is already based on the supplicant interface's
8315                         status which is exactly what's already being examined, plus the link
8316                         state is a conglomeration of various things that we don't want here
8317
8318 2007-09-20  Dan Williams  <dcbw@redhat.com>
8319
8320         * libnm-glib/nm-access-point.c
8321                 - (handle_property_changed): strength is a UCHAR
8322
8323 2007-09-20  Dan Williams  <dcbw@redhat.com>
8324
8325         * src/supplicant-manager/nm-supplicant-config.c
8326                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8327                         string list keywords too since that's what wpa_supplicant wants
8328
8329 2007-09-20  Dan Williams  <dcbw@redhat.com>
8330
8331         * libnm-util/nm-setting.c
8332                 - (convert_strv_to_slist): dupe the values in the list because since
8333                         the list is a boxed value, it'll get destroyed when it's container
8334                         (like a hash table or whatever) gets destroyed
8335
8336 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8337
8338         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8339         GSList.
8340
8341         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8342
8343         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8344         just use (g_object_set_data_full).
8345
8346         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8347         that NMSettingVPN->routes is a GSList, convert it to char **.
8348         (nm_vpn_connection_ip4_config_get): Free routes when done.
8349         (nm_vpn_connection_activate): Ditto.
8350
8351         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8352         (real_act_stage2_config): Use defined setting names.
8353
8354 2007-09-20  Dan Williams  <dcbw@redhat.com>
8355
8356         * src/nm-device-802-11-wireless.c
8357           src/nm-manager.c
8358           src/nm-manager.h
8359                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8360                         so that the device can be deactivated if secrets are wrong
8361
8362 2007-09-20  Dan Williams  <dcbw@redhat.com>
8363
8364         * introspection/nm-settings-connection.xml
8365           libnm-glib/nm-settings.c
8366           libnm-glib/nm-settings.h
8367                 - Make GetSecrets asynchronous on the server side
8368
8369 2007-09-20  Dan Williams  <dcbw@redhat.com>
8370
8371         * src/nm-manager.h
8372           src/nm-device.c
8373                 - (nm_device_activate): actually check if a given connection
8374                         exists before assuming it doesn't
8375
8376 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8377
8378         * libnm-util/nm-connection.c (register_default_creators): Use defined
8379         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8380
8381         * libnm-util/nm-setting.c: Define property name strings, use them.
8382         Implement NMSettingVPN and NMSettingVPNProperties settings.
8383         Implement NM_S_TYPE_GVALUE_HASH.
8384         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8385         (setting_connection_verify): Rename 'devtype' property to 'type'.
8386
8387         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8388         properties.
8389
8390         * src/vpn-manager/nm-vpn-service.c: Ditto.
8391
8392         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8393
8394         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8395         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8396
8397         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8398         names. NMSettingConnection->devtype got renamed to 'type'.
8399
8400         * src/nm-device-802-3-ethernet.c (find_best_connection):
8401         (real_get_best_connection): Ditto.
8402
8403         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8404
8405         * libnm-glib/nm-vpn-manager.[ch]: Update.
8406
8407 2007-09-19  Dan Williams  <dcbw@redhat.com>
8408
8409         * src/NetworkManagerAP.c
8410           src/NetworkManagerAP.h
8411           introspection/nm-access-point.xml
8412                 - Change strength-changed signal into a properties-changed signal
8413                         for all properties, not just strength.  Export that signal over dbus
8414                         so listeners don't have to poll NM for changes.
8415                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8416                         get exported over D-Bus, so break up the logic and let other bits
8417                         decided when to export the AP
8418                 - (nm_ap_new_from_ap): remove, unused
8419
8420         * src/nm-device-802-11-wireless.c
8421                 - (merge_scanned_ap): only export APs that are actually on the device
8422                         list, not every AP created internally
8423
8424         * libnm-glib/nm-access-point.c
8425           libnm-glib/nm-access-point.h
8426                 - Cache properties internally and only hit DBus when needed.  Get
8427                         property updates from NM signals
8428
8429 2007-09-16  Dan Williams  <dcbw@redhat.com>
8430
8431         * libnm-util/nm-connection.c
8432           libnm-util/nm-connection.h
8433                 - (nm_connection_for_each_setting_value): new function; iterate over
8434                         each setting's value and call a user-provided function with details
8435                         about that value
8436
8437         * libnm-util/nm-setting.c
8438           libnm-util/nm-setting.h
8439                 - (nm_setting_enumerate_values): new function; enumerate the values
8440                         of a specific NMSetting subclass for a user-provided function with
8441                         details about that value
8442                 - Change wep_tx_keyidx to a uint32
8443                 - Create settings value tables for each setting defining their type,
8444                         key name, offset into the NMSetting subclass' structure, and whether
8445                         they are required and/or a secret
8446                 - (nm_setting_populate_from_hash): generic function to populate an
8447                         NMSetting from a GHash table, make all settings use it
8448                 - (nm_setting_hash): generic function to derive a GHashTable from
8449                         an NMSetting object, make all settings use it
8450
8451 2007-09-14  Dan Williams  <dcbw@redhat.com>
8452
8453         Remove unused stuff in libnm-util
8454
8455         * configure.in
8456           libnm-util/Makefile.am
8457           libnm-util/cipher-private.h
8458           libnm-util/cipher-wep-ascii.c
8459           libnm-util/cipher-wep-ascii.h
8460           libnm-util/cipher-wep-hex.c
8461           libnm-util/cipher-wep-hex.h
8462           libnm-util/cipher-wep-passphrase.c
8463           libnm-util/cipher-wep-passphrase.h
8464           libnm-util/cipher-wpa-psk-hex.c
8465           libnm-util/cipher-wpa-psk-hex.h
8466           libnm-util/cipher-wpa-psk-passphrase.c
8467           libnm-util/cipher-wpa-psk-passphrase.h
8468           libnm-util/cipher.c
8469           libnm-util/cipher.h
8470           libnm-util/dbus-helpers.c
8471           libnm-util/dbus-helpers.h
8472           libnm-util/gnome-keyring-md5.c
8473           libnm-util/gnome-keyring-md5.h
8474           libnm-util/sha1.c
8475           libnm-util/sha1.h
8476           src/nm-device-802-11-wireless.c
8477           test/libnm-util/Makefile.am
8478           test/libnm-util/test-ciphers.c
8479           test/libnm-util/test-dbus-helpers.c
8480           test/libnm-util/test-inputs.h
8481                 - Removed
8482
8483 2007-09-14  Dan Williams  <dcbw@redhat.com>
8484
8485         * libnm-util/dbus-method-dispatcher.c
8486           libnm-util/dbus-method-dispatcher.h
8487                 - Remove, unused
8488
8489 2007-09-14  Dan Williams  <dcbw@redhat.com>
8490
8491         Implement deferred activation support in the device class.
8492
8493         * src/nm-device-interface.c
8494           src/nm-device-interface.h
8495                 - (nm_device_interface_activate): take more arguments to support
8496                         deferred activation; callers must pass one of (connection) OR
8497                         (service_name, connection_path)
8498                 - (impl_device_activate): connection validation is punted to the device
8499                         to be able to handle deferred activation.  Yes, this means errors
8500                         don't get returned from the Activate() dbus call, and yes, that
8501                         should be fixed somehow later.
8502
8503         * src/nm-device.c
8504           src/nm-device.h
8505                 - (clear_act_request): clear additional deferred activation stuff too
8506                 - (deferred_activation_timeout_cb): new function; clean up when
8507                         deferred activation times out.
8508                 - (deferred_activation_start_cb): new function; when the connection
8509                         finally becomes available, start device activation
8510                 - (nm_device_activate): attach to the right signals of the activation
8511                         request if we need to defer activation until the connection is valid
8512
8513         * src/NetworkManagerPolicy.c
8514                 - (nm_policy_device_change_check): update for additional arguments
8515                         required for nm_device_interface_activate().  Pass NULL for these
8516                         though because this function already knows exactly which
8517                         NMConnection to use
8518
8519 2007-09-14  Dan Williams  <dcbw@redhat.com>
8520
8521         Implement deferred activation handling in the NMActRequest class.  When a
8522         client wants to activate a device but must create the NMConnection details
8523         on the fly, there likely hasn't been enough time yet for NM to receive the
8524         new connection signal and grab all the connection details.  So the
8525         activation is deferred (and bounded by a timer) for a while, and if the
8526         connection appears within the window, it is activated.
8527
8528         * src/nm-activation-request.c
8529           src/nm-activation-request.h
8530                 - (nm_act_request_class_init): two new signals to support deferred
8531                         activation, to allow the listener to handle both timeout and success
8532                 - (nm_act_request_new_deferred): new function, starts the deferred
8533                         activation timeout handler and listens to the NMManager for
8534                         new-connection signals to notice when the connection comes in
8535
8536 2007-09-14  Dan Williams  <dcbw@redhat.com>
8537
8538         * src/nm-manager.h
8539           src/nm-manager.c
8540                 - (nm_manager_get_connection_service_name,
8541                    nm_manager_get_connection_dbus_path): get details about a connection
8542                         known internally by the NMManager
8543                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8544                         because NMConnection is now a GObject subclass
8545                 - Use constant for the gobject data tag used on NMConnection objects for
8546                         storing the associated DBusGProxy
8547
8548 2007-09-14  Dan Williams  <dcbw@redhat.com>
8549
8550         * utils/Makefile.am
8551           utils/nm-utils.c
8552           utils/nm-utils.h
8553           src/supplicant-manager/Makefile.am
8554           src/dhcp-manager/Makefile.am
8555           src/backends/Makefile.am
8556           src/named-manager/Makefile.am
8557           src/ppp-manager/Makefile.am
8558           src/vpn-manager/Makefile.am
8559           test/libnm-util/Makefile.am
8560           test/test-common/Makefile.am
8561                 - Remove utils/; it was unused
8562
8563 2007-09-13  Dan Williams  <dcbw@redhat.com>
8564
8565         * libnm-glib/nm-vpn-manager.h
8566           libnm-glib/nm-vpn-manager.c
8567                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8568
8569 2007-09-13  Dan Williams  <dcbw@redhat.com>
8570
8571         * src/nm-device-802-3-ethernet.c
8572                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8573                         netlink monitor carrier signals on dispose, not bring down.  The
8574                         carrier signals should be handled over the entire lifetime of the
8575                         device anyway, not created/destroyed on up or down.
8576
8577 2007-09-13  Dan Williams  <dcbw@redhat.com>
8578
8579         * libnm-glib/nm-device.c
8580           libnm-glib/nm-device.h
8581                 - (nm_device_activate): take a connection object path rather than an
8582                         NMConnection because NMConnection isn't exported over D-Bus and
8583                         therefore it dbus-glib can't automatically get an object path from it
8584
8585 2007-09-13  Dan Williams  <dcbw@redhat.com>
8586
8587         * libnm-util/nm-setting.c
8588                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8589
8590 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8591
8592         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8593
8594 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8595
8596         * src/vpn-manager/nm-vpn-connection.[ch]: 
8597         * src/vpn-manager/nm-vpn-manager.[ch]:
8598         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8599         dbus-glib, GObjects, signals etc.
8600
8601         * libnm-glib/nm-vpn-manager.[ch]: 
8602         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8603         so much, rewrite these too.
8604
8605         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8606         the new introspection files.
8607
8608         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8609
8610         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8611         the header with the same name from libnm-utils.
8612
8613         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8614
8615         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8616
8617         * introspection/nm-vpn-plugin.xml: Implement.
8618
8619         * introspection/nm-vpn-connection.xml: Implement.
8620
8621         * introspection/nm-vpn-manager.xml: Implement.
8622
8623         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8624         the named manager argument, it can just as easily get it as the caller.
8625         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8626
8627         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8628
8629         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8630
8631         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8632         libnm-utils.
8633
8634         * libnm-util/nm-connection.c: Ditto.
8635
8636         * src/NetworkManagerMain.h: Remove, it's finally empty.
8637
8638         * configure.in: Remove utils/ from build.
8639
8640         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8641         of hard-coded strings.
8642
8643         * utils/: Move it over to libnm-util.
8644
8645         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8646
8647         * dispatcher-daemon/Makefile.am: Ditto.
8648
8649         * src/Makefile.am: Ditto.
8650
8651 2007-09-12  Dan Williams  <dcbw@redhat.com>
8652
8653         Wireless connections can be made with config data from the applet now.
8654         
8655         Yay.
8656
8657         * src/supplicant-manager/nm-supplicant-config.h
8658           src/supplicant-manager/nm-supplicant-config.c
8659                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8660                 - (nm_supplicant_config_add_setting_wireless,
8661                    nm_supplicant_config_add_setting_wireless_security): new functions;
8662                         add key/value pairs from the settings objects to the supplicant
8663                         config
8664
8665         * src/nm-device-802-11-wireless.c
8666                 - (cull_scan_list): fix check to not prune currently associated AP
8667                 - (build_supplicant_config, real_act_stage2_config): call the functions
8668                         of the NMSupplicantConfig that parse settings objects rather than
8669                         doing it manually here
8670
8671 2007-09-12  Dan Williams  <dcbw@redhat.com>
8672
8673         * src/supplicant-manager/nm-supplicant-interface.c
8674           src/supplicant-manager/nm-supplicant-marshal.list
8675                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8676                         "connection-error" signal arguments should be STRING not CHAR
8677
8678 2007-09-12  Dan Williams  <dcbw@redhat.com>
8679
8680         * src/NetworkManagerUtils.c
8681           src/NetworkManagerUtils.h
8682                 - (nm_utils_hexstr2bin): new function
8683
8684 2007-09-11  Dan Williams  <dcbw@redhat.com>
8685
8686         * src/nm-manager.c
8687                 - (connection_get_settings_cb): emit connection-added signal
8688                 - (connection_removed_cb): uncomment bits for system settings service,
8689                         send connection-removed when appropriate
8690                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8691                         the stack by trying to g_object_set_data() on something that's
8692                         not a GObject; handle case where settings service returns
8693                         empty settings hash table
8694
8695 2007-09-11  Dan Williams  <dcbw@redhat.com>
8696
8697         * src/NetworkManagerPolicy.c
8698                 - (connection_added, connection_removed): trigger device change checks
8699                         on connection changes
8700
8701 2007-09-11  Dan Williams  <dcbw@redhat.com>
8702
8703         * src/nm-activation-request.c
8704                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8705
8706 2007-09-11  Dan Williams  <dcbw@redhat.com>
8707
8708         * src/nm-device-802-11-wireless.c
8709                 - (real_connection_secrets_updated): fix erroneous check
8710
8711 2007-09-11  Dan Williams  <dcbw@redhat.com>
8712
8713         * introspection/nm-device.xml
8714           libnm-glib/nm-device.c
8715           libnm-glib/nm-device.c
8716                 - Fix Activate call argument borkage; Activate takes 3 arguments
8717
8718 2007-09-11  Dan Williams  <dcbw@redhat.com>
8719
8720         * libnm-glib/nm-access-point.c
8721           libnm-glib/nm-access-point.c
8722                 - (nm_access_point_get_frequency): now returns guint32 to match
8723                         property change on 2007-09-10
8724
8725 2007-09-11  Dan Williams  <dcbw@redhat.com>
8726
8727         * src/nm-device-802-11-wireless.c
8728                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8729                         somewhere defines 'index' and I missed this one when I fixed the
8730                         shadow declaration errors earlier
8731
8732 2007-09-11  Dan Williams  <dcbw@redhat.com>
8733
8734         * libnm-util/nm-connection.c
8735                 - (nm_connection_update_secrets, need_secrets_check): move
8736                         802-11-wireless-security need_secrets checks to the setting object
8737                         itself, where it belongs
8738
8739         * libnm-util/nm-setting.c
8740           libnm-util/nm-setting.h
8741                 - (nm_setting_need_secrets): new function
8742                 - (setting_wireless_security_verify,
8743                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8744                 - (setting_wireless_security_need_secrets): mostly copy code over
8745                         from nm-connection.c
8746
8747 2007-09-11  Dan Williams  <dcbw@redhat.com>
8748
8749         * libnm-util/nm-setting.c
8750           libnm-util/nm-setting.h
8751                 - (nm_setting_update_secrets): new function; add a virtual function that
8752                         subclasses can implement to update their secrets
8753                 - (setting_wireless_security_update_secrets): implement that function
8754                         for the 802-11-wireless-security subclass
8755
8756         * libnm-util/nm-connection.c
8757           libnm-util/nm-connection.h
8758                 - (nm_connection_update_secrets): update secrets for a Setting and
8759                         emit a signal on success
8760
8761         * src/nm-manager.c
8762           src/nm-manager.h
8763           src/nm-marshal.list
8764                 - (connection_get_settings_cb): enable system settings bits
8765                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8766                         to request secrets from the settings dbus service and to
8767                         push those secrets to the NMConnection itself
8768
8769         * src/nm-activation-request.c
8770           src/nm-activation-request.h
8771                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8772                         currently being activated, and proxy that signal to other listeners.
8773                         Goes through the activation request because the activation request
8774                         is the thing that manages the lifetime of the NMConnection that's
8775                         being activated.
8776
8777         * src/nm-device-802-11-wireless.c
8778                 - (real_connection_secrets_updated): implement the connection secrets
8779                         updated notification and restart activation when secrets are
8780                         received
8781                 - (real_act_stage2_config): request secrets from the settings dbus
8782                         service if secrets are needed
8783
8784         * src/nm-device.c
8785           src/nm-device.h
8786                 - (clear_act_request, nm_device_activation_cancel,
8787                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8788                         where the activation request is cleared
8789                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8790                         updated secrets signal of activation request and add a function
8791                         that subclasses can override to handle it easily
8792
8793 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8794
8795         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8796         removal of NetworkManagerAPList.
8797
8798 2007-09-10  Dan Williams  <dcbw@redhat.com>
8799
8800         * src/NetworkManagerAP.c
8801           src/NetworkManagerAP.h
8802           introspection/nm-access-point.xml
8803                 - Change 'freq' property to a guint32 instead of a double since we
8804                         weren't using the floating point bits anyway
8805
8806 2007-09-10  Dan Williams  <dcbw@redhat.com>
8807
8808         * NetworkManagerAP.c
8809           NetworkManagerAP.h
8810           NetworkManagerPolicy.c
8811           NetworkManagerSystem.c
8812           NetworkManagerUtils.c
8813           NetworkManagerUtils.h
8814           nm-device-802-11-wireless.c
8815           nm-device-802-3-ethernet.c
8816           nm-hal-manager.c
8817           nm-manager.c
8818           vpn-manager/nm-dbus-vpn.c
8819                 - Warning fixes; casts and removal of unused variables
8820
8821 2007-09-10  Dan Williams  <dcbw@redhat.com>
8822
8823         * include/NetworkManager.h
8824                 - Kill NMNetworkType; AP types don't matter any more
8825
8826         * src/NetworkManagerAPList.c
8827           src/NetworkManagerAPList.h
8828           src/Makefile.am
8829                 - Kill; NMAccessPointList has outlived it's usefulness
8830
8831         * src/NetworkManagerAP.c
8832           src/NetworkManagerAP.h
8833                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8834                         functions; check if an NMConnection object is compatible with the
8835                         settings of this AP
8836                 - (freq_to_channel, channel_to_freq): utility functions for
8837                         channel <-> frequency conversion
8838
8839         * src/nm-device.c
8840           src/nm-device.h
8841                 - (nm_device_get_best_connection): pass the specific object around
8842                          (which might be the object path of a specific AP to connect to).
8843                          The get_best_connection() call should populate this on return
8844                          if needed (wireless does).
8845
8846         * src/nm-device-802-3-ethernet.c
8847                 - (real_get_best_connection): handle specific_object argument
8848
8849         * src/NetworkManager.c
8850           src/NetworkManagerMain.h
8851                 - Remove unused includes
8852
8853         * src/nm-device-802-11-wireless.c
8854           src/nm-device-802-11-wireless.h
8855                 - Convert the ap_list into a GSList from an NMAccessPointList
8856                 - No need for caching the 'activation_ap' since this is now determined
8857                         from the specific_object of the activation request, which is
8858                         populated from the get_best_connection() call or from a user request
8859                 - (nm_device_802_11_wireless_update_bssid): fix warning
8860                 - (get_wireless_capabilities): fix error message format arguments
8861                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8862                 - (find_best_connection, real_get_best_connection): implement
8863                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8864                         move here from NetworkManagerAPList
8865                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8866                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8867                         already verified earlier
8868                 - (real_act_stage2_config): use nm_connection_need_secrets()
8869
8870         * src/NetworkManagerPolicy.c
8871                 - (nm_policy_auto_get_best_device): handle specific objects
8872                 - (create_connection): remove; automatic connection creation functionality
8873                         is handled by the Connection objects
8874                 - (nm_policy_device_change_check): handle specific_object
8875
8876         * libnm-util/nm-connection.c
8877                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8878
8879 2007-09-10  Dan Williams  <dcbw@redhat.com>
8880
8881         * src/nm-manager.c
8882                 - (query_connections): fix uninitialized variable problem that caused
8883                         segfault
8884                 - (nm_manager_add_device): take devices down on startup so that we can
8885                         be assured that nm_device_is_up() won't short-circuit the init
8886                         process.  Hack until the is_up check gets split into two pieces
8887                         that aren't behaviorally confusing.
8888
8889 2007-09-09  Dan Williams  <dcbw@redhat.com>
8890
8891         * introspection/nm-device.xml
8892                 - The 'Activate' method now takes 3 arguments, a service name for the
8893                 settings service (user or system), the object path of the connection
8894                 to activate, and the specific object to activate, if any
8895
8896         * src/nm-device-interface.c
8897                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8898                 Add error bits
8899                 - (impl_device_activate): adapt to new Activate arguments; validate
8900                 the service name and get the Connection object from the NMManager
8901                 before starting to activate the device with the specified connection
8902
8903         * src/nm-device-802-3-ethernet.c
8904                 - (real_get_best_connection): find the best connection, or create a
8905                 default one if no existing connections can be used
8906
8907         * src/NetworkManagerPolicy.c
8908                 - (nm_policy_auto_get_best_device): Get the device's best connection
8909                 and only pick the device if it has one
8910                 - (nm_policy_device_change_check): disable wireless bits for now until
8911                 wireless get_best_connection() can be implemented (replacing "best_ap");
8912                 don't create a default connection here as the device subclass will do
8913                 that if needed
8914
8915         * src/nm-manager.h
8916           src/nm-manager.c
8917                 - (nm_manager_get): make NMManager a singleton and expose the getter
8918                 internally
8919                 - Rework internal NMManager connection handling to use the same
8920                 routines for both the system and user settings services.  Most calls
8921                 take a new NMConnectionType argument specifying either system or user
8922                 connections
8923                 - (nm_manager_get_connection_by_object_path): new function; get a
8924                 connection keyed on its object path
8925
8926         * src/NetworkManager.c
8927                 - (main): use nm_manager_get()
8928
8929 2007-09-09  Dan Williams  <dcbw@redhat.com>
8930
8931         * src/nm-device.h
8932           src/nm-device.c
8933                 - (nm_device_get_best_connection): new function; get best connection
8934                         for the device at that time
8935
8936 2007-09-09  Dan Williams  <dcbw@redhat.com>
8937
8938         * src/nm-device-interface.h
8939                 - Add NMDeviceInterfaceError with an UnknownConnection error
8940
8941 2007-09-09  Dan Williams  <dcbw@redhat.com>
8942
8943         Stupid mistake on my part; object path and interface for settings service
8944         and connection objects can be the same, only the service name must be
8945         different for the system and user settings services.
8946
8947         * include/NetworkManager.h
8948           src/nm-manager.c
8949           introspection/nm-settings-connection.xml
8950           introspection/nm-settings.xml
8951           libnm-glib/nm-settings.c
8952                 - (nm_connection_settings_init, query_user_connections,
8953                    new_connection_cb): Unify NetworkManagerSettings and Connection
8954                    interface name and object path
8955
8956 2007-09-06  Dan Williams  <dcbw@redhat.com>
8957
8958         * libnm-glib/nm-object.c
8959                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8960                    nm_object_get_int_property, nm_object_get_uint_property,
8961                    nm_object_get_boolean_property, nm_object_get_byte_property,
8962                    nm_object_get_double_property, nm_object_get_byte_array_property):
8963                         clear GValues after copying their contents, fixes memory leaks
8964                         after every property access because dbus-glib copies the values
8965                         from the DBusMessage into the GValue already.
8966
8967 2007-09-06  Dan Williams  <dcbw@redhat.com>
8968
8969         * introspection/nm-access-point.xml
8970                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8971                         them to be.  There's some magic property name parsing going on in
8972                         dbus-glib that breaks up property names based on studly-caps and
8973                         puts - between words.
8974
8975         * libnm-glib/nm-access-point.c
8976                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8977                         Fix property names
8978
8979 2007-09-06  Dan Williams  <dcbw@redhat.com>
8980
8981         * src/nm-manager.c
8982                 - (nm_manager_user_connections_destroy): clear the user connections hash
8983                         table, don't destroy it
8984                 - (finalize): only destroy the hash table on NMManager finalization
8985
8986 2007-09-02  Dan Williams  <dcbw@redhat.com>
8987
8988         * include/NetworkManager.h
8989           libnm-glib/nm-settings.c
8990                 - defines for the user settings daemon D-Bus bits
8991
8992         * src/NetworkManager.c
8993                 - Remove stuff that referred to the old NetworkManagerInfo service
8994
8995         * src/vpn-manager/nm-dbus-vpn.h
8996                 - Move old NMI defines to the only place they are used still
8997
8998         * libnm-util/nm-connection.c
8999           libnm-util/nm-connection.h
9000           src/nm-activation-request.c
9001                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9002
9003         * src/nm-manager.c
9004           src/nm-manager.h
9005                 - Get connections and their settings from the user settings daemon
9006                         at the appropriate times
9007
9008 2007-09-02  Dan Williams  <dcbw@redhat.com>
9009
9010         * libnm-util/nm-setting.c
9011                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9012                 - (setting_wireless_hash): set the right value on the item
9013
9014 2007-09-02  Dan Williams  <dcbw@redhat.com>
9015
9016         * test/Makefile.am
9017           test/nminfotest.c
9018                 - Remove, no longer useful
9019
9020 2007-08-30  Dan Williams  <dcbw@redhat.com>
9021
9022         * src/Makefile.am
9023           src/NetworkManagerDbus.c
9024           src/NetworkManagerDbus.h
9025           src/vpn-manager/nm-dbus-vpn.c
9026                 - Remove, no longer necessary.  Move last bits to the only place its
9027                 used, in nm-dbus-vpn.c
9028
9029         * src/NetworkManagerAPList.c
9030           src/nm-device.c
9031           src/NetworkManager.c
9032           src/nm-device-802-11-wireless.c
9033           src/vpn-manager/nm-vpn-manager.c
9034           src/vpn-manager/nm-vpn-service.c
9035           src/NetworkManagerPolicy.c
9036           src/nm-manager.c
9037                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9038                 that was message_is_error()
9039
9040 2007-08-30  Dan Williams  <dcbw@redhat.com>
9041
9042         * libnm-util/sha1.c
9043                 - Include config.h to get defines for endiannes (gnome.org #420216)
9044
9045 2007-08-30  Dan Williams  <dcbw@redhat.com>
9046
9047         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9048
9049         * src/ppp-manager/Makefile.am
9050                 - use -fPIC (gnome.org #471825)
9051
9052 2007-08-29  Dan Williams  <dcbw@redhat.com>
9053
9054         * include/NetworkManager.h
9055                 - Keep NMConnection object path in sync
9056
9057         * libnm-glib/nm-settings.c
9058           libnm-glib/nm-settings.h
9059                 - Break D-Bus object registration out of the init function, because
9060                 every object that's exported over D-Bus needs to use the _same_
9061                 DBusConnection.  Otherwise, each object would get a different object
9062                 path tree and wouldn't be callable.
9063
9064 2007-08-29  Dan Williams  <dcbw@redhat.com>
9065
9066         * libnm-util/nm-setting.h
9067           libnm-util/nm-setting.c
9068           libnm-util/nm-connection.c
9069           src/NetworkManagerPolicy.c
9070                 - 'info' settings object should be 'connection' says the spec
9071                 at NetworkManagerConfigurationSpecification
9072
9073 2007-08-29  Dan Williams  <dcbw@redhat.com>
9074
9075         * libnm-glib/nm-settings.c
9076           libnm-glib/nm-settings.h
9077                 - make the dbus path a property of the object, and autogenerate it.
9078                 It can't be composed of the 'id' field becuase that's not available
9079                 yet during the GObject creation in nm_connection_settings_init()
9080
9081 2007-08-29  Dan Williams  <dcbw@redhat.com>
9082
9083         * introspection/nm-settings-connection.xml
9084           introspection/nm-settings.xml
9085                 - Service name -> NetworkManagerUserSettings because two services
9086                 can't share part of the same path.  I'm not really sure how we'll use
9087                 the same code with the system-settings daemon...
9088
9089 2007-08-28  Dan Williams  <dcbw@redhat.com>
9090
9091         * src/nm-device-interface.c
9092           src/nm-device-interface.h
9093                 - Kill one more bit of NMData
9094
9095 2007-08-28  Dan Williams  <dcbw@redhat.com>
9096
9097         * src/NetworkManagerSystem.h
9098           src/nm-device.c
9099           src/nm-device.h
9100           src/nm-hal-manager.c
9101           src/NetworkManager.c
9102           src/nm-device-802-11-wireless.c
9103           src/nm-hal-manager.h
9104           src/nm-device-802-3-ethernet.c
9105           src/vpn-manager/nm-vpn-service.h
9106           src/vpn-manager/nm-vpn-manager.c
9107           src/vpn-manager/nm-vpn-manager.h
9108           src/vpn-manager/nm-vpn-service.c
9109           src/nm-device-802-11-wireless.h
9110           src/NetworkManagerMain.h
9111           src/nm-device-802-3-ethernet.h
9112           src/backends/NetworkManagerGentoo.c
9113           src/backends/NetworkManagerPaldo.c
9114           src/backends/NetworkManagerFrugalware.c
9115           src/backends/NetworkManagerRedHat.c
9116           src/backends/NetworkManagerSlackware.c
9117           src/backends/NetworkManagerGeneric.c
9118           src/backends/NetworkManagerArch.c
9119           src/backends/NetworkManagerSuSE.c
9120           src/backends/NetworkManagerGeneric.h
9121           src/backends/NetworkManagerDebian.c
9122                 - Kill NMData
9123
9124 2007-08-28  Dan Williams  <dcbw@redhat.com>
9125
9126         * src/NetworkManagerMain.h
9127           src/nm-device-802-11-wireless.c
9128           src/NetworkManager.c
9129                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9130                 for now we should set the 'invalid' property on individual APs, and when
9131                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9132                 that ESS
9133
9134 2007-08-28  Dan Williams  <dcbw@redhat.com>
9135
9136         * src/NetworkManagerAP.c
9137           src/NetworkManagerAP.h
9138                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9139                         'autoconnect' property instead
9140
9141         * src/NetworkManager.c
9142           src/NetworkManagerMain.h
9143           src/NetworkManagerPolicy.c
9144           src/NetworkManagerPolicy.h
9145                 - Remove the 'allowed_ap_list', which should be replaced by 
9146                         NMConnection/NMSettings instead, since _those_ are the allowed
9147                         things that NM can connect to
9148
9149         * src/nm-device-802-11-wireless.c
9150                 - Remove both allowed_ap_list usage and 'fallback' checking
9151
9152 2007-08-28  Dan Williams  <dcbw@redhat.com>
9153
9154         * src/nm-device.c
9155           src/named-manager/nm-named-manager.c
9156           src/named-manager/nm-named-manager.h
9157           src/NetworkManager.c
9158           src/vpn-manager/nm-vpn-manager.c
9159           src/NetworkManagerMain.h
9160           src/NetworkManagerSystem.c
9161                 - Remove the named-manager object from NMData structure in preparation
9162                 for NMData's timely death.  Make the NMNamedManager the singleton that
9163                 it really is
9164
9165 2007-08-28  Dan Williams  <dcbw@redhat.com>
9166
9167         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9168         each AP's capabilities, and by NMConnection/NMSettings objects for user
9169         defined connections.
9170
9171         * include/NetworkManager.h
9172                 - Redefine 802.11 security properties.  There are now device capabilities
9173                         and AP flags and AP security flags.  It was way to unclear before.
9174
9175         * src/Makefile.am
9176           src/nm-ap-security-leap.h
9177           src/nm-ap-security-leap.c
9178           src/nm-ap-security-wpa-eap.c
9179           src/nm-ap-security-wpa-eap.h
9180           src/nm-ap-security-private.h
9181           src/nm-ap-security-wpa-psk.c
9182           src/nm-ap-security-wpa-psk.h
9183           src/nm-ap-security-wep.c
9184           src/nm-ap-security-wep.h
9185           src/nm-ap-security.c
9186           src/nm-ap-security.h
9187                 - Removed, to be replaced with NMConnection/NMSettings objects
9188
9189         * src/nm-dbus-nmi.c
9190           src/nm-dbus-nmi.h
9191                 - Removed, to be replaced by code that talks to the new info daemon
9192                         interface and gets NMConnection/NMSettings objects
9193
9194         * src/backends/NetworkManagerSuSE.c
9195                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9196                         info-daemon that does the same thing but talks the new info-daemon
9197                         D-Bus interface
9198
9199         * src/NetworkManagerAP.h
9200           src/NetworkManagerAP.c
9201           src/NetworkManagerAPList.c
9202           libnm-glib/libnm-glib-test.c
9203                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9204                         WPA/RSN
9205
9206         * libnm-glib/nm-access-point.c
9207           libnm-glib/nm-access-point.h
9208           introspection/nm-access-point.xml
9209           test/nm-tool.c
9210                 - Adjust to new flags for AP security
9211
9212         * utils/nm-utils.c
9213           utils/nm-utils.h
9214           src/vpn-manager/nm-dbus-vpn.c
9215                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9216                         stuff which is the only place it's used
9217
9218         * src/nm-device-interface.c
9219           src/nm-device-interface.h
9220           introspection/nm-device.xml
9221           src/nm-activation-request.c
9222           src/nm-activation-request.h
9223           src/nm-device.c
9224                 - Add a new 'specific_object' argument that hints to NM what actual
9225                         AP or other device-specific thing the connection should apply to.
9226                         NMConnection objects can apply to more than one actual device/AP.
9227
9228         * libnm-util/nm-connection.c
9229         * libnm-util/nm-connection.h
9230                 - Add 'have_secrets" call stubs
9231
9232         * libnm-util/cipher.h
9233                 - Move NM_AUTH_TYPE_* defines here for now
9234
9235         * src/nm-device-802-11-wireless.c
9236                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9237                         NMSettings objects
9238
9239         * src/NetworkManagerDbus.c
9240         * src/NetworkManagerPolicy.c
9241                 - Remove usage of update_allowed_networks, should be pushing data in
9242                         a different manner
9243
9244 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9245
9246         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9247         dbus-glib frees it when the call is done.
9248
9249 2007-08-26  Dan Williams  <dcbw@redhat.com>
9250
9251         * introspection/nm-device.xml
9252                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9253
9254 2007-08-26  Dan Williams  <dcbw@redhat.com>
9255
9256         * src/nm-device-802-3-ethernet.c
9257                 - (constructor): move connection of interface-connected/disconnected
9258                         signals here from real_bring_up().  Should be listening to netlink
9259                         for carrier events no matter what the initial state of the device
9260                         is.
9261
9262 2007-08-26  Dan Williams  <dcbw@redhat.com>
9263
9264         * src/nm-netlink-monitor.c
9265                 - (nm_netlink_monitor_class_init): fix marshalling types for
9266                         interface-connected/interface-disconnected
9267                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9268                         check
9269
9270 2007-08-26  Dan Williams  <dcbw@redhat.com>
9271
9272         Convert to using interface indexes as the primary method of identifying
9273         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9274         be renamed at any time.  Device object paths now refer to the device
9275         index rather than the name, and you can map those two manually if you like
9276         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9277         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9278         to use interface indexes rather than names.
9279
9280 2007-08-26  Dan Williams  <dcbw@redhat.com>
9281
9282         * src/nm-netlink-monitor.h
9283                 - Remove one last bit of wireless-event signal
9284
9285 2007-08-26  Dan Williams  <dcbw@redhat.com>
9286
9287         * src/nm-netlink-monitor.c
9288                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9289                         don't need the 'wireless-event' signal anymore since that's all
9290                         handled by wpa_supplicant
9291
9292 2007-08-25  Dan Williams  <dcbw@redhat.com>
9293
9294         It's 2007. Remove support for drivers that don't support wireless scanning.
9295
9296         * test/nm-tool.c
9297           include/NetworkManager.h
9298           src/NetworkManagerUtils.c
9299           src/NetworkManagerPolicy.c
9300           src/nm-device-802-11-wireless.c
9301                 - Remove special handling for non-scanning devices and mark them
9302                         as unsupported/unhandled
9303
9304 2007-08-20  Dan Williams  <dcbw@redhat.com>
9305
9306         * src/nm-device-802-11-wireless.c
9307           src/nm-device-802-3-ethernet.c
9308                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9309                         because when the card is pulled or the module removed, the device
9310                         is already !IFF_UP and then device-specific cleanup (removing
9311                         the supplicant interface, periodic checks, etc) never gets done
9312
9313 2007-08-20  Dan Williams  <dcbw@redhat.com>
9314
9315         * src/nm-manager.c
9316                 - (nm_manager_remove_device): bring device down before disconnecting
9317                         signal handlers, so that the 'state' signal will get broadcast when
9318                         the device enters the DOWN state
9319                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9320                         of states that cause the NMManager to recheck its state
9321
9322 2007-08-20  Dan Williams  <dcbw@redhat.com>
9323
9324         * src/supplicant-manager/nm-supplicant-interface.c
9325                 - (interface_disconnect_done): don't try to dispose of the net proxy
9326                         when it may already have been disposed of
9327
9328 2007-08-20  Dan Williams  <dcbw@redhat.com>
9329
9330         * src/nm-device-802-11-wireless.c
9331                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9332                         the SSID isn't available; this can happen when the card is pulled
9333                         or the module unloaded, during the post-removal deactivation
9334                         paths, when the ioctl returns ENODEV
9335
9336 2007-08-20  Dan Williams  <dcbw@redhat.com>
9337
9338         * src/nm-device-802-11-wireless.c
9339                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9340                         frequency, and mode match.  Applets are now responsible for grouping
9341                         access points
9342
9343 2007-08-20  Dan Williams  <dcbw@redhat.com>
9344
9345         * src/NetworkManagerAP.c
9346         * src/NetworkManagerAP.h
9347                 - (nm_ap_print_self): new function
9348
9349         * src/NetworkManagerAPList.c
9350                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9351                         to do it all here
9352         
9353 2007-08-17  Dan Williams  <dcbw@redhat.com>
9354
9355         * src/nm-device-802-3-ethernet.c
9356                 - (real_bring_down): don't try to dispose of stuff that might not
9357                         exist
9358
9359 2007-08-17  Dan Williams  <dcbw@redhat.com>
9360
9361         * src/NetworkManagerAP.c
9362                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9363                         applet.  This ensures that the case between the seen-bssids and
9364                         the bssids reported by the driver match.
9365
9366 2007-08-17  Dan Williams  <dcbw@redhat.com>
9367
9368         * src/nm-device-802-11-wireless.c
9369                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9370                         we dispose of the interface proxy in NM
9371
9372 2007-08-16  Dan Williams  <dcbw@redhat.com>
9373
9374         * libnm-glib/nm-client.c
9375                 - (nm_client_init): create VPN connections hash table with key free
9376                         function
9377                 - (proxy_vpn_connection_added): VPN connections hash table key should
9378                         be a duplicated value, not the same memory address as the VPN
9379                         connection name.  This is because the VPN connection name could
9380                         potentially be freed and set to something else during the lifetime
9381                         of the NMVPNConnection object.
9382
9383 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9384
9385         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9386         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9387         with the file descriptors. Send a child setup function to change the pppd
9388         progress group.
9389
9390 2007-08-15  Dan Williams  <dcbw@redhat.com>
9391
9392         * src/supplicant-manager/nm-supplicant-interface.c
9393                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9394                         an interface
9395                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9396                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9397                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9398                         the interface internally
9399
9400 2007-08-15  Dan Williams  <dcbw@redhat.com>
9401
9402         * src/nm-device-802-11-wireless.c
9403                 - (real_bring_down): move most of this function into device_cleanup()
9404                         so that it can be called from elsewhere
9405                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9406                         and stuff on dispose.  These would normally get cleaned up when
9407                         the device is marked down and deactivated, but when the device is
9408                         hot-unplugged, it's already down and real_down() never gets run
9409
9410 2007-08-15  Dan Williams  <dcbw@redhat.com>
9411
9412         * src/nm-dbus-nmi.c
9413                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9414                         caused a reference leak on device for which NM requested a key
9415
9416 2007-08-15  Dan Williams  <dcbw@redhat.com>
9417
9418         * libnm-glib/nm-client.c
9419                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9420
9421 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9422
9423         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9424         nothing is using it at the moment, but it'll be all useful and stuff later on.
9425
9426         * libnm-util/nm-setting.h: Define NMSettingPPP.
9427
9428         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9429
9430         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9431
9432         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9433
9434         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9435
9436         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9437
9438 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9439
9440         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9441
9442         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9443         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9444         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9445         name and different arguments and it won't compile anymore. To fix this, we now have
9446         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9447         that is new API + compatibility API and used by the daemon. The other, 
9448         nm-manager-client.xml is only the new API without compatibility bits and is used
9449         by libnm-glib to make it compile.
9450
9451         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9452
9453         * src/nm-manager.c (impl_manager_legacy_sleep)
9454         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9455         interface functions for 0.6 branch.
9456
9457 2007-08-14  Dan Williams  <dcbw@redhat.com>
9458
9459         * src/NetworkManagerAP.c
9460                 - (nm_ap_new_from_properties): fix mistaken check of return value
9461                         from memcmp (should expect 0)
9462
9463 2007-08-14  Dan Williams  <dcbw@redhat.com>
9464
9465         (force-commit to fix wrong comment and partial commit of r2685; this
9466          commit actually applies to r2685)
9467
9468         * src/NetworkManagerUtils.c
9469                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9470                         ignores trailing nulls in the SSID to work around mismatches in
9471                         expectations between WEXT and what the info-daemon passes back.  The
9472                         info-daemon would pass back the correct length, but due to the
9473                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9474                         the device would always have an SSID + 1 depending on what versions
9475                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9476                         visible by just quitting the applet and relaunching, which caused
9477                         NM to reassociated to the same network over again when reloading
9478                         the save networks.
9479
9480         * src/NetworkManagerPolicy.c
9481           src/NetworkManagerUtils.h
9482           src/nm-device-802-11-wireless.c
9483                 - Update for new parameter to nm_utils_same_ssid()
9484
9485 2007-08-14  Dan Williams  <dcbw@redhat.com>
9486
9487         * src/NetworkManagerAP.c
9488                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9489                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9490                         setting the BSSID to all 0s.  That confused the heck out of NM,
9491                         plus it's useless and probably out-of-spec.
9492
9493 2007-08-14  Dan Williams  <dcbw@redhat.com>
9494
9495         * callouts/Makefile.am
9496           src/dhcp-manager/nm-dhcp-manager.c
9497           src/dhcp-manager/nm-dhcp-manager.h
9498           src/dhcp-manager/Makefile.am
9499                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9500
9501 2007-08-14  Dan Williams  <dcbw@redhat.com>
9502
9503         * src/dhcp-manager/nm-dhcp-manager.c
9504                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9505                         it's really needed, get rid of unused xtra_args parameter
9506
9507 2007-08-14  Dan Williams  <dcbw@redhat.com>
9508
9509         * include/NetworkManagerVPN.h
9510           src/vpn-manager/nm-dbus-vpn.c
9511           src/vpn-manager/nm-dbus-vpn.h
9512           src/vpn-manager/nm-vpn-act-request.c
9513           src/vpn-manager/nm-vpn-act-request.h
9514           src/vpn-manager/nm-vpn-service.c
9515           src/vpn-manager/nm-vpn-service.h
9516           libnm-glib/nm-vpn-connection.c
9517           libnm-glib/nm-vpn-connection.h
9518           libnm-glib/nm-client.h
9519                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9520                         NMVPNServiceState to clarify what they apply to
9521                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9522                         NMVPNActStage -> NMVPNConnectionState for the same reason
9523
9524         * libnm-glib/nm-client.c
9525                 - Constant + type renames from above
9526                 - Properly handle NameOwnerChanged/manager_running signals
9527                         for NM service; only emit when state really changes
9528                 - Use hash tables correctly so that the key (which was previously owned
9529                         by the D-Bus message) now has the same lifetime as the value, since
9530                         the key is now taken from the the NMVPNConnection itself.  This
9531                         really fixes the double-VPN names in the applet
9532
9533 2007-08-13  Dan Williams  <dcbw@redhat.com>
9534
9535         Patch from Michael Biebl <biebl@debian.org>
9536
9537         * po/POTFILES.in
9538           po/POTFILES.skip
9539                 - Update for vpn-properties move
9540
9541 2007-08-13  Dan Williams  <dcbw@redhat.com>
9542
9543         * libnm-glib/nm-client.c
9544                 - Convert internal VPN connection tracking from a list to a hash table
9545                         to easily avoid duplicates
9546                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9547                         must be freed by the caller, like nm_client_get_devices()
9548                 - (nm_client_remove_vpn_connection): don't let the removal signal
9549                         leak through for NMVPNConnection objects that aren't actually
9550                         tracked.
9551                 - (manager_running): throw away VPN connection list when NM goes away,
9552                         like with the device list
9553
9554 2007-08-13  Dan Williams  <dcbw@redhat.com>
9555
9556         * src/dhcp-manager/nm-dhcp-manager.c
9557                 - Stop any dhclient instance that might be already running for a
9558                         particular interface before starting an NM spawned dhclient.  Fixes
9559                         dhclient processes left over if NM crashes, stuff like that.
9560
9561 2007-08-13  Dan Williams  <dcbw@redhat.com>
9562
9563         * src/NetworkManagerAP.c
9564                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9565                         when the AP wasn't broadcasting it's SSID
9566
9567 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9568
9569         * include/NetworkManager.h: added DBus path for connection settings.
9570
9571         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9572         nm_connection_settings_signal_updated,
9573         nm_connection_settings_signal_removed): new functions to wrap the
9574         objects' signals.
9575         (nm_connection_settings_init): register GObject with DBus.
9576         (nm_connection_settings_get_dbus_object_path): new function.
9577
9578         * libnm-glib/Makefile.am: added libnmutil to link flags.
9579
9580 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9581
9582         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9583
9584         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9585         libnm_glib directory got merged with libnm-glib/.
9586
9587         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9588
9589         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9590         Rename the library from libnm-glib to libnm_glib to maintain the library API
9591         compatibility with 0.6 branch.
9592
9593         * Makefile.am: Remove gnome/ SUBDIR.
9594
9595         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9596
9597         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9598
9599         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9600
9601         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9602         anymore.
9603         Remove checks for wpa_supplicant binary, it's used over dbus.
9604         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9605
9606         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9607         Link the binaries with libnm_glib.la.
9608
9609 2007-08-12  Dan Williams  <dcbw@redhat.com>
9610
9611         * src/NetworkManagerPolicy.c
9612                 - (nm_policy_device_change_check): fix policy to deactivate old device
9613                         before activating new one, at least until the multiple active
9614                         device support lands
9615
9616 2007-08-12  Dan Williams  <dcbw@redhat.com>
9617
9618         * src/NetworkManagerPolicy.c
9619                 - (nm_policy_new): hook up to connection-added / connection-removed
9620                         signals instead of connections-changed
9621
9622 2007-08-12  Dan Williams  <dcbw@redhat.com>
9623
9624         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9625         Robert Frank <rfrank@redhat.com>
9626
9627         * src/dhcp-manager/nm-dhcp-manager.c
9628           src/dhcp-manager/nm-dhcp-manager.c
9629           src/nm-device.c
9630                 - Spawn and communicate with dhclient directly, through means of a
9631                 custom dhclient callout script.  Process callout D-Bus signals
9632                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9633                 sent via gobject signals rather than being driven by the dhcp manager
9634                 directly.
9635
9636 2007-08-12  Dan Williams  <dcbw@redhat.com>
9637
9638         * callouts/nm-dhcp-client-action.c
9639                 - (build_message): ignore non-DHCP-related environment variables
9640
9641 2007-08-12  Dan Williams  <dcbw@redhat.com>
9642
9643         * Makefile.am
9644           configure.in
9645           callouts/Makefile.am
9646           callouts/nm-dhcp-client-action.c
9647           callouts/nm-dhcp-client.conf
9648                 - Add dhclient-executed callout that takes the place of dhclient-script
9649                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9650                 NM then listens for
9651
9652 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9653
9654         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9655
9656         * libnm-glib/nm-client.h:
9657         * libnm-glib/nm-object.h:
9658         * libnm-glib/nm-vpn-connection.h:
9659         * libnm-glib/nm-settings.h:
9660         * libnm-glib/nm-device.h:
9661         * libnm-glib/nm-ip4-config.h:
9662         * libnm-glib/nm-access-point.h:
9663         * libnm-glib/nm-device-802-3-ethernet.h:
9664         * libnm-util/nm-setting.h: 
9665         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9666
9667         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9668
9669         * libnm-glib/nm-access-point.c: Strength has type char.
9670
9671         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9672         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9673
9674         * introspection/nm-access-point.xml: Strength property is char, not int.
9675
9676         * src/NetworkManagerAP.c (set_property): Set strength from char.
9677         (get_property): Handle hidden APs (with empty SSID).
9678         Get strength value from char.
9679         (nm_ap_class_init): Strength property has char type.
9680
9681 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9682
9683         * introspection/Makefile.am:
9684         * introspection/nm-settings.xml:
9685         * introspection/nm-settings-connection.xml: added Settings interfaces.
9686
9687         * libnm-glib/nm-settings.[ch]:
9688         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9689         containing the DBus implementation.
9690
9691 2007-07-26  Dan Williams  <dcbw@redhat.com>
9692
9693         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9694
9695         * src/NetworkManagerSystem.c
9696                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9697                         same subnet (#437396)
9698
9699 2007-07-26  Dan Williams  <dcbw@redhat.com>
9700
9701         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9702
9703         * gnome/vpn-properties/nm-vpn-properties.c
9704                 - Fix translatable strings (#445865)
9705
9706 2007-07-26  Dan Williams  <dcbw@redhat.com>
9707
9708         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9709
9710         * configure.in
9711                 - Remove useless junk (#412530)
9712
9713 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9714
9715         Patch from Robert Buchholz <rbu@gentoo.org>:
9716
9717         * configure.in:
9718         * Makefile.am:
9719         * introspection/Makefile.am:
9720         Make make distcheck work again.
9721
9722 2007-06-27  Dan Williams  <dcbw@redhat.com>
9723
9724         * Make SSIDs GByteArrays everywhere
9725         * Rename "essid" -> "ssid" everywhere that's appropriate
9726         * Refcount activation_ap member of the 802.11 wireless device class
9727
9728 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9729
9730         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9731
9732 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9733
9734         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9735         that we got a new AP when we just update existing AP properties.
9736
9737 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9738
9739         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9740
9741         * nm-utils.[ch]: Remove.
9742
9743         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9744         objects for easy property access and dbus connection handling.
9745
9746         * libnm-glib/nm-client.c: Derive from NMObject.
9747
9748         * libnm-glib/nm-device.c: Ditto.
9749
9750         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9751
9752         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9753
9754         * libnm-glib/nm-ip4-config.c: Ditto.
9755
9756         * libnm-glib/nm-access-point.c: Ditto.
9757
9758         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9759         comparision. Currently used by the device activation code to determine if the new
9760         activation is the same as the old one.
9761
9762         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9763         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9764         able to ask password for the AP.
9765
9766         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9767         up if the device is already connected, tear down it's connection (if it isn't the
9768         same as new one) and start the activation.
9769
9770         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9771
9772         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9773         the issue where all APs are always listed as encrypted.
9774
9775         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9776         their own registered paths.
9777
9778         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9779         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9780
9781 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9782
9783         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9784         (0 & 0 == 0, doh)
9785
9786         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9787         because the handling code will cause the next state change and signal listeners
9788         get the signals in wrong order.
9789
9790         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9791         correctly in case of pending activation.
9792
9793         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9794         Convert the essid byte array to string correctly, including the terminating NULL.
9795
9796         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9797         mode with correct types.
9798
9799         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9800         constructed info to dbus call instead of the activation request.
9801
9802 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9803
9804         Patch from Christian Persch <chpe@gnome.org>
9805
9806         * libnm-glib/Makefile.am:
9807         * dispatcher-daemon/Makefile.am:
9808         Use the correct variables, the correct paths, and correct ordering. (446315)
9809
9810 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9811
9812         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9813         argument. The activation request is easy to retrieve.
9814
9815         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9816         just to be a convenient location for devices to store random stuff.
9817
9818 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9819
9820         Patch from Alex Smith <alex@alex-smith.me.uk>
9821
9822         * src/backends/NetworkManagerFrugalware.c:
9823         Update the FrugalWare backend to fix a few segfaults. (#392642)
9824
9825 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9826
9827         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9828
9829         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9830         setting.
9831         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9832
9833 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9834
9835         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9836         automagically.
9837         Implement NMSettingIP4Config.
9838         Finish NMSettingWired by adding all known members.
9839         (setting_wired_verify): Implement.
9840         Finish NMSettingWireless by adding all known members.
9841         (setting_wireless_verify): Implement.
9842
9843         * libnm-util/nm-connection.c: Register "ipv4" setting.
9844         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9845         dump function, we can introspect the GHashTable which is used for sending connections
9846         over dbus.
9847
9848         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9849         Take GByteArray for essid, it's really not a string.
9850
9851         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9852         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9853         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9854         means overriding the values we got from DHCP.
9855         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9856         (nm_device_deactivate_quickly): Ditto.
9857
9858         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9859         for debugging.
9860
9861 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9862
9863         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9864         NMConnection.
9865
9866         * libnm-glib/nm-device-802-11-wireless.c:
9867         (nm_device_802_3_ethernet_activate): Remove.
9868
9869         * libnm-glib/nm-device-802-3-ethernet.c
9870         (nm_device_802_3_ethernet_activate): Remove.
9871
9872         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9873
9874         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9875         NMConnection.
9876
9877         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9878         activation has started.
9879         Implement the new activation using NMConnection.
9880
9881         * src/nm-activation-request.c: Store a generic connection object instead
9882         of a wireless-specific AP.
9883
9884         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9885         on device type, create a device specific connection object suitable for
9886         device activation.
9887
9888         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9889         specific check to validate the connection and on success start the
9890         activation.
9891
9892         * src/nm-device-interface.h: Add a activate virtual function to the
9893         interface definition.
9894
9895         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9896         (impl_device_activate): Implement.
9897
9898         * introspection/nm-device.xml: Add a generic device activation interface
9899         that accepts an abstract NMConnection structure that has device-specific
9900         information in it.
9901
9902         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9903         activation interface.
9904
9905         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9906         activation interface.
9907
9908         * libnm-util/nm-connection.c: 
9909         * libnm-util/nm-connection.h: 
9910         * libnm-util/nm-setting.c:
9911         * libnm-util/nm-setting.h: Add.
9912
9913         * libnm-util/Makefile.am: Build the added files.
9914
9915         * src/nm-dbus-manager.c
9916         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9917         DbusConnection argument from 'name-owner-changed' signal. The manager
9918         is already passed as a first argument to the signal and the connection
9919         is easy enough to get from it.
9920
9921         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9922         Update the signature of the function.
9923
9924         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9925         Ditto.
9926
9927         * src/NetworkManager.c: Ditto.
9928
9929         * src/named-manager/nm-named-manager.c
9930         (nm_named_manager_name_owner_changed): Ditto.
9931
9932         * src/supplicant-manager/nm-supplicant-manager.c
9933         (nm_supplicant_manager_name_owner_changed): Ditto.
9934
9935         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9936
9937         * src/dhcp-manager/nm-dhcp-manager.c
9938         (nm_dhcp_manager_name_owner_changed): Ditto.
9939
9940         * src/nm-hal-manager.c: Add a list of device detectors and creators
9941         to make it easier to add new devices. Each device type has it's own
9942         entry in the table so adding new device types is only a matter of
9943         implementing a couple of functions, one for device detection and the
9944         other for device creation.
9945
9946 2007-04-25  Dan Williams  <dcbw@redhat.com>
9947
9948         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9949                 (gnome.org #432401)
9950
9951 2007-03-30  Dan Williams  <dcbw@redhat.com>
9952
9953         * src/NetworkManagerSystem.c
9954                 - (nm_system_device_set_ip4_route): clean up and fix argument
9955                         to nm_dev_sock_open()
9956
9957 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9958
9959         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9960         data to correct types instead of always using string.
9961
9962         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9963         _not_ have NM_802_11_CAP_PROTO_NONE.
9964         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9965         is not set.
9966
9967 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9968
9969         * libnm-glib/Makefile.am: Fix the build issue.
9970
9971 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9972
9973         * libnm-glib/nm-vpn-connection.h: 
9974         * libnm-glib/nm-vpn-connection.c: Implement.
9975
9976         * libnm-glib/nm-client.c: Add VPN support.
9977
9978         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9979         handler for VPN.
9980
9981         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9982         on DBUS again.
9983
9984 2007-03-26  Dan Williams  <dcbw@redhat.com>
9985
9986         * src/NetworkManagerAPList.c
9987         * src/nm-device-802-11-wireless.c
9988         * src/NetworkManagerAP.c:
9989                 - Store last seen as glong instead of GTimeVal.
9990                 - Fix the upper bound of capabilities, it's a bitfield.
9991
9992 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9993
9994         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9995
9996         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9997         "manager-running" signal that notifies the appearance/disappearance of NM.
9998         (nm_client_sleep): Implement.
9999
10000         * libnm-glib/nm-device.c:
10001         * libnm-glib/nm-device-802-11-wireless.c: 
10002         * libnm-glib/nm-device-802-3-ethernet.c: 
10003
10004         Don't inherit from DBusGProxy, add a proxy to private
10005         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10006         for anything but their own dbus interface. DBusGProxy objects support only one
10007         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10008         interface. The nice side effect of this change is that we do not create a new
10009         DBusGProxy object for each property access.
10010
10011 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10012
10013         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10014         with zeroes before passing them to functions - the functions never do that and
10015         reading the values back may produce wrong values.
10016         (real_bring_up): Store the signal handler id ...
10017         (real_bring_down): ... So that it can be removed here.
10018         Disconnect the supplicant interface here as well.
10019         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10020         from the access point instead of old $device/Networks/$essid.
10021
10022         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10023         device state is connected (instead of just having link/carrier).
10024
10025         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10026         already easily accessible through the device.
10027
10028         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10029         store it within the object.
10030         (nm_ap_get_dbus_path): Export it to public as well.
10031
10032         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10033         of the singleton.
10034
10035 2007-03-12  Dan Williams  <dcbw@redhat.com>
10036
10037         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10038         for non-carrier-detect capable devices, and useless for carrier-detect
10039         devices since we get notifications from netlink about carrier status anyway.
10040
10041         * src/nm-device-802-3-ethernet.c
10042                 - remove 'link_source_id' member from private data
10043                 - (probe_link): remove and collapse into real_update_link()
10044                 - (nm_device_802_3_periodic_update): remove
10045                 - (real_is_up): check for sup_iface rather than link_source_id
10046                 - (real_bring_up): return gboolean for success/fail; require that
10047                         sup_iface be valid for device bringup to succeed
10048                 - (real_bring_down): zero out link signal ids
10049
10050         * src/nm-device.c
10051                 - (nm_device_activate_stage2_device_config): fail activation if device
10052                         bringup fails
10053                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10054                         fails
10055                 - (nm_device_bring_up): return success/fail
10056
10057         * src/nm-device.h
10058                 - bring_up now returns success/fail
10059
10060         * src/nm-device-802-11-wireless.c
10061                 - (real_bring_up): return success from bringup
10062
10063 2007-03-07  Dan Williams  <dcbw@redhat.com>
10064
10065         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10066         * src/nm-ap-security-wpa-psk.c
10067                 - (real_write_supplicant_config): work with PSKs that may contain
10068                         zeros in the binary format rather than treating it as a string
10069
10070 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10071
10072         * libnm-glib/nm-device-802-11-wireless.c
10073         (nm_device_802_11_wireless_get_capabilities): Implement.
10074
10075         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10076
10077         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10078
10079         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10080         reply only if it's not NULL. Not sure why this started happening right now.
10081
10082         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10083         code paths for when devices get removed on shutdown or when a device is just
10084         removed.
10085         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10086         gets freed so any signal from a device (disconnected for instance) would invoke
10087         NMState update which would crash.
10088         (nm_manager_remove_device): Bring the device down when it gets removed.
10089
10090         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10091         the unused dev_type.
10092
10093         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10094         reference to the added device, NMManager will own it (if it wants).
10095
10096         * test/nm-tool.c: Rewrite using libnm-glib.
10097
10098         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10099         We get signalled when it changes.
10100
10101         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10102         when it changes.
10103
10104         * libnm-glib/nm-device.c: Cache the device state property.
10105
10106         * libnm-glib/nm-access-point.c: Cache the strength property.
10107
10108         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10109         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10110         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10111         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10112         the device is down, activating, or activated (in case of A/B/G cards).
10113         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10114         it's all done through supplicant now.
10115
10116         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10117         counting issues with pending calls which caused leaks and crashes when
10118         interface was removed (now that the interface actually gets removed).
10119
10120         * src/nm-call-store.c: Make a copy of data before running a foreach
10121         with user callback on it - The most common usage pattern is to cancel
10122         (and thus remove) all pending calls with foreach which would modify
10123         the hash table we're iterating over.
10124
10125         * src/nm-manager.c: When a device is added, make sure it is "up". When
10126         it's removed or disabled due to disabling wireless or networking, bring
10127         it down.
10128
10129         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10130
10131         * src/nm-device-802-11-wireless.c: 
10132         * src/nm-device-802-3-ethernet.c: 
10133         * src/nm-device.c:
10134                 - Remove "init" virtual function, all gobjects have a place for that
10135                   already (constructor).
10136                 - Replace "start" virtual function with "bring_up", devices can be
10137                   brought up and down more than just on startup now.
10138                 - Add "is_up" virtual function.
10139                 - Implement one way to bring a device down instead of previous 4 different
10140                   ways, each of witch did something different.
10141
10142         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10143         all it needs is the device interface.
10144
10145         Get rid of NMData.dev_list (3 members to go).
10146         Get rif of NMData in a lot of places.
10147
10148         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10149
10150 2007-02-23  Dan Williams  <dcbw@redhat.com>
10151
10152         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10153
10154         * src/NetworkManagerAP.c
10155                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10156                         OR-ing rather than AND-ing
10157
10158 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10159
10160         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10161         "network-removed" signals.
10162
10163         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10164
10165         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10166         when receiving the signal from dbus.
10167
10168         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10169         property.
10170
10171         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10172         deactivation of the previously activated device working again.
10173
10174         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10175         and setter.
10176
10177         * src/nm-device.c (nm_device_is_activated): Remove.
10178         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10179
10180         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10181         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10182         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10183         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10184         Remove NMNetworkStatus and NMActStage enums.
10185
10186 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10187
10188         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10189         Handle device state changes and disconnect VPN if it's device deactivates.
10190
10191         * src/nm-dbus-nm.c: 
10192         * src/nm-dbus-nm.h: 
10193         * src/nm-dbus-device.c: 
10194         * src/nm-dbus-device.c: 
10195         * src/nm-dbus-net.c: 
10196         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10197
10198         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10199
10200         * src/nm-device.c (nm_device_get_by_udi):
10201         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10202         implemented in the correct location (NMManager).
10203         Rip out all the test_device stuff.
10204
10205         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10206         failure handlers, it's all done by NMDevice already.
10207
10208         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10209         Remove the iochannel hack to route the unix signals to the main thread since
10210         we're not threaded anymore.
10211
10212         * src/NetworkManagerAP.c: Implement HWAddress property.
10213
10214         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10215         automatically with dbus-glib.
10216
10217         * src/nm-netlink-monitor.c: 
10218         * src/nm-netlink-monitor.h:
10219                 - Move it low in the class hierarchy, don't reference any NM types.
10220                 - Remove private data from the header.
10221                 - Use type safe checks in public API methods.
10222                 - Make it a singleton so we don't have to pass the single reference around.
10223
10224 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10225
10226         * introspection/nm-ip4-config.xml: Implement.
10227
10228         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10229
10230         * libnm-glib/nm-ip4-config.c:
10231         * libnm-glib/nm-ip4-config.c: Implement.
10232
10233         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10234         securities. APs reference security.
10235
10236         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10237         be exported over DBUS.
10238
10239         * src/nm-device-802-3-ethernet.c: Ditto.
10240
10241         * src/NetworkManagerAP.c:
10242         * src/NetworkManagerAP.h:
10243                 - Convert to GObject, export over DBUS.
10244
10245         * src/nm-ip4-config.h:
10246         * src/nm-ip4-config.h:
10247                 - Convert to GObject, export over DBUS.
10248
10249 2007-02-12  Dan Williams  <dcbw@redhat.com>
10250
10251         Patch from Helmut Schaa <hschaa@suse.de>
10252
10253         * vpn-daemons/pptp/configure.in
10254           vpn-daemons/pptp/Makefile.am
10255           vpn-daemons/openvpn/configure.in
10256           vpn-daemons/openvpn/Makefile.am
10257           vpn-daemons/vpnc/configure.in
10258           vpn-daemons/vpnc/Makefile.am
10259                 - Add --without-gnome switch which disables building gnome bits
10260
10261 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10262
10263         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10264
10265         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10266
10267         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10268         'HwAddress'.
10269
10270         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10271
10272         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10273
10274         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10275
10276         * src/:
10277                 - Remove old low-level dbus interface implementations and replace them
10278                   with dbus-glib one.
10279
10280         * configure.in:
10281                 - Require dbus-glib >= 0.72.
10282                 - Plug in new sources to build.
10283
10284         * libnm-glib/:
10285                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10286                   to make it more convenient to use from GObject based programs.
10287
10288         * introspection/:
10289                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10290
10291 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10292
10293         * src/nm-device-802-11-wireless.c:
10294                 - Add "network-added" and "network-removed" signals.
10295                 - Use gobject boilerplate macros to define the GObject.
10296                 - Implement wireless device activation.
10297                 - Remove activation_failure_handler and activation_success_handler
10298                   and instead listen on state-changed signals and run the same code
10299                   from there.
10300
10301         * src/nm-device.c:
10302                 - Implment NMDeviceInterface::deactivate.
10303                 - Remove activation_failure_handler and activation_success_handler
10304                   virtual methods. Each device which is interested in these events
10305                   can just listen on it's state changed signals.
10306
10307         * src/NetworkManagerPolicy.c:
10308                 - Move a bit more NMData usage to NMManager.
10309                 - Remove activation scheduling bits.
10310                 - Add listeners for wireless device's "network-added" and
10311                   "network-removed" signals.
10312                 - Listen device changed signals and deactivate currently activated
10313                   device when another device start activating (for now).
10314                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10315                   for calling this, the policy code knows exactly when this should happen,
10316                   by listening on events from NMManager and NMDevices.
10317
10318         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10319         Implement.
10320
10321         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10322         method on the specific device instead of going to through policy code
10323         and determining the device type by passed in AP's existance.
10324
10325         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10326         abstract NMDevice deactivation.
10327
10328 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10329
10330         * src/NetworkManager.c:
10331                 - Set up all the shiny new managers.
10332
10333         * src/NetworkManagerPolicy.c:
10334                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10335                   classes to call into policy code, make the policy code kind of like
10336                   a supervisor that monitors what's going on and drives the whole NM.
10337
10338         * src/nm-hal-manager.c: 
10339         * src/nm-hal-manager.h:
10340                 - Collect all libhal code scattered around NM to this one class.
10341                 - Listen libhal and NMManager events and add/remove devices to
10342                   NMManager.
10343
10344         * src/nm-manager.c:
10345         * src/nm-manager.h:
10346                 - Implment a replacement for NMData. NMData is now officially
10347                 deprecated.
10348
10349 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10350
10351         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10352         * src/supplicant-manager/nm-supplicant-interface.h
10353         * src/supplicant-manager/nm-supplicant-interface.c
10354         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10355         argument to boolean from enum.
10356
10357         Make NMDevice abstract class, remove almost all references to it's
10358         subclasses (the last place gets removed with new policy manager). Add
10359         NMDeviceInterface (which NMDevice implements) so that when we have
10360         NMDevice exported over DBUS, there's a common NMDevice interface which
10361         all instances have, plus there's a device specific interface for each
10362         specific type.
10363         Remove functions (nm_device_is_802_3_ethernet) and
10364         (nm_device_is_802_11_wireless). There are already standard GObject macros
10365         for type safe checks.
10366         Use the updated supplican manager API.
10367
10368         * src/nm-device-interface.h: 
10369         * src/nm-device-interface.c: 
10370         * src/nm-call-store.h: 
10371         * src/nm-call-store.c: Implement.
10372
10373         * src/supplicant-manager/nm-supplicant-interface.c:
10374         * src/supplicant-manager/nm-supplicant-interface.h:
10375         * src/supplicant-manager/nm-supplicant-manager.c:
10376         * src/supplicant-manager/nm-supplicant-manager.h:
10377                 - Remove all private data type references from public header files.
10378                 - Remove all references to other NM classes, this class is just a
10379                   proxy between wpa_supplicant and NM so it doesn't have to know
10380                   any internals.
10381                 - Convert to dbus-glib bindings.
10382                 - Type safe checks for public methods' arguments.
10383                 - Store pending DBUS call ids to NMCallStore.
10384
10385         * src/supplicant-manager/nm-supplicant-config.c:
10386                 - Store config values in a GHashTable instead of GSList.
10387
10388         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10389
10390         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10391         singleton now.
10392
10393         * src/nm-device.c: Use the new DHCP manager API.
10394
10395         * src/nm-activation-request.c:
10396         * src/nm-activation-request.h:
10397                 - Remove all dhcp related properties and methods.
10398
10399         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10400
10401         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10402
10403         * src/dhcp-manager/nm-dhcp-manager.c:
10404         * src/dhcp-manager/nm-dhcp-manager.h:
10405                 - Convert it to GObject since we need to signal state changes.
10406                 - Remove all references to other NM classes, this class is one
10407                   of the lowest classes in our hierarchy.
10408                 - One less class to use NMActRequest.
10409                 - Make it singleton, one less user of NMData.
10410                 - Remove a couple of sleep() calls.
10411                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10412                   One less class to use the NM's custom tailored signal handlig.
10413
10414         * Makefile.am: Generate marshallers, add them to build.
10415
10416 2007-02-02  Dan Williams  <dcbw@redhat.com>
10417
10418         * configure.in
10419           gnome/Makefile.am
10420           nm-applet.desktop
10421           Makefile.am
10422                 - Remove last bits referencing gnome applet
10423
10424 2007-02-02  Dan Williams  <dcbw@redhat.com>
10425
10426         * src/vpn-manager/nm-vpn-service.c
10427                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10428                         and NBNS server addresses
10429
10430 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10431
10432         * src/nm-dbus-manager.c:
10433         * src/nm-dbus-manager.h:
10434                 - Convert all internal DBUS code to use dbus-glib bindings.
10435                 - Remove GObject properties, we don't need them here.
10436                 - Don't explicitly set things to NULL after freeing, glib is
10437                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10438                 - Make public API argument checks type safe.
10439                 - Remove unnecessary (and wrong) cast to GObject for the first
10440                   argument to g_signal_* calls - The first argument is a gpointer.
10441                 - Export DBusGConnection to other cool classes that (are going to)
10442                   use dbus-glib.
10443
10444 2007-01-26  Dan Williams  <dcbw@redhat.com>
10445
10446         * libnm-util/dbus-dict-helpers.c
10447           libnm-util/dbus-dict-helpers.h
10448                 - Coordinate style with wpa_supplicant version to minimize diff
10449                 - Add uint32 array support
10450                 - (nmu_dbus_dict_append_uint32_array): new function
10451                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10452                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10453                         version; allow adding string array elements individually
10454
10455         * test/libnm-util/test-dbus-dict-helpers.c
10456                 - Test uint32 arrays
10457
10458 2007-01-27  Jürg Billeter  <j@bitron.ch>
10459
10460         * src/backends/NetworkManagerPaldo.c
10461                 - (nm_system_update_dns): clear nscd hosts cache
10462
10463 2007-01-04  Dan Williams  <dcbw@redhat.com>
10464
10465         Threading removal related cleanups:
10466
10467         - Use the glib default main context.  Remove the device main context
10468                 member from NMDevice, and the main_context member from NMData.  Change
10469                 all the idle and timeout scheduler functions to use plain
10470                 g_idle_add() and g_timeout_add().
10471
10472         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10473                 takes an argument; fix that up too.
10474
10475         - Remove all locking, which is useless since we no longer use threads.  For
10476                 example, nm_get_device_by_iface_locked() has been removed.  The global
10477                 device list lock, the AP List lock, and all static locks in
10478                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10479                 in NetworkManagerUtils.c have also been removed.
10480
10481         - Other cleanups in spacing and code style
10482
10483 2007-01-01  Dan Williams  <dcbw@redhat.com>
10484
10485         Found by Bill Moss:
10486
10487         * src/supplicant-manager/nm-supplicant-interface.c
10488                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10489                         the supplicant interface wasn't already disconnected.  Always
10490                         call removeNetwork and disconnect unless the supplicant interface
10491                         is in the DISCONNECTED or INACTIVE state.
10492
10493 2006-12-28  Dan Williams  <dcbw@redhat.com>
10494
10495         Use a single thread for everything.  With the move to wpa_supplicant
10496         and communication over D-Bus, there's no reason for multiple threads.
10497         Almost all of the blocking code has been removed, with one exception in
10498         the DHCP manager and a few in the VPN manager.  This commit removes the
10499         per-device worker thread and fixes activation cancellation in the absence
10500         of threads.  Further removal of thread-related code would be removing
10501         any locking code (like the device list lock) and simplification of logic
10502         around areas of code or data structures that are currently locked.
10503
10504         * autoip.c
10505           dhcp-manager/nm-dhcp-manager.c 
10506           nm-device-802-11-wireless.c
10507           nm-device-802-3-ethernet.c
10508           nm-device.c
10509           nm-device.h
10510                 - Remove usage of multiple threads
10511
10512 2006-12-19  Dan Williams  <dcbw@redhat.com>
10513
10514         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10515         plus a few other patches from wpa_supplicant bugzilla.
10516
10517         * src/Makefile.am
10518           src/NetworkManagerPolicy.c
10519           src/NetworkManagerUtils.c
10520           src/NetworkManagerUtils.h
10521           src/nm-ap-security-leap.c
10522           src/nm-ap-security-wep.c
10523           src/nm-ap-security-wpa-eap.c
10524           src/nm-ap-security-wpa-psk.c
10525           src/nm-ap-security.c
10526           src/nm-ap-security.h
10527           src/nm-device-802-11-wireless.c
10528           src/nm-device-802-11-wireless.h
10529           src/supplicant-manager/nm-supplicant-config.c
10530           src/supplicant-manager/nm-supplicant-config.h
10531           src/supplicant-manager/nm-supplicant-interface.c
10532           src/supplicant-manager/nm-supplicant-interface.h
10533           src/supplicant-manager/nm-supplicant-marshal.list
10534           src/supplicant-manager/nm-supplicant-settings-verify.c
10535           src/supplicant-manager/nm-supplicant-settings-verify.h
10536                 - Move all connection management and association handling to
10537                         wpa_supplicant over dbus, rather than spawning a private copy
10538
10539 2006-12-19  Dan Williams  <dcbw@redhat.com>
10540
10541         * src/NetworkManagerPolicy.c
10542                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10543                         better locking of the device change check handler ID.  Incorrect
10544                         locking was causing lost device change requests
10545
10546 2006-12-18  Dan Williams  <dcbw@redhat.com>
10547
10548         * libnm-util/dbus-dict-helpers.c
10549                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10550                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10551                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10552
10553 2006-12-18  Dan Williams  <dcbw@redhat.com>
10554
10555         * gnome/libnm_glib/libnm_glib.c
10556                 - Change dbus_connection_close() -> dbus_connection_unref()
10557
10558 2006-12-11  Dan Williams  <dcbw@redhat.com>
10559
10560         * src/supplicant-manager/nm-supplicant-interface.c
10561                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10562                         wpa_supplicant interface state
10563                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10564                         state before transitioning to READY state
10565
10566 2006-12-04  Dan Williams  <dcbw@redhat.com>
10567
10568         * src/nm-device-802-11-wireless.c
10569                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10570                         odd length of ESSID returned from ieee80211 stack-based drivers
10571
10572 2006-12-04  Dan Williams  <dcbw@redhat.com>
10573
10574         * src/nm-device-802-11-wireless.c
10575                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10576                         IE handling blocks that cause mis-parsing of the IE
10577
10578 2006-12-04  Dan Williams  <dcbw@redhat.com>
10579
10580         * src/nm-device-802-11-wireless.c
10581                 - (init_supplicant_interface): new function; pull supplicant interface
10582                         setup code out into standalone function since it must be called from
10583                         two different places
10584                 - (real_init): sup_mgr is now in private object data; get and track
10585                         the supplicant manager object over the NMDevice subclass' lifetime
10586                         and register a signal handler for its state signals; only try to
10587                         initialize the supplicant interface if the supplicant manager is in
10588                         the IDLE state (and therefore is ready for requests)
10589                 - (request_wireless_scan): reschedule the scan request if (a) there is
10590                         no supplicant interface yet (meaning wpa_supplicant isn't running
10591                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10592                         for requests yet
10593                 - (supplicant_iface_connection_state_cb): new function; stub for
10594                         handling supplicant interface connection state signals
10595                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10596                         comes and goes
10597                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10598                         supplicant manager object that's being tracked starting with this
10599                         commit
10600
10601 2006-12-04  Dan Williams  <dcbw@redhat.com>
10602
10603         * src/supplicant-manager/nm-supplicant-interface.c
10604                 - (nm_supplicant_interface_set_property): track signal handler ID
10605                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10606
10607 2006-12-04  Dan Williams  <dcbw@redhat.com>
10608
10609         * src/supplicant-manager/nm-supplicant-interface.[ch]
10610                 - (nm_supplicant_interface_get_state): new function
10611
10612 2006-12-04  Dan Williams  <dcbw@redhat.com>
10613
10614         * src/supplicant-manager/nm-supplicant-interface.c
10615                 - (bssid_properties_cb): don't treat DBus errors as valid
10616                         scanned AP messages
10617
10618 2006-12-04  Dan Williams  <dcbw@redhat.com>
10619
10620         * src/supplicant-manager/nm-supplicant-interface.[ch]
10621                 - (nm_supplicant_interface_get_connection_state): new function
10622                 - define new supplicant connection states
10623                 - send a signal when the supplicant connection state changes
10624
10625 2006-12-03  Dan Williams  <dcbw@redhat.com>
10626
10627         * src/supplicant-manager/Makefile.am
10628           src/supplicant-manager/nm-supplicant-connection.h
10629           src/supplicant-manager/nm-supplicant-connection.c
10630           src/supplicant-manager/nm-supplicant-config.h
10631           src/supplicant-manager/nm-supplicant-config.c
10632           src/supplicant-manager/nm-supplicant-types.h
10633           src/supplicant-manager/nm-supplicant-interface.h
10634           src/supplicant-manager/nm-supplicant-interface.c
10635                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10636
10637 2006-12-03  Dan Williams  <dcbw@redhat.com>
10638
10639         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10640
10641         * po/POTFILES.in
10642           po/POTFILES.skip
10643                 - Move VPN-related translatables to .skip
10644
10645         * vpn-daemons/pptp/po/POTFILES.in
10646                 - Update with new translatables
10647
10648 2006-12-02  Dan Williams  <dcbw@redhat.com>
10649
10650         Patch from Christian Persch <chpe@gnome.org>
10651
10652         * gnome/applet/Makefile.am
10653           gnome/applet/applet-dbus-devices.c
10654           gnome/applet/applet-notifications.c
10655           gnome/applet/applet.c
10656           gnome/applet/applet.h
10657           gnome/applet/main.c
10658                 - Be a GtkStatusIcon on GTK+ >= 2.10
10659
10660 2006-12-02  Dan Williams  <dcbw@redhat.com>
10661
10662         * gnome/applet/applet.c
10663                 - (nma_update_info): fix two unecessary allocations
10664
10665 2006-12-02  Dan Williams  <dcbw@redhat.com>
10666
10667         Patch from Michael Biebl <biebl@teco.edu>
10668         * configure.in
10669           man/NetworkManager.1.in
10670           man/NetworkManagerDispatcher.1.in
10671           man/NetworkManager.8.in
10672           man/NetworkManagerDispatcher.8.in
10673                 - Add .SH NAME stanzas
10674                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10675
10676 2006-12-02  Dan Williams  <dcbw@redhat.com>
10677
10678         Patch from Christian Persch <chpe@gnome.org>
10679
10680         * configure.in
10681                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10682
10683 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10684
10685         Patch by Timo Hoenig <thoenig@suse.de>:
10686         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10687         DBUS-1.0.
10688
10689         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10690         we can't use the one from the main source directory.
10691
10692 2006-11-27  Dan Williams  <dcbw@redhat.com>
10693
10694         Patch from Christian Persch <chpe@gnome.org>
10695
10696         * gnome/applet/applet-dbus-devices.c
10697                 - (hal_info_product_cb): fix memleak; free duped string.
10698                         Gnome.org #379908
10699
10700 2006-11-27  Dan Williams  <dcbw@redhat.com>
10701
10702         Patch from Christian Persch <chpe@gnome.org>
10703
10704         * gnome/applet/menu-items.c
10705                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10706                         as gtk_progress_set_percentage is deprecated.  Should
10707                         work as far back as GTK+ 2.4.  Gnome.org #379780
10708
10709 2006-11-26  Dan Williams  <dcbw@redhat.com>
10710
10711         Scan using wpa_supplicant over DBus.
10712
10713         * src/nm-device-802-11-wireless.c
10714                 - remove wireless extensions netlink event handler bits
10715                         (wireless_event_helper, nm_device_802_11_wireless_event)
10716                 - remove wireless extensions scan event handler bits
10717                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10718                         hex2byte, hex2num, request_and_convert_scan_results,
10719                         free_process_scan_cb_data, scan_results_timeout,
10720                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10721                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10722                         and request scans from the supplicant interface rather than directly
10723                 - Move functionality of convert_scan_results() to cull_scan_list() and
10724                         supplicant_iface_scanned_ap_cb()
10725                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10726                         at the scan interval when the current scan has finished
10727                 - (supplicant_iface_state_cb): start scanning when the supplicant
10728                         interface enters the READY state, and stop scanning when it
10729                         enters the DOWN state
10730                 - (cull_scan_list): weed out old access points from the scan list
10731                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10732                         point into an NMAccessPoint and merge it into the device's scan list
10733
10734         * src/supplicant-manager/nm-supplicant-interface.c
10735           src/supplicant-manager/nm-supplicant-interface.h
10736                 - Add a new signal "scan-result" which is issued when the supplicant
10737                         notifies NM that a scan has completed
10738                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10739                         point found in the scan.  Called once for each access point that
10740                         the supplicant interface object receives from the supplicant as a
10741                         result of the "scanResults" method call
10742                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10743                         for the initial scan results
10744                 - (scan_request_cb): new function; send listeners the result
10745                         (success, error) of a wireless scan request
10746                 - (nm_supplicant_interface_request_scan): new function; ask the
10747                         supplicant to perform an immediate wireless scan
10748
10749 2006-11-25  Dan Williams  <dcbw@redhat.com>
10750
10751         * src/supplicant-manager/Makefile.am
10752                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10753                         add HAL cflags/includes and named-manager includes directory
10754
10755         * src/supplicant-manager/nm-supplicant-interface.h
10756                 - New state STARTING to handle transition from INIT to READY where
10757                         the addInterface pending call is still outstanding
10758
10759         * src/supplicant-manager/nm-supplicant-interface.c
10760                 - track pending calls differently since we may have more than one
10761                         going on at any given time
10762                 - request scan results from wpa_supplicant; but don't do it more often
10763                         than every 4 seconds.  Drivers that do background scanning
10764                         (like the 'ipw' drivers) send a continuous stream of scan completion
10765                         notifications, so we don't want to hammer the supplicant or dbus
10766                         with requests for all scan results every time we get a completion
10767                         notification.
10768
10769 2006-11-25  Dan Williams  <dcbw@redhat.com>
10770
10771         * src/supplicant-manager/nm-supplicant-types.h
10772                 - new file; move all supplicant manager object typedefs here for
10773                         #include sanity
10774
10775         * src/supplicant-manager/nm-supplicant-interface.c
10776           src/supplicant-manager/nm-supplicant-interface.h
10777                 - new file; an object that interfaces an NMDevice object to the
10778                         supplicant and handles signals from the supplicant.  This object
10779                         does all necessary DBus communication with wpa_supplicant.
10780
10781         * src/supplicant-manager/nm-supplicant-manager.c
10782           src/supplicant-manager/nm-supplicant-manager.h
10783                 - Actually do something.  Track the state of the wpa_supplicant service
10784                         and deal with its comings & goings.  Handle life events of
10785                         supplicant interfaces too.
10786                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10787
10788         * src/supplicant-manager/nm-supplicant-connection.h
10789                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10790
10791         * src/supplicant-manager/Makefile.am
10792                 - Add new files to build, and add libnm-util to includes
10793
10794         * src/nm-marshal.list
10795                 - New marshaler type: VOID:UINT,UINT
10796
10797         * src/nm-device-802-3-ethernet.c
10798                 - (real_init): grab a supplicant interface
10799                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10800                 - (supplicant_iface_state_cb): new function, stub for handling
10801                         supplicant interface state changes
10802
10803         * src/nm-device-802-11-wireless.c
10804                 - (real_init): grab a supplicant interface
10805                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10806                 - (supplicant_iface_state_cb): new function, stub for handling
10807                         supplicant interface state changes
10808
10809         * src/NetworkManager.c
10810                 - (main): create and keep the supplicant manager around for the lifetime
10811                         of NetworkManager
10812
10813         * src/Makefile.am
10814                 - Link to the supplicant manager sub-library and use the supplicant
10815                         manager includes
10816
10817 2006-11-25  Dan Williams  <dcbw@redhat.com>
10818
10819         Rework DBus manager signal handling to be more flexible.  Previously,
10820         only one signal handler could be registered for a particular interface.
10821         The DBus manager now reference counts DBus bus matches and allows multiple
10822         clients to register signal handlers for the same interface and sender.
10823
10824         * src/NetworkManager.c
10825                 - (main): track NMI signal handler ID and remove it when we quit
10826
10827         * src/NetworkManagerMain.h
10828                 - Keep track of NMI signal handler ID
10829
10830         * src/nm-dbus-manager.c
10831           src/nm-dbus-manager.h
10832                 - rework signal handling; each signal handler references one signal
10833                         match, but a signal match may be referenced by one or more
10834                         signal handlers.  Matches are refcounted and are destroyed when the
10835                         last signal handler that references the match is removed.  This is
10836                         necessary because two signal handlers may end up requiring the same
10837                         dbus bus match, so the match must live until the last signal handler
10838                         is destroyed (for example, with the wpa_supplicant network interface
10839                         dbus interface).
10840
10841         * src/dhcp-manager/nm-dhcp-manager.c
10842                 - (nm_dhcp_manager_new): track DHCP signal handler id
10843                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10844
10845         * src/vpn-manager/nm-vpn-service.c
10846                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10847                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10848
10849 2006-11-25  Dan Williams  <dcbw@redhat.com>
10850
10851         Suggested by Helmut Schaa <hschaa@suse.de>
10852
10853         * src/vpn-daemons/nm-vpn-service.c
10854                 - (supplicant_child_setup): new function
10855                 - (supplicant_exec): make child process use a new process group id
10856
10857         * src/nm-device-802-11-wireless.c
10858                 - (nm_vpn_service_child_setup): new function
10859                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10860                         process group id
10861
10862 2006-11-19  Dan Williams  <dcbw@redhat.com>
10863
10864         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10865         * gnome/vpn-properties/nm-vpn-properties.c
10866                 - clean up after renamed VPN connection
10867
10868 2006-11-19  Dan Williams  <dcbw@redhat.com>
10869
10870         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10871         * gnome/applet/applet-dbus-vpn.c
10872                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10873
10874         * gnome/vpn-properties/nm-vpn-properties.c
10875                 - (init_app): sort VPN connections
10876
10877 2006-11-09  Dan Williams  <dcbw@redhat.com>
10878
10879         * src/NetworkManagerAPList.c
10880                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10881                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10882                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10883                 broke hidden SSID matching.  Found by Bill Moss.
10884
10885 2006-10-25  Dan Williams  <dcbw@redhat.com>
10886
10887         * src/nm-dbus-nm.c
10888                 - (nm_dbus_nm_set_active_device): return an empty success message on
10889                         success, rather than falling through to the error case.
10890
10891 2006-10-25  Dan Williams  <dcbw@redhat.com>
10892
10893         * src/NetworkManagerUtils.c
10894                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10895                         "SCAN" command
10896
10897 2006-10-24  Dan Williams  <dcbw@redhat.com>
10898
10899         Reduce the number of times the Gnome applet wakes up, especially when
10900         it's doing absolutely nothing and is hidden.  Initial patch by
10901         Chris Aillon.
10902
10903         * gnome/applet/applet-dbus.c
10904                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10905                         kill the redraw timeout.  When NM starts up, start the redraw
10906                         timeout.  Also, if we get kicked off the bus for some reason,
10907                         start the reconnection timeout if one's not already running.
10908                 - (nma_dbus_init): better handling of error conditions, don't leak
10909                         a half-initialized dbus connection
10910                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10911                         the applet's data, just call nm_dbus_init_helper()
10912                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10913                         timeout that calls nma_dbus_connection_watcher()
10914                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10915                         reconnection timeout, and don't start the reconnection timeout
10916                         unconditionally anymore
10917
10918         * gnome/applet/applet-dbus.h
10919                 - Expose nma_start_dbus_connection_watch()
10920
10921         * gnome/applet/applet.c
10922                 - (nma_update_state): no longer static, called from applet-dbus.c for
10923                         immediate UI updates on certain events
10924                 - (nma_set_running): new function; take over setting applet->running,
10925                         when not running (ie, NM is not active), don't activate the redraw
10926                         timeout because we're not showing the applet anyway.  When we are
10927                         running (ie, NM is active), and only when we're running, start the
10928                         redraw timeout.
10929                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10930                         kill any reconnection timeout
10931                 - (nma_get_instance): move one-off dbus initialization code here since
10932                         nm_dbus_init_helper() gets called more than once, possibly by the
10933                         reconnection timeout function too.  And, when we start up, if we
10934                         can't get a connection to the bus, start the reconnection timeout.
10935                         But don't start the redraw timeout yet, only do that when we get
10936                         NM's state and find out if it's running or not.
10937
10938         * gnome/applet/applet.h
10939                 - Add the reconnection GSource ID
10940                 - Add prototypes for nma_set_running() and the no-longer-static
10941                         nma_update_state()
10942
10943 2006-10-24  Dan Williams  <dcbw@redhat.com>
10944
10945         * src/vpn-daemons/nm-dbus-vpnc.c
10946                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10947                         pending call tracker
10948                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10949                         pending call tracker; register one-vpn-connection update pending
10950                         call in pending call tracker
10951                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10952                         update pending call in pending call tracker
10953                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10954                         update pending call in pending call tracker; don't block waiting
10955                         for call to return
10956
10957 2006-10-19  Robert Love  <rml@novell.com>
10958
10959         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10960           refresh the cache.
10961
10962 2006-10-14  Dan Williams  <dcbw@redhat.com>
10963
10964         * src/dhcp-manager/nm-dhcp-manager.c
10965                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10966                 the dbus connection and the device object path rather than
10967                 constructing it inside both functions.  Saves a bit of memory
10968                 and clarifies a failure path.
10969                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10970                 and allocate device path here rather than each of the two
10971                 functions above.
10972
10973 2006-10-13  Dan Williams  <dcbw@redhat.com>
10974
10975         * src/NetworkManager.c
10976                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10977                 this somehow droppout in the refactor
10978
10979 2006-10-13  Dan Williams  <dcbw@redhat.com>
10980
10981         * Huge DBus refactor:
10982                 - Create a "DBus Manager" object which manages the connection and
10983                 sends signals on NameOwnerChanged and connection/disconnection events,
10984                 handles reconnection to the bus if NM gets kicked off, and abstracts
10985                 signal handling
10986                 - Remove DBusConnection members from places where they are no
10987                 longer needed due to the refactor, like the dbus-connection
10988                 property of the named manager, and from NMData
10989                 - Reformats a bunch of the code to gnome style
10990                 (8-space tabs, braces on same line as statement, 80-col width).
10991                 Consider it open season to reformat any bits to gnome style.
10992                 style that aren't already.
10993
10994 2006-10-13  Dan Williams  <dcbw@redhat.com>
10995
10996         * src/supplicant-manager/Makefile.am
10997                 - Add new files
10998
10999         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11000                 - Make it a minimal GObject
11001
11002         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11003                 - Verify settings destined for wpa_supplicant
11004
11005         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11006                 - Minimal GObject to track wpa_supplicant controlled device
11007                 connections
11008
11009 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11010
11011         * gnome/applet/applet.c: (nma_update_info),
11012         (nma_act_stage_to_pixbuf), (nma_update_state):
11013         Mark missing strings for translation. Fixes bug #343306.
11014
11015 2006-10-01  Dan Williams  <dcbw@redhat.com>
11016
11017         * src/vpn-manager/nm-vpn-manager.c
11018                 - (nm_vpn_manager_load_services): split and clean up
11019                 for readability and correctness.  Restrict VPN service
11020                 files to ending in ".name", as was meant from the
11021                 beginning (but not coded in).  Better error reporting.
11022
11023 2006-10-01  Dan Williams  <dcbw@redhat.com>
11024
11025         * utils/nm-utils.h
11026                 - Clean up formatting of debug/info/warning log messages
11027
11028 2006-09-27  Robert Love  <rml@novell.com>
11029
11030         Patch by Tambet Ingo <tambet@ximian.com>:
11031         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11032           actually work.
11033
11034 2006-09-07  Dan Williams <dcbw@redhat.com>
11035
11036         * test/Makefile.am
11037           test/libnm-util/Makefile.am
11038           test/nm-supplicant-test.c
11039                 - Add test program emulating the way NM drives wpa_supplicant
11040                 to help debug supplicant issues
11041
11042 2006-08-24  Dan Williams <dcbw@redhat.com>
11043
11044         * configure.in
11045           src/Makefile.am
11046           src/supplicant-manager/Makefile.am
11047           src/supplicant-manager/nm-supplicant-manager.c
11048           src/supplicant-manager/nm-supplicant-manager.h
11049                 - Add skeleton bits of the wpa_supplicant manager
11050
11051 2006-08-24  Dan Williams <dcbw@redhat.com>
11052
11053         Patch from Ed Catmur:
11054         * src/NetworkManagerUtils.c
11055                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11056                 if netmask is 0 (Gnome #352634)
11057
11058 2006-08-17  Robert Love  <rml@novell.com>
11059
11060         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11061           package is now DBUS-enabled and listens for the NM signals.
11062
11063 2006-08-14  Dan Williams  <dcbw@redhat.com>
11064
11065         * Patch from Christian Persch <chpe gnome org>
11066         * configure.in
11067           po/LINGUAS
11068           vpn-daemons/openvpn/po/LINGUAS
11069           vpn-daemons/openvpn/configure.in
11070           vpn-daemons/pptp/po/LINGUAS
11071           vpn-daemons/pptp/configure.in
11072           vpn-daemons/vpnc/po/LINGUAS
11073           vpn-daemons/vpnc/configure.in
11074                 - Convert to LINGUAS method so translators don't have to modify
11075                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11076                 0.35 or higher
11077
11078 2006-08-14  Dan Williams  <dcbw@redhat.com>
11079
11080         Patch from Alex Smith <alex.extreme2@gmail.com>
11081         * configure.in
11082           src/backends/Makefile.am
11083           src/backends/NetworkManagerFrugalware.c
11084                 - Add support for Frugalware
11085
11086 2006-08-13  Dan Williams  <dcbw@redhat.com>
11087
11088         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11089         * src/nm-device-802-11-wireless.c
11090                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11091                 Gnome #346875
11092
11093 2006-08-13  Dan Williams  <dcbw@redhat.com>
11094
11095         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11096         * src/nm-ap-security.c
11097           src/nm-ap-security.h
11098                 - Add authentication_required bits for subclasses to specify whether
11099                 or not real authentication is required for connections, i.e. whether
11100                 the AP rejects us when an encryption key is wrong or not.
11101
11102         * src/nm-ap-security-wep.c
11103           src/nm-ap-security-wpa-eap.c
11104           src/nm-ap-security-wpa-psk.c
11105           src/nm-ap-security-leap.c
11106                 - Implement authentication_required appropriately for each method
11107
11108         * src/nm-device-802-11-wireless.c
11109                 - Be smarter about when to request a key; for example, using a wrong key
11110                 in WEP shared key mode previously just timed out and did not request
11111                 a new key
11112
11113 2006-08-13  Dan Williams  <dcbw@redhat.com>
11114
11115         * gnome/libnm_glib/libnm_glib.c
11116                 - dbus_connection_disconnect() -> dbus_connection_close() for
11117                 dbus >= 0.90
11118
11119 2006-08-07  Dan Williams  <dcbw@redhat.com>
11120
11121         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11122         * src/NetworkManagerSystem.c
11123                 - Respect specified MTU.  Gnome #344967
11124
11125 2006-08-07  Dan Williams  <dcbw@redhat.com>
11126
11127         * src/vpn-manager/nm-vpn-service.c
11128                 - Simplify print_vpn_config() arguments
11129
11130         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11131         * src/vpn-manager/Makefile.am
11132           src/vpn-manager/nm-vpn-service.c
11133                 - Add new API for passing VPN config options as a dict. Gnome #344967
11134
11135 2006-08-06  Dan Williams  <dcbw@redhat.com>
11136
11137         * gnome/applet/applet-dbus-devices.c
11138           gnome/applet/applet-dbus-vpn.c
11139           gnome/applet/applet-dbus.c
11140           gnome/applet/applet-dbus.h
11141           src/nm-dbus-nmi.c
11142           utils/nm-utils.c
11143           utils/nm-utils.h
11144                 - Make pending call tracking code generic,
11145                 so we can use it in NM as well as the applet
11146
11147 2006-08-06  Dan Williams  <dcbw@redhat.com>
11148
11149         * src/nm-activation-request.c
11150                 - Refcount pending call objects
11151
11152 2006-08-06  Dan Williams  <dcbw@redhat.com>
11153
11154         Patch from Christan Chiesa <christanc@gmail.com>
11155         * configure.in
11156                 - Tell sha1.c to use bigendian mode on PPC
11157
11158 2006-08-04  Robert Love  <rml@novell.com>
11159
11160         Glib Memory Slices!
11161         * configure.in: Require glib 2.10 or later.
11162         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11163           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11164           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11165           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11166           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11167           Memory Slices are the greatest thing since bread slices.
11168         * src/NetworkManagerAP.c: Also, fix memory leak.
11169
11170 2006-08-01  Robert Love  <rml@novell.com>
11171
11172         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11173
11174 2006-07-31  Robert Love  <rml@novell.com>
11175
11176         * src/backends/interface_parser.c: Declarations must begin the block.
11177
11178 2006-07-24  Dan Williams  <dcbw@redhat.com>
11179
11180         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11181         * src/backends/Makefile.am
11182           src/backends/NetworkManagerArch.c
11183           src/backends/NetworkManagerDebian.c
11184           src/backends/NetworkManagerGeneric.c
11185           src/backends/NetworkManagerGeneric.h
11186           src/backends/NetworkManagerGentoo.c
11187           src/backends/NetworkManagerPaldo.c
11188           src/backends/NetworkManagerRedHat.c
11189           src/backends/NetworkManagerSlackware.c
11190           src/backends/NetworkManagerSuSE.c
11191                 - Genericize common backend functions
11192
11193 2006-07-18  Robert Love  <rml@novell.com>
11194
11195         * configure.in: Add "--with-notify" option to allow disabling of
11196           libnotify support.
11197
11198 2006-07-13  Dan Williams  <dcbw@redhat.com>
11199
11200         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11201         * gnome/applet/applet.glade
11202           gnome/applet/Makefile.am
11203           gnome/applet/nm-gconf-wso.c
11204           gnome/applet/nm-gconf-wso-leap.c
11205           gnome/applet/nm-gconf-wso-leap.h
11206           gnome/applet/wireless-security-manager.c
11207           gnome/applet/wso-leap.c
11208           gnome/applet/wso-leap.h
11209           include/NetworkManager.h
11210           libnm-util/dbus-helpers.c
11211           libnm-util/dbus-helpers.h
11212           src/Makefile.am
11213           src/NetworkManagerAP.c
11214           src/nm-ap-security.c
11215           src/nm-ap-security-leap.c
11216           src/nm-ap-security-leap.h
11217                 - Add LEAP authentication support
11218
11219 2006-07-13  Dan Williams  <dcbw@redhat.com>
11220
11221         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11222         * configure.in
11223           src/backends/NetworkManagerArch.c
11224           src/backends/NetworkManagerDebian.c
11225           src/backends/NetworkManagerGentoo.c
11226           src/backends/NetworkManagerPaldo.c
11227           src/backends/NetworkManagerRedHat.c
11228           src/backends/NetworkManagerSlackware.c
11229           src/backends/NetworkManagerSuSE.c
11230                 - Convert hardcoding of 'ip' path to configure-time
11231                         detected one
11232
11233 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11234
11235         * configure.in: added ru to ALL_LINGUAS
11236
11237 2006-07-10  Dan Williams  <dcbw@redhat.com>
11238
11239         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11240         * src/nm-device.c
11241                 - (real_act_stage3_ip_config_start): don't infinite loop when
11242                         dhcdbd isn't running (Gnome #346845)
11243
11244 2006-07-09  Dan Williams  <dcbw@redhat.com>
11245
11246         * gnome/applet/applet.c
11247                 - (nma_destroy): don't pass NULL to notify_notification_close
11248                         (RH #197917)
11249
11250 2006-07-09  Dan Williams  <dcbw@redhat.com>
11251
11252         * gnome/applet/applet.c
11253                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11254
11255 2006-07-04  Tor Krill  <tor@krill.nu>
11256
11257         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11258         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11259         (nm_system_restart_mdns_responder), (ArchReadConfig),
11260         (nm_system_device_get_system_config):
11261                 - Explicitly check for DHCP configuration
11262                 - Check if daemons are running before starting them
11263
11264 2006-06-25  Dan Williams  <dcbw@redhat.com>
11265
11266         * libnm-util/dbus-dict-helpers.[ch]
11267           test/libnm-util/test-dbus-dict-helpers.c
11268                 - Add string array support
11269
11270 2006-06-24  Dan Williams  <dcbw@redhat.com>
11271
11272         * src/dhcp-manager/nm-dhcp-manager.c
11273                 - (nm_dhcp_manager_process_signal): clean up spacing
11274
11275 2006-06-21  Dan Williams  <dcbw@redhat.com>
11276
11277         * src/nm-dbus-device.c
11278                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11279                         through dbus
11280
11281 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11282
11283         * configure.in: Added 'lv' to ALL_LINGUAS
11284
11285 2006-06-19  Dan Williams  <dcbw@redhat.com>
11286
11287         * src/NetworkManagerAP.c
11288                 - Clarify usage of user_created
11289
11290         * src/nm-ap-security-wep.c
11291           src/nm-ap-security-wpa-eap.c
11292           src/nm-ap-security-wpa-psk.c
11293           src/nm-ap-security.c
11294           src/nm-ap-security.h
11295                 - s/user_created/adhoc, because we really do mean adhoc
11296
11297         Patch from Bernard Blackham <bernard@blackham.com.au>
11298         * src/nm-device-802-11-wireless.c         
11299                 - (supplicant_send_network_config): instead of user_created,
11300                         use adhoc, and do AP_SCAN 2 for adhoc networks
11301
11302 2006-06-18  Robert Love  <rml@novell.com>
11303
11304         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11305           we have a value to set.  Gconf generates a warning if `val' is NULL.
11306         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11307           unless we actually received a valid private key file passphrase or
11308           password.  Otherwise, we don't know to later ask the applet to pull
11309           the key from the keyring.
11310
11311 2006-06-17  Dan Williams  <dcbw@redhat.com>
11312
11313         * libnm-util/dbus-dict-helpers.[ch]
11314           test/libnm-util/test-dbus-dict-helpers.c
11315                 - Fixes for zero-length byte arrays
11316                 - Replace return values of 0 with FALSE for clarity
11317                 - Test zero-length byte arrays
11318
11319 2006-06-17  Dan Williams  <dcbw@redhat.com>
11320
11321         * libnm-util/dbus-dict-helpers.[ch]
11322           test/libnm-util/test-dbus-dict-helpers.c
11323                 - Add helpers for byte arrays
11324                 - Rework bits of the testcase
11325
11326 2006-06-16  Dan Williams  <dcbw@redhat.com>
11327
11328         * libnm-util/Makefile.am
11329         * libnm-util/dbus-dict-helpers.[ch]
11330                 - Add some helpers to take the pain out of using dict types in
11331                         dbus.
11332
11333         * test/libnm-util/Makefile.am
11334         * test/libnm-util/test-dbus-dict-helpers.c
11335                 - Test cases for the dict helper functions
11336
11337 2006-06-15  Robert Love  <rml@novell.com>
11338
11339         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11340           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11341           if there is no key to pass.
11342         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11343           receiving a non-NULL key.
11344
11345 2006-06-14  Robert Love  <rml@novell.com>
11346
11347         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11348           copy the strings.
11349
11350
11351 2006-06-14  Dan Williams  <dcbw@redhat.com>
11352
11353         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11354         * src/nm-device-802-11-wireless.c
11355                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11356                         or ones where the driver is unknown
11357                 - (supplicant_exec): don't wait for supplicant startup here
11358                 - (supplicant_interface_init): finer grained polling for supplicant
11359                         startup
11360
11361 2006-06-13  Robert Love  <rml@novell.com>
11362
11363         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11364           if it is currently set to TRUE.  Otherwise, we will reset the value
11365           when we connect normally.
11366         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11367           the old BSSID is valid, too.  The recently added ESSID check may not be
11368           sufficient (we can remove it?).  What we really want to catch is the
11369           case of going from all-zeros to the BSSID of some other network, which
11370           happens on failure.
11371
11372 2006-06-09  Dan Williams  <dcbw@redhat.com>
11373
11374         * src/NetworkManagerSystem.[ch]
11375                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11376                         it was unused and pointless
11377                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11378                         fix for set_up_down_with_iface change
11379
11380         * src/vpn-manager/nm-vpn-connection.c
11381                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11382
11383         * src/backends/NetworkManagerPaldo.c
11384           src/backends/NetworkManagerRedHat.c
11385           src/backends/NetworkManagerSuSE.c
11386           src/backends/NetworkManagerArch.c
11387           src/backends/NetworkManagerDebian.c
11388           src/backends/NetworkManagerGentoo.c
11389                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11390                         appropriate
11391                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11392                         where appropriate
11393
11394 2006-06-09  Dan Williams  <dcbw@redhat.com>
11395
11396         Patch from Peter Jones:
11397         * src/nm-device-802-11-wireless.c
11398                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11399                         SSID hasn't changed from what we expect before automatically
11400                         updating the saved BSSID from a new AP
11401
11402 2006-06-08  Robert Love  <rml@novell.com>
11403
11404         Add 'fallback' support.  NetworkManager will attempt to brute-force
11405         connect to networks marked as fallback if there are no better wireless
11406         connections available.  This is useful as a method of last resort, to
11407         work around driver problems, and for use with hidden networks.
11408         * gnome/applet/applet-dbus-devices.c,
11409           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11410         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11411           pass it on via DBUS.
11412         * gnome/applet/applet.c: No fallback by default.
11413         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11414           Update other-network-dialog to add UI checkbox toggling fallback.
11415         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11416           propery from AP object.  Add "fallback" property to AP object.
11417         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11418         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11419         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11420           separate function.  Add get_best_fallback_ap() for returning an AP
11421           on which to attempt fallback.
11422         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11423         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11424
11425 2006-06-07  Robert Love  <rml@novell.com>
11426
11427         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11428           checked that the return type was GCONF_VALUE_STRING, not the correct
11429           GCONF_VALUE_BOOL, and thus it never worked.
11430         * src/NetworkManagerAPList.c: Before concluding that two networks are
11431           identical based on their BSSID, make sure that the BSSID in question
11432           is actually valid.  Specifically, an empty or all zero BSSID does not
11433           cut it.
11434         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11435           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11436           similar invariant clean up.
11437
11438 2006-06-02  Robert Love  <rml@novell.com>
11439
11440         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11441
11442 2006-05-28  Dan Williams  <dcbw@redhat.com>
11443
11444         * gnome/applet/applet.glade
11445           gnome/vpn-properties/nm-vpn-properties.glade
11446                 - Set window icons on dialogs  (Gnome.org #333420)
11447
11448 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11449
11450         * gnome/vpn-properties/nm-vpn-properties.glade:
11451         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11452         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11453         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11454                 - Make the VPN properties pages prettier and more HIG
11455                   compliant. Gnome Bug #336913.
11456
11457 2006-05-28  Dan Williams  <dcbw@redhat.com>
11458
11459         Patch from Christian Persch <chpe@gnome.org>
11460         * gnome/vpn-properties/nm-vpn-properties.c
11461         * gnome/vpn-properties/nm-vpn-properties.glade
11462                 - HIG-ification love  (Gnome.org #336846)
11463
11464 2006-05-28  Dan Williams  <dcbw@redhat.com>
11465
11466         Patch from Christian Persch <chpe@gnome.org>
11467         * configure.in
11468           gnome/vpn-properties/nm-vpn-properties.c
11469                 - (main): Fix option parsing.  Gnome.org #336847
11470
11471 2006-05-28  Dan Williams  <dcbw@redhat.com>
11472
11473         * gnome/vpn-properties/nm-vpn-properties.c
11474                 - (find_vpn_ui_by_service_name): protect against NULL service names
11475                 - (update_edit_del_sensitivity): protect against NULL service names
11476                         Gnome.org #341306
11477
11478 2006-05-28  Dan Williams  <dcbw@redhat.com>
11479
11480         Patch from Chris Fuller <crf@grandecom.net>:
11481         * src/nm-device-802-11-wireless.c
11482                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11483                         don't dispose of wireless-specific stuff unless it is actually
11484                         initialized.  Gnome.org #341263
11485
11486 2006-05-28  Dan Williams  <dcbw@redhat.com>
11487
11488         * src/NetworkManagerPolicy.c
11489                 - (nm_policy_device_change_check): don't switch devices if the "best"
11490                         AP is essentially the same as the current activation request, but
11491                         the current activation request isn't done activating yet.  Fixes
11492                         multiple requests for keyring password on startup for Gnome applet.
11493                         Gnome.org #341297
11494
11495 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11496
11497         * src/NetworkManager.c: use GOptions instead of getopt
11498         * configure.in: bump glib required version to >= 2.6 for GOption
11499           support
11500
11501 2006-05-25  Robert Love  <rml@novell.com>
11502
11503         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11504           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11505           instead of dumping ifdef's throughout the code.
11506         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11507           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11508           use nm_ioctl_info() in lieu.
11509
11510 2006-05-25  Robert Love  <rml@novell.com>
11511
11512         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11513         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11514           not using gcrypt.  Otherwise, we get a linker error.
11515
11516 2006-05-25  Robert Love  <rml@novell.com>
11517
11518         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11519         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11520           configure flag to disable building of the GNOME-based applet.
11521
11522 2006-05-25  Robert Love  <rml@novell.com>
11523
11524         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11525           parameter from link, because it shadows a global variable with some
11526           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11527           should never have exported to the entire system a common four letter
11528           word.  But we here at NetworkManager are team players.  Fixes
11529           GNOME bug #336532.
11530
11531 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11532
11533         * configure.in: Added mk.po, Macedonian translation.
11534
11535 2006-05-24  Robert Love  <rml@novell.com>
11536
11537         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11538           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11539           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11540
11541 2006-05-24  Robert Love  <rml@novell.com>
11542
11543         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11544           libnm-util/Makefile.am, src/Makefile.am,
11545           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11546           vpn-daemons/openvpn/properties/Makefile.am,
11547           vpn-daemons/pptp/auth-dialog/Makefile.am,
11548           vpn-daemons/pptp/properties/Makefile.am,
11549           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11550           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11551           user passed for --datadir, if anything, when setting the GNOME locale
11552           directory.  It should be a function of the specified datadir and not
11553           the prefix.
11554
11555 2006-05-24  Robert Love  <rml@novell.com>
11556
11557         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11558           src/NetworkManager.c: Take care to call bindtextdomain with the
11559           location of msgid files.
11560         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11561           files.
11562
11563 2006-05-22  Robert Love  <rml@novell.com>
11564
11565         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11566           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11567           99% of the time there is a real problem with wireless, and a
11568           seemingly successful connection via Zeroconf just confuses the user.
11569           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11570
11571 2006-05-22  Robert Love  <rml@novell.com>
11572
11573         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11574           autofs on interface up if NIS is configured.  On interface down, do
11575           nothing.
11576
11577 2006-05-22  Robert Love  <rml@novell.com>
11578
11579         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11580           to avoid calling g_object_unref() on stale pointers on error in
11581           nma_icons_free().  This happens because we short-circuit loaded the
11582           icons on the first failure but then free all icons.  Normally we have
11583           no issue because the icons were zero'ed out malloc, but we have stale
11584           pointer data after nma_icon_theme_changed().
11585         * gnome/applet/main.c: Return error code if nma_new() failed.
11586
11587 2060-05-21  Dan Williams  <dcbw@redhat.com>
11588
11589         * initscript/NetworkManager.in
11590                 - Ensure both dhcdbd and named are started before NM
11591
11592 2006-05-21  Dan Williams  <dcbw@redhat.com>
11593
11594         * configure.in
11595                 - Bump version to 0.7 to signify we are in 0.7 development
11596
11597 2006-05-21  Dan Williams  <dcbw@redhat.com>
11598
11599         Patch from Adam Schreiber <sadam@clemson.edu>
11600         * gnome/vpn-properties/nm-vpn-properties.c
11601                 - (main): correct Gnome program name  (gnome.org #342498)
11602
11603 2006-05-21  Dan Williams  <dcbw@redhat.com>
11604
11605         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11606
11607         * src/NetworkManagerDbus.[ch]
11608                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11609                         clarify that function's argument should be an escaped dbus object
11610                         path, and look for path segment end before returning a match
11611         * src/nm-dbus-nm.c:
11612                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11613
11614 2006-05-17  Robert Love  <rml@novell.com>
11615
11616         Functionality to differentiate Ad-Hoc networks from infrastructure
11617         networks in the applet, by displaying a special icon:
11618         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11619         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11620         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11621           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11622           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11623           networks, encrypted or not.
11624         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11625           accessor functions to get and set the mode of a given network,
11626           wireless_network_get_mode() and wireless_network_set_mode().
11627
11628 2006-05-17  Robert Love  <rml@novell.com>
11629
11630         Functionality to automatically add BSSIDs to the allowed-MAC list as
11631         one roams from access point to access point on a given network:
11632         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11633           helper function to compare two ether_addr structures and return TRUE
11634           if they contain the same MAC address.
11635         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11636           prototype.
11637         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11638           stored with the current AP.  If the BSSID has indeed changed, we
11639           send it out to the applet, allowing the allowed-MAC list to grow
11640           automatically in response to roaming.
11641
11642 2006-05-16  Robert Love  <rml@novell.com>
11643
11644         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11645           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11646
11647 2006-05-13  Dan Williams  <dcbw@redhat.com>
11648
11649         * src/nm-device-802-3-ethernet.c
11650                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11651                         carrier detect (Debian bug #366373)
11652
11653 2006-05-11  Dan Williams  <dcbw@redhat.com>
11654
11655         Patch from Michael Biebl <biebl@teco.edu>
11656         * src/backends/NetworkManagerDebian.c
11657                 - Debian backend fixups
11658
11659 2006-05-10  Robert Love  <rml@novell.com>
11660
11661         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11662
11663 2006-05-09  Robert Love  <rml@novell.com>
11664
11665         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11666           private certificate passphrase, if any, in the GNOME Keyring.
11667         * libnm-utils/dbus-helpers.c: Update.
11668
11669 2006-05-05  Dan Williams  <dcbw@redhat.com>
11670
11671         * src/nm-device-802-11-wireless.c
11672                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11673                         nm_device_802_11_wireless_disable_encryption() since that's all
11674                         we use it for anymore; we don't ever set WEP keys ourselves.
11675                 - (real_deactivate_quickly): reset SSID and encryption keys
11676                 - (real_deactivate): move SSID and encryption key reset to
11677                         real_deactivate_quickly(), which gets run before us anyway
11678
11679 2006-05-05  Robert Love  <rml@novell.com>
11680
11681         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11682           root has a wacky default of its own (or, more common, a user has a
11683           bad umask and uses su/sudo to restart NetworkManager).  Anything
11684           other than 0022 does not do what we want with, for example,
11685           resolv.conf.  This problem is amplified by our judicious use of
11686           fopen(), which uses mode 0666 -- implying that the only way to get
11687           the permissions we want is with a umask of 0022.
11688
11689 2006-05-05  Dan Williams  <dcbw@redhat.com>
11690
11691         * gnome/libnm_glib/libnm_glib.c
11692                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11693                         to reconnect; instead wait a bit more with each reconnect attempt
11694                         up to a max of one minute.
11695
11696 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11697
11698         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11699           the WirelessNetwork structure using the proper function instead of
11700           just casting it directly to (const char *) (gnome.org #336991)
11701
11702 2006-05-03  Robert Love  <rml@novell.com>
11703
11704         * src/backends/NetworkManagerSuSE.c: Respect the variable
11705           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11706           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11707           to dynamically update /etc/resolv.conf.
11708
11709 2006-05-02  Peter Jones  <pjones@redhat.com>
11710
11711         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11712
11713 2006-05-02  Robert Love  <rml@novell.com>
11714
11715         Patch by Timo Hoenig;
11716         * tests/nm-online.c: Print pretty status indicator as timeout winds
11717           down.  Also fix possible race between DBUS startup and failure
11718           return.
11719
11720 2006-05-01  Robert Love  <rml@novell.com>
11721
11722         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11723           empty, too.
11724
11725 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11726
11727         * src/nm-device.c (discover_device_type): Actually use the hal
11728         device type instead of ioctl poking
11729
11730 2006-04-26  Robert Love  <rml@novell.com>
11731
11732         * tests/nm-online.c: New file.  Simple utility that returns exit status
11733           noting whether the connection is offline or online.  If offline on
11734           start, it waits 30 seconds (or a command-line given value) for an
11735           online signal.  If it times out, it again returns offline.  This is
11736           useful for scripts that want to wait for network connections.
11737
11738 2006-04-25  Robert Love  <rml@novell.com>
11739
11740         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11741           key mode (the authentication algorithm), e.g. open or shared, when we
11742           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11743           only shared was broken.  If the user specified a shared key, set it
11744           explicitly, otherwise let wpa_supplicant go with the default.
11745
11746 2006-04-24  Dan Williams  <dcbw@redhat.com>
11747
11748         * src/nm-device-802-11-wireless.c
11749                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11750
11751 2006-04-24  Dan Williams  <dcbw@redhat.com>
11752
11753         Commit the async scanning patch
11754
11755         * src/nm-device-802-11-wireless.c
11756                 - get rid of scan_mutex
11757                 - (wireless_event_helper): act on wireless scan events
11758                 - (real_start): schedule a pending scan
11759                 - (link_to_specific_ap): fake the link to the AP during a scan
11760                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11761                         strength during scans
11762                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11763                         nm_device_set_bitrate): unused with new scanning code, disable
11764                 - (nm_device_wireless_schedule_scan): removed
11765                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11766                 - (request_and_convert_scan_results): new function; retrieve scan
11767                         results from the driver and schedule the processing function
11768                 - (scan_results_timeout): timeout triggered when card doesn't send
11769                         a scan results wireless event during a certain interval
11770                 - (schedule_scan_results_timeout): new function; schedule the scan
11771                         results timeout
11772                 - (cancel_scan_results_timeout): new function; cancel the scan
11773                         results timeout
11774                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11775                         to do the scanning.  Otherwise, just request a scan but don't
11776                         grab results here; instead schedule a timeout for scan results and
11777                         let netlink notify us of scan completion events
11778                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11779                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11780                 - (supplicant_status_cb): ignore disconnect events while scanning
11781                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11782                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11783                         timeouts
11784                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11785
11786 2006-04-24  Dan Williams  <dcbw@redhat.com>
11787
11788         * gnome/applet/applet-dbus.c
11789                 - Disable the pending call debug stuff, seems under control now
11790
11791 2006-04-20  Robert Love  <rml@novell.com>
11792
11793         Fix bug where hidden ESSID's would not show up in the applet, even
11794         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11795         because nm_policy_device_list_update_from_allowed_list() would merge
11796         the data, putting a name to the hidden networks, but never notify NMI
11797         of the changes.  Simple fix is to invoke the function
11798         nm_dbus_signal_wireless_network_change() if we make a mapping.
11799         * src/NetworkManagerAPList.c: Call the function
11800           nm_dbus_signal_wireless_network_change() if we made a successful
11801           BSSID to ESSID mapping, notifying the applet of the "new" network.
11802         * src/NetworkManagerAPList.h: Update the prototypes for both
11803           nm_ap_list_copy_essids_by_address() and
11804           nm_ap_list_copy_one_essid_by_address().
11805
11806 2006-04-20  Robert Love  <rml@novell.com>
11807
11808         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11809           not set.  Just return zero.
11810
11811 2006-04-20  Robert Love  <rml@novell.com>
11812
11813         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11814           only one copy of nm-vpn-properties is running at a time via the 'ol
11815           X selection trick.  This prevents the user from opening two "VPN
11816           Connections" windows from within the applet, which leads to mass
11817           hysteria.
11818         * clipboard.c: New file, implementing simple X selection logic.
11819         * clipboard.h: New file.
11820         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11821
11822 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11823
11824         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11825         * configure.in
11826           initscript/Gentoo/Makefile.am
11827           initscript/Gentoo/NetworkManagerDispatcher.in
11828                 - New script
11829         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11830           Gentopia
11831
11832 2006-04-16  Dan Williams  <dcbw@redhat.com>
11833
11834         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11835         * configure.in
11836           initscript/Slackware/Makefile.am
11837           initscript/Slackware/rc.networkmanager-dispatcher.in
11838           initscript/Slackware/rc.networkmanager.in
11839                 - Update slackware initscripts
11840
11841 2006-04-10  Robert Love  <rml@novell.com>
11842
11843         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11844           the "delete_event" signal on the druid's parent window and handle it
11845           our way, lest using the WM to close the druid results in a series of
11846           bloody and ultimately lethal errors.
11847
11848 2006-04-10  Robert Love  <rml@novell.com>
11849
11850         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11851           'Back' too or else the 'Forward' option is initially disabled despite
11852           valid input.
11853
11854 2006-04-06  Robert Love  <rml@novell.com>
11855
11856         Fix bad but simple bug where an active modem connection did not update
11857         NM's connection state, breaking any app that did online/offline:
11858         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11859           represented whether a dial up connection is active, or not.
11860         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11861           to modem activation and deactivation.
11862         * src/NetworkManagerDbus.c: When asked our state, do not return
11863           disconnected if the modem is active.
11864
11865 2006-04-04  Robert Love  <rml@novell.com>
11866
11867         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11868           applet.  It just confuses the crap out of people and does not make a
11869           lot of sense, as the daemon still runs.
11870
11871 2006-04-02  Tor Krill  <tor@krill.nu>
11872
11873         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11874           in start of service.
11875         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11876           get Archlinux backend up to date.
11877
11878 2006-03-29  Robert Love  <rml@novell.com>
11879
11880         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11881         to add support for per-route MSS and improve support for per-interface
11882         MTU:
11883         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11884           optionally take an MSS parameter and set it for the given route.
11885           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11886           NMIP4Config's stored MSS, if any.
11887         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11888           the interface's MTU and the route's MSS, respectively.  Add functions
11889           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11890           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11891           MSS.
11892         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11893           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11894           nm_ip4_config_set_mss.
11895         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11896           VPN daemon.
11897         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11898           Change the retval of nm_system_get_mtu to guint32.
11899         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11900           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11901           servers can specify MTU's, we should set it here if the MTU was not
11902           provided.
11903
11904 2006-03-27  Jürg Billeter  <j@bitron.ch>
11905
11906         * configure.in:
11907         * initscript/Makefile.am:
11908         * initscript/paldo/Makefile.am:
11909         * initscript/paldo/NetworkManager.in:
11910         * initscript/paldo/NetworkManagerDispatcher.in:
11911         * src/backends/Makefile.am:
11912         * src/backends/NetworkManagerPaldo.c:
11913                 - Add paldo support
11914
11915 2006-03-27  Dan Williams  <dcbw@redhat.com>
11916
11917         Patch from Christian Persch <chpe@gnome.org>
11918         * gnome/applet/applet.glade
11919                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11920
11921 2006-03-27  Dan Williams  <dcbw@redhat.com>
11922
11923         Patch from Diffe <diffie@blazebox.homeip.net>
11924         * src/backends/NetworkManagerSlackware.c
11925                 - Don't restart howl, since it's been replaced by Avahi
11926                         in most distributions
11927
11928 2006-03-27  Dan Williams  <dcbw@redhat.com>
11929
11930         Patch from Tor Krill <bugzilla@krill.nu>
11931         * configure.in
11932           initscript/Makefile.am
11933           src/backends/Makefile.am
11934           src/backends/NetworkManagerArch.c
11935           initscript/Arch/Makefile.am
11936           initscript/Arch/networkmanager-dispatcher.in
11937           initscript/Arch/networkmanager.in
11938                 - Add Arch Linux support, fixes gnome.org #335147
11939
11940 2006-03-27  Dan Williams  <dcbw@redhat.com>
11941
11942         Patch from Diffe <diffie@blazebox.homeip.net>
11943      * initscript/Slackware/rc.networkmanager
11944         - update, fixed gnome.org #333368
11945
11946 2006-03-27  Robert Love  <rml@novell.com>
11947
11948         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11949           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11950
11951 2006-03-27  Robert Love  <rml@novell.com>
11952
11953         Patch by Jürg Billeter <j@bitron.ch>:
11954         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11955           systems.
11956         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11957           as we prefer glibc over kernel headers, if possible.
11958
11959 2006-03-27  Robert Love  <rml@novell.com>
11960
11961         Patch by Jon Escombe <list@dresco.co.uk>:
11962         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11963         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11964           fail, don't bail out.  We don't expect all of the various WPA-EAP
11965           values to be present.
11966         * src/nm-ap-security.c: We need to match all capabilities for each
11967           encryption type, not any one of them.
11968
11969 2006-03-27  Robert Love  <rml@novell.com>
11970
11971         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11972           restart, not reload, ypbind.  Unfortunately there is no superior
11973           solution.
11974
11975 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11976
11977         * gnome/applet/applet-notifications.c:
11978         When displaying a notification, make sure to get rid of the
11979         previous notification so as to not have competing bubbles,
11980         and stop leaking the old one.
11981
11982         * gnome/applet/applet.c:
11983         * gnome/applet/applet.h:
11984         Add a new 'notification' member to the applet, and zero it out
11985         and free it appropriately.
11986
11987 2006-03-23  Robert Love  <rml@novell.com>
11988
11989         Patch by j <j@bootlab.org>:
11990         * gnome/applet/applet.glade: Don't set the invisible_char property,
11991           which simply overrides the GTK default.  By and by, this behavior
11992           ought to be fixed in Glade.
11993
11994 2006-03-22  Robert Love  <rml@novell.com>
11995
11996         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11997
11998 2006-03-22  Robert Love  <rml@novell.com>
11999
12000         Bug fix by Timo Hoenig <thoenig@suse.de>:
12001         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12002           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12003           and the applet going AWOL.
12004
12005 2006-03-22  Robert Love  <rml@novell.com>
12006
12007         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12008           preprocessor define and use it instead of open-coded the DHCP
12009           timeout, which is currently 25 seconds, everywhere.
12010
12011 2006-03-22  Robert Love  <rml@novell.com>
12012
12013         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12014         key exchange via WPA, ostensibly providing good security without
12015         requiring hardware that supports full WPA.  Also, add UI elements to
12016         allow the user to select the pairwise & group cipher for WPA Enterprise
12017         networks, too:
12018         * gnome/applet/applet.glade: Update glade file.
12019         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12020           key type, too, to and from gconf.
12021         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12022           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12023           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12024           the capabilities match.
12025         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12026           prototype.
12027         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12028           serialize from UI to DBUS.
12029         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12030           one element.
12031         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12032           nmu_security_serialize_wpa_eap_with_cipher(), and
12033           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12034           serialize/deserialize the key type via DBUS as the new third DBUS
12035           parameter.
12036         * libnm-util/dbus-helpers.h: Update prototypes.
12037         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12038           too.  If the key type is WEP104, do Dynamic WEP, which means
12039           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12040           pairwise and group ciphers (fixes a FIXME).
12041
12042 2006-03-21  Robert Love  <rml@novell.com>
12043
12044         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12045           nm_system_get_mtu(), which returns a user-provided or system-mandated
12046           MTU value for a given device, if any, or zero if no such value
12047           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12048           if we have a provided value.
12049         * src/nm-device.c: Set the MTU of devices.
12050         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12051         * src/backends/NetworkManagerDebian.c,
12052           src/backends/NetworkManagerGentoo.c,
12053           src/backends/NetworkManagerRedHat.c,
12054           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12055
12056 2006-03-21  Robert Love  <rml@novell.com>
12057
12058         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12059           configuration file.
12060
12061 2006-03-17  Robert Love  <rml@novell.com>
12062
12063         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12064           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12065           it, in case it is not running in the first place.  We just want its
12066           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12067
12068 2006-03-15  Robert Love  <rml@novell.com>
12069
12070         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12071           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12072           label "WEP 40/128-bit" is inconsistent because the physical key size
12073           is 40 or 104-bits, to which a 24-bit initialisation vector is
12074           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12075           to read "40/104" or "64/128".  I do not care much which, but most
12076           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12077           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12078           WEP passphrase support only handles 128-bit keys, and any future
12079           64-bit passphrase support will require a new option (no way to auto-
12080           detect the target key size), explicitly label our passphrase support
12081           "WEP 128-bit Passphrase".
12082
12083 2006-03-15  Robert Love  <rml@novell.com>
12084
12085         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12086           the system init scripts (or some other mechanism) starting it (or a
12087           compatible DBUS service) before NetworkManager runs.  This means that
12088           distributions might need to update their init scripts.  This fixes
12089           possible races and is quite a bit cleaner.
12090         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12091           starting the NetworkManager daemon.
12092
12093
12094 2006-03-14  Robert Love  <rml@novell.com>
12095
12096         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12097           before adding anything.
12098
12099 2006-03-13  Robert Love  <rml@novell.com>
12100
12101         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12102           widgets, too, if they exist, in case the user hit the back button.
12103           Fixes a bug where the details page contains the widgets of multiple
12104           VPN modules (Novell bug #157048).
12105
12106 2006-03-13  Robert Love  <rml@novell.com>
12107
12108         Patch by Timo Hoenig <thoenig@suse.de>:
12109         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12110           daemon survive DBUS restarts, too.
12111
12112 2006-03-10  Robert Love  <rml@novell.com>
12113
12114         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12115           passphrase or key.
12116         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12117           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12118           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12119           in response to "toggled" signal on new toggle.
12120
12121 2006-03-10  Robert Love  <rml@novell.com>
12122
12123         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12124           serialization if strings are NULL, lest DBUS get angry.
12125
12126 2006-03-10  Robert Love  <rml@novell.com>
12127
12128         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12129
12130 2006-03-09  Robert Love  <rml@novell.com>
12131
12132         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12133           configurations.
12134
12135 2006-03-09  Dan Williams  <dcbw@redhat.com>
12136
12137         Track pending call requests in the applet, and report how many are
12138         outstanding, and how long each completed one takes.
12139         
12140         * gnome/applet/applet-dbus-devices.c
12141           gnome/applet/applet-dbus-vpn.c
12142                 - Track pending calls
12143
12144         * gnome/applet/applet-dbus.[ch]
12145                 - Remove some unused enums
12146                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12147                         new functions to track dbus pending calls and spit out some
12148                         statistics about them
12149
12150 2006-03-09  Robert Love  <rml@novell.com>
12151
12152         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12153           nm_ap_set_timestamp() take the second and micro-second parameters as
12154           direct arguments, which avoids both a dynamic memory allocation and a
12155           structure-to-structure copy!  Add a new interface, the aptly named
12156           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12157           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12158           the return from nm_ap_get_timestamp().  New users should use the new
12159           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12160           the extreme benefit to performance.
12161         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12162           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12163
12164 2006-03-08  Robert Love  <rml@novell.com>
12165
12166         * gnome/applet/applet.glade: Hide the password entry text with
12167           asterisks.
12168
12169 2006-03-08  Robert Love  <rml@novell.com>
12170
12171         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12172           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12173           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12174           a second argument, NMData.
12175         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12176         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12177           config files as trusted.
12178
12179 2006-03-06  Robert Love  <rml@novell.com>
12180
12181         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12182         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12183           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12184           Rivera, detect if the applet was auto-started.  If so, ask the user
12185           if he or she would like to stop automatically running the applet on
12186           login.  If so, disable autostart.
12187
12188 2006-03-06  Robert Love  <rml@novell.com>
12189
12190         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12191           directory in CFLAGS so developers can actually use NetworkManager.h.
12192
12193 2006-03-06  Robert Love  <rml@novell.com>
12194
12195         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12196           open-coded integer constants.  Add state_to_string() to map a given
12197           state to a textual description, and provide that when notifying of
12198           state change.
12199         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12200           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12201           this header directly, but it is currently not installed on most
12202           systems.
12203
12204 2006-03-05  Dan Williams  <dcbw@redhat.com>
12205
12206         Process netlink messages in device subclasses rather than in
12207         NetworkManager.c.  Also add support for recognizing Wireless Events.
12208         
12209         * configure.in
12210                 - Find GLIB_GENMARSHAL
12211
12212         * src/Makefile.am
12213                 - Since we're marshalling custom types for wireless event signals,
12214                         we get to create our own marshallers using GLIB_GENMARSHAL
12215
12216         * src/NetworkManager.c
12217                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12218                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12219                         cut down somewhat.  We no longer process signals here.
12220                 - (nm_data_new): create the netlink monitor here, and remove a
12221                         useless call to nm_policy_schedule_device_change_check()
12222                 - (nm_data_free): get rid of the netlink monitor here
12223                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12224                 - (main): don't create the netlink monitor here, let nm_data_new
12225                         do that.  Call nm_policy_schedule_device_change_check() right
12226                         before we jump to the mainloop to figure out which device
12227                         to use first
12228
12229         * src/NetworkManagerSystem.[ch]
12230                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12231                         convert back and forth from interface names to interface
12232                         indexes
12233
12234         * src/nm-device-802-11-wireless.c
12235                 - (real_init): connect to wireless-event signals from the netlink
12236                         monitor object
12237                 - (nm_device_802_11_wireless_event): new function, schedule handler
12238                         for wireless event signals from the netlink monitor object.  We
12239                         want the handler to run in the device's context
12240                 - (wireless_event_helper): handle wireless-event signals from netlink
12241                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12242                         signal handler
12243
12244         * src/nm-device-802-11-wireless.h
12245                 - remove unused prototype for nm_device_802_11_wireless_new
12246
12247         * src/nm-device-802-3-ethernet.c
12248                 - (real_init): new function; set up signal handlers for link events
12249                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12250                         handler for netlink link activated events on device's main loop
12251                 - (link_activated_helper): when we get a link activated event, set
12252                         the device's link to be active
12253                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12254                         handler for netlink link deactivated events on device's main loop
12255                 - (link_deactivated_helper): when we get a link deactivated event, set
12256                         the device's link to be inactive
12257                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12258                         dispose
12259
12260         * src/nm-device-802-3-ethernet.h
12261                 - remove unused prototype for nm_device_802_3_ethernet_new
12262
12263         * src/nm-device.[ch]
12264                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12265                         but locks the device list
12266                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12267
12268         * src/nm-netlink-monitor.[ch]
12269                 - (nm_netlink_monitor_class_install_signals): New signal
12270                         "wireless-event"
12271                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12272                         at the device list
12273                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12274
12275         * src/nm-marshal-main.c
12276                 - Include generated nm-marshal.c and nm-marshal.h
12277
12278         * src/nm-marshal.list
12279                 - List of custom marshal functions
12280
12281 2006-03-05  Dan Williams  <dcbw@redhat.com>
12282
12283         * gnome/applet/applet-notifications.h
12284                 - Protect prototype of nma_send_event_notification() because it
12285                         includes libnotify-specific types
12286                 - Include libnotify/libnotify.h too, since we technically need it
12287
12288         * gnome/applet/applet.c
12289                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12290                 - (nma_show_vpn_login_banner_dialog): add some error checking
12291
12292 2006-03-04  Dan Williams  <dcbw@redhat.com>
12293
12294         Clean up activation cancellation.  Should be a lot faster now.  Observed
12295         an issue with wireless devices between stage 2 and 3 of activation, where
12296         activation would be cancelled, but the device thread wouldn't notice until
12297         the supplicant association timed out.  Reorganize activation such that
12298         a cancellation handler gets immediately scheduled in the device's thread,
12299         and devices have a chance to perform any custom cleanup too.
12300
12301         * src/nm-device.[ch]
12302                 - (activation_cancel_handler): new device-type-specific function
12303                         for cleaning up device-type-specific stuff on cancellation
12304                 - (cancel_activation): removed
12305                 - (nm_device_activation_cancel): subsume functionality of
12306                         real_cancel_activation, but instead of doing anything, punt
12307                         operation to a handler that's run in device-thread context
12308                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12309                         a warning message
12310                 - (activation_handle_cancel_helper): cancellation handler run in
12311                         device-thread context, calls device-type-specific cancelation,
12312                         then tears down the activation request
12313                 - (real_activation_cancel_handler): generic cancellation handler,
12314                         deals with cancelling any in-process DHCP request
12315                 - (nm_device_activate_stage1_device_prepare,
12316                    nm_device_activate_stage2_device_config,
12317                    nm_device_activate_stage3_ip_config_start,
12318                    nm_device_activate_stage4_ip_config_get,
12319                    nm_device_activate_stage4_ip_config_timeout,
12320                    nm_device_activate_stage5_ip_commit): don't call
12321                         nm_device_schedule_activation_handle_cancel() any more, since
12322                         cancellation will have been already scheduled for us by
12323                         nm_device_activation_cancel().  Just exit the function and
12324                         assume that the cancel handler will be called next.
12325
12326         * src/nm-device-802-3-ethernet.c
12327                 - (real_act_stage2_config): remove; didn't do anything anyway
12328
12329         * src/nm-device-802-11-wireless.c
12330                 - (supplicant_status_cb): ensure we don't do anything if the activation
12331                         got cancelled
12332                 - (real_activation_cancel_handler): implement; cancel user key request
12333                         on activation cancellation
12334
12335 2006-03-04  Dan Williams  <dcbw@redhat.com>
12336
12337         * src/nm-device-802-11-wireless.c
12338                 - (supplicant_send_network_config): assume that drivers that don't
12339                         support WPA pretty much suck, and can't handle NM scanning
12340                         along with wpa_supplicant.
12341
12342 2006-03-03  Robert Love  <rml@novell.com>
12343
12344         * configure.in: Bump version to 0.6.0.
12345         * NEWS: Update.
12346
12347 2006-03-03  Robert Love  <rml@novell.com>
12348
12349         * configure.in: Require DBUS 0.60 or later.
12350
12351 2006-03-03  Dan Williams  <dcbw@redhat.com>
12352
12353         Fix a crash if an "Other wireless network" was chosen, failed, then
12354         chosen again from the applet's menu.  If the other network wasn't
12355         noticed in a scan, it wouldn't have any capabilities, but would still
12356         be listed because the user forced the network.  To fix this, we set
12357         sensible capabilities on the forced network, which will get overwritten
12358         with the correct ones if the network shows up later in a scan.
12359         
12360         * src/nm-ap-security.h
12361                 - Add a new "get_default_capabilities_func" member to the
12362                         NMAPSecurity class
12363
12364         * src/nm-ap-security.c
12365                 - (nm_ap_security_get_default_capabilities): new function
12366
12367         * src/nm-ap-security.c
12368           src/nm-ap-security-wep.c
12369           src/nm-ap-security-wpa-psk.c
12370           src/nm-ap-security-wpa-eap.c
12371                 - Implement get_default_capabilities_func() for all, which
12372                         uses the information contained in a specific NMAPSecurity
12373                         object to determine default AP capabilites necessary
12374                         to support that object
12375
12376         As a secondary measure, we now prune artificial access points that fail
12377         to be activated right away.  The thing failed, and we have no scan data for
12378         it, so it's pretty much useless since security information is only saved
12379         in the applets when a connection is successful.
12380
12381         * src/NetworkManagerAPList.c
12382                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12383                         not artificial.  If we see it, it's no longer a figment of the
12384                         user's imagination :)
12385
12386         * src/NetworkManagerPolicy.c
12387                 - (nm_policy_activation_failed): send along the failed AP if we
12388                         have it
12389
12390         * src/nm-device-802-11-wireless.c
12391                 - (real_activation_failure_handler): remove artificial APs from
12392                         the device list, because activation failed
12393
12394 2006-03-02  Robert Love  <rml@novell.com>
12395
12396         Add support for retrieving both the per-device speed and the
12397         per-network maximum supported rate.  Then change the getProperties
12398         DBUS API for both networks and devices to report this informaiton.
12399         Finally, display the information via both nm-applet and nm-tool:
12400         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12401           and set it.
12402         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12403           Information' dialog.
12404         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12405         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12406           network_device_get_speed() and network_device_set_speed() for
12407           retrieving and setting, respectively, a network device's current
12408           speed.
12409         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12410         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12411           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12412           not matter (yet) what the units are, because we only feed it its own
12413           output.  Implement SIOCGIRATE and set the per-network maximum
12414           supported rate during scanning.
12415         * src/nm-device-802-11-wireless.h: Export the function
12416           nm_device_802_11_wireless_get_bitrate().
12417         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12418           function nm_device_802_3_ethernet_get_speed() for returning an
12419           802.3's current speed, in Mb/s.
12420         * test/nm-tool.c: Display the per-device current speed, if available,
12421           and the per-network maximum rate.
12422
12423 2006-03-02  Dan Williams  <dcbw@redhat.com>
12424
12425         * src/nm-device-802-11-wireless.c
12426                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12427                         card when it gets initialized.  Since devices don't get added to
12428                         the scan list until they are initialized, this function wasn't
12429                         setting the intitial scan interval correctly, and was leaving
12430                         it at 0.  This caused cards to get many scan requests in a short
12431                         amount of time when they were initialized
12432
12433 2006-03-02  Robert Love  <rml@novell.com>
12434
12435         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12436           active device.  But do not do what we used to do and override the
12437           state, which caused the dreaded icon race of '05.
12438
12439 2006-03-02  Robert Love  <rml@novell.com>
12440
12441         Commit Dan's update of my previous commit:
12442         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12443           set_mode() function itself does the check.  But do only set the
12444           frequency if in Ad-Hoc mode.
12445
12446 2006-03-02  Robert Love  <rml@novell.com>
12447
12448         Patch by Brian Magnuson <magnuson@rcn.com>:
12449         * src/nm-device-802-11-wireless.c: During scanning, only set the
12450           wireless mode to infrastructure if it is not currently in
12451           infrastructure mode.  For some driver, setting the mode is a costly
12452           operation, apparently.
12453
12454 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12455
12456         * Makefile.am: use the correct dir for autostart mechanism.
12457
12458 2006-02-28  Dan Williams  <dcbw@redhat.com>
12459
12460         Patch from Brian Magnuson <magnuson@rcn.com>
12461         * gnome/applet/applet.c
12462                 - (nma_show_vpn_failure_dialog): fix errors left over from
12463                         libnotify support changes
12464
12465 2006-02-28  Dan Williams  <dcbw@redhat.com>
12466
12467         * src/vpn-manager/nm-vpn-act-request.[ch]
12468                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12469                         just one value
12470                 - (nm_vpn_act_request_is_failed): new function; return whether or
12471                         not the vpn activation request has failed
12472
12473         * src/vpn-manager/nm-vpn-manager.c 
12474                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12475                         daemon to kill the connection when the activation request fails.
12476                         Fixes issue where NM would get confused if the VPN activation
12477                         request timed out, and would not allow further VPN connections
12478                         on that service.
12479
12480 2006-02-28  Dan Williams  <dcbw@redhat.com>
12481
12482         * gnome/applet/applet.c
12483                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12484                         overlapping connection requests, disable all VPN menu items
12485                         but the active VPN connection
12486
12487 2006-02-28  Dan Williams  <dcbw@redhat.com>
12488
12489         * src/vpn-manager/nm-vpn-connection.c
12490                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12491                         called g_object_unref() on the connection's parent device
12492                         when it should have been ref-ed instead.  Fixes crash with
12493                         repeated vpn connect requests
12494
12495 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12496
12497         * gnome/applet/applet.glade:
12498         Mark a few strings non-translatable, since they shouldn't be.
12499
12500 2006-02-28  Dan Williams  <dcbw@redhat.com>
12501
12502         * src/vpn-manager/nm-vpn-service.c
12503                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12504                         already running, don't blindly ask it to connect, but wait until
12505                         it's in the STOPPED state first.  Fixes an assertion when user
12506                         starts a second vpn connection without stopping the first.
12507                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12508                         dbus service exists before continuing with the connection
12509                         process, and reduce latency while waiting for it to become
12510                         available
12511                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12512                         waiting for the vpn service daemon to become available
12513                 - General log message cleanups; show progress via "Stage x of 4"
12514                         rather than not telling anyone how many stages there are
12515
12516 2006-02-28  Robert Love  <rml@novell.com>
12517
12518         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12519         * src/backends/NetworkManagerSuSE.c: Implement the interface
12520           nm_system_should_modify_resolv_conf() for SUSE.
12521         * src/backends/NetworkManagerDebian.c,
12522           src/backends/NetworkManagerGentoo.c,
12523           src/backends/NetworkManagerRedHat.c,
12524           src/backends/NetworkManagerSlackware.c: Add stub.
12525         * src/named-manager/Makefile.am: Grab includes from src.
12526         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12527           automatic updating of resolv.conf.  This is useful for testing,
12528           broken static configurations, and administrator lock-down.
12529
12530 2006-02-28  Dan Williams  <dcbw@redhat.com>
12531
12532         * src/nm-device-802-11-wireless.c
12533                 - Move all the wpa_supplicant-related management stuff into its
12534                         own struct, just for oranization's sake
12535                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12536                         to a GIOChannel/GSource
12537                 - (supplicant_log_stdout): new function; grab output from the
12538                         wpa_supplicant stdout pipe and write it to our logs.
12539
12540 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12541
12542         * src/nm-device-802-11-wireless.c:
12543         Err, fix thinko in my previous commit.
12544
12545 2006-02-28  Robert Love  <rml@novell.com>
12546
12547         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12548
12549 2006-02-28  Robert Love  <rml@novell.com>
12550
12551         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12552           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12553           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12554           deserializers are responsible for freeing the returned DBUS strings.
12555
12556 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12557
12558         * src/nm-device-802-11-wireless.c:
12559         The scan list is being pruned prematurely.  We should prune after
12560         the device has gone MIA for three scans, not one.  Split out the
12561         interval to realtime seconds function to better serve this.
12562
12563 2006-02-27  Robert Love  <rml@novell.com>
12564
12565         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12566           Open the pid file O_TRUNC, so if it already exists we truncate it to
12567           zero length.  Also, be more verbose about warnings generated during
12568           writing out the pid file.  Finally, always write out the pid file if
12569           in daemon mode.  Use "--pid-file" to override the default.
12570
12571 2006-02-27  Robert Love  <rml@novell.com>
12572
12573         Patch by R. Vinay <rvinay@novell.com>:
12574         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12575           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12576           Novell bug #153628).
12577           
12578 2006-02-27  Robert Love  <rml@novell.com>
12579
12580         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12581           entry so user can hit <ENTER> after entering passphrase (Novell bug
12582           #153738).
12583
12584 2006-02-27  Dan Williams  <dcbw@redhat.com>
12585
12586         * gnome/applet/*
12587                 - Mass search/replace of:
12588                         nmwa -> nma
12589                         NMWirelessApplet -> NMApplet
12590                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12591                    (it ain't just for wireless anymore, ma!)
12592                 - Fix duplicate function name printing when using nm_warning
12593                 - wireless-applet.glade -> applet.glade
12594
12595 2006-02-27  Dan Williams  <dcbw@redhat.com>
12596
12597         * dispatcher-daemon/NetworkManagerDispatcher.c
12598                 - Accept --pid-file with a path to a pidfile, write it out on
12599                         startup, and delete it on shutdown
12600
12601         * src/NetworkManager.c
12602                 - Accept --pid-file with a path to a pidfile, write it out on
12603                         startup, and delete it on shutdown
12604                 - Move nm_print_usage() lower
12605
12606         * initscripts/RedHat/NetworkManager.in
12607                 - Use new --pid-file option
12608                 - Fix service stopping to wait a bit for NM to quit
12609
12610         * initscripts/RedHat/NetworkManagerDispatcher.in
12611                 - Use new --pid-file option
12612
12613 2006-02-26  Dan Williams  <dcbw@redhat.com>
12614
12615         * src/Makefile.am
12616                 - make and install nm-crash-logger
12617
12618         * src/nm-logging.[ch]
12619                 - New files; consolidate logging and crash handling
12620
12621         * src/nm-crash-logger.c
12622           src/gdb-cmd
12623                 - Standalong crashlogger for NM, grab a backtrace
12624                         using GDB
12625
12626         * src/NetworkManager.[ch]
12627                 - Remove signal handling and put it into nm-logging.c
12628
12629 2006-02-26  Dan Williams  <dcbw@redhat.com>
12630
12631         * configure.in
12632           gnome/applet/Makefile.am
12633                 - Conditionalize all the notify stuff
12634
12635         Merge most of Chris Aillon's notification patch:
12636         
12637         * gnome/applet/applet-notifications.[ch]
12638                 - New files; show a notification
12639         
12640         * gnome/applet/applet-dbus-devices.[ch]
12641                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12642                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12643                         new functions, do the right thing when a device change occurs
12644
12645         * gnome/applet/applet-dbus.c
12646                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12647                         signals, so we can handle them specially
12648
12649         * gnome/applet/applet.[ch]
12650                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12651                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12652                 - (nmwa_notify_state): remove
12653                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12654                         notification work is now done when the appropriate dbus signals
12655                         are received.
12656                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12657                         defer execution of the notification/dialog stuff.  That was an
12658                         artifact of the previous multi-threaded nature of the applet
12659                         and is now pointless.
12660                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12661                         no longer needed.  Function folded into applet-notifications.c
12662
12663         * src/NetworkManagerPolicy.c
12664                 - (nm_policy_activation_finish): send the AP along with the device
12665                         status change signal, if the connection is wireless.  Should
12666                         fix the race where applet would show a connection to "unknown"
12667
12668 2006-02-25  Robert Love  <rml@novell.com>
12669
12670         Add WPA Enterprise support:
12671         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12672           nm-gconf-wso-wpa-eap.h.
12673         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12674           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12675           serialization and deserialization.
12676         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12677           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12678           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12679         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12680           settings related to WPA Enterprise.
12681         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12682           instantiate WPA Enterprise wireless-security-option.
12683         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12684           Implement WPA Enterprise wireless-security-option object.
12685         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12686           defines.  Cleanup.
12687         * libnm-util/cipher-wpa-psk-hex.c,
12688           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12689         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12690           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12691           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12692           including the cipher to DBUS method, and
12693           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12694           to output.
12695         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12696           nm-ap-security-wpa-eap.h
12697         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12698           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12699         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12700           files.  Implement NMAPSecurityWPA_EAP object.
12701         * src/nm-ap-security-wpa-psk.c: Cleanup.
12702         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12703           an NMAPSecurityWPA_EAP object via the method
12704           nm_ap_security_wpa_eap_new_deserialize().
12705         * src/nm-dbus-nm.c: Cleanup.
12706         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12707           WPA Enterprise support.
12708
12709 2006-02-24  Robert Love  <rml@novell.com>
12710
12711         Patch from Timo Hoenig <thoenig@suse.de>:
12712         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12713
12714 2006-02-24  Robert Love  <rml@novell.com>
12715
12716         Patch from Dan Winship <danw@novell.com>:
12717         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12718           area to transparent.
12719
12720 2006-02-21  Dan Williams  <dcbw@redhat.com>
12721
12722         * gnome/applet/applet.[ch]
12723           gnome/applet/applet-dbus.c
12724                 - Implement notification support for VPN messages too
12725
12726 2006-02-21  Dan Williams  <dcbw@redhat.com>
12727
12728         * gnome/applet/applet-dbus-info.c
12729                 - Clean up warning messages to not double-print the function
12730
12731 2006-02-21  Dan Williams  <dcbw@redhat.com>
12732
12733         * gnome/applet/applet-compat.c
12734                 - (convert_one_entry): accept entries without a key_type and
12735                         convert them to unencrypted networks
12736
12737 2006-02-21  Dan Williams  <dcbw@redhat.com>
12738
12739         * gnome/libnm_glib/libnm_glib.c
12740                 - Use __func__ everywhere we can
12741                 - Code cleanups
12742                 - Use dbus pending calls rather than blocking
12743                 - Reduce busywaits for our thread to start and stop
12744                         (gnome.org #330562)
12745                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12746                         stomp on others using the default shared dbus connection.
12747                         Fixes #rh177546# and gnome.org #326572
12748
12749 2006-02-21  Dan Williams  <dcbw@redhat.com>
12750
12751         Patch from Rodney Dawes <dobey@novell.com>
12752         * configure.in
12753           gnome/applet/Makefile.am
12754           gnome/applet/applet.c
12755                 - Add libnotify support if '--enable-notify=yes' is passed
12756                   at configure time
12757
12758 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12759
12760         * configure.in (ALL_LINGUAS): ko added. (Korean)
12761
12762 2006-02-15  Robert Love  <rml@novell.com>
12763
12764         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12765           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12766           and WPA_SUPPLICANT_CONTROL_SOCKET.
12767         
12768 2006-02-15  Robert Love  <rml@novell.com>
12769
12770         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12771           information about what connection stage we are at, provide the total
12772           number of stages, e.g. "Stage 2 of 5", so users know how far along
12773           they are if they experience problems.
12774
12775 2006-02-15  Robert Love  <rml@novell.com>
12776
12777         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12778           define to $sysconfdir.
12779         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12780           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12781           type of VPN and then editing another results in a mangled dialog
12782           box containing the widgets from both VPNs (fixes Novell #150854).
12783           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12784
12785 2006-02-14  Robert Love  <rml@novell.com>
12786
12787         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12788           syslog's file descriptor.
12789
12790 2006-02-14  Robert Love  <rml@novell.com>
12791
12792         Fix bug around since the change to "deal with APs changing settings on
12793         us," checked in on the fifth of February in the year of the dog, 
12794         wherein connecting to non-broadcast encrypted networks always fails
12795         because nm_ap_get_encrypted() always returns FALSE, even when the user
12796         provided a key, because the newly-created fake AP does not have any
12797         capabilities set, which is a sypmtom of security settings not matching
12798         capabilities (Novell bug #150784):
12799         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12800           nm_ap_add_capabilities_from_security(), which sets the given AP's
12801           capabilities off the given security settings.  Also improve our
12802           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12803           NM_AUTH_CIPHER_AUTO.
12804         * src/nm-device-802-11-wireless.c: Call the function
12805           nm_ap_add_capabilities_from_security() to ensure that capabilities
12806           match newly updated security settings.
12807
12808 2006-02-14  Robert Love  <rml@novell.com>
12809
12810         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12811           error as a string, not an integer, if possible; do not print the
12812           function name twice; always give the interface, if possible; misc.
12813           cleanup.
12814
12815 2006-02-12  Dan Williams  <dcbw@redhat.com>
12816
12817         Patch from Tom Parker <palfrey@tevp.net>
12818         * src/NetworkManagerSystem.h
12819                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12820                         no longer used
12821
12822         * src/backends/NetworkManagerDebian.c
12823                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12824                         unused variables
12825
12826 2006-02-12  Dan Williams  <dcbw@redhat.com>
12827
12828         * vpn-daemons/openvpn/intltool-extract.in
12829           vpn-daemons/openvpn/intltool-merge.in
12830           vpn-daemons/openvpn/intltool-update.in
12831           vpn-daemons/pptp/intltool-extract.in
12832           vpn-daemons/pptp/intltool-merge.in
12833           vpn-daemons/pptp/intltool-update.in
12834                 - Remove from CVS, they should get created by intltoolize,
12835                         shouldn't they?
12836
12837 2006-02-12  Dan Williams  <dcbw@redhat.com>
12838
12839         * vpn-daemons/pptp/src/pppd/patchlevel.h
12840         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12841                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12842                         Makefile-defined VERSION
12843
12844 2006-02-09  Dan Williams  <dcbw@redhat.com>
12845
12846         Patch from: Vinay A R <rvinay@novell.com>
12847         * src/vpn-manager/nm-vpn-act-request.[ch]
12848                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12849                         IPSec VPNs require them for std gateway.
12850                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12851                         and 'user_routes_count'
12852                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12853                         defined routes  from NMVPNActRequest object, returns the string
12854                         array of routes.
12855
12856         * src/vpn-manager/nm-vpn-manager.[ch]
12857                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12858                         for 'user_routes' and 'user_routes_count'
12859         
12860         * src/vpn-manager/nm-dbus-vpn.c
12861                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12862                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12863         
12864         * src/vpn-manager/nm-vpn-service.c
12865                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12866                         the vpn daemon
12867
12868         Modifications by Dan:
12869         * src/vpn-manager/nm-vpn-service.c
12870                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12871                         arrays into dbus
12872
12873         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12874         * vpn-daemons/pptp/src/nm-pptp-service.c
12875         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12876                 - Grab user routes from dbus message
12877                 - Free all string arrays we got from dbus
12878
12879 2006-02-07  Robert Love  <rml@novell.com>
12880
12881         Patch by Stefan Seyfried <seife@suse.de>:
12882         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12883
12884 2006-02-06  Robert Love  <rml@novell.com>
12885
12886         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12887
12888 2006-02-06  Robert Love  <rml@novell.com>
12889
12890         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12891           test ">=" is never false.  If no newline is found, we loop forever.
12892           We can just check for ">" because the following if() will see the
12893           zero-th argument if the while() gets that far.
12894
12895 2006-02-05  Dan Williams  <dcbw@redhat.com>
12896
12897         Refine handling of non-broadcast networks.
12898
12899         * src/NetworkManagerAPList.c
12900                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12901                         property from scanned AP to the AP from the device list
12902
12903         * src/nm-device-802-11-wireless.c
12904                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12905                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12906                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12907                         networks since those don't have APs.
12908                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12909                         AP as non-SSID-broadcasting
12910                 - (process_scan_results): don't handle non-SSID-broadcasting here
12911
12912 2006-02-05  Dan Williams  <dcbw@redhat.com>
12913
12914         * src/nm-device-802-11-wireless.c
12915                 - (get_supplicant_timeout): new function; return
12916                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12917                         14 channels.  These are likely a/b/g cards, like Atheros, and
12918                         slow as hell to scan.
12919                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12920                         get_supplicant_timeout()
12921
12922 2006-02-05  Dan Williams  <dcbw@redhat.com>
12923
12924         * src/dhcp-manager/nm-dhcp-manager.c
12925                 - Loose a commit race with Robert; make sure size check
12926                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12927
12928 2006-02-05  Robert Love  <rml@novell.com>
12929
12930         Patch by Christoph Brill <chrisbrill@gmx.net>:
12931         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12932           with DHCP_SERVICE_NAME.
12933
12934 2006-02-05  Dan Williams  <dcbw@redhat.com>
12935
12936         Remove anything having to do with device_setup_func from the
12937         AP security objects, since it's no longer used.
12938
12939         * src/nm-ap-security.h
12940                 - Kill device_setup_func and nm_ap_security_device_setup()
12941
12942         * src/nm-ap-security-wep.c
12943           src/nm-ap-security-wpa-psk.c
12944                 - (real_device_setup): remove
12945
12946         * src/nm-ap-security.c
12947                 - (real_device_setup): remove
12948                 - (nm_ap_security_device_setup): remove
12949
12950         * src/nm-device-802-11-wireless.[ch]
12951                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12952                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12953                         and done by wpa_supplicant now anyway
12954
12955 2006-02-05  Dan Williams  <dcbw@redhat.com>
12956
12957         * src/nm-device-802-11-wireless.c
12958                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12959                         settings on us.  Previously NM would loop asking for the
12960                         key but getting the same one back.  Now, if the NMI-supplied
12961                         cipher doesn't overlap with the scanned AP capabilities,
12962                         we request a completely new key from the user.
12963
12964 2006-02-05  Dan Williams  <dcbw@redhat.com>
12965
12966         * src/NetworkManagerUtils.c
12967                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12968                         Handle newline killing better
12969
12970 2006-02-05  Dan Williams  <dcbw@redhat.com>
12971
12972         * gnome/applet/nm-gconf-wso.c
12973                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12974                         of unencrypted access point security info.
12975
12976 2006-02-03  Robert Love  <rml@novell.com>
12977
12978         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12979           user's encryption key, so we print the err_msg_cmd not the command,
12980           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12981           sense.
12982
12983 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12984
12985         * initscript/RedHat/NetworkManagerDispatcher.in:
12986         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12987         Patch from Dan Walsh <dwalsh@redhat.com>
12988
12989 2006-02-03  Robert Love  <rml@novell.com>
12990
12991         * dispatcher-daemon/NetworkManagerDispatcher.c,
12992           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12993           but use the sysconfdir.
12994
12995 2006-02-03  Robert Love  <rml@novell.com>
12996
12997         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12998           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12999           'char *'.
13000         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13001           nm_ip4_config_get_hostname() and
13002           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13003         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13004           leak g_strdup() result.
13005
13006 2006-02-03  Robert Love  <rml@novell.com>
13007
13008         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13009           broadcast == TRUE.  Also, copy broadcast and artificial properties
13010           from source network to destination in nm_ap_copy().
13011         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13012           since we now default new networks to non-hidden.
13013
13014 2006-02-03  Dan Williams  <dcbw@redhat.com>
13015
13016         * gnome/applet/main.c
13017                 - (main): change the NEVER->ALWAYS so we start at the
13018                         beginning of the session, if being session-managed
13019
13020 2006-02-03  Dan Williams  <dcbw@redhat.com>
13021
13022         * gnome/applet/main.c
13023                 - (main): in a variation on Robert's patch, change
13024                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13025                         he wants.
13026
13027 2006-02-02  Robert Love  <rml@novell.com>
13028
13029         * src/Makefile.am: If we aren't going to create the run directory at,
13030           uh, run-time, create it during install.  Then users just doing
13031           'make install' are cool, too.  While we are here, create the
13032           dispatcher.d directory, too.
13033         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13034           the exact run directory.
13035         * Makefile.am: Install nm-applet.desktop.
13036
13037 2006-02-02  Robert Love  <rml@novell.com>
13038
13039         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13040           structure, which denotes whether or not the AP is hidden.  This is a
13041           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13042           can show up in the scan list.  Add nm_ap_get_broadcast() and
13043           nm_ap_set_broadcast() accessor interfaces.
13044         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13045           nm_ap_set_broadcast().
13046         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13047           "getProperties" method, which denotes whether or not the given
13048           network is hidden.
13049         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13050           an artificial network.  Set broadcast to TRUE when scanning returns
13051           an ESSID and FALSE when not.
13052         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13053           from "getProperties" method on a network.  Possible TODO is to
13054           somehow display this.
13055         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13056
13057 2006-02-02  Dan Williams  <dcbw@redhat.com>
13058
13059         * src/nm-device-802-11-wireless.c
13060                 - (supplicant_interface_init): don't try to create
13061                         /var/run/NetworkManager, since that should be done by
13062                         the distro package.  Causes problems for stuff like SELinux
13063
13064 2006-02-02  Robert Love  <rml@novell.com>
13065
13066         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13067         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13068           Check for and handle empty string for iface.
13069
13070 2006-02-01  Robert Love  <rml@novell.com>
13071
13072         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13073           manpage.
13074
13075 2006-01-31  Dan Williams  <dcbw@redhat.com>
13076
13077         * nm-applet.desktop
13078                 - Add --sm-disable to Exec arguments, presuming that when
13079                         using autostart, we don't want session management
13080
13081 2006-01-31  Robert Love  <rml@novell.com>
13082
13083         * src/NetworkManagerAP.c: Add two new manufacturer default network
13084           names: linksys-a and linksys-g.  These are found (at least) on the
13085           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13086           own ESSID.
13087
13088 2006-01-31  Robert Love  <rml@novell.com>
13089
13090         * src/NetworkManagerAP.c: Optimize the function
13091           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13092           machine code.  This is the first in a series of code tweaks aiming to
13093           generate better machine code and make NetworkManager all the better.
13094           Just kidding.  Who has time to go through the assembly generated for
13095           every function?  I certainly don't.  I have a wife, a kid, a job,
13096           a mortgage, a mistress.  But this function was so bad, I was called
13097           to arms.  Like the book.
13098
13099 2006-01-31  Robert Love  <rml@novell.com>
13100
13101         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13102           AP is not broadcasting, to scan with probe request frames.  Required
13103           for non-broadcast networks.
13104
13105 2006-01-31  Robert Love  <rml@novell.com>
13106
13107         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13108           preprocessor define (still 20s).  Fix message text in nm_info()
13109           s/too too/took too/.
13110
13111 2006-01-30  Dan Williams  <dcbw@redhat.com>
13112
13113         * src/nm-device-802-11-wireless.c
13114                 - (supplicant_monitor_start): increase connect/auth timeout to
13115                         20 seconds from 10 seconds
13116
13117 2006-01-30  Dan Williams  <dcbw@redhat.com>
13118
13119         * src/Makefile.am
13120                 - Define LOCALSTATEDIR
13121
13122         * src/nm-device-802-11-wireless.c
13123                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13124                         socket where we want it to
13125
13126         * src/wpa_ctrl.[ch]
13127                 - (wpa_ctrl_open): accept location to put local control socket
13128
13129 2006-01-30  Robert Love  <rml@novell.com>
13130
13131         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13132           get_ip4_string() for "domain_name".
13133
13134 2006-01-30  Robert Love  <rml@novell.com>
13135
13136         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13137           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13138           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13139           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13140           support for "Automatic" pairwise and group cipher configuration by
13141           letting wpa_supplicant handle the details.  Add UI elements, new
13142           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13143           charm.  Note this does more than add a nice feature, it fixes a bug.
13144           Apparently, some people have AP's where the pairwise cipher does not
13145           match the group cipher.  Insane, but true.
13146
13147 2006-01-30  Dan Williams  <dcbw@redhat.com>
13148
13149         * gnome/applet/applet-dbus-devices.c
13150                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13151                         functions, grab device driver name from NetworkManager
13152                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13153
13154         * gnome/applet/applet.c
13155                 - (nmwa_update_info): show driver name in Connection Information
13156                         dialog
13157
13158         * gnome/applet/nm-device.[ch]
13159                 - (network_device_get_driver, network_device_set_driver): add
13160                         accessors for driver name
13161
13162         * gnome/applet/wireless-applet.glade
13163                 - Add line for driver name to Connection Information dialog
13164
13165         * src/nm-dbus-device.c
13166                 - (nm_dbus_device_get_driver): new function to return driver name
13167                 - (nm_dbus_device_methods): hook up driver name function to dbus
13168
13169         * test/nm-tool.c
13170                 - (get_driver_name): new function
13171                 - (detail_device): grab and show driver name
13172
13173 2006-01-30  Robert Love  <rml@novell.com>
13174
13175         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13176           does not parse the markup if it is not part of the format.
13177
13178 2006-01-30  Robert Love  <rml@novell.com>
13179
13180         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13181           FALSE, we have no security options for this dialog, so we throw up
13182           an error dialog instead of a broken passphrase dialog.  Fixes
13183           Novell #138404.
13184         * gnome/applet/wireless-security-manager.c,
13185           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13186           does not add any security options, not even NONE, print a warning
13187           and return FALSE.  This let's functions constructing a dialog bail
13188           out if the device's capabilities and the network's requirements have
13189           zero overlap.
13190
13191 2006-01-27  Robert Love  <rml@novell.com>
13192
13193         * configure.in: Require wpa_supplicant.  Detect location of binary and
13194           use it.  Override with "--with-wpa_supplicant=foo".
13195         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13196           path to wpa_supplicant but use the auto-detected or user-provided
13197           value from configure.
13198
13199 2006-01-27  Robert Love  <rml@novell.com>
13200
13201         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13202           but the DHCP server did not return a hostname, try to look up our
13203           name via DNS and set the system hostname to that.
13204
13205 2006-01-27  Dan Williams  <dcbw@redhat.com>
13206
13207         * src/backends/NetworkManagerRedHat.c
13208                 - Add NM_CONTROLLED system network script support for RH/Fedora
13209
13210 2006-01-27  Dan Williams  <dcbw@redhat.com>
13211
13212         * src/backends/NetworkManagerGentoo.c
13213                 - (nm_system_device_get_disabled): add missing function.
13214                         Gnome BZ #328780
13215
13216 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13217
13218         * configure.in: Added vi in ALL_LINGUAS line.
13219         
13220 2006-01-26  Robert Love  <rml@novell.com>
13221
13222         * src/Makefile.am, src/kernel-types.h: Now that two different source
13223           files are feeling the crack-addled leakage of kernel types such as
13224           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13225           types in user-space -- define a header and include it as needed.
13226         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13227         * src/nm-device-802-3-ethernet.h: Remove defines.
13228         * src/wpa.c: Remove defines and include kernel-types.h.
13229
13230 2006-01-26  Robert Love  <rml@novell.com>
13231
13232         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13233           work.
13234
13235 2006-01-26  Robert Love  <rml@novell.com>
13236
13237         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13238         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13239           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13240           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13241           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13242           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13243           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13244           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13245           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13246           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13247           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13248           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13249           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13250           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13251           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13252           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13253           Kill unused variables, labels, and static functions.  Don't pass
13254           string literals as the format string for printf-like functions.
13255
13256 2006-01-25  Dan Williams  <dcbw@redhat.com>
13257
13258         * gnome/applet/wireless-applet.glade
13259                 - Remove WPA2 Checkbox
13260
13261         * gnome/applet/wireless-security-manager.c
13262                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13263                         This means the Wireless Security menu now has two WPA options,
13264                         one for "WPA Personal" and one for "WPA2 Personal"
13265
13266         * gnome/applet/wso-wpa-psk.[ch]
13267                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13268                         'wpa2' argument to determine WPA version to use
13269                 - (append_dbus_params_func): pass stored WPA version to cipher
13270                         rather than using the (removed) checkbox
13271
13272 2006-01-24  Robert Love  <rml@novell.com>
13273
13274         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13275           before we g_strdup(), not the ultimate string.
13276
13277 2006-01-23  Dan Williams  <dcbw@redhat.com>
13278
13279         * src/NetworkManagerAP.[ch]
13280                 - (nm_ap_new_from_ap): copy original essid too
13281                 - (nm_ap_unref): free original essid
13282                 - (nm_ap_get_orig_essid): new function
13283                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13284                         but keep original essid around too
13285
13286         * src/nm-device-802-11-wireless.c
13287                 - (supplicant_send_network_config): send wpa_supplicant the
13288                         _original_ essid, and not as a string, but in hex.  Should
13289                         allow us to connect to more APs that use wierd character
13290                         encodings for their essids
13291
13292         * utils/nm-utils.[ch]
13293                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13294                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13295                         use the current locale as a hint for what encoding the essid
13296                         might be in.  Obviously not 100% accurate, but the idea here is
13297                         that if a user's locale is ex. ja_JP, they are more likely than
13298                         not to be in Japan, where access points will likely be in some
13299                         Japanese encoding.
13300
13301 2006-01-23  Dan Williams  <dcbw@redhat.com>
13302
13303         * libnm-util/cipher-private.h
13304           libnm-util/cipher.c
13305           libnm-util/cipher.h
13306                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13307
13308 2006-01-23  Robert Love  <rml@novell.com>
13309
13310         Patch by Timo Hoenig <thoenig@suse.de>:
13311         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13312           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13313           by DHCP and pass it to the backends, allowing distribution-specific
13314           behavior with respect to the DHCP-supplied hostname (if nothing else,
13315           some distributions might not want to set the hostname).
13316         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13317           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13318           Also update our NIS behavior.
13319         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13320           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13321           Add stub functions.
13322
13323 2006-01-23  Robert Love  <rml@novell.com>
13324
13325         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13326           gnome-session does autostart.  TODO: We need to install this to
13327           $prefix/share/autostart/.
13328
13329 2006-01-22  Dan Williams  <dcbw@redhat.com>
13330
13331         * src/NetworkManagerAP.[ch]
13332           src/nm-dbus-nmi.c
13333           src/nm-device-802-11-wireless.c         
13334                 - Make nm_ap_get_essid return "const char *"
13335
13336 2006-01-22  Dan Williams  <dcbw@redhat.com>
13337
13338         * src/NetworkManagerAP.[ch]
13339                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13340
13341         * src/NetworkManagerAPList.[ch]
13342                 - (nm_ap_list_diff): removed
13343                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13344                         deal with access points changing essids on us
13345
13346         * src/nm-device-802-11-wireless.c
13347                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13348                         src/NetworkManagerAPList.c
13349                 - (real_can_interrupt_activation): new function; allow interruption
13350                         of device activation if we are waiting for a network key
13351
13352         * src/NetworkManagerPolicy.c
13353                 - (nm_policy_device_change_check): allow interruption of currently
13354                         activating devices if the device allows it.  Previous behavior
13355                         would refuse to activate a just-plugged wired device if a
13356                         wireless device was waiting for a key.
13357
13358         * src/nm-device.[ch]
13359                 - (nm_device_can_interrupt_activation): new function; ask devices
13360                         whether their activation can be interrupted
13361
13362 2006-01-20  Robert Love  <rml@novell.com>
13363
13364         * Makefile.am, configure.in: Add new man subdirectory.
13365         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13366           man/Makefile.am: Add man pages for NetworkManager and its
13367           crime-solving bumbling buddy, NetworkManagerDispatcher.
13368         * man/.cvsignore: Add.
13369         * initscript/Debian/NetworkManager,
13370           initscript/Gentoo/NetworkManager.in,
13371           initscript/RedHat/NetworkManager.in,
13372           initscript/RedHat/NetworkManagerDispatcher.in,
13373           initscript/SUSE/networkmanager-dispatcher.in,
13374           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13375
13376 2006-01-20  Robert Love  <rml@novell.com>
13377
13378         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13379           instead of queuing.  This prevents the running of multiple NM
13380           daemons concurrently, which does not work whatsoever and results in
13381           neither daemon working correctly.  Also, we don't handle queuing and
13382           name-owner-changes, anyhow.
13383
13384 2006-01-20  Robert Love  <rml@novell.com>
13385
13386         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13387         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13388           to sbin, not bin.
13389
13390 2006-01-19  Robert Love  <rml@novell.com>
13391
13392         * configure.in: Require hal 0.5.0 or later.
13393
13394 2006-01-18  Robert Love  <rml@novell.com>
13395
13396         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13397           Allow backends to flag a device (in whatever distro-dependent way
13398           they so desire) as disabled.  NM will ignore any such device.
13399         * src/backends/NetworkManagerDebian.c,
13400           src/backends/NetworkManagerRedHat.c,
13401           src/backends/NetworkManagerSlackware.c: Add stub function
13402           nm_system_device_get_disabled() that always returns FALSE (enabled).
13403         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13404           SUSE-specific configuration structure.  Fill it in from the
13405           NM_CONTROLLED variable in the system networking scripts.  If this var
13406           exists and is "no", we ignore the device.
13407
13408 2006-01-17  Robert Love  <rml@novell.com>
13409
13410         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13411           identical for NM.  For a full discussion, see the thread at
13412           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13413
13414 2006-01-17  Dan Williams  <dcbw@redhat.com>
13415
13416         * src/nm-device.c
13417                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13418                         function.  Fixes crash when wired DHCP fails.
13419
13420 2006-01-16  Robert Love  <rml@novell.com>
13421
13422         * src/Makefile.am: Don't install NMLoadModules
13423         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13424           from src/ to test/ as no one uses it anymore.  Note that I would be
13425           fine with removing it altogether.
13426
13427 2006-01-16  Robert Love  <rml@novell.com>
13428
13429         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13430           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13431           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13432           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13433           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13434           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13435           declarations, ever.
13436         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13437           NM_STATE_DISCONNECTED is zero).
13438
13439 2006-01-16  Robert Love  <rml@novell.com>
13440
13441         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13442           uninitialized parameter and buffer overflow.  Novell #143496.
13443
13444 2006-01-16  Dan Williams  <dcbw@redhat.com>
13445
13446         Apply the PtP Address bits of a patch from Tim Niemueller
13447
13448         * src/nm-ip4-config.[ch]
13449                 - Add ip4_ptp_address member to object
13450                 - (nm_ip4_config_copy): copy ptp address too
13451                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13452                         new functions
13453                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13454                         rather than local tunnel ip address
13455
13456         * src/vpn-manager/nm-vpn-service.c
13457                 - (print_vpn_config): update for PtP address
13458                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13459                         DBusMessageIters in preparation for getting routes from the VPN
13460                         service daemons too
13461
13462         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13463                 - (send_config_info): update for PtP address, clean up code
13464                 - (main): update for PtP address, clean up code, fix typo
13465
13466         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13467                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13468
13469         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13470                 - (pptp_ip_up): update for PtP address
13471
13472         * vpn-daemons/pptp/src/nm-pptp-service.c
13473                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13474
13475         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13476                 - (print_vpn_config): update for PtP address
13477                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13478
13479 2006-01-16  Dan Williams  <dcbw@redhat.com>
13480
13481         * gnome/applet/applet.c
13482                 - (nmwa_add_networks_helper): don't indicate an active network
13483                         if NM is disconnected or asleep
13484
13485 2006-01-16  Dan Williams  <dcbw@redhat.com>
13486
13487         * src/NetworkManagerPolicy.c
13488                 - (nm_policy_device_change_check): switch devices if we lose the link
13489                         on an ethernet device. 
13490
13491 2006-01-16  Dan Williams  <dcbw@redhat.com>
13492
13493         * gnome/applet/wso-wpa-psk-hex.[ch]
13494                 - Renamed -> wso-wpa-psk.[ch]
13495
13496         * gnome/applet/wso-wpa-psk.[ch]
13497                 - New files
13498
13499         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13500                 - Removed, rolled into wso-wpa-psk.[ch]
13501
13502         * gnome/applet/Makefile.am
13503                 - Updated for above changes
13504
13505         * gnome/applet/wireless-applet.glade
13506                 - Consolidate WPA-PSK options into one notebook
13507                         widget, and make dialogs invisible by default
13508                         to fix screen oddities
13509
13510         * gnome/applet/wireless-security-manager.c
13511                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13512                         than both the old hex & passphrase ones
13513
13514 2006-01-16  Dan Williams  <dcbw@redhat.com>
13515
13516         * gnome/applet/other-network-dialog.c
13517                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13518
13519 2006-01-16  Dan Williams  <dcbw@redhat.com>
13520
13521         * gnome/applet/applet.c
13522                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13523                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13524                         prevention to realize window before trying to get server
13525                         time
13526
13527         * gnome/applet/other-network-dialog.c
13528                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13529                         prevention to realize window before trying to get server
13530                         time
13531
13532         * gnome/applet/passphrase-dialog.c
13533                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13534                         prevention to realize window before trying to get server
13535                         time
13536
13537 2006-01-16  Robert Love  <rml@novell.com>
13538
13539         Patch from Timo Hoenig  <thoenig@suse.de:
13540         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13541           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13542           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13543           libnm-util/dbus-helpers.h: add checks whether headers are used
13544           within a C++ build.
13545
13546 2006-01-16  Dan Williams  <dcbw@redhat.com>
13547
13548         * gnome/applet/wireless-security-option.c
13549                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13550
13551 2006-01-16  Dan Williams  <dcbw@redhat.com>
13552
13553         * libnm-util/cipher-wpa-psk-passphrase.c
13554                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13555                         be 8 - 63 characters inclusive
13556
13557 2006-01-16  Dan Williams  <dcbw@redhat.com>
13558
13559         * src/nm-dbus-nm.c
13560                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13561
13562 2006-01-13  Robert Love  <rml@novell.com>
13563
13564         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13565         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13566           modules that do not use an interface.
13567
13568 2006-01-13  Dan Williams  <dcbw@redhat.com>
13569
13570         * src/nm-device.c
13571           src/nm-device.h
13572                 - Allow subclasses to implement deactivate_quickly()
13573                 - (nm_device_deactivate_quickly): call subclass
13574                         deactivate_quickly() methods
13575                 - (nm_device_set_active_link): small cleanups, and don't
13576                         deactivate the device right away because we risk a deadlock
13577                         when called from device thread, waiting for the device
13578                         thread to cancel activation
13579
13580         * src/nm-device-802-11-wireless.c
13581                 - (real_deactivate_quickly): new function
13582                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13583                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13584                         so that we kill the supplicant when we sleep too
13585                 - (supplicant_interface_init): work around naive naming attempts of
13586                         wpa_ctrl when naming sockets
13587
13588 2006-01-13  Dan Williams  <dcbw@redhat.com>
13589
13590         * src/nm-device-802-11-wireless.c
13591                 - (supplicant_cleanup): delete old device control sockets too
13592                 - (supplicant_get_device_socket_path): new function to consolidate
13593                         locations that need a path to a device's control socket
13594
13595 2006-01-12  Robert Love  <rml@novell.com>
13596
13597         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13598           description so that the description is unique for each
13599           pair (device,provider).  Fixes Novell #142773.
13600
13601 2006-01-12  Dan Williams  <dcbw@redhat.com>
13602
13603         * src/nm-device-802-11-wireless.c
13604                 - (supplicant_exec): ensure GError is correctly initialized
13605                         Reported by Diego González (gnome.org #326708)
13606
13607 2006-01-11  Robert Love  <rml@novell.com>
13608
13609         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13610           define if_mii(), open code the same results, and do so without any
13611           type punning.
13612
13613 2006-01-11  Robert Love  <rml@novell.com>
13614
13615         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13616           that wso_foo_new() returned non-NULL.  Instead, only append the new
13617           wso to wsm->options if the wso is non-NULL.  The crux is that we
13618           assume that the relevant key types are implied by WEP and WPA as
13619           appropriate.  To be sure, they should be, but we should not expect
13620           drivers to not be oozing piles of wolf fecal matter.
13621
13622 2006-01-11  Robert Love  <rml@novell.com>
13623
13624         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13625         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13626           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13627           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13628           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13629           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13630           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13631         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13632           comparing values within DBL_EPSILON.  Also fix shadowed variable
13633           usage.
13634
13635 2006-01-11  Dan Williams  <dcbw@redhat.com>
13636
13637         Add options for WPA2 and WPA1+CCMP (AES).
13638
13639         * gnome/applet/wireless-applet.glade
13640                 - Add UI bits for WPA+CCMP
13641
13642         * gnome/applet/other-network-dialog.c
13643                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13644                         and don't allow creation of WPA2 Ad-Hoc networks since
13645                         wpa_supplicant doesn't support them
13646
13647         * gnome/applet/wireless-security-manager.c
13648                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13649                         on to the specific wireless security option being created
13650
13651         * gnome/applet/wireless-security-option.[ch]
13652                 - (wso_wpa_create_key_type_model): new utility function to create
13653                         the model required for WPA Key Type combo box
13654
13655         * gnome/applet/wso-private.h
13656           gnome/applet/wireless-security-option.h
13657                 - Move private function prototypes into wso-private.h
13658
13659         * gnome/applet/wso-wpa-psk-hex.[ch]
13660           gnome/applet/wso-wpa-psk-passphrase.[ch]
13661                 - (append_dbus_params_func): get WPA version from checkbox and pass
13662                         it to the dbus serialization helper
13663                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13664                         key type combo changes
13665                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13666                         model and options
13667
13668         * libnm-util/cipher-wpa-psk-hex.c
13669           libnm-util/cipher-wpa-psk-passphrase.c
13670                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13671                         new function; allow the cipher to be changed after object creation
13672
13673         * src/nm-ap-security-wpa-psk.c
13674                 - (set_description): Do WPA2 descriptions too
13675
13676         * src/nm-ap-security.c
13677                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13678
13679 2006-01-11  Robert Love  <rml@novell.com>
13680
13681         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13682           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13683           from the ifreq structure in lieu of an open coded solution.  Removes
13684           a life-threatening type-punning.
13685         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13686           types, ever, whatsoever, baby.
13687
13688 2006-01-11  Robert Love  <rml@novell.com>
13689
13690         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13691           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13692           assignments to applet->nm_state into a new nmwa_set_state() function
13693           for both cleanliness and to help debugging.
13694
13695 2006-01-10  Robert Love  <rml@novell.com>
13696
13697         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13698           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13699           seconds, exclusive.  That is, we want to sleep x seconds such that
13700           1 < x < 2.
13701
13702 2006-01-10  Robert Love  <rml@novell.com>
13703
13704         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13705           the attr fields according to the example in the email available at
13706           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13707           Conversely, we do have to free 'name', so we do so, fixing a leak.
13708
13709 2006-01-10  Robert Love  <rml@novell.com>
13710
13711         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13712           sure that we close the socket!
13713
13714 2006-01-10  Robert Love  <rml@novell.com>
13715
13716         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13717           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13718           src/nm-device.c: Fix a FIXME!  Reimplement the function
13719           nm_device_update_hw_address() in device subclass variants,
13720           nm_device_802_3_ethernet_set_address() and
13721           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13722           This fixes the existing bug where MAC addresses are all zeros.
13723
13724 2006-01-10  Robert Love  <rml@novell.com>
13725
13726         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13727           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13728           option to give users ability to globally disconnect and put NM to
13729           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13730           clean disconnect.
13731
13732 2006-01-09  Robert Love  <rml@novell.com>
13733
13734         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13735           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13736           User-space does not supply these types, so we have to define them
13737           ourselves.  The relevant kernel maintainer refused to accept a patch
13738           switching these headers to the proper C99 types.
13739
13740 2006-01-09  Dan Williams  <dcbw@redhat.com>
13741
13742         Apply Robert's 'tray icon redo' patch with fixes
13743         * gnome/applet/applet.c
13744           gnome/applet/applet.h
13745                 - Instead of using a menu bar + menu item, simulate menu
13746                         behavior using a popup menu.  Highlight the area around
13747                         the icon more like a menu too, by playing with the
13748                         applet's size requisition
13749
13750 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13751         * libnm-util/dbus-helpers.c
13752           libnm-util/dbus-helpers.h
13753                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13754                         to 'exception_namespace' (:namespace is a keyword in
13755                         C++)
13756
13757 2006-01-09  Dan Williams  <dcbw@redhat.com>
13758
13759         * src/NetworkManagerPolicy.c
13760                 - (nm_policy_device_change_check): don't autoswitch away from
13761                         Ad-Hoc networks, since there's really no concept of
13762                         "link"
13763
13764         * src/nm-dbus-nm.c
13765                 - (nm_dbus_nm_create_wireless_network): mark created networks
13766                         as Ad-Hoc networks
13767
13768         * src/nm-device-802-11-wireless.c
13769                 - (real_activation_success_handler): add user-created Ad-Hoc
13770                         networks to the device's scan list
13771
13772 2006-01-08  Dan Williams  <dcbw@redhat.com>
13773
13774         We now require a patch for wpa_supplicant to support Ad-Hoc
13775         networks:
13776           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13777
13778         * src/nm-device-802-11-wireless.c
13779                 - (supplicant_send_network_config): turn off wpa_supplicant's
13780                         scanning.  Fixes Ad-Hoc networks.
13781
13782 2006-01-08  Dan Williams  <dcbw@redhat.com>
13783
13784         * src/nm-ap-security.c
13785           src/nm-ap-security.h
13786                 - Add a user_created argument to the write_supplicant_config
13787                         functions
13788
13789         * src/nm-ap-security-wep.c
13790           src/nm-ap-security-wpa-psk.c
13791           src/nm-device-802-11-wireless.c
13792                 - Make Ad-Hoc mode somewhat work, at least write the
13793                         correct options to wpa_supplicant
13794
13795 2006-01-08  Dan Williams  <dcbw@redhat.com>
13796
13797         * src/nm-device-802-11-wireless.c
13798                 - Remove unused code from the old device activation path
13799
13800 2006-01-08  Dan Williams  <dcbw@redhat.com>
13801
13802         * libnm-util/dbus-helpers.c
13803                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13804                         dbus when key == NULL
13805
13806 2006-01-08  Dan Williams  <dcbw@redhat.com>
13807
13808         * gnome/applet/nm-gconf-wso-wpa-psk.c
13809                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13810                         correct arguments to nmu_security_deserialize_wpa_psk()
13811
13812         * src/nm-ap-security-wpa-psk.c
13813                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13814                         arguments to nmu_security_deserialize_wpa_psk()
13815
13816 2006-01-08  Dan Williams  <dcbw@redhat.com>
13817
13818         * gnome/applet/wso-wpa-psk-hex.c
13819           gnome/applet/wso-wpa-psk-passphrase.c
13820                 - Hook up the append_dbus_params_func() function
13821
13822 2006-01-08  Dan Williams  <dcbw@redhat.com>
13823
13824         * src/nm-device-802-11-wireless.c
13825                 - (get_wireless_capabilities): correctly detect driver WPA
13826                         capabilities
13827
13828 2006-01-08  Dan Williams  <dcbw@redhat.com>
13829
13830         * gnome/applet/Makefile.am
13831           gnome/applet/wso-wpa-psk-hex.c
13832           gnome/applet/wso-wpa-psk-hex.h
13833                 - New files, implement WPA-PSK Hex key input
13834
13835         * gnome/applet/wireless-applet.glade
13836                 - Change existing wpa-psk stuff to wpa-psk-hex
13837                 - Add new widgets for wpa-psk-passphrase
13838
13839         * gnome/applet/wireless-security-manager.c
13840                 - (wsm_set_capabilities): enable WPA options
13841
13842         * gnome/applet/wso-wpa-psk-passphrase.c
13843                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13844                         for WPA-PSK passphrase
13845
13846 2006-01-08  Dan Williams  <dcbw@redhat.com>
13847
13848         * include/NetworkManager.h
13849                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13850                         applet/info-daemons
13851
13852         * gnome/applet/passphrase-dialog.c
13853                 - Use the constant.  Fixes a bug where the arguments to
13854                         dbus_message_new_error() were incorrect
13855
13856         * src/nm-dbus-nmi.c
13857                 - Use the constant
13858
13859 2006-01-07  Dan Williams  <dcbw@redhat.com>
13860
13861         * src/nm-device-802-11-wireless.c
13862                 - Add a link timeout so we allow the supplicant time to
13863                         reassociate if it can, before we deactivate the card
13864                 - Fix up link status and link updating so things work better
13865
13866 2006-01-07  Dan Williams  <dcbw@redhat.com>
13867
13868         * src/nm-device-802-11-wireless.c
13869                 - Switch over to using wpa_supplicant
13870                 - Add a timeout of 10s for association of the supplicant
13871                 - Start the monitor callback of the supplicant
13872
13873 2006-01-07  Dan Williams  <dcbw@redhat.com>
13874
13875         * src/NetworkManagerUtils.c
13876                 - (nm_utils_supplicant_request,
13877                   nm_utils_supplicant_request_with_check):
13878                         pass correct buffer length to wpa_ctrl_request()
13879
13880 2006-01-07  Dan Williams  <dcbw@redhat.com>
13881
13882         * src/nm-device-private.h
13883           src/nm-device.c
13884                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13885                         this function available to subclasses
13886
13887 2006-01-06  Robert Love  <rml@novell.com>
13888
13889         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13890           user plugging in a network cable signals their preference for to
13891           switch, unless the user explicitly selected a wireless network and
13892           therefore signaled their preference for said wireless network over
13893           wired.  In other words, do exactly what makes sense.
13894
13895 2006-01-06  Robert Love  <rml@novell.com>
13896
13897         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13898           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13899           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13900           showing up in my greps.
13901
13902 2006-01-06  Robert Love  <rml@novell.com>
13903
13904         * gnome/applet/applet-dbus-devices.c,
13905           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13906           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13907           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13908           New Network' both failed in the non-encrypted case because we were
13909           not appending the security options to the DBUS message.  And
13910           'Connect to Other' was also failing in the encrypted case because
13911           we were not incrementing to the next DBUS parameter.  All fixed.
13912           Thanks to dcdw for some debugging help.
13913
13914 2006-01-06  Robert Love  <rml@novell.com>
13915
13916         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13917           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13918           hangup code and add per-device hangup.  Tie last commit into the
13919           GNOME applet.  TODO:  Save, understand, and respond to the state of
13920           each dialup device.
13921
13922 2006-01-06  Robert Love  <rml@novell.com>
13923
13924         Patch by Timo Hoenig <thoenig@suse.de>:
13925         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13926           hangup specific dialup devices.
13927         * src/backends/NetworkManagerDebian.c,
13928           src/backends/NetworkManagerGentoo.c,
13929           src/backends/NetworkManagerRedHat.c,
13930           src/backends/NetworkManagerSlackware.c: Add stub backend.
13931         * src/backends/NetworkManagerRedHat.c,
13932           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13933           hangup specific dialup devices.
13934
13935 2006-01-04  Robert Love  <rml@novell.com>
13936
13937         * gnome/applet/applet-dbus-devices.c,
13938           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13939           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13940           connections.
13941
13942 2006-01-04  Dan Williams  <dcbw@redhat.com>
13943
13944         First dump of wpa_supplicant-related code.  It's not hooked up to
13945         anything yet though.  Thanks to Kay Sievers for
13946         wpa_supplicant_wrapper.c, which formed the basis for this work,
13947         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13948
13949         * src/Makefile.am
13950           src/wpa_ctrl.[ch]
13951                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13952
13953         * src/NetworkManagerUtils.[ch]
13954                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13955                         Add convenience functions for talking to wpa_supplicant
13956
13957         * src/nm-ap-security.[ch]
13958           src/nm-ap-security-wep.c
13959           src/nm-ap-security-wpa-psk.[ch]
13960                 - Update and implement real_write_supplicant_config functions
13961                         in all security types
13962                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13963                         nm-ap-security-wpa-psk.c
13964
13965         * src/nm-device-802-11-wireless.c
13966                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13967                    wpa_supplicant_start, wpa_supplicant_interface_init,
13968                    wpa_supplicant_send_network_config): add functions to talk to
13969                         wpa_supplicant and write network config to it
13970
13971 2006-01-04  Robert Love  <rml@novell.com>
13972
13973         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13974           values so that distribution-backends can differentiate between the
13975           various types (modem, ISDN, et cetera) of dialup device that they
13976           support.
13977         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13978           needed.
13979
13980 2006-01-03  Dan Williams  <dcbw@redhat.com>
13981
13982         * src/NetworkManagerPolicy.c
13983           src/nm-device.[ch]
13984           src/nm-device-802-11-wireless.c
13985                 - Move wireless-specific activation failure and success code
13986                         into wireless device class
13987
13988 2006-01-03  Robert Love  <rml@novell.com>
13989
13990         Patch by Preggna S:
13991         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13992           IPsec does not require that a VPN client be bound to an interface,
13993           due to the use of the in-kernel IPSec bits.  So make the tunnel
13994           device optional.
13995
13996 2006-01-03  Dan Williams  <dcbw@redhat.com>
13997
13998         * src/NetworkManagerAP.c
13999                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14000                         the WPA IE specifies that WEP is supported
14001
14002         * src/nm-device-802-11-wireless.c
14003                 - (process_scan_results): don't mark an AP as supporting WEP
14004                         if there's already other encryption capability info
14005
14006 2006-01-03  Dan Williams  <dcbw@redhat.com>
14007
14008         * src/dhcp-manager/nm-dhcp-manager.c
14009                 - Recognize activation cancellation when waiting for DHCP
14010                         configuration from dhcdbd
14011                 - Ignore non-dhcdbd messages
14012
14013         * src/nm-device.c
14014                 - (real_act_stage3_ip_config_start): return to correct behavior
14015                         of letting the dhcp-manager notify us of failure or
14016                         success rather than incorrectly doing that ourselves
14017                 - (nm_device_activate_stage4_ip_config_get): deal with
14018                         activation cancellation a bit earlier
14019
14020 2006-01-03  Dan Williams  <dcbw@redhat.com>
14021
14022         * src/nm-device-802-11-wireless.c
14023           src/nm-device.[ch]
14024                 - Add hooks to subclasses for stage3_ip_config_start and
14025                         stage4_ip_config_timeout
14026
14027         * src/nm-device-802-3-ethernet.c
14028                 - (real_get_generic_capabilities): make devices NM-supported
14029                         by default
14030
14031 2006-01-03  Robert Love  <rml@novell.com>
14032
14033         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14034           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14035           latter cannot differentiate between error and the address -1; misc.
14036           clean up.
14037
14038 2006-01-03  Dan Williams  <dcbw@redhat.com>
14039
14040         * src/NetworkManager.c
14041                 - Move link-checking/probing into the device subclasses
14042                         themselves
14043
14044         * src/nm-device.[ch]
14045           src/nm-device-802-11-wireless.c
14046           src/nm-device-802-3-ethernet.c
14047                 - Do periodic link checking in device subclasses rather
14048                         than being triggered from NetworkManager.c
14049                 - discover_wireless_capabilities -> get_wireless_capabilities
14050                 - discover_generic_capabilities -> get_generic_capabilities
14051                 - Device subclass activation routines now return a value of type
14052                         NMActStageReturn to indicate what step to perform next
14053                 - Devices now override stage4_get_ip4_config if they choose
14054
14055 2006-01-01  Dan Williams  <dcbw@redhat.com>
14056
14057         * src/nm-device-802-11-wireless.c
14058                 - (real_init): don't chain up to parent init because we don't
14059                         need to do that anymore
14060
14061         * src/nm-device.c
14062                 - (discover_device_type): fix arguments to ioctl() to correctly
14063                         pass interface name
14064                 - (nm_device_new): consolidate generic device initialization into
14065                         nm_device_new()
14066                 - (real_init): remove, consolidated to nm_device_new()
14067                 - (nm_device_deactivate, real_deactivate): consolidate
14068
14069 2006-01-01  Dan Williams  <dcbw@redhat.com>
14070
14071         * src/nm-activation-request.c
14072                 - Change dhcp_state member of the NMActRequest structure
14073                         from guint8 to guint32
14074
14075         * src/dhcp-manager/nm-dhcp-manager.[ch]
14076                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14077                         than guint8 to match the dbus argument.  Turns out we were
14078                         overwriting memory since we were passing in only a guint8
14079
14080 2005-12-31  Dan Williams  <dcbw@redhat.com>
14081
14082         * refactor NMDevice into a GObject-based framework with separate
14083                 objects for wired and wireless.  The following files are no
14084                 longer used but should stick around for a bit so we don't
14085                 loose code through the cracks:
14086                         NetworkManagerDevice.c
14087                         NetworkManagerDevice.h
14088                         NetworkManagerWireless.c
14089                         NetworkManagerWireless.h
14090
14091         The intent here is to allow each device type to manage its own
14092         connection & activation life-cycle, ie to allow wireless devices
14093         to interface with wpa_supplicant, etc.  There's a fair bit of
14094         encapsulation breakage right now that should gradually get pulled
14095         back into each device, along with things like periodic property
14096         updates and link probing.
14097
14098 2005-12-29  Dan Williams  <dcbw@redhat.com>
14099
14100         * include/NetworkManager.h
14101                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14102                         between networks that don't have any encryption at all
14103
14104 2005-12-29  Dan Williams  <dcbw@redhat.com>
14105
14106         * test/test-common.c
14107           test/test-common.h
14108           test/Makefile.am
14109                 - Move to a test-common subdirectory
14110
14111         * test/libnm-util/test-ciphers.c
14112                 - Move test data to test-inputs.h
14113                 - Test WPA ciphers too
14114
14115         * test/libnm-util/test-dbus-helpers.c
14116                 - Test serialization/deserialization of ciphers
14117
14118 2005-12-29  Dan Williams  <dcbw@redhat.com>
14119
14120         * gnome/applet/applet-dbus-devices.c
14121                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14122                         in dbus calls to NM
14123                 - Set capabilities on WirelessNetwork objects
14124                 - Receive and save type-specific device capabilities too
14125
14126         * gnome/applet/applet-dbus-info.c
14127           gnome/applet/applet-dbus.c
14128                 - Passphrase dialog no longer a singleton; new instance gets created
14129                         on each request.  Updates to deal with that.
14130
14131         * gnome/applet/applet.c
14132                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14133                         than single 'encrypted' flag
14134                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14135                         menu items
14136                 - Passphrase dialog updates per above
14137
14138         * gnome/applet/menu-items.c
14139                 - (network_menu_item_update): use AP capabilities to determine
14140                         encryption
14141
14142         * gnome/applet/nm-device.[ch]
14143                 - Add accessors for type-specific device capabilities
14144
14145         * gnome/applet/other-network-dialog.c
14146                 - Rework to respect device capabilities.  i.e., if the device doesn't
14147                         support WPA, remove that option from the security dropdown
14148
14149         * gnome/applet/passphrase-dialog.c
14150                 - Massive rework so that a new instance is created each time
14151                         it's used, to support wireless network capabilities
14152
14153         * gnome/applet/wireless-network.[ch]
14154                 - Add accessors and members for wireless network capabilities
14155
14156         * gnome/applet/wireless-security-manager.[ch]
14157                 - (wsm_set_capabilities): called after creation to set which
14158                         security options get shown to the user
14159
14160 2005-12-29  Dan Williams  <dcbw@redhat.com>
14161
14162         * libnm-util/cipher-wpa-psk-passphrase.c
14163                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14164                         like other ciphers
14165
14166 2005-12-23  Dan Williams  <dcbw@redhat.com>
14167
14168         * gnome/applet/applet-dbus-info.c
14169                 - (nmi_dbus_get_key_for_network): if there's no entry in
14170                         GConf for a network, assume we want a new key
14171                 - (nmi_save_network_info): serialize wireless security info
14172                         into GConf so its saved
14173
14174         * src/nm-dbus-nm.c
14175                 - Fix warning as we may not be passed security info when
14176                         connecting to a wireless network
14177
14178 2005-12-23  Dan Williams  <dcbw@redhat.com>
14179
14180         * gnome/applet/applet-compat.c
14181                 - Fix bugs in GConf entry conversion
14182
14183         * gnome/applet/applet-dbus-info.c
14184                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14185                         list being zero-length
14186
14187         * libnm-util/cipher-*
14188           libnm-util/dbus-helpers.c
14189                 - All ciphers must now return hashed keys as UTF-8 valid
14190                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14191                         through dbus as strings too.
14192                 - Consolidate various functions that do bin->hex and hex->bin
14193                         conversion into cipher.c
14194
14195         * src/nm-ap-security-wep.c
14196           src/nm-ap-security-wpa-psk.c
14197                 - Handle NULL keys since we may not know keys right away
14198
14199         * src/nm-dbus-nmi.c
14200                 - (nm_dbus_get_network_data_cb): actually advance to the start
14201                         of the wireless security info before we try to deserialize it
14202
14203         * libnm-util/test-ciphers.c
14204                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14205
14206 2005-12-22  Dan Williams  <dcbw@redhat.com>
14207
14208         * gnome/applet/applet-compat.[ch]
14209                 - Convert old-format GConf and keyring entries
14210                         when the applet starts up.
14211
14212         * gnome/applet/applet.c
14213                 - (nmwa_get_instance): Call the conversion function
14214                         on startup before dbus is initialized
14215
14216 2005-12-22  Dan Williams  <dcbw@redhat.com>
14217
14218         * gnome/applet/applet-dbus-info.c
14219                 - Remove nmi_dbus_create_error_message() in favor of
14220                         nmu_create_dbus_error_message()
14221                 - (nmi_dbus_get_network_properties): Error message cleanups
14222                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14223                         gconf key rather than 'addresses', since they really are BSSIDs
14224                 - (nmi_dbus_get_network_properties): Dispose of the security
14225                         object when we're done with it
14226
14227 2005-12-21  Dan Williams  <dcbw@redhat.com>
14228
14229         * Consolidate the info-daemon's "updateNetworkInfo" and
14230                 "addNetworkAddress" calls into just "updateNetworkInfo"
14231
14232 2005-12-21  Dan Williams  <dcbw@redhat.com>
14233
14234         * Make connection after key retrieval work again
14235
14236 2005-12-21  Dan Williams  <dcbw@redhat.com>
14237
14238         * gnome/applet/nm-gconf-wso*
14239                 - Make the serialize functions return gboolean
14240                         rather than int
14241
14242         * gnome/applet/nm-gconf-wso.c
14243                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14244                         parent class handling so we don't segfault
14245
14246         * src/NetworkManagerAP.[ch]
14247                 - (nm_ap_get_capabilities): new function, return capabilities
14248                         now that something can use them
14249                 - (nm_ap_set_encrypted): assume that an access point supports
14250                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14251                         we even tell whether it just supports WEP40?
14252
14253         * src/NetworkManagerDevice.c
14254                 - (ap_need_key): resurrect and update for the New World Order
14255                 - (nm_device_wireless_get_activation_ap): if we're not given
14256                         security info to use, create some based on access point
14257                         capabilities
14258
14259         * src/nm-ap-security-wep.c
14260                 - (nm_ap_security_wep_new_from_ap): create a new object
14261                         based on a certain access point's capabilities
14262
14263         * src/nm-ap-security.c
14264                 - (nm_ap_security_new_from_ap): delegate creation of a new
14265                         object based on access point capabilities to a subclass
14266                 - (nm_ap_security_copy_properties): don't segfault if we
14267                         don't have a key yet
14268
14269         * src/nm-dbus-nm.c
14270                 - (nm_dbus_nm_set_active_device): provide more informative
14271                         output when errors occur.  Also construct security info
14272                         for a given access point if we weren't given any
14273
14274 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14275
14276         * configure.in: Added Lithuanian to ALL_LINGUAS.
14277
14278 2005-12-21  Dan Williams  <dcbw@redhat.com>
14279
14280         * test/libnm-util
14281                 - Add some testcases for WEP ciphers
14282
14283 2005-12-17  Dan Williams  <dcbw@redhat.com>
14284
14285         * Fix bugs
14286
14287 2005-12-17  Dan Williams  <dcbw@redhat.com>
14288
14289         * include/NetworkManager.h
14290                 - Finally kill NMEncKeyType
14291
14292         * gnome/applet/applet-dbus-info.c
14293                 - (nmi_save_network_info): convert to NMGConfWSO
14294
14295         * gnome/applet/nm-gconf-wso-*.c
14296                 - Implement gconf serialization functions
14297
14298         * src/NetworkManagerPolicy.c
14299                 - (nm_policy_activation_finish): fix up meaning of
14300                         automatic/user_requested
14301
14302 2005-12-17  Dan Williams  <dcbw@redhat.com>
14303
14304         * gnome/applet/*
14305                 - More applet cleanups
14306                 - Use the dbus-method-dispatcher
14307
14308         * libnm-util/dbus-method-dispatcher.[ch]
14309                 - Generalize the implementation from NM in
14310                         NetworkManagerUtils.c
14311
14312 2005-12-16  Dan Williams  <dcbw@redhat.com>
14313
14314         * gnome/applet/*
14315                 - Fix up the passphrase dialog to use all the
14316                         WirelessSecurityOption stuff (untested)
14317
14318 2005-12-16  Dan Williams  <dcbw@redhat.com>
14319
14320         * Move nm_gconf_get_*_helper() functions to separate files,
14321                 gconf-helpers.c & gconf-helpers.h
14322
14323         * New NMGConfWSO objects for managing the gconf side of things.
14324                 Eventually these should be merged with the
14325                 WirelessSecurityOption objects and a common base (that can
14326                 serialize/deserialize from dbus & gconf) should be
14327                 refactored out, but for now they are separate.
14328
14329 2005-12-16  Robert Love  <rml@novell.com>
14330
14331         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14332           binaries unless they exist (nm_spawn_process() emits a warning if
14333           asked to spawn a non-existant process).
14334
14335 2005-12-16  Dan Williams  <dcbw@redhat.com>
14336
14337         * gnome/applet/applet-dbus-info.c
14338                 - Clean up lots of gconf-related code
14339
14340 2005-12-16  Robert Love  <rml@novell.com>
14341
14342         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14343
14344 2005-12-16  Dan Williams  <dcbw@redhat.com>
14345
14346         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14347
14348         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14349                 bits still to be done)
14350
14351 2005-12-16  Dan Williams  <dcbw@redhat.com>
14352
14353         * Finally move info-daemon related stuff out of
14354                 NetworkManagerDbus.c to nm-dbus-nmi.c
14355
14356 2005-12-16  Dan Williams  <dcbw@redhat.com>
14357
14358         * Kill auth_method for access points, since that's now done
14359                 by NMAPSecurity objects
14360
14361         * Add a copy-constructor of sorts to NMAPSecurity
14362                 (how do you do this properly in glib???)
14363
14364 2005-12-15  Dan Williams  <dcbw@redhat.com>
14365
14366         * Exorcise encryption key hashing on APs
14367         * Use libnm-util's serialization/deserialization in both the
14368                 applet and NM
14369         * Random other stuff
14370
14371 2005-12-15  Robert Love  <rml@novell.com>
14372
14373         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14374           is being added to the icon naming spec, so let's use that (Tango CVS
14375           has the icon).  Because it is new, however, we fall back to the
14376           current "gnome-lockscreen" if the new icon is not around, thus
14377           behavior is the same.
14378         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14379           factory junk.
14380
14381 2005-12-15  Robert Love  <rml@novell.com>
14382
14383         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14384           well, help to give.  Couple other misc. bits.
14385
14386 2005-12-15  Dan Williams  <dcbw@redhat.com>
14387
14388         * libnm-util/dbus-helpers.[ch]
14389                 - Make this the one-stop-shop for serializing/deserializing
14390                         AP & connection security settings over dbus.  Both NM
14391                         and applets should use this to ensure consistent dbus
14392                         API going forwared.
14393
14394 2005-12-15  Robert Love  <rml@novell.com>
14395
14396         Patch by Timo Hoenig  <thoenig@suse.de>:
14397         * src/NetworkManagerDbus.c
14398                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14399                         if HAL jumps off the system bus.  Otherwise libdbus
14400                         (dbus_connection_dispatch) will try to run the filter
14401                         function of our libhal context which is already freed.
14402
14403 2005-12-15  Alexander Shopov  <ash@contact.bg>
14404
14405         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14406
14407 2005-12-14  Dan Williams  <dcbw@redhat.com>
14408
14409         * include/NetworkManager.h
14410           src/NetworkManagerWireless.c
14411                 - Rearrange 802.11 wireless-specific capabilities again
14412
14413         * src/Makefile.am
14414                 - Forgot to add wpa.c/wpa.h to the makefiles
14415
14416         * src/NetworkManagerAP.[ch]
14417                 - Implement access point capabilities and parse the
14418                         WPA/RSN IEs into the capability bitfield
14419                 - Switch the "encrypted" attribute to utilize the bitfield
14420                         and capabilities rather than being independent
14421
14422         * src/NetworkManagerDevice.c
14423                 - (nm_device_wireless_get_activation_ap): break it horribly
14424                         until we can push NMAPSecurity objects into access point
14425                         objects and through the activation chain
14426                 - Stuff WPA & RSN IEs into AP capabilities
14427
14428         * src/nm-dbus-nm.c
14429                 - Take a shot at actually making setActiveDevice work
14430
14431         * src/wpa.[ch]
14432                 - Make the API a bit saner
14433
14434 2005-12-14  Dan Williams  <dcbw@redhat.com>
14435
14436         * include/NetworkManager.h
14437                 - Add 802.11-specific capability for 802.1x key
14438                         management
14439
14440         * src/wpa.[ch]
14441                 - Pull in WPA IE and RSN IE parsing code from
14442                         wpa_supplicant so we can determine access point
14443                         capabilities
14444                 - Move WPA-related constants here from NetworkManagerAP.h
14445                         and NetworkManagerDevice.c
14446
14447         * src/NetworkManagerDevice.c
14448           src/NetworkManagerAP.[ch]
14449                 - Use WPA-related constants from wpa.h
14450
14451 2005-12-14  Dan Williams  <dcbw@redhat.com>
14452
14453         * include/NetworkManager.h
14454                 - Update and split 802.11 wireless-specific capabilities from
14455                         generic device capabilities
14456
14457         * src/NetworkManagerDevice.c
14458           src/NetworkManagerDevicePrivate.h
14459                 - (nm_device_wireless_discover_capabilities): Move 802.11
14460                         wireless-specific capability checks to
14461                         NetworkManagerWireless.c
14462                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14463                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14464
14465         * src/NetworkManagerWireless.[ch]
14466                 - (nm_802_11_wireless_discover_capabilities): Check extended
14467                         802.11 wireless-specific capabilities of the driver
14468
14469 2005-12-14  Robert Love  <rml@novell.com>
14470
14471         Patch from Stefan Scheler <sscheler@suse.de>:
14472         * src/NetworkManagerDevice.c: call backend code to activate and
14473           deactivate NIS.
14474         * src/NetworkManagerSystem.h: add new NIS interfaces.
14475         * src/backends/NetworkManagerDebian.c,
14476           src/backends/NetworkManagerGentoo.c,
14477           src/backends/NetworkManagerRedHat.c,
14478           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14479           support.
14480         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14481
14482 2005-12-14  Dan Williams  <dcbw@redhat.com>
14483
14484         * src/nm-ap-security*.[ch]
14485                 - Add AP security abstractions to NetworkManager
14486
14487         * src/nm-dbus-device.c
14488                 - Begin to parse new format dbus messages from the applet
14489                         and construct an AP security object from the message
14490
14491         * libnm-util/dbus-helpers.c
14492                 - Use message iters so we can append the key as a fixed
14493                         array of bytes, which actually works rather than
14494                         using dbus_message_append_args() as we were before
14495
14496 2005-12-14  Dan Williams  <dcbw@redhat.com>
14497
14498         * src/NetworkManagerDbus.c
14499           gnome/applet/applet-dbus.c
14500                 - Fix up dbus service replacement options.  The applet
14501                         should allow replacement, NM itself should not.
14502
14503 2005-12-13  Robert Love  <rml@novell.com>
14504
14505         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14506           Instead, fail silently if config is NULL by not asserting and not
14507           returning FALSE.  Also, make sure we always fclose() the file.
14508
14509 2005-12-13  Robert Love  <rml@novell.com>
14510
14511         Patch by Stefan Scheler <sscheler@suse.de>:
14512         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14513            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14514            via DHCP.  Still need the backends to commit the NIS domain name and
14515            and servers to yp.conf as needed.
14516
14517 2005-12-13  Robert Love  <rml@novell.com>
14518
14519         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14520           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14521
14522 2005-12-13  Robert Love  <rml@novell.com>
14523
14524         * src/named-manager/nm-named-manager.c: Don't unref the config until
14525           after we call rewrite_resolv_conf(), because get_last_default_domain()
14526           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14527           `config != NULL' failed" assertion failures and "Could not commit DNS
14528           changes" warnings.
14529
14530 2005-12-12  Dan Williams  <dcbw@redhat.com>
14531
14532         * libnm-util/dbus-helpers.[ch]
14533           libnm-util/Makefile.am
14534                 - new helper calls to consolidate locations where
14535                         NM's setDevice method is called
14536
14537         * gnome/applet/applet-dbus-devices.c
14538           gnome/applet/wireless-security-option.c
14539           gnome/applet/wso-*
14540                 - Implement dbus message param append function for
14541                         all wireless security options
14542
14543 2005-12-12  Robert Love  <rml@novell.com>
14544
14545         * libnm-util/cipher-wep-passphrase.c,
14546           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14547           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14548           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14549           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14550           When handling keys, we don't care what the sign is.  The compiler
14551           guarantees us that we get our 8-bits, which is all we care about.
14552         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14553
14554 2005-12-12  Dan Williams  <dcbw@redhat.com>
14555
14556         * gnome/applet/applet-dbus-devices.[ch]
14557           gnome/applet/applet.c
14558           gnome/applet/other-network-dialog.c
14559           gnome/applet/wireless-security-manager.[ch]
14560           gnome/applet/wireless-security-option.[ch]
14561           gnome/applet/wso-*
14562                 - Push the wireless security options further into the applet
14563
14564 2005-12-12  Robert Love  <rml@novell.com>
14565
14566         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14567           return any name servers.  That is perfectly valid.  (Novell #134369).
14568
14569 2005-12-11  Dan Williams  <dcbw@redhat.com>
14570
14571         * gnome/applet/wso-*
14572           gnome/applet/wireless-security-option.*
14573           gnome/applet/Makefile.am
14574                 - split each security option out so we can eventually
14575                         have each one build up their own dbus message
14576                         arguments to send to NM
14577
14578 2005-12-11  Dan Williams  <dcbw@redhat.com>
14579
14580         * Make validation of the key work correctly
14581
14582 2005-12-11  Dan Williams  <dcbw@redhat.com>
14583
14584         * Hook more bits of the Other Network Dialog up to the
14585                 wireless security manager stuff, and restructure
14586                 bits of the dialog so there's less code.
14587
14588 2005-12-10  Dan Williams  <dcbw@redhat.com>
14589
14590         * gnome/applet/Makefile.am
14591                 - Add libnm-util to includes
14592                 - Add libnm-util to link list
14593                 - Add wireless-security-common.* to compile list
14594
14595         * gnome/applet/other-network-dialog.c
14596                 - Convert to using the WirelessSecurityManager code and
14597                         widgets
14598
14599         * gnome/applet/passphrase-dialog.c
14600                 - Comment out references to stuff in the glade file that
14601                         cause runtime errors until it can be fixed up
14602                         to use the WirelessSecurityManager code
14603
14604         * gnome/applet/wireless-applet.glade
14605                 - Rename some widgets
14606                 - Add widgets for the WirelessSecurityManager code
14607                 - Remove passphrase-related stuff since that's now
14608                         handled by the WirelessSecurityManager code
14609
14610 2005-12-10  Dan Williams  <dcbw@redhat.com>
14611
14612         * gnome/applet/applet-dbus-devices.c
14613                 - Print out error message details for dbus pending call callbacks
14614                 - Move nmwa_dbus_update_devices() up
14615
14616         * gnome/applet/applet-dbus-vpn.c
14617                 - Print out error message details for dbus pending call callbacks
14618
14619 2005-12-10  Dan Williams  <dcbw@redhat.com>
14620
14621         * libnm-util/*
14622                 - More fixups
14623                 - Remove cipher-manager.* because we don't need it
14624                 - Forgot to add gnome-keyring-md5 files to compile list
14625
14626 2005-12-09  Dan Williams  <dcbw@redhat.com>
14627
14628         * libnm-util/*
14629           configure.in
14630           Makefile.am
14631                 - Add a utility library for clients of NetworkManager.  It's
14632                         only targetted at applets for the moment, and contains
14633                         a generalized 802.11 cipher framework for different
14634                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14635
14636 2005-12-09  Robert Love  <rml@novell.com>
14637
14638         * src/NetworkManagerDevice.c: handle error better in
14639           nm_device_set_mode().
14640
14641 2005-12-08  Robert Love  <rml@novell.com>
14642
14643         * include/NetworkManager.h: add WPA capabilities constants
14644         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14645           or WPA2 and add the capabilities bits as appropriate.
14646
14647 2005-12-08  Robert Love  <rml@novell.com>
14648
14649         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14650           NetworkManagerDispatcher.
14651         * configure.in, initscript/SUSE/.cvsignore,
14652           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14653           initscript.
14654
14655 2005-12-08  Robert Love  <rml@novell.com>
14656
14657         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14658
14659 2005-12-08  Robert Love  <rml@novell.com>
14660
14661         * src/NetworkManagerDevice.c: We want to fall back on and default to
14662           IW_MODE_AUTO, not -1, which is more in line with our previous
14663           behavior.  Otherwise, we try to set the wireless mode to -1 in
14664           nm_device_set_mode().
14665
14666 2005-12-07  Robert Love  <rml@novell.com>
14667
14668         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14669           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14670           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14671           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14672           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14673           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14674           zero.
14675
14676 2005-12-07  Robert Love  <rml@novell.com>
14677
14678         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14679           supplied IP is invalid, fall back to DHCP.
14680
14681 2005-12-07  Dan Williams  <dcbw@redhat.com>
14682
14683         * Convert NETWORK_MODE_* constants to IW_MODE_*
14684         * Make all the get_mode/set_mode functions take and return 'int'
14685         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14686
14687 2005-12-07  Robert Love  <rml@novell.com>
14688
14689         * src/NetworkManagerDevice.c: strncpy() buffer check.
14690         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14691
14692 2005-12-06  Dan Williams  <dcbw@redhat.com>
14693
14694         * gnome/applet/applet-dbus.c
14695                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14696
14697         * gnome/applet/applet-dbus-vpn.c
14698                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14699                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14700                         to TRUE here if stage was ACTIVATED
14701
14702 2005-12-06  Dan Williams  <dcbw@redhat.com>
14703
14704         * Change nm_device_is_* functions to better names:
14705                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14706                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14707
14708 2005-12-06  Dan Williams  <dcbw@redhat.com>
14709
14710         * Change naming of NMDeviceType to something more sensible:
14711                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14712                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14713                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14714
14715 2005-12-06  Dan Williams  <dcbw@redhat.com>
14716
14717         * Move NetworkManager.h -> include/NetworkManager.h
14718         * Split out VPN stuff into include/NetworkManagerVPN.h
14719         * Fix up makefiles to include new location
14720         * Fix up sources to include NetworkManagerVPN.h
14721
14722 2005-12-06  Dan Williams  <dcbw@redhat.com>
14723
14724         Various changes in the applet to move VPN connection "state" -> "stage",
14725         which it actually is.  I'd like to change the signal as well when we
14726         break compat in the near future.
14727
14728 2005-12-06  Dan Williams  <dcbw@redhat.com>
14729
14730         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14731         * initscript/Slackware/rc.networkmanager
14732                 - Cosmetic fix
14733
14734         * src/backends/NetworkManagerSlackware.c
14735                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14736                         interfaces
14737
14738 2005-12-05  Robert Love  <rml@novell.com>
14739
14740         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14741           to free, particularly here as it just barfs.
14742
14743 2005-12-05  Dan Williams  <dcbw@redhat.com>
14744
14745         * gnome/applet/applet-dbus.c
14746                 - Work with dbus 0.6 too
14747
14748 2005-12-03  Dan Williams  <dcbw@redhat.com>
14749
14750         * src/NetworkManagerUtils.[ch]
14751           src/nm-ip4-config.c
14752                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14753                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14754
14755 2005-12-01  Robert Love  <rml@novell.com>
14756
14757         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14758           need a NULL for the '...' parameter, too, to fill the so-called
14759           sentinel.
14760
14761 2005-12-01  Robert Love  <rml@novell.com>
14762
14763         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14764           interface is already gone, so don't call rtnl_link_change() to down
14765           it (which will segfault, anyhow).
14766
14767 2005-11-22  Robert Love  <rml@novell.com>
14768
14769         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14770           gateway is not set, just print a little note.  Configurations without
14771           gateways are valid.
14772
14773 2005-11-22  Robert Love  <rml@novell.com>
14774
14775         * README: update
14776
14777 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14778
14779         * configure.in: Added Finnish translation to ALL_LINGUAS
14780
14781 2005-11-14  Robert Love  <rml@novell.com>
14782
14783         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14784           Niemueller <tim@niemueller.de>.
14785
14786 2005-11-08  Dan Williams  <dcbw@redhat.com>
14787
14788         Patch from Bill Moss <bmoss@clemson.edu>
14789         * src/NetworkManagerDevice.c
14790                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14791                         of nm_policy_schedule_activation_finish() to prevent a
14792                         race condition that causes the link to be dropped
14793
14794 2005-11-08  Dan Williams  <dcbw@redhat.com>
14795
14796         Patch from Bill Moss <bmoss@clemson.edu>
14797         * src/NetworkManagerAPList.c
14798           src/NetworkManagerDevice.c
14799           src/NetworkManagerDbus.c
14800                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14801                         we get more readable ether/mac addresses
14802
14803 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14804
14805         * gnome/applet/main.c: Don't set the restart command.  This fixes
14806         the issue where the restart command was getting copies of all its
14807         arguments for each time the applet was restarted.
14808
14809 2005-11-02  Robert Love  <rml@novell.com>
14810
14811         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14812           if the widget state differs from our saved state.  This ensures we
14813           do not enter an endless loop of death and destruction.  Also, this
14814           guarantees us that we enforce the widget state.
14815
14816 2005-11-02  Robert Love  <rml@novell.com>
14817
14818         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14819         * gnome/applet/applet-dbus-devices.c: invoke the new function
14820           nmwa_enable_wireless_set_active() to ensure that the state of the
14821           'Enable Wireless' checkbox matches the daemon's state.  This is a
14822           concern because the daemon remembers the state.
14823
14824 2005-11-02  Robert Love  <rml@novell.com>
14825
14826         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14827           Enabled", as checkboxes should be actions/commands not positive
14828           statements, otherwise they are confusing in the unselected case.  See
14829           examples in GNOME HIG, Chapter 6.
14830
14831 2005-11-02  Robert Love  <rml@novell.com>
14832
14833         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14834           show a list of wireless networks or the wireless devices or the
14835           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14836           a bad bug: If wireless is disabled and the user picks a wireless
14837           network, NM will switch to the network, only to immediately switch
14838           back, as wireless is disabled.  This also reassures people that NM
14839           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14840
14841 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14842
14843         * gnome/applet/applet.c:
14844         * gnome/applet/applet.h:
14845         Partial backout of Dan's timeout animation patch.
14846         Timeout IDs cannot legally be 0, so revert the code in place to handle
14847         a timeout ID of 0 to denote the timeout isn't running.
14848
14849 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14850
14851         * src/NetworkManagerPolicy.c:
14852         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14853
14854 2005-10-28  Robert Love  <rml@novell.com>
14855
14856         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14857           "Import Saved Configuration..." to make it clear that importing is
14858           not the next step, but an option.  As an aside, a nice TODO would be
14859           to move Importing out of the vpn-specific dialog and into the main
14860           property editor, as Importing goes with Adding, but that will require
14861           some rearchitecting of the VPN stuff I suspect.
14862
14863 2005-10-27  Dan Williams  <dcbw@redhat.com>
14864
14865         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14866         we should replace most of the distro-specific backend code
14867         with libnl stuff.
14868
14869         Get it here:  http://people.suug.ch/~tgr/libnl/
14870
14871         * configure.in
14872           src/Makefile.am
14873                 - Add checks for libnl pkgconfig file
14874                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14875
14876         * src/NetworkManagerSystem.c
14877           src/nm-ip4-config.[ch]
14878                 - Use libnl rather than ioctl() for most things
14879                 - Remove unused functions
14880
14881 2005-10-27  Robert Love  <rml@novell.com>
14882
14883         * src/backends/NetworkManagerSuSE.c: fix warning message text
14884
14885 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14886
14887         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14888
14889 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14890
14891         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14892         project page <http://www.gnome.org/projects/NetworkManager/>
14893
14894 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14895
14896         * gnome/applet.c: Also use translator credits if we don't have
14897         the new GtkAboutDialog (older versions of GTK+)
14898
14899 2005-10-26  Robert Love  <rml@novell.com>
14900
14901         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14902           failure; correct usage text for "--no-daemon"
14903
14904 2005-10-25  Dan Williams  <dcbw@redhat.com>
14905
14906         * src/NetworkManagerDevice.c
14907                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14908                         no scan results
14909                 - (free_process_scan_cb_data): unref the device when freeing results
14910                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14911                         so we don't unref the device underneath ourselves
14912
14913 2005-10-25  Dan Williams  <dcbw@redhat.com>
14914
14915         * Back out 2005-10-24 commit from Tor Krill.  Patch
14916                 causes nameservers never to be removed from named.
14917
14918 2005-10-24  Dan Williams  <dcbw@redhat.com>
14919
14920         Clean up wireless scanning and wireless link probing.
14921
14922         * src/NetworkManagerDevice.c
14923                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14924                         just see if there's an activation request on the device, and check the
14925                         current link against the activation request access point's ESSID.
14926                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14927                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14928                         don't call process_scan_results() on zero-length data
14929                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14930                         15 seconds (from 10)
14931
14932 2005-10-24  Dan Williams  <dcbw@redhat.com>
14933
14934         Cleanup some applet stuff:
14935
14936         - Animation timeouts.  If NM died while the applet was animating,
14937                 the applet would not hide itself.  This is now fixed.
14938
14939         - Remove some dead code
14940
14941         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14942                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14943
14944         - Track animation timeout using a gboolean rather than the timeout's
14945                 ID, since timeout IDs can legally be 0.
14946
14947 2005-10-24  Dan Williams  <dcbw@redhat.com>
14948
14949         * src/backends/interface_parser.c
14950                 - Add void to function declarations that need it
14951                         to match patch from Engin AYDOGAN
14952
14953         * src/backends/interface_parser.h
14954                 - Remove unused prototype for ifparser_interfaces()
14955
14956         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14957         * src/backends/interface_parser.h:
14958                 - Compile fixes for gcc 4.0.2 (add void)
14959
14960 2005-10-24  Dan Williams  <dcbw@redhat.com>
14961
14962         Patch from Tor Krill <tor@krill.nu>
14963         * src/named-manager/nm-named-manager.c
14964                 - Write more than just the first nameserver to /etc/resolv.conf
14965                 - Write out valid /etc/resolv.conf on exit
14966
14967 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14968
14969         * gnome/applet/applet-dbus-vpn.c:
14970         Get rid of spurious newlines in debug console output
14971
14972 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14973
14974         * src/backends/NetworkManagerGentoo.c:
14975         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14976
14977 2005-10-20  Robert Love  <rml@novell.com>
14978
14979         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14980           direct comparison of floating point values, which is never correct.
14981           Also some misc. cleanup.
14982
14983 2005-10-19  Robert Love  <rml@novell.com>
14984
14985         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14986
14987 2005-10-19  Robert Love  <rml@novell.com>
14988
14989         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14990           sensitivity of the buttons.  Specificaly, do the right thing if
14991           there are no entries.
14992
14993 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14994
14995         * configure.in: Update check for adequate wireless-tools
14996         with an AC_TRY_COMPILE for the new symbols we use.
14997
14998 2005-10-19  Dan Williams  <dcbw@redhat.com>
14999
15000         * src/NetworkManagerDevice.c
15001                 - (process_scan_results): don't drop the last (or only)
15002                         access point we see
15003
15004 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15005
15006         * src/backends/NetworkManagerSlackware.c:
15007         Patch from Nico <lordllucifer@gmail.com>
15008                 - Update the Slackware backend.
15009
15010 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15011
15012         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15013         if we've got GLib 2.8.0
15014
15015 2005-10-18  Robert Love  <rml@novell.com>
15016
15017         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15018           function nm_schedule_state_change_signal_broadcast() when we
15019           deactivate a device, too.
15020
15021 2005-10-18  Robert Love  <rml@novell.com>
15022
15023         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15024           be used uninitialized.
15025
15026 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15027
15028         * test/libnm_glib_test.c: Test unregistering, too.
15029
15030 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15031
15032         * configure.in: Bump to 0.5.0
15033
15034 2005-10-17  Dan Williams  <dcbw@redhat.com>
15035
15036         * NetworkManager.h
15037                 - Remove WPA-related constants so they aren't part of the
15038                         upcoming release.
15039
15040 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15041
15042         * gnome/applet/applet.c:
15043         * gnome/applet/applet.h:
15044         Desensitize the 'Connection Information' menu item when there is
15045         no active connection.
15046
15047 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15048
15049         * gnome/libnm_glib/libnm_glib.c:
15050         Make libnm_glib_unregister_callback () actually unregister the callback
15051
15052 2005-10-17  Robert Love  <rml@novell.com>
15053
15054         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15055           two seconds -- tries is updated every 1/10 of a second, not every
15056           second..
15057
15058 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15059
15060         * gnome/applet/applet-dbus-info.c:
15061         Let D-BUS know that we haven't handled a message when we haven't.
15062
15063 2005-10-17  Robert Love  <rml@novell.com>
15064
15065         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15066           in order to remain 64-bit clean.
15067
15068 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15069
15070         * gnome/applet/applet-dbus-info.c:
15071         Find network encryption keys asynchronously
15072
15073 2005-10-17  Robert Love  <rml@novell.com>
15074
15075         * src/backends/NetworkManagerDebian.c,
15076           src/backends/NetworkManagerRedHat,
15077           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15078           comment delimiter.
15079
15080 2005-10-17  Robert Love  <rml@novell.com>
15081
15082         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15083           "/etc"
15084
15085 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15086
15087         * src/NetworkManagerDevice.c: (process_scan_results)
15088         Fix logic that checks to see whether we have an ESSID.
15089
15090 2005-10-15  Dan Williams  <dcbw@redhat.com>
15091
15092         Move scanning code into NetworkManager rather than use iwlib's
15093         iw_scan() function, so that we can figure out AP capabilities.
15094
15095         * NetworkManager.h
15096                 - Add AP capability bits
15097
15098         * src/NetworkManagerAP.[ch]
15099                 - Add capability field to NMAccessPoint structure
15100                 - Add WPA & RSN Information Element fields and accessor
15101                         functions to NMAccessPoint
15102
15103         * src/NetworkManagerDevice.c
15104                 - Remove usage of iw_scan
15105                 - Add scanning code to NetworkManager rather than use
15106                         iw_scan() from iwlib
15107
15108         * src/NetworkManagerUtils.[ch]
15109                 - (nm_dispose_scan_results): remove, unused
15110
15111 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15112
15113         * gnome/libnm_glib/libnm_glib.c:
15114         * gnome/libnm_glib/libnm_glib.h:
15115         Use guint instead of gint for callback IDs.
15116
15117 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15118
15119         * gnome/applet/applet.c:
15120         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15121         every 1000ms.  It will unconditionally call nmwa_update_state which
15122         kills the existing animation timeout and registers a new one with a
15123         callback to draw a new frame every 100ms.  There are 11 connecting
15124         icon frames, so the last 2 frames kept getting dropped.  Only reset
15125         the animation timeout if we aren't animating.
15126
15127 2005-10-11  Dan Williams  <dcbw@redhat.com>
15128
15129         * gnome/applet/applet-dbus-devices.c
15130                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15131                         We want to grab the product & vendor from net.physical_dev
15132                         rather than info.parent.
15133
15134 2005-10-11  Dan Williams  <dcbw@redhat.com>
15135
15136         * src/NetworkManagerDevice.c
15137                 - Use the driver's WE version for scanning rather than
15138                         the WE version NM was compiled with.  Fixes random
15139                         crashes in iw_scan () in iwlib.
15140
15141 2005-10-10  Dan Williams  <dcbw@redhat.com>
15142
15143         * Remove nm_system_load_device_modules() from backend files
15144                 and from NetworkManager.c
15145
15146 2005-10-10  Dan Williams  <dcbw@redhat.com>
15147
15148         * src/NetworkManagerPolicy.c
15149                 - Fix some bugs introduced by the capabilities patch
15150
15151 2005-10-10  Dan Williams  <dcbw@redhat.com>
15152
15153         * gnome/applet/applet-dbus-info.c
15154                 - (nmi_dbus_get_network_key): hide the menu when putting up
15155                         the keyring dialog.  (not sure if the code is right...)
15156
15157 2005-10-09  Dan Williams  <dcbw@redhat.com>
15158
15159         Patch from Bill Moss <bmoss@clemson.edu>
15160         * src/NetworkManagerDevice.c
15161                 - (nm_device_set_user_key_for_network): don't try to set auth
15162                         mode on the AP from the allowed list if it's NULL
15163
15164 2005-10-09  Dan Williams  <dcbw@redhat.com>
15165
15166         * Replace the "driver support level" stuff with capabilities.  The
15167                 capability field is a bitfield that is more flexible than the
15168                 old driver support level thing.  It's mostly so we can easily
15169                 figure out what supports WPA and what doesn't, but should be
15170                 quite useful later.
15171
15172 2005-10-09  Dan Williams  <dcbw@redhat.com>
15173
15174         * test/nmtest.c
15175                 - Removed
15176
15177         * test/nm-tool.c
15178           test/Makefile.am
15179                 - Added new "nm-tool" tool that gives quite a bit more
15180                         information
15181
15182 2005-10-07  Robert Love  <rml@novell.com>
15183
15184         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15185           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15186           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15187           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15188           appropriate
15189
15190 2005-10-07  Robert Love  <rml@novell.com>
15191
15192         * configure.in: Change our compile flags for the betterment of mankind.
15193           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15194           prototype is very bad on 64-bit platforms as types default to int but
15195           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15196           "-Wmissing-declarations" to warn if we define an exported function
15197           but fail to put it in a header.
15198
15199 2005-10-07  Robert Love  <rml@novell.com>
15200
15201         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15202           by the name nm_update_device_wireless_timeouts() and once tried,
15203           without success, to steal my pet turtle.
15204
15205 2005-10-07  Robert Love  <rml@novell.com>
15206
15207         * Cleanup prototypes: put some functions in header files and mark
15208           others as 'static' -- feel free to invert
15209         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15210           nm_vpn_manager_vpn_connection_list_copy()
15211         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15212           nm_vpn_service_get_dbus_connection()
15213         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15214           nm_vpn_manager_vpn_connection_list_copy()
15215         * src/vpn-manager/nm-vpn-service.c: make
15216           nm_vpn_service_act_request_failed() and
15217           nm_vpn_service_stage2_daemon_wait() static
15218         * src/vpn-manager/nm-vpn-service.h: add prototype for
15219           nm_vpn_service_get_dbus_connection()
15220
15221 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15222
15223         * gnome/applet/applet.c:
15224         * gnome/applet/applet.h:
15225         * gnome/applet/icons/Makefile.am:
15226         Convey information about the current connection stage in the
15227         icons themselves instead of creating a separate progress bar.
15228
15229 2005-10-04  Robert Love  <rml@novell.com>
15230
15231         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15232           convert an ether_addr structure's MAC into a string, because the
15233           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15234           versus 07:3B:04, while the former will not.
15235
15236 2005-10-04  Robert Love  <rml@novell.com>
15237
15238         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15239           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15240           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15241           default route in the 'Connection Information' dialog, send primary
15242           and secondary name servers in in "getProperties" DBUS method, add
15243           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15244           secondary domain name servers are crucial pieces of information
15245           that a user might need in debugging a network problem.
15246
15247 2005-10-04  Robert Love  <rml@novell.com>
15248
15249         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15250           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15251           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15252           default route in the 'Connection Information' dialog, send default
15253           route in "getProperties" DBUS method, add network_device_set_route(),
15254           and network_device_get_route().  The Gateway is a crucial piece of
15255           connection-related information that a user might need in debugging a
15256           network problem.
15257
15258 2005-10-03  Robert Love  <rml@novell.com>
15259
15260         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15261           NULL.
15262
15263 2005-10-02  Dan Williams  <dcbw@redhat.com>
15264
15265         * Shorten time taken to sleep by fastpathing bits of device deactivation
15266                 necessary for sleep.
15267
15268         * Fix issue where deactivating a device might deactivate the active
15269                 VPN connection, even if the VPN was not using the device.
15270
15271 2005-10-02  Dan Williams  <dcbw@redhat.com>
15272
15273         * gnome/applet/applet.c
15274                 - Adjust signal strength -> icon mapping values slightly
15275                         (so that 51% signal doesn't show a 75% icon) by adding
15276                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15277                         shows 50% icon, etc.
15278
15279 2005-09-29  Robert Love  <rml@novell.com>
15280
15281         * src/NetworkManager.c: removed unused variable.
15282
15283 2005-09-28  Dan Williams  <dcbw@redhat.com>
15284
15285         Support for named + DBus, using Red Hat DBus patches for named.  You
15286         can find those patches here, with "dbus" in the patch's filename:
15287
15288                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15289
15290         Don't forget the named dbus service file either.
15291
15292         Instead of writing a config file and spawing a named process, NM will
15293         use an already-running dbus-enabled named if it finds one.  NM will
15294         update named's forwarder configuration on the fly using dbus.
15295
15296         If there is no dbus-enabled named running, NM will automatically fall
15297         back to writing the most-recent DNS server information to /etc/resolv.conf
15298         and calling nm_system_update_dns() to kick the system's resolver.
15299
15300         Accordingly, all named-related configure-time options have been removed.
15301
15302 2005-09-26  Robert Love  <rml@novell.com>
15303
15304         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15305           ISDN support!
15306         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15307           bug in error path if "ASKPASSWORD" is "no".
15308
15309 2005-09-26  Robert Love  <rml@novell.com>
15310
15311         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15312           comment in /etc/resolv.conf -- ';' is not.
15313
15314 2005-09-19  Dan Williams  <dcbw@redhat.com>
15315
15316         * src/backends/NetworkManagerRedHat.c:
15317         * src/backends/NetworkManagerDebian.c:
15318         * src/backends/NetworkManagerSlackware.c:
15319         * src/backends/NetworkManagerGentoo.c:
15320         * src/backends/NetworkManagerSUSE.c:
15321         Fix invocations of "/sbin/ip address" to use short form instead
15322
15323 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15324
15325         * src/nm-dbus-device.c: Don't assert when getting
15326         addresses of a not yet connected interface.
15327
15328         * gnome/applet/applet.c: Free icons if loading fails.
15329         Use translator-credits so translators can make themselves known.
15330
15331 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15332
15333         * src/NetworkManagerAP.c:
15334         * src/NetworkManagerAP.h:
15335         * src/NetworkManagerDevice.c:
15336         Set a blacklist for certain common manufacturer default ESSIDs:
15337         APs with these ESSIDs are extremely likely to be completely
15338         different networks: connecting to one should not make NM
15339         auto-connect to every other AP with the same default ESSID.
15340
15341 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15342
15343         * gnome/applet/wireless-applet.glade:
15344         The passphrase entry should also activate the default
15345
15346         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15347
15348         * gnome/applet/applet-dbus-devices.c:
15349         * gnome/applet/applet.c:
15350         * gnome/applet/nm-device.c:
15351         * gnome/applet/nm-device.h:
15352         * src/NetworkManagerUtils.c:
15353         * src/NetworkManagerUtils.h:
15354         * src/nm-dbus-device.c:
15355         I've got a fever, and the only cure for it is less ioctl.
15356         Make NM push IP data rather than make the applet open a socket
15357         to the device.
15358
15359 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15360
15361         * gnome/applet/applet.c:
15362         * gnome/applet/applet-dbus-devices.c:
15363         * gnome/applet/applet-dbus-info.c:
15364         * gnome/applet/passphrase-dialog.c:
15365         * gnome/libnm_glib/libnm_glib.c:
15366         * gnome/vpn-properties/nm-vpn-properties.c:
15367         * src/autoip.c:
15368         * src/backends/NetworkManagerRedHat.c:
15369         * src/named-manager/nm-named-manager.c:
15370         * src/NetworkManagerAPList.c:
15371         * src/NetworkManager.c:
15372         * src/NetworkManagerDbus.c:
15373         * src/NetworkManagerDevice.c:
15374         * src/NetworkManagerPolicy.c:
15375         * src/NetworkManagerSystem.c:
15376         * src/nm-dbus-device.c:
15377         * src/nm-dbus-nm.c:
15378         * src/vpn-manager/nm-vpn-manager.c:
15379         * src/vpn-manager/nm-vpn-service.c:
15380         * test/libnm_glib_test.c:
15381         * test/nminfotest.c:
15382         * test/nmtestdevices.c:
15383         Fix a bunch of 'unused variable' compiler warnings
15384
15385         * NetworkManager.h:
15386         * gnome/applet/applet-dbus-info.c:
15387         * gnome/applet/applet-dbus-info.h:
15388         * gnome/applet/applet.c:
15389         * gnome/applet/applet.h:
15390         * src/NetworkManager.c:
15391         * src/NetworkManagerDbus.c:
15392         * src/NetworkManagerDbus.h:
15393         * src/NetworkManagerDevice.c:
15394         * src/NetworkManagerDevice.h:
15395         * src/NetworkManagerMain.h:
15396         * src/NetworkManagerWireless.c:
15397         * src/NetworkManagerWireless.h:
15398         * src/nm-dbus-nm.c:
15399         Make NetworkManager be smart about how frequently to scan
15400         based on its current state.  Remove the UI for choosing when
15401         to scan.  Scanning still may disabled completely by the user
15402         via the "Wireless Enabled" menu item.
15403
15404 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15405
15406         * gnome/applet/applet.c:
15407         Also overlay the vpn connecting icons onto the wired icon,
15408         when appropriate.
15409
15410         * gnome/vpn-properties/nm-vpn-properties.glade:
15411         Clean up a few strings to use better grammar and proper casing.
15412
15413 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15414
15415         * gnome/applet/vpn-connection.c:
15416         * gnome/applet/vpn-connection.h:
15417         Add nmwa_vpn_connection_is_activating ()
15418
15419         * gnome/applet/applet.c:
15420         * gnome/applet/applet.h:
15421         * gnome/applet/icons/nm-vpn-connecting*.png:
15422         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15423         the user know something's happening between clicking the VPN item and it
15424         actually being connected.
15425
15426 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15427
15428         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15429         failure case as well.
15430
15431 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15432
15433         * gnome/panel/eggtrayicon.[ch]:
15434         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15435
15436 2005-09-07  Dan Williams  <dcbw@redhat.com>
15437
15438         Patch from Bill Moss <bmoss@clemson.edu>
15439         * src/applet-dbus.c
15440                 - (nmwa_dbus_filter): strip whitespace from beginning
15441                         and end of VPN login banner
15442
15443 2005-09-07  Dan Williams  <dcbw@redhat.com>
15444
15445         * The great VPN Manager rewrite of 2005
15446
15447 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15448
15449         * gnome/applet/menu-items.c:
15450         * gnome/applet/nm-device.c:
15451         * gnome/applet/wireless-network.c:
15452         * gnome/libnm_glib/libnm_glib.c:
15453         * src/NetworkManagerDbusUtils.c:
15454         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15455         g_malloc0 doesn't return NULL
15456
15457 2005-09-06  Dan Williams  <dcbw@redhat.com>
15458
15459         Patch from Tomislav Vujec <tvujec@redhat.com>
15460         * src/NetworkManagerDevice.c
15461                 - (nm_get_device_by_udi): don't return a device when we
15462                         actually didn't find what we were looking for
15463
15464 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15465
15466         * gnome/applet/applet-dbus-devices.c:
15467         * gnome/applet/applet-dbus-devices.h:
15468         * gnome/applet/applet-dbus.c:
15469         * src/NetworkManagerDbus.c:
15470         * src/NetworkManagerDbus.h:
15471         * src/NetworkManagerDevice.c:
15472         * src/nm-dbus-device.c:
15473         Make NM push updates about active device strength when it changes,
15474         rather than having the applet poll every 2s.
15475
15476 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15477
15478         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15479         network_device_set_strength
15480
15481 2005-09-04  Dan Williams  <dcbw@redhat.com>
15482
15483         Patch from Bill Nottingham <notting@redhat.com>
15484         * src/NetworkManagerDevice.c
15485                 - (nm_device_activation_cancel): reset the quit_activation flag
15486
15487 2005-09-04  Dan Williams  <dcbw@redhat.com>
15488
15489         * src/nm-activation-request.c
15490                 - (nm_act_request_unref): actually free the structure,
15491                         which we didn't seem to be doing before
15492
15493 2005-09-04  Dan Williams  <dcbw@redhat.com>
15494
15495         Patch from John Palmieri <johnp@redhat.com>
15496         * gnome/applet/applet-dbus-devices.c
15497                 - Fix up unreffing of DBusMessage objects
15498
15499 2005-09-04  Dan Williams  <dcbw@redhat.com>
15500
15501         Patch from John Palmieri <johnp@redhat.com>
15502         * gnome/applet/nm-device.c
15503                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15504
15505 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15506
15507         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15508
15509 2005-09-02  Bill Nottingham  <notting@redhat.com>
15510
15511         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15512
15513 2005-09-01  Dan Williams  <dcbw@redhat.com>
15514
15515         * src/NetworkManager.c
15516                 - (nm_remove_device_from_list): rename to nm_remove_device
15517                 - (nm_hal_device_removed): call nm_remove_device()
15518
15519         * src/NetworkManagerDevice.c
15520                 - Change the NMWirelessScanCB member 'reschedule' which
15521                         wasn't used to 'force' to indicate that we need to
15522                         force a scan when adding a device
15523
15524         * src/nm-dbus-nm.c
15525                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15526                         from the device list
15527                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15528
15529 2005-09-01  Robert Love  <rml@novell.com>
15530
15531         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15532           and the check "!iface" in the error case is probably never true.
15533
15534 2005-09-01  Dan Williams  <dcbw@redhat.com>
15535
15536         Patch from Bill Nottingham <notting@redhat.com>
15537         * src/backends/NetworkManagerRedHat.c
15538                 - Add initial dialup support to Red Hat/Fedora backend
15539
15540 2005-09-01  Dan Williams  <dcbw@redhat.com>
15541
15542         * gnome/applet/applet-dbus-devices.c
15543                 - Sort both wireless networks and devices again, which got
15544                         broken when removing threading
15545
15546 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15547
15548         * gnome/applet/applet.c:
15549         Only show the "Stop/Start All Wireless Devices" menuitem
15550         if we actually have wireless devices.
15551
15552         * gnome/applet/applet-dbus-info.c:
15553         * gnome/applet/applet.c:
15554         * gnome/applet/other-network-dialog.c:
15555         * gnome/applet/vpn-password-dialog.c:
15556         Drop the gtk_dialog_run () calls in favor of connecting to
15557         "response" signals, needed now that the applet is not threaded.
15558
15559 2005-08-31  Dan Williams  <dcbw@redhat.com>
15560
15561         Patch from Bill Moss <bmoss@clemson.edu>
15562         * src/NetworkManagerDevice.c
15563                 - (nm_device_wireless_scan): fix scan timeout values
15564
15565 2005-08-30  Dan Williams  <dcbw@redhat.com>
15566
15567         * gnome/applet/wireless-applet.glade
15568                 - HIG-ify the Other Wireless Networks dialog a bit more
15569                 - Fix some potential segfaults in the info dialog
15570
15571 2005-08-30  Dan Williams  <dcbw@redhat.com>
15572
15573         * gnome/applet/applet-dbus-devices.c
15574                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15575
15576 2005-08-30  Dan Williams  <dcbw@redhat.com>
15577
15578         * gnome/applet/applet-dbus.[ch]
15579                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15580                         they weren't being used anyway
15581
15582 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15583
15584         * test/nmtestdevices.c: (print_usage), (main):
15585         Check the number of arguments, and fix a typo
15586
15587 2005-08-29  Dan Williams  <dcbw@redhat.com>
15588
15589         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15590         * gnome/applet/applet.c
15591                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15592
15593 2005-08-29  Dan Williams  <dcbw@redhat.com>
15594
15595         * gnome/applet/*
15596                 - Don't use threads any more.  Anything that blocks
15597                         (like gtk_dialog_run()) will  have to get fixed up which
15598                         should happen quickly.  We really only had threads to make
15599                         the animation smooth, and when everything got converted over
15600                         to DBus Pending Calls, the need for threads kind of went away
15601
15602 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15603
15604         * gnome/applet/applet.c: Draw VPN connections as radio items
15605         since we don't yet support multiple VPNs.
15606         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15607         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15608
15609 2005-08-29  Dan Williams  <dcbw@redhat.com>
15610
15611         Patch from j@bootlab.org
15612         - Make --without-named work
15613         - Make --with-dhcdbd work correctly
15614
15615 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15616
15617         * configure.in: Added "ca" to ALL_LINGUAS.
15618
15619 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15620
15621         * Fix up VPN state handling between the applet and NetworkManager,
15622                 so that the applet doesn't show a VPN as connected when one
15623                 really is not
15624                         - The applet no longer has a pointer to the active VPN's
15625                                 name, but tracks each VPNs state individually
15626                         - NM no longer has a "getActiveVPNConnection" method
15627                         - NM no longer broadcasts the "VPNConnectionChange" signal
15628                         - NM now broadcasts a "VPNConnectionStateChange" signal
15629                                 whenever the state of a VPN changes
15630
15631 2005-08-26  Dan Williams <dcbw@redhat.com>
15632
15633         * gnome/applet/applet-dbus-devices.c
15634           gnome/applet/applet-dbus-vpn.c
15635                 - Remove calls to dbus_pending_call_ref() because we already
15636                         "own" the pending call
15637                 - Remove calls to dbus_pending_call_get_completed() because
15638                         when we are in the callback, the pending call is completed
15639                         by definition
15640
15641 2005-08-22  Dan Williams <dcbw@redhat.com>
15642
15643         Patch by Bill Moss <bmoss@clemson.edu>
15644         * src/dhcp-manager/nm-dhcp-manager.c
15645                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15646                         some time to send out a RELEASE if they like
15647
15648 2005-08-22  Dan Williams <dcbw@redhat.com>
15649
15650         Noticed by Bill Moss <bmoss@clemson.edu>
15651         * src/NetworkManagerDbus.c
15652                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15653                         instead of just cancelling its activation
15654
15655         * src/NetworkManagerDevice.c
15656                 - (nm_device_deactivate): some small cleanups
15657                 - (nm_device_set_user_key_for_network): deactivate the device
15658                         instead of just cancelling its activation
15659
15660 2005-08-22  Dan Williams <dcbw@redhat.com>
15661
15662         Noticed by Bill Moss <bmoss@clemson.edu>
15663         * src/NetworkManagerDevice.c
15664                 - (nm_device_wireless_scan): fix scan timeout, we were
15665                         waiting way too long for scans to complete
15666
15667 2005-08-22  Dan Williams <dcbw@redhat.com>
15668
15669         Patch from j@bootlab.org:
15670         * src/backends/NetworkManagerDebian.c
15671                 - Make the Debian backend work for static IP again
15672
15673 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15674
15675         * gnome/applet/other-network-dialog.c:
15676         The "Create New Network" and "Connect to Other Network"
15677         dialogs share alot of code, but shouldn't share a window
15678         title.  Give them different ones.
15679
15680         * gnome/applet/wireless-applet.glade:
15681         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15682         Some more minor UI tweaks.
15683
15684 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15685
15686         * gnome/applet/other-network-dialog.c:
15687         * gnome/applet/wireless-applet.glade:
15688         Also need mnemonic widgets, and underline enabled.
15689
15690 2005-08-19  Dan Williams <dcbw@redhat.com>
15691
15692         * vpn-daemons/vpnc/nm-vpnc-service.c
15693                 - (vpnc_watch_cb): remove no-longer-relevant comment
15694                 - (write_config_option): new function, helper to write
15695                         config options to vpnc's stdin
15696                 - (nm_vpnc_config_write): use the new helper, make the
15697                         code shorter
15698
15699 2005-08-19  Christopher Aillon <caillon@redhat.com>
15700
15701         * gnome/applet/passphrase-dialog.c:
15702         * gnome/applet/wireless-applet.glade:
15703         Make the passphrase dialog response based, and treat
15704         responses other than OK (such as Esc, [X]) as a cancel.
15705
15706 2005-08-18  Christopher Aillon <caillon@redhat.com>
15707
15708         * initscript/Gentoo/NetworkManager:
15709         * initscript/RedHat/NetworkManager:
15710         * initscript/RedHat/NetworkManagerDispatcher:
15711         * initscript/SUSE/networkmanager:
15712         CVS remove these in place of .in replacements
15713
15714         * configure.in:
15715         * initscript/Gentoo/NetworkManager.in:
15716         * initscript/RedHat/NetworkManager.in:
15717         * initscript/RedHat/NetworkManagerDispatcher.in:
15718         * initscript/SUSE/networkmanager.in:
15719         These scripts now are generated so they work still when
15720         NM is built using a bindir other than /usr/bin
15721
15722 2005-08-18  Dan Williams <dcbw@redhat.com>
15723
15724         * gnome/applet/main.c
15725                 - Revert previous change for --no-session since
15726                         --sm-disable does the same thing
15727
15728 2005-08-18  Dan Williams <dcbw@redhat.com>
15729
15730         * gnome/applet/applet-dbus-info.c
15731                 - (nmi_dbus_create_error_message): new function
15732                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15733                         functions.  Also don't check for both device _and_ network before
15734                         asking for a user's key, because we may not have gotten all our
15735                         networks back from NM quite yet (due to the dbus pending calls
15736                         coming in later).  Fixes a hang in NM/nm-applet.
15737
15738         * src/NetworkManagerDbus.c
15739                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15740                         slightly more sane manner, even though we are still broken for
15741                         certain other error conditions.
15742                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15743                         to the info-daemon too
15744
15745         * src/NetworkManagerDevice.c
15746                 - Fix some debug messages to be info messages instead
15747
15748 2005-08-18  Dan Williams <dcbw@redhat.com>
15749
15750         * gnome/applet/main.c
15751                 - Add new "--no-session" parameter that disables applet
15752                         session management, ie for testing
15753
15754 2005-08-18  Christopher Aillon <caillon@redhat.com>
15755
15756         * gnome/applet/other-network-dialog.c:
15757         * gnome/applet/wireless-applet.glade: More mnemonics
15758
15759 2005-08-17  Robert Love  <rml@novell.com>
15760
15761         * initscript/SUSE/networkmanager: update
15762
15763 2005-08-17  Dan Williams  <dcbw@redhat.com>
15764
15765         * Tag NM_0_4_1_RELEASE
15766
15767 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15768
15769         * gnome/applet/applet.c: More translatable string cleanup
15770
15771
15772 2005-08-17  Dan Williams  <dcbw@redhat.com>
15773
15774         * gnome/applet/applet-dbus-info.c
15775                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15776                         from the dbus message, which tells us to unconditionally
15777                         ask the user for a new key.  Otherwise, we pull the key from
15778                         the keyring and return it.  If we fail to get the key from the
15779                         keyring, we ask the user for a new key.
15780                 - (nmi_dbus_get_network_key): new function to grab the key for
15781                         an essid from the keyring.
15782                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15783                         Also, don't return any key in the dbus message.
15784
15785         * src/NetworkManagerDbus.[ch]
15786                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15787                         indicate that we unconditionally want a new key.  This function
15788                         is now also used to get keys from the info-daemon which are
15789                         pre-stored, not just for asking the user for a new key.  The
15790                         "new_key" parameter indicates whether or not we wish to ask the
15791                         user for a new key.
15792                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15793                         info-daemon in the return message, so use NULL instead.  The
15794                         key will be filled in at connect time by calling
15795                         nm_dbus_get_user_key_for_network()
15796
15797         * src/NetworkManagerDevice.c
15798                 - (nm_device_wireless_configure): update for "new_key" param to
15799                         nm_dbus_get_user_key_for_network().  We initially set new_key
15800                         to FALSE to see if we have a stored key in the info-daemon, but
15801                         if the connection is unsuccessful at this stage we request a
15802                         new one
15803
15804 2005-08-17  Dan Williams  <dcbw@redhat.com>
15805
15806         * gnome/applet/icons/nm-no-connection.png
15807           gnome/applet/icons/nm-device-wired.png
15808                 - Use Diana's new RJ45 connector icons
15809
15810 2005-08-17  Dan Williams  <dcbw@redhat.com>
15811
15812         * src/NetworkManagerPolicy.c
15813                 - (nm_policy_device_change_check): clarify switching rules if
15814                         both new and old devices are valid; mainly, don't switch
15815                         away from user-requested wireless connection back to a wired
15816                         one
15817
15818 2005-08-17  Dan Williams  <dcbw@redhat.com>
15819
15820         * gnome/applet/Makefile.am
15821                 - Relocate the applet to /usr/bin since it is no longer
15822                         executed by anything, but directly by the user
15823
15824 2005-08-17  Dan Williams  <dcbw@redhat.com>
15825
15826         Patch from Bill Moss <bmoss@clemson.edu>
15827
15828         * gnome/applet/applet-dbus-info.[ch]
15829                 - (nmi_save_network_info): save timestamp for network if it
15830                         was a change requested by the user
15831                 - (nmi_dbus_update_network_info): get user_requested from dbus
15832                         message and pass to nmi_save_network_info()
15833
15834         * gnome/applet/applet.c
15835                 - (nmwa_update_network_timestamp): remove
15836                 - (nmwa_menu_item_activate): don't set timestamp on networks
15837                         here, only after a successful connect in nmi_save_network_info()
15838
15839         * src/NetworkManagerDbus.[ch]
15840                 - (nm_dbus_update_network_info): pass user_requested into the 
15841                         dbus message
15842
15843         * src/NetworkManagerPolicy.c
15844                 - (nm_policy_activation_finish): pass user_requested to
15845                         nm_dbus_update_network_info()
15846
15847 2005-08-16  Robert Love  <rml@novell.com>
15848
15849         * gnome/applet/applet.c: Better "Dial Up" menu item.
15850
15851 2005-08-16  Robert Love  <rml@novell.com>
15852
15853         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15854           "Connection Information" menu item.
15855
15856 2005-08-16  Dan Williams  <dcbw@redhat.com>
15857
15858         Patch from j@bootlab.org
15859         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15860
15861         * configure.in: allow specifying the path to dhcdbd
15862
15863 2005-08-16  Robert Love  <rml@novell.com>
15864
15865         Patch from j@bootlab.org
15866         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15867           src/backends/interface_parser.h: Debian dialup support.
15868
15869 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15870
15871         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15872         * gnome/applet/applet.c: Add some mnemonics for VPNC
15873
15874         * vpn-daemons/.cvsignore: fix this up a little bit
15875
15876 2005-08-16  Robert Love  <rml@novell.com>
15877
15878         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15879           support.
15880
15881 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15882
15883         * gnome/applet/applet.c: Split markup out of translatable strings
15884         and clean up logic a little bit.  (fixes #309012)
15885
15886 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15887
15888         * gnome/vpn-properties/nm-vpn-properties.c:
15889         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15890         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15891         Makeshift fix to remove newlines from translatable strings.
15892         Note that we now return an allocated string, so callers of
15893         get_confirmation_details () must now call g_free () on the
15894         result. (fixes #309033).
15895
15896 2005-08-12  Robert Love  <rml@novell.com>
15897
15898         * gnome/applet/applet-dbus.c: remove newlines from translatable
15899           strings--not needed here anyway. (fix b.g.o #309011)
15900         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15901
15902 2005-08-11  Robert Love  <rml@novell.com>
15903
15904         * gnome/applet/applet.c: mark string as translatable.
15905
15906 2005-08-11  Robert Love  <rml@novell.com>
15907
15908         * initscript/SUSE/networkmanager: update.
15909
15910 2005-08-11  Dan Williams  <dcbw@redhat.com>
15911
15912         * src/nm-dhcp-manager.c
15913                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15914                         an gateway returned from DHCP, try to use the address of the DHCP
15915                         server as the gateway instead.  Found by Ralf Ertzinger.
15916
15917 2005-08-10  Robert Love  <rml@novell.com>
15918
15919         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15920           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15921
15922 2005-08-10  Dan Williams  <dcbw@redhat.com>
15923
15924         Patch from Bill Moss <bmoss@clemson.edu>
15925         * Consolidate writes of access point information updates to the info daemon
15926                 so that we only do it when the connection to the access point was
15927                 successful.  Also consolidates updates to GConf in the Gnome applet.
15928
15929         * src/nm-netlink-monitor.c
15930                 - Silence compile warning when calling g_object_new()
15931
15932 2005-08-08  Dan Williams  <dcbw@redhat.com>
15933
15934         Patch from Steev <steev@steev.net>:
15935         * src/backends/NetworkManagerGentoo.c
15936                 - Stub new dialup backend functions
15937
15938 2005-08-08  Dan Williams  <dcbw@redhat.com>
15939
15940         Patch from Colin Slater:
15941         * src/backends/NetworkManagerGentoo.c
15942                 - (nm_system_update_dns): Fix exit status check for restarting
15943                         nscd
15944
15945 2005-08-05  Robert Love  <rml@novell.com>
15946
15947         * NetworkManager.h,
15948           gnome/applet/applet-dbus-devices.c,
15949           gnome/applet/applet-dbus-devices.h,
15950           gnome/applet/applet-dbus.c,
15951           gnome/applet/applet.c,
15952           gnome/applet/applet.h,
15953           src/NetworkManager.c,
15954           src/NetworkManagerMain.h,
15955           src/NetworkManagerSystem.h,
15956           src/backends/NetworkManagerRedHat.c,
15957           src/backends/NetworkManagerSuSE.c,
15958           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15959
15960 2005-08-05  Robert Love  <rml@novell.com>
15961
15962         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15963           machine's hostname to make adhoc creation idiot-proof.
15964
15965 2005-08-04  Robert Love  <rml@novell.com>
15966
15967         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15968           freed.
15969
15970 2005-08-04  Dan Williams  <dcbw@redhat.com>
15971
15972         * gnome/applet/applet-dbus-info.c
15973           gnome/applet/applet-dbus-info.h
15974                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15975                         to store key, key type, and auth method rather than just auth method
15976                 - (nmi_dbus_update_network_info): new function
15977                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15978
15979         * gnome/applet/passphrase-dialog.c
15980                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15981                         of saving the info ourselves
15982
15983         * gnome/libnm_glib/libnm_glib.c
15984                 - Remove the stupid version check for dbus
15985
15986         * src/NetworkManagerAP.c
15987           src/NetworkManagerAP.h
15988                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15989
15990         * src/NetworkManagerDbus.c
15991           src/NetworkManagerDbus.h
15992                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15993                         more than just the auth method
15994
15995         * src/NetworkManagerDevice.c
15996                 - Update network info at the appropriate times
15997
15998 2005-07-29  Ray Strode  <rstrode@redhat.com>
15999
16000         * src/NetworkManager.c (nm_info_handler): don't use input as format
16001         string (Spotted by Ian Jackson).
16002
16003 2005-07-27  Dan Williams  <dcbw@redhat.com>
16004
16005         * src/nm-dbus-nm.c
16006           src/nm-dbus-net.c
16007                 - Random cleanups of spacing
16008
16009         * gnome/applet/applet.h
16010           gnome/applet/other-network-dialog.c
16011           gnome/applet/passphrase-dialog.c
16012                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16013
16014         Patch from Bill Moss:
16015                 - Make Other Wireless Networks work again with encryption keys
16016
16017 2005-07-26  Dan Williams  <dcbw@redhat.com>
16018
16019         Patch from Steev <steev@steev.net>:
16020         * src/backends/NetworkManagerGentoo.c
16021           src/backends/Makefile.am
16022                 - Fix up Gentoo backend
16023
16024 2005-07-26  Robert Love  <rml@novell.com>
16025
16026         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16027
16028 2005-07-25  Robert Love  <rml@novell.com>
16029
16030         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16031           in the same group as the wireless networks, since they are all
16032           mutually exclusive.
16033
16034 2005-07-24  Ray Strode  <rstrode@redhat.com>
16035
16036         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16037         remove unneeded NULL arg from g_object_new().  Any
16038         warnings caused by not having the extra NULL are just a
16039         result of a bug in glib 2.7.0 - 2.7.2.
16040
16041 2005-07-22  Robert Love  <rml@novell.com>
16042
16043         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16044
16045 2005-07-22  Robert Love  <rml@novell.com>
16046
16047         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16048           parameters (gcc 4.0.2 warning fix).
16049
16050 2005-07-18  Robert Love  <rml@novell.com>
16051
16052         Suggested by Aaron Bockover (abockover@novell.com)
16053         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16054           s/Ascii/ASCII
16055         * gnome/applet/passphrase-dialog.c: ditto
16056         * gnome/applet/wireless-applet.glade: ditto
16057
16058 2005-07-13  Dan Williams  <dcbw@redhat.com>
16059
16060         Patch from Ray Strode <halfline@gmail.com>
16061         * vpn-daemons/vpnc/nm-vpnc-service.c
16062                 - Don't let vpnc daemonize, fixes some races with PID file reading
16063
16064 2005-07-13  Dan Williams  <dcbw@redhat.com>
16065
16066         Patch from Ray Strode <halfline@gmail.com>
16067         * Random cleanups for strict CFLAGS
16068
16069 2005-07-07  Dan Williams  <dcbw@redhat.com>
16070
16071         Patch from Derek Atkins <warlord@MIT.EDU>
16072         * src/nm-dbus-net.c:
16073                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16074
16075 2005-07-07  Dan Williams  <dcbw@redhat.com>
16076
16077         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16078         * src/backends/NetworkManagerGentoo.c
16079                 - Gentoo backend Static IP nameserver fixes
16080                 - General Gentoo backend goodness
16081
16082 2005-07-07  Dan Williams  <dcbw@redhat.com>
16083
16084         Patch from Bastien Nocera:
16085         * gnome/applet/applet.c
16086                 - Fix up error reporting when icons or glade files are missing
16087
16088 2005-07-07  Robert Love  <rml@novell.com>
16089
16090         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16091           are not any VPN connections above it.
16092
16093 2005-07-07  Robert Love  <rml@novell.com>
16094
16095         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16096
16097 2005-07-05  Robert Love  <rml@novell.com>
16098
16099         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16100           zero.
16101
16102 2005-07-05  Robert Love  <rml@novell.com>
16103
16104         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16105           on wired or unencrypted wireless.
16106
16107 2005-07-01  Robert Love  <rml@novell.com>
16108
16109         * src/NetworkManagerSystem.c: Print the error via strerror().
16110
16111 2005-06-30  Robert Love  <rml@novell.com>
16112
16113         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16114           then exit if the glade file is not found.  currently the application
16115           just hangs.
16116
16117 2005-06-30  Robert Love  <rml@novell.com>
16118
16119         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16120           explicitly up all interfaces on wake from sleep.
16121
16122 2005-06-30  Robert Love  <rml@novell.com>
16123
16124         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16125           with information about the currently active connection.
16126         * gnome/applet/applet.h: (ditto)
16127         * gnome/applet/wireless-applet.glade: (ditto), new file
16128
16129 2005-06-30  Robert Love  <rml@novell.com>
16130
16131         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16132         * src/nm-dbus-nm.c: print when we sleep and wake up.
16133         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16134         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16135           in /sbin unless D-BUS is, folks).
16136         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16137
16138 2005-06-27  Robert Love  <rml@novell.com>
16139
16140         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16141           case.
16142
16143 2005-06-27  Robert Love  <rml@novell.com>
16144
16145         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16146           items radios.
16147
16148 2005-06-26  Robert Love  <rml@novell.com>
16149
16150         * src/NetworkManagerDevice.c: be specific about which device in
16151           nm_info() message.
16152
16153 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16154
16155         * src/nm-netlink-monitor.c: correct spelling error.
16156
16157 2005-06-23  Robert Love  <rml@novell.com>
16158
16159         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16160         * gnome/applet/passphrase-dialog.c: more of that keyring!
16161
16162 2005-06-23  Robert Love  <rml@novell.com>
16163
16164         * configure.in: remove extraneous GNOMEKEYRING directives.
16165         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16166         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16167         * gnome/applet/passphrase-dialog.c: whitespace.
16168
16169 2005-06-23  Robert Love  <rml@novell.com>
16170
16171         * src/NetworkManagerDevice.c: division in assignment was flipped.
16172
16173 2005-06-23  David Zeuthen  <david@fubar.dk>
16174
16175         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16176         signal to the child to indicate that we got what we wanted when we
16177         see two new-lines right after each other.
16178         (nmwa_vpn_request_password): Pass a structure with several members
16179         instead of just the passwords
16180
16181 2005-06-23  Dan Williams <dcbw@redhat.com>
16182
16183         * src/NetworkManager.c
16184           src/NetworkManagerMain.h
16185                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16186                 - (nm_hal_init): new function, init libhal context then add devices
16187                 - (nm_hal_deinit): new function, clean up libhal context
16188                 - (nm_data_free): Move Hal cleanup here
16189                 - (main): check whether Hal is running, and if so, get a list of
16190                         network devices from it
16191
16192         * src/NetworkManagerDbus.c
16193                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16194                         and when it appears, get a list of network devices from it.  If
16195                         Hal goes away, clean up the libhal context
16196
16197 2005-06-22  Robert Love  <rml@novell.com>
16198
16199         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16200           permissions of scripts before executing.
16201
16202 2005-06-21  Robert Love  <rml@novell.com>
16203
16204         * initscript/SUSE/networkmanager: update.
16205         * src/backends/NetworkManagerSuSE.c: cleanup.
16206
16207 2005-06-21  Robert Love <rml@novell.com>
16208
16209         * gnome/applet/applet.c: use menu mnemonics.
16210         * gnome/applet/menu-items.c: (ditto)
16211
16212 2005-06-21  Robert Love  <rml@novell.com>
16213
16214         * applet/applet-dbus-devices.c: mark non-static functions static.
16215         * applet/applet-dbus-vpn.c: (ditto)
16216         * applet/applet.c: (ditto)
16217         * applet/nm-device.h: (ditto)
16218         * applet/other-network-dialog.c: (ditto)
16219         * applet/passphrase-dialog.c: (ditto)
16220         * NetworkManager.c: (ditto)
16221         * NetworkManagerDbus.c: (ditto)
16222         * NetworkManagerDevice.c: (ditto)
16223         * NetworkManagerPolicy.c: (ditto)
16224         * NetworkManagerUtils.c: (ditto)
16225         * NetworkManagerWireless.c: (ditto)
16226         * NetworkManagerWireless.h: (ditto)
16227         * nm-netlink-monitor.c: (ditto)
16228         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16229         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16230         * autoip.c: include autoip.h.
16231         * autoip.h: new file.  define get_autoip().
16232         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16233         * NetworkManagerDbus.h: remove duplicate definitions.
16234
16235 2005-06-20  Robert Love  <rml@novell.com>
16236
16237         * Makefile.am: Add missing intltool-foo.in generated files to
16238           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16239           with the start of stuff to cleanup on 'distclea'.
16240         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16241           stuff right and 'distcheck' works.
16242         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16243           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16244           Makefile.am for each.  And systray/Makefile needs to be redone.
16245
16246 2005-06-19  Dan Williams <dcbw@redhat.com>
16247
16248         * src/NetworkManagerDevice.c
16249         - (nm_device_wireless_process_scan_results): scan every 20s when
16250           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16251
16252 2005-06-19  Dan Williams <dcbw@redhat.com>
16253
16254         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16255
16256 2005-06-18  Ray Strode <rstrode@redhat.com>
16257
16258         * src/nm-netlink-monitor.c 
16259         (nm_netlink_monitor_event_handler): check for the presence
16260         of either error condition not both. 
16261         
16262         (nm_netlink_monitor_error_handler): emit error signal if
16263         error occurs.
16264
16265         (nm_netlink_monitor_event_handler),
16266         (nm_netlink_monitor_error_handler),
16267         (nm_netlink_monitor_disconnect_handler): if an 
16268         assertion fails disconnect the event handler to prevent 
16269         infinite loops.
16270
16271         * src/nm-netlink-monitor.h: add new error condition
16272         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16273
16274 2005-06-18  Ray Strode <rstrode@redhat.com>
16275
16276         * src/nm-netlink-monitor.c 
16277         (nm_netlink_monitor_event_handler): remove bogus < 0
16278         check on unsigned value and return early if the kernel
16279         didn't send any bytes.
16280
16281 2005-06-17  Robert Love  <rml@novell.com>
16282
16283         * initscript/SUSE/networkmanager: Change the Provides and default
16284         run levels
16285
16286 2005-06-16  Dan Williams <dcbw@redhat.com>
16287
16288         Patch from Robert Love:
16289         * gnome/applet/applet.c
16290                 - Beautify some applet menu item names
16291
16292 2005-06-17  David Zeuthen  <davidz@redhat.com>
16293
16294         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16295         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16296         Also add new methods can_export, import_file and export.
16297
16298         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16299         to the main UI
16300
16301         * gnome/vpn-properties/nm-vpn-properties.c:
16302         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16303         nm-vpn-ui-interface.h.
16304         (update_edit_del_sensitivity): Also update "Export" sensitivity
16305         (add_vpn_connection): Also add new SVC_NAME column
16306         (import_settings): New function
16307         (retrieve_data_from_selected_connection): New function
16308         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16309         this function
16310         (export_cb): New function
16311         (init_app): Also setup the "export" widget
16312         (main): Support the --import-service and --import-file commandline
16313         arguments
16314
16315         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16316         D-BUS 0.34
16317
16318 2005-06-16  Dan Williams <dcbw@redhat.com>
16319
16320         Patch from Robert Love:
16321         * gnome/applet/menu-items.c
16322                 - (network_menu_item_new): pass -1 as wireless network
16323                         menu items height size request rather than ascent / 2
16324
16325 2005-06-16  Dan Williams <dcbw@redhat.com>
16326
16327         * Clean up wording in Wireless Scan Methods menu items and constants
16328
16329 2005-06-16  Robert Love  <rml@novell.com>
16330
16331         * po/POTFILES.in
16332                 - remove gtkcell* files
16333
16334 2005-06-15  Dan Williams <dcbw@redhat.com>
16335
16336         Patch from Robert Love: make the applet stetic
16337
16338         * gnome/applet/Makefile.am
16339                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16340
16341         * gnome/applet/gtkcellview.h
16342           gnome/applet/gtkcellview.c
16343           gnome/applet/gtkcellrendererprogress.h
16344           gnome/applet/gtkcellrendererprogress.c
16345                 - Removed
16346
16347         * gnome/applet/menu-items.c
16348                 - Progress bars are 5:1 size ratio
16349                 - Use GTK progress bars rather than internal ones
16350
16351 2005-06-15  Dan Williams <dcbw@redhat.com>
16352
16353         Patch from Robert Love:
16354         * initscript/SUSE/networkmanager
16355                 - Fix typo
16356
16357 2005-06-15  Dan Williams <dcbw@redhat.com>
16358
16359         * src/backends/NetworkManagerSuSE.c
16360           src/backends/NetworkManagerRedHat.c
16361           src/backends/NetworkManagerDebian.c
16362                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16363
16364 2005-06-15  Dan Williams <dcbw@redhat.com>
16365
16366         * src/backends/NetworkManagerDebian.c
16367                 - Add nm_system_device_get_use_dhcp() to debian backend
16368
16369         Patch from Kay Sievers:
16370         * src/backends/NetworkManagerSuSE.c
16371                 - Update debian backend for static IP nameservers
16372
16373         * src/NetworkManagerDevice.c
16374                 - Actually set the device to use static IP or DHCP rather
16375                         than always DHCP
16376
16377 2005-06-15  Dan Williams <dcbw@redhat.com>
16378
16379         Patch from Thom May:
16380         * src/backends/NetworkManagerDebian.c
16381                 - Update debian backend for static IP nameservers
16382
16383 2005-06-15  Dan Williams <dcbw@redhat.com>
16384
16385         Patches from Robert Love:
16386         * gnome/applet/wireless-applet.glade
16387                 - Tighten up wording
16388
16389         * src/NetworkManagerDevice.c
16390                 - Remove misplaced ';'
16391
16392         * configure.in
16393           initscript/Makefile.am
16394           initscript/SUSE/Makefile.am
16395           initscript/SUSE/networkmanager
16396                 - Add SUSE initscript
16397
16398 2005-06-12  David Zeuthen  <davidz@redhat.com>
16399
16400         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16401
16402         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16403
16404         * gnome/vpn-properties/nm-vpn-properties.c: New file
16405
16406         * gnome/vpn-properties/Makefile.am: New file
16407
16408         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16409         array of passwords
16410
16411         * src/vpn-manager/nm-vpn-manager.c
16412         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16413         instead of just a single one
16414
16415         * src/vpn-manager/nm-dbus-vpn.c:
16416         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16417         here
16418         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16419
16420         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16421         Change the interface here to give a list of passwords. Also, don't
16422         require username, but do require service
16423
16424         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16425         the binary for the auth-dialog and use that instead of putting up a
16426         dialog asking for a single password
16427
16428         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16429         however do remember the service
16430
16431         * gnome/applet/main.c (main): Setup i18n
16432
16433         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16434         connection to '%s'" to the tooltip if we are connected using VPN
16435         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16436         key to determine whether we the auth-dialog needs to
16437         reprompt. Also cope with the fact that the auth-dialog now returns
16438         an array of passwords.
16439         (nmwa_menu_configure_vpn_item_activate): New handler for
16440         "Configure VPN..." menu item
16441         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16442         (is_vpn_available): New function to determine if we got any
16443         NM-compatible VPN software installed
16444         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16445         items only if we have NM-compatible VPN software installed
16446         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16447         logic for detecting when VPN connections are removed
16448
16449         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16450         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16451         since these are defined elsewhere
16452
16453         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16454         function used to keep track of whether the last attempt succeded
16455         (nmwa_dbus_filter): Update last_attempt according to whether the
16456         VPN connection could be established or not
16457
16458         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16459         Change prototype to take an array of passwords, not just a single
16460         password
16461
16462         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16463         update service, not user
16464         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16465         dbus_active_vpn_name is not NULL before using it
16466         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16467         string array instead of assuming a single password
16468
16469         * gnome/applet/applet-dbus-info.c:
16470         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16471         user name; don't read from gconf
16472
16473         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16474         VPN_NAME_FILES_DIR
16475
16476         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16477
16478         * configure.in: Add checks for gmodule-2.0.
16479         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16480         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16481         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16482         for details
16483
16484         * vpn-daemons/Makefile.am: Removed
16485
16486         * vpn-daemons/README: New file to describe extensions points for VPN
16487         software
16488
16489 2005-06-10  Dan Williams <dcbw@redhat.com>
16490
16491         * src/backends/NetworkManagerRedHat.c
16492                 - (get_current_profile_name): new function, grab current network profile name from
16493                         /etc/sysconfig/network
16494                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16495                         update an IP4 Config structure's settings from it
16496                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16497                         get DNS info from current network profile
16498
16499 2005-06-09  Dan Williams <dcbw@redhat.com>
16500
16501         Patch from Robert Love:
16502         * src/NetworkManagerDevice.c
16503           src/NetworkManagerUtils.c
16504                 - 64-bit build fixes
16505
16506 2005-06-09  Dan Williams <dcbw@redhat.com>
16507
16508         Patch from Kay Sievers and Robert Love:
16509         * configure.in
16510           src/backends/Makefile.am
16511           src/backends/NetworkManagerSuSE.c
16512                 - Add SuSE support
16513
16514 2005-06-09  Dan Williams <dcbw@redhat.com>
16515
16516         * NetworkManager.h
16517                 - Add NMWirelessScanMethod enum for scan methods
16518
16519         * gnome/applet/applet-dbus-devices.c
16520                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16521                 - (nmwa_dbus_update_scanning_enabled): remove
16522                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16523                         since it got removed
16524                 - (nmwa_dbus_enable_scanning): remove
16525
16526         * gnome/applet/applet-dbus-info.c
16527                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16528                         update the wireless scanning method from NMI
16529                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16530                         method value to NetworkManager
16531                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16532
16533         * gnome/applet/applet-dbus-info.h
16534                 - Add prototype for nmi_dbus_signal_update_scan_method
16535
16536         * gnome/applet/applet.c
16537                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16538                         Wireless Scanning menu based on current wireless scan method
16539                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16540                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16541                         and update our menu items to make sure the right one is checked
16542                 - (nmwa_set_scanning_enabled_cb): remove
16543                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16544                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16545                         Scanning menu item
16546                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16547                         from GConf
16548                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16549                         so we get notified of preference values too
16550                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16551
16552         * gnome/applet/applet.h
16553                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16554                 - Add wireless scan method member to applet data
16555                 - Remove pause_scanning_item, add Wireless Scanning submenu
16556
16557         * src/NetworkManager.c
16558                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16559                 - (main): grab scanning method from NMI if we can
16560
16561         * src/NetworkManagerDbus.c
16562                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16563                         nm_dbus_update_wireless_scan_method()
16564                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16565                         from NMI
16566                 - (nm_dbus_nmi_is_running): redundant function, removed
16567                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16568                         when NMI comes back
16569
16570         * src/NetworkManagerDevice.c
16571                 - (nm_device_is_activated): return TRUE if the device is activated
16572                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16573                         and we are activated
16574
16575         * src/nm-dbus-nm.c
16576                 - (nm_dbus_nm_set_scanning_enabled): removed
16577                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16578                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16579
16580 2005-06-09  Dan Williams <dcbw@redhat.com>
16581
16582         * NetworkManager.h
16583           src/vpn-manager/nm-vpn-service.c
16584                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16585
16586 2005-05-27  Dan Williams <dcbw@redhat.com>
16587
16588         * vpn-daemons/vpnc/nm-vpnc-service.c
16589                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16590                         Should fix the bug where the VPN connection terminates the first time.
16591
16592 2005-05-20  Dan Williams <dcbw@redhat.com>
16593
16594         * NetworkManager.h
16595                 - Differentiate VPN config signals between bad VPN config options
16596                         and bad IP config
16597
16598         * gnome/applet/applet-dbus-info.h
16599                 - Add prototypes for wireless network and vpn connection update functions
16600
16601         * gnome/applet/applet-dbus.c
16602                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16603
16604         * gnome/applet/applet.c
16605                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16606                         error signals
16607                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16608                         propogation to NetworkManager
16609                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16610                         notify propogation to NetworkManager
16611
16612         * src/NetworkManagerDbus.c
16613                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16614                         are updating so a network can be removed from it if necessary
16615
16616         * src/vpn-manager/nm-vpn-manager.c
16617                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16618
16619         * vpn-daemons/vpnc/nm-vpnc-service.c
16620                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16621                 - (nm_vpnc_dbus_signal_launch_failed): remove
16622                 - (nm_vpnc_dbus_signal_connect_failed): remove
16623                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16624                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16625                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16626                         for new generalized error signal function, remove config file stuff
16627                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16628                         we can write configuration options to it
16629                 - (nm_vpnc_config_file_generate): removed
16630                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16631                 - (nm_vpnc_config_options_validate): validate the config options we receive
16632                         from NetworkManager to block potential exploits
16633                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16634                         starting vpnc
16635                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16636                         to NetworkManager
16637
16638 2005-05-16  Dan Williams  <dcbw@redhat.com>
16639
16640         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16641                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16642                         is not "connect"
16643
16644 2005-05-16  Dan Williams  <dcbw@redhat.com>
16645
16646         Patch from Tomislav Vujec <tvujec@redhat.com>
16647         * gnome/applet/applet-dbus-info.c
16648                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16649                         GConf and pass them to NetworkManager.  New key is 'routes' under
16650                         the VPN connection, and should be a string list
16651
16652         * src/NetworkManagerSystem.c
16653                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16654                         set them on the device when we set the rest of the VPN config.  Ensure
16655                         they are in the correct format since they are passed directly to the
16656                         command line.
16657
16658         * src/backends/NetworkManagerRedHat.c
16659           src/backends/NetworkManagerDebian.c
16660                 - (nm_system_device_add_route_via_device_with_iface): new function
16661
16662         * src/vpn-manager/nm-dbus-vpn.c
16663                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16664
16665         * src/vpn-manager/nm-vpn-manager.c
16666                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16667                         them into the IP4 config functions
16668
16669 2005-05-15  Dan Williams  <dcbw@redhat.com>
16670
16671         From Filip Miletic:
16672         * po/sr.po
16673           po/sr@Latn.po
16674           configure.in
16675                 - Serbian translation added
16676
16677 2005-05-15  Dan Williams  <dcbw@redhat.com>
16678
16679         * dispatcher-daemon/NetworkManagerDispatcher.c
16680                 - (main): sync arguments with NetworkManager and the applet, now use
16681                         "--no-daemon" rather than "daemon=no"
16682                 - (nmd_print_usage): Fix script path in usage message
16683
16684 2005-05-15  Dan Williams  <dcbw@redhat.com>
16685
16686         * src/NetworkManagerDevice.[ch]
16687           src/NetworkManagerPolicy.c
16688           src/NetworkManager.c
16689           src/nm-dbus-nm.c
16690                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16691                         longer send the DeviceNoLongerActive signal unconditionally, but only
16692                         when the device is actually active.
16693
16694         * dispatcher-daemon/NetworkManagerDispatcher.c
16695                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16696                         and simplify the logic
16697                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16698                         we free it later on
16699
16700         * initscript/RedHat/Makefile.am
16701           initscript/RedHat/NetworkManagerDispatcher
16702                 - Add initscript for NetworkManagerDispatcher
16703
16704
16705         Patch from Bill Moss:
16706         * dispatcher-daemon/NetworkManagerDispatcher.c
16707                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16708
16709         * src/NetworkManagerDbus.c
16710                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16711                         and DeviceNowActive gets signaled, then the device has a new IP address
16712                         anyway.  There's no need for a separate signal.
16713
16714         * src/NetworkManagerDevice.c
16715                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16716
16717         * src/NetworkManagerPolicy.c
16718                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16719                         activates successfully.  This kind of went missing when I reworked the
16720                         activation code.
16721
16722 2005-05-15  Dan Williams  <dcbw@redhat.com>
16723
16724         * configure.in
16725                 - Check for dhcdbd and error if its not found
16726
16727         * src/dhcp-manager/Makefile.am
16728           src/dhcp-manager/nm-dhcp-manager.c
16729                 - Use path to dhcdbd that configure found
16730
16731 2005-05-14  Dan Williams  <dcbw@redhat.com>
16732
16733         * gnome/applet/nm-device.c
16734                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16735                         sort wireless networks alphabetically
16736
16737         * gnome/applet/applet-dbus-devices.c
16738                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16739                         before copying them over to the GUI
16740
16741 2005-05-14  Dan Williams  <dcbw@redhat.com>
16742
16743         * src/NetworkManager.c
16744                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16745                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16746                         the device list, as does nm_get_active_device() which is called from
16747                         nm_vpn_manager_deactivate_vpn_connection().
16748
16749 2005-05-14  Dan Williams  <dcbw@redhat.com>
16750
16751         * NetworkManager.h
16752                 - Add signals for VPN Launch and Connect failures
16753
16754         * gnome/applet/applet-dbus.c
16755                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16756
16757         * gnome/applet/applet.c
16758                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16759                         function to handle all VPN failure messages
16760                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16761                         function to hanlde all VPN failure  messages
16762                 - (show_warning_dialog): work around focus-stealing prevention
16763
16764         * gnome/applet/other-network-dialog.c
16765           gnome/applet/passphrase-dialog.c
16766                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16767                         problem where it never enabled for ASCII Key and Hex Key types
16768
16769         * gnome/applet/wireless-applet.glade
16770                 - Add window title to Other Wireless Network Dialog
16771
16772         * src/vpn-manager/nm-dbus-vpn.c
16773                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16774                         function to handle all VPN failure messages
16775
16776         * src/vpn-manager/nm-vpn-manager.c
16777                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16778
16779         * vpn-daemons/vpnc/nm-vpnc-service.c
16780                 - (nm_vpnc_dbus_signal_launch_failed): new function
16781                 - (nm_vpnc_dbus_signal_connect_failed): new function
16782                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16783                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16784                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16785                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16786
16787 2005-05-11  Dan Williams  <dcbw@redhat.com>
16788
16789         * vpn-daemons/vpnc/nm-vpnc-service.c
16790                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16791                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16792                         file exists before trying to write it out.
16793
16794 2005-05-10  Dan Williams  <dcbw@redhat.com>
16795
16796     * gnome/applet/applet-dbus-device.c
16797         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16798             prevented just entering ESSID and leaving key and key type up to
16799             NetworkManager (which should have them already cached)
16800
16801 2005-05-08  Dan Williams  <dcbw@redhat.com>
16802
16803         * src/NetworkManagerPolicy.c
16804                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16805                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16806                         fix a situation where NM is told to terminate and the device stops activation,
16807                         but the main thread isn't aware of that because it would never have run
16808                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16809                         had already quit.
16810
16811         * src/NetworkManagerDevice.c
16812                 - (nm_device_probe_wired_link_state): cosmetic fixes
16813                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16814                         we've failed to activate or been canceled.
16815                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16816
16817 2005-05-08  Dan Williams  <dcbw@redhat.com>
16818
16819         * src/NetworkManagerWireless.c
16820                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16821                         value of WEXT quality structures, and add a debug message when we cannot
16822                         determine any quality % at all
16823
16824 2005-05-08  Dan Williams  <dcbw@redhat.com>
16825
16826         * src/dhcp-manager/nm-dhcp-manager.c
16827                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16828                         it goes down.
16829
16830 2005-05-06  Dan Williams  <dcbw@redhat.com>
16831
16832         * gnome/applet/applet-dbus-device.c
16833           gnome/applet/applet-dbus-info.c
16834           gnome/applet/applet-dbus.c
16835           gnome/applet/applet.c
16836           gnome/applet/applet.h
16837                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16838
16839         * gnome/applet/applet-dbus.c
16840                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16841                         so we notice when wired device's carriers come back on.  Should
16842                         fix issue with wired devices being grayed out even if the cable
16843                         is in, for devices that support carrier detection.
16844
16845         * gnome/applet/applet.c
16846                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16847                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16848                         tooltip message
16849                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16850                         Fix situation where applet wouldn't respond to menu selections
16851
16852         * src/NetworkManager.c
16853           src/NetworkManagerDevice.c
16854           src/NetworkManagerDbus.c
16855           src/NetworkManagerDbus.h
16856                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16857
16858         * src/NetworkManagerDbus.c
16859                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16860                         Remove, no longer used or relevant
16861                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16862                 - (nm_dbus_schedule_device_status_change_signal): add
16863
16864         * src/NetworkManagerDevice.c
16865                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16866                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16867                         ie don't deactivate them unless explicitly told to by the user.  Also send
16868                         CARRIER_OFF / CARRIER_ON signals when link changes
16869                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16870                         Don't print error message when device is no longer around
16871                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16872                         not just during activation
16873
16874         * src/NetworkManagerPolicy.c
16875                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16876                         auto-device-selection.
16877                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16878
16879         * src/NetworkManagerSystem.c
16880                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16881                         is no longer present (Bill Moss)
16882
16883         * src/backends/shvar.c
16884                 - (svOpenFile): Open read-only to make SELinux happy
16885
16886         * src/backends/NetworkManagerRedHat.c
16887                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16888                         the path to the ifcfg-* files
16889
16890 2005-05-05  Dan Williams  <dcbw@redhat.com>
16891
16892         * Expose activation stages to NetworkManager clients, like the applet
16893         * Add Diana's progress icons to the applet, cued off NM activation stage
16894         * Use more descriptive tooltips, cued off NM activation stage
16895
16896 2005-05-05  Ray Strode  <rstrode@redhat.com>
16897
16898         * src/nm-netlink-monitor.c:
16899                 - Use clear_event_source instead of g_nullify_pointer() again.
16900
16901 2005-05-05  Dan Williams  <dcbw@redhat.com>
16902
16903         * gnome/applet/main.c
16904                 - Fix session management so the applet is actually managed now
16905
16906         * gnome/applet/passphrase-dialog.c
16907                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16908
16909 2005-05-05  Dan Williams  <dcbw@redhat.com>
16910
16911         Patch from Bill Moss:
16912         * gnome/libnm_glib/libnm_glib.c
16913                 - Fix for dbus-0.33
16914
16915 2005-05-05  Dan Williams  <dcbw@redhat.com>
16916
16917         Suggestion from Bill Moss:
16918         * src/NetworkManagerSystem.c
16919                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16920
16921
16922         * src/NetworkManager.c
16923                 - (nm_data_free): move destruction of the various managers after
16924                         release of device list, because deactivating and freeing a device
16925                         requires at least the named manager
16926                 - (nm_poll_and_update_wireless_link_state):
16927                   (nm_device_link_activated):
16928                   (nm_device_link_deactivated):
16929                         don't grab the device list lock when actually updating device
16930                         link status or strength, since nm_device_set_link_active()
16931                         needs to call nm_get_active_device(), which also locks the device list.
16932
16933         * src/NetworkManagerDevice.c
16934                 - (nm_device_set_link_active): if a device's link switches from off->on,
16935                         and it's wired, and the active device is wireless (or there is no
16936                         active device), activate the new device whose link just came on
16937                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16938                         my only calling the link to the current ap "failed" when more than 2
16939                         consecutive link checks have failed
16940
16941 2005-05-04  Dan Williams  <dcbw@redhat.com>
16942
16943         * src/NetworkManagerDevice.c
16944                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16945                         but let link_to_specific_ap() do the locking where it needs
16946
16947         Patch from Bill Moss:
16948         * src/NetworkManagerSystem.c
16949                 - Set MTU of VPN devices to 1412
16950
16951 2005-05-04  Dan Williams  <dcbw@redhat.com>
16952
16953         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16954
16955         * Fix some holes in device activation and retaining the currently connected
16956                 access point
16957
16958 2005-05-03  Dan Williams  <dcbw@redhat.com>
16959
16960         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16961           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16962           means you need dhcdbd, which you can get here (get the latest one):
16963
16964                 http://people.redhat.com/jvdias/dhcdbd/
16965
16966           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16967           interface as dhcdbd.
16968
16969         * Rewrite device activation to facilitate the new DHCP infrastructure and
16970           future improvements.  Its now "activation request" based, ie there is a single
16971           activation request composed of the device, access point, and other info which
16972           follows the entire activation process.  There are 5 stages of the activation
16973           process which correspond to:
16974
16975                 1) Device preparation
16976                 2) Device configuration (bring it up, set ESSID/Key/etc)
16977                 3) IP Config Start (fire off DHCP if we're using it)
16978                 4) IP Config Get (grab config from DHCP or static config files)
16979                 5) IP Config Commit (set device's IP address, DNS, etc)
16980
16981           Note that there is no longer a "scanning" step, since the access point must
16982           be known _before_ activation starts.  If the access point drops out or does
16983           not exist for some reason, the entire activation process fails and must be
16984           restarted for a different access point or device.
16985
16986         Patch from Bill Moss:
16987         * gnome/applet/applet.c
16988                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16989
16990 2005-04-27  Dan Williams  <dcbw@redhat.com>
16991
16992         * gnome/applet/applet-dbus-vpn.c
16993           gnome/applet/applet.c
16994           gnome/applet/applet.h
16995                 - Fix up active VPN handling so that we reliably know when a VPN
16996                         connection has been deactivated
16997
16998         * src/vpn-manager/nm-vpn-manager.c
16999                 - Remove duplicate VPNConnectionChange signal
17000
17001 2005-04-27  Dan Williams  <dcbw@redhat.com>
17002
17003         Patch from Peter Jones:
17004         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17005
17006         Patch from Bill Moss:
17007         * src/NetworkManagerSystem.c
17008                 - Fix checking of return value from ioctl()
17009
17010 2005-04-27  Dan Williams  <dcbw@redhat.com>
17011
17012         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17013         * Warn and exit if icons cannot be found
17014
17015 2005-04-27  Dan Williams  <dcbw@redhat.com>
17016
17017         Patch from Tom Parker:
17018         * Update debian backend
17019
17020 2005-04-27  Dan Williams  <dcbw@redhat.com>
17021
17022         * Merge the applet and the info-daemon, and move the converged
17023                 applet under gnome/applet
17024         * Move libnm_glib to gnome/libnm_glib
17025         * Convert most dbus calls between the applet, info-daemon, and NM
17026                 into async calls
17027         * Fix a few things valgrind noticed
17028         * Make NM broadcast state more reliably
17029
17030 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17031
17032         * configure.in: Added ne in ALL_LINGUAS
17033
17034 2005-04-15  Dan Williams  <dcbw@redhat.com>
17035
17036         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17037                 code for dbus 0.2x versions
17038
17039 2005-04-15  Dan Williams  <dcbw@redhat.com>
17040
17041         Patches from Tom Parker:
17042         - Fix memleaks
17043         - Join with worker thread rather than polling for its exit
17044
17045         Patch from Bill Moss:
17046         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17047
17048 2005-04-15  Dan Williams  <dcbw@redhat.com>
17049
17050         - Fixes to pass 'make distcheck'
17051
17052 2005-04-15  Dan Williams  <dcbw@redhat.com>
17053
17054         Initial VPN Support
17055                 - supports 'vpnc'
17056                 - reworks device IP configuration, backend files have changed and will need
17057                         to be updated for all distributions.  I will try to do what I can for
17058                         them, but I cannot test them.
17059
17060         - Move named directory to src/named-manager
17061         - Make backends directory self-contained
17062
17063 2005-04-06  Dan Williams  <dcbw@redhat.com>
17064
17065         Add debug code for socket/file descriptor leaks.  We register every socket
17066         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17067         list of sockets that we forgot to close on shutdown.  This also consolidates
17068         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17069
17070 2005-04-06  Dan Williams  <dcbw@redhat.com>
17071
17072         * dhcpcd/dhcpcd.c
17073                 - (dhcp_interface_free): fix a file descriptor leak that may have
17074                         caused network drivers to not unload due to refcounts > 0
17075
17076 2005-04-04  Dan Williams  <dcbw@redhat.com>
17077
17078         * panel-applet/NMWirelessAppletDbus.c
17079                 - (nmwa_dbus_call_nm_method): remove some commented code
17080
17081         * src/NetworkManagerAPList.[ch]
17082                 - (nm_ap_list_remove_ap_by_essid): new function
17083
17084         * src/NetworkManagerDevice.c
17085                 - (nm_device_wireless_force_use): remove access points from the ignore list
17086                         when the user forces them
17087
17088         * src/nm-dbus-device.c
17089                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17090
17091 2005-04-04  Dan Williams  <dcbw@redhat.com>
17092
17093         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17094
17095 2005-04-04  Dan Williams  <dcbw@redhat.com>
17096
17097         * src/NetworkManagerDevice.c:
17098                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17099                         of only erroring after the second consecutive scan times out.  Also
17100                         don't exit when the card requires more time than we can give it, just
17101                         log the event and continue.
17102
17103 2005-04-01  Steve Murphy  <murf@e-tools.com>
17104
17105         * configure.in: Added "rw" to ALL_LINGUAS.
17106
17107 2005-04-01  Dan Williams <dcbw@redhat.com>
17108
17109         Perform scans during device activation, if needed.  Both activation 
17110         and scans run in the same GMainContext.  Therefore, if an access point
17111         is not found by the time the device starts activation, it will not
17112         be available until after activation.  We now try to scan during
17113         activation (in nm_wa_test) every 15s so that all available access
17114         points are more likely to be found and available for the activation
17115         procedure.
17116
17117         Also change nm_wireless_link_state_handle() to only update the "best"
17118         AP if we are not forcing a device and if we are not about to change
17119         state.  This attempts to work around a race when forcing a device,
17120         where the forced AP would get cleared out too soon by the link state
17121         checking timeout in the main thread, and the activation attempt with
17122         that AP would fail.
17123
17124 2005-04-01  Dan Williams <dcbw@redhat.com>
17125
17126         * po/POTFILES.in
17127                 - Update with new translatables
17128
17129 2005-03-31  Dan Williams <dcbw@redhat.com>
17130
17131         * panel-applet/NMWirelessAppletDbus.c
17132                 - Fix device names now that hal has changed device parenting for
17133                         network devices.
17134
17135 2005-03-31  Dan Williams <dcbw@redhat.com>
17136
17137         Tighten up handling of wireless devices that don't support wireless
17138         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17139         hadn't been doing pseudo-scanning for a while either and would just
17140         spin waiting for an access point.  They are now manual devices where
17141         the user must choose the access point from the menu every time.  All
17142         "allowed" access points are listed in the applet's menu regardless
17143         of whether or not they can be seen by the card, since it can't scan
17144         anyway.
17145
17146         * src/NetworkManager.c
17147                 - (nm_wireless_link_state_handle): new function, but only update
17148                         the "best" ap for non-scanning devices when its not activating,
17149                         and when no device is being forced on the card
17150                 - (nm_link_state_monitor): split wireless link state handling out
17151                         into separate function
17152
17153         * src/NetworkManagerDevice.c
17154                 - (nm_device_copy_allowed_to_dev_list): new function
17155                 - (nm_device_new): populate non-scanning cards' AP lists with
17156                         access points from the "allowed" list
17157                 - (nm_device_new): don't start a scanning timeout for devices that
17158                         can't scan
17159                 - (nm_device_activation_schedule_finish): new parameter, should be
17160                         the AP that failed to be connected to, pass it on to the
17161                         activation finish function in NetworkManagerPolicy.c
17162                 - (nm_device_activate_wireless): don't ever try to get a new AP
17163                         for non-scanning devices, just fail.  The user must choose
17164                         a new access point manually.
17165                 - (nm_device_activate): grab the AP that failed connection and
17166                         pass it on
17167                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17168                         a link to it, user must manually choose a new one
17169                 - (nm_device_do_pseudo_scan): remove function
17170                 - (nm_device_wireless_process_scan_results): remove bits for non-
17171                         scanning cards since they never get here
17172                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17173                         and fake the scan list for test devices a bit earlier
17174
17175         * src/NetworkManagerPolicy.c
17176                 - (nm_policy_activation_finish): use the failed_ap that we get
17177                         passed rather than getting the best_ap from the card, which
17178                         may have changed since we were scheduled
17179                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17180                         update their scan list directly from the allowed list when
17181                         we get updates to the allowed list from NetworkManagerInfo
17182
17183         * src/NetworkManagerPolicy.h
17184                 - New member for failed access point in NMActivationResult
17185
17186   -------------------------------------
17187
17188         Driver Notification patch: notifies the user when their driver
17189                 sucks.  Gives them the option to ignore further insertions
17190                 of the card that has the sucky driver.
17191
17192         * NetworkManager.h
17193                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17194                         enum and replace it with NO_CARRIER_DETECT and
17195                         NO_WIRELESS_SCAN
17196
17197         * panel-applet/NMWirelessApplet.[ch]
17198                 - Merge essid.glade -> wireless-applet.glade
17199                 - Implement the "Your driver sucks" notification dialog
17200
17201         * panel-applet/NMWirelessAppletDbus.c
17202                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17203                 - Grab hardware address for each device from NM too
17204                 - Check whether the driver for each device sucks or not whenever
17205                         a new device is noticed
17206
17207         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17208                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17209
17210         * src/NetworkManager.c
17211                 - Fix a double-unref on device removal
17212
17213         * src/NetworkManagerUtils.c
17214                 - Set appropriate driver support level on a device that doesn't
17215                         support scanning or carrier detection
17216
17217         * src/nm-dbus-device.c
17218                 - New "getHWAddress" dbus method on devices
17219                 - getSupportsCarrierDetect -> getDriverSupportLevel
17220
17221 2005-03-31  Dan Williams <dcbw@redhat.com>
17222
17223         * src/NetworkManagerDevice.c
17224                 - (nm_device_wireless_scan): Fix leak of scan results in some
17225                         instances
17226
17227 2005-03-29  Dan Williams <dcbw@redhat.com>
17228
17229         * src/NetworkManager.c
17230                 - (nm_poll_and_update_wireless_link_state): make code less indented
17231
17232         Patch from Bill Moss:
17233         * src/NetworkManager.c
17234                 - (nm_device_update_link_state): Update signal strength on wireless
17235                         devices every time we update link state too.
17236
17237 2005-03-29  Dan Williams <dcbw@redhat.com>
17238
17239         * src/NetworkManagerDevice.c
17240                 - (nm_device_set_essid): Work around Orinoco cards which need
17241                         extra time after setting the ESSID
17242
17243 2005-03-29  Dan Williams <dcbw@redhat.com>
17244
17245         * src/NetworkManagerDevice.c
17246                 - Merge one more bit of Peter Jones' completion patch
17247
17248 2005-03-29  Dan Williams <dcbw@redhat.com>
17249
17250         * src/NetworkManagerDevice.c
17251                 - (nm_device_force_use): Fix possible segfault
17252
17253 2005-03-29  Dan Williams <dcbw@redhat.com>
17254
17255         * src/NetworkManagerDevice.c
17256                 - Use iw_get_ext() where we should rather than iw_set_ext()
17257
17258 2005-03-29  Dan Williams <dcbw@redhat.com>
17259
17260         * src/NetworkManagerDevice.c
17261                 - (nm_device_set_up_down): remove check for unsupported devices
17262                         that caused NM to not bring devices up when they were
17263                         added to the device list.
17264
17265 2005-03-28  Dan Williams <dcbw@redhat.com>
17266
17267         * src/NetworkManagerDevice.c
17268                 - (mdio_read): Fix two bugs that caused all devices to fail
17269                         the MII carrier detection support checks
17270
17271 2005-03-26  Dan Williams <dcbw@redhat.com>
17272
17273         * src/NetworkManagerDevice.c
17274                 - (nm_device_wireless_scan): Remove duplicated scanning code
17275
17276 2005-03-25  Dan Williams <dcbw@redhat.com>
17277
17278         * panel-applet/NMWirelessApplet.c
17279                 - (nmwa_about_cb): Add some more contributors
17280                 - (nmwa_update_state): show the applet when there's no connection
17281                 - Enable the "Stop/Resume all wireless devices" option in the
17282                         context menu
17283                 - New "no connection" icon
17284
17285         * src/NetworkManager.c
17286                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17287                         wireless is disabled or we're asleep
17288
17289         * src/NetworkManagerDHCP.c
17290                 - Remove trailing "\n" on debug messages
17291
17292         * src/NetworkManagerDbus.c
17293                 - (nm_dbus_network_status_from_data): new state "asleep"
17294
17295         * src/NetworkManagerDevice.c
17296                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17297                         latency and wait times for most operations
17298                 - (nm_device_wireless_scan): Don't scan when asleep
17299
17300         * src/NetworkManagerPolicy.c
17301                 - (nm_policy_get_best_device): return no device when asleep
17302                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17303                         for all wireless devices on update, not just active device
17304
17305         * src/NetworkManagerUtils.c
17306                 - Merge Peter Jones' "completion" patch
17307
17308         * src/nm-dbus-nm.c
17309                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17310                         we're told to disable them
17311                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17312
17313         * utils/nm-utils.h
17314                 - New variants of the warn/info/error/debug print functions that can take
17315                         variables rather than static strings
17316
17317 2005-03-24  Dan Williams <dcbw@redhat.com>
17318
17319         * src/NetworkManagerUtils.c
17320                 - (nm_get_device_driver_name): driver names are now on the parents of
17321                         "Network Interface" objects, so look for them there
17322
17323 2005-03-24  Dan Williams <dcbw@redhat.com>
17324
17325         * test/nmtest.c
17326                 - Escape some forgotten object paths before we shove them through dbus
17327
17328 2005-03-24  Dan Williams <dcbw@redhat.com>
17329
17330         * dhcpcd/dhcpcd.[ch]
17331           src/NetworkManagerDHCP.c
17332                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17333                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17334
17335         * src/NetworkManagerDbus.c
17336                 - spacing cleanups
17337
17338         * src/nm-dbus-dhcp.c
17339                 - Make the API suck less.  There is now only 1 type of each function,
17340                         ie only "getInteger" and no longer also "getIntegerv".  All types
17341                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17342                         that will never have more than 1 element.  This should simplify
17343                         things greatly.
17344
17345         * test/nm-dhcp-opt-test.c
17346                 - Make the tool not segfault
17347                 - adapt to new DHCP Options API
17348
17349 2005-03-22  Dan Williams <dcbw@redhat.com>
17350
17351         * src/NetworkManager.c
17352                 - (nm_wired_link_deactivated): actually ignore netlink events from
17353                         wireless devices.
17354
17355 2005-03-22  Dan Williams <dcbw@redhat.com>
17356
17357         * src/NetworkManager.c
17358                 - (nm_wired_link_activated): actually ignore netlink events from
17359                         wireless devices.
17360
17361 2005-03-17  Dan Williams <dcbw@redhat.com>
17362
17363         Patch from Tom Parker:
17364         * src/nm-netlink-monitor.c
17365                 - Include unistd.h
17366         * info-daemon/NetworkManagerInfoDbus.c
17367                 - (nmi_dbus_update_network_auth_method): free GConf values
17368
17369         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17370         * src/NetworkManagerDevice.c
17371                 - (nm_device_set_wireless_config): wait for successful
17372                         association longer for some cards (Atheros a/b/g)
17373
17374 2005-03-15  Ray Strode  <rstrode@redhat.com>
17375
17376         * src/NetworkManager.c:
17377         (sigterm_pipe_handler):
17378         remove bogus FIXME
17379
17380 2005-03-15  Ray Strode  <rstrode@redhat.com>
17381
17382         * src/NetworkManagerDbus.c:
17383         Fix some sign weirdness that gcc4 doesn't like,
17384         and add a header file so PPC can hopefully find
17385         SIGTRAP
17386
17387 2005-03-14  Ray Strode  <rstrode@redhat.com>
17388         
17389         Fourth (probably working) cut at porting to
17390         dbus 0.30 api and new hal. This cut adds
17391         some new logging macros to make debugging
17392         easier.
17393
17394         * dispatcher-daemon/NetworkManagerDispatcher.c:
17395         * info-daemon/NetworkmanagerInfo.c:
17396         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17397         * info-daemon/NetworkManagerInfoVPN.c:
17398         * src/NetworkManager.c:
17399         * src/NetworkManagerAP.c:
17400         * src/NetworkManagerAPList.c:
17401         * src/NetworkManagerDHCP.c:
17402         * src/NetworkManagerDbus.c:
17403         * src/NetworkManagerDevice.c:
17404         * src/NetworkManagerPolicy.c:
17405         * src/NetworkManagerSystem.c:
17406         * src/NetworkManagerUtils.c:
17407         * src/NetworkManagerWireless.c:
17408         * src/autoip.c:
17409         * src/nm-dbus-nm.c:
17410         * src/backends/NetworkManagerDebian.c:
17411         * src/backends/NetworkManagerGentoo.c:
17412         * src/backends/NetworkManagerRedHat.c:
17413         * src/backends/NetworkManagerSlackware.c:
17414         use new logging macros.
17415
17416         * dispatcher-daemon/NetworkManagerDispatcher.c:
17417         (nmd_dbus_filter): s/dbus_free/g_free/
17418
17419         * info-daemon/Makefile.am: link in utils library.
17420         * info-daemon/NetworkmanagerInfo.c: use new logging 
17421         macros.
17422         (nmi_dbus_get_network): don't assume enumerations
17423         are 32-bit.
17424         (nmi_dbus_nmi_message_handler): don't free what 
17425         doesn't belong to us.
17426
17427         * libnm_glib/libnm_glib.c:
17428         (libnm_glib_get_nm_status): 
17429         (libnm_glib_init): don't free what doesn't
17430         belong to us.
17431         (libnm_glib_dbus): strdup result, so it doesn't get
17432         lost when message is unref'd.
17433
17434         * panel-applet/NMWirelessAppletDbus.c:
17435         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17436
17437         * src/NetworkManager.c:
17438         (nm_monitor_wired_link_state): request initial status 
17439         dump of all cards when we start up, instead of relying
17440         on /sys/.../carrier.
17441         (nm_info_handler), (nm_set_up_log_handlers): 
17442         log handlers to specify what syslog priorites 
17443         the logging macros default to.
17444
17445         * src/NetworkManagerAPList.c: 
17446         (nm_ap_list_populate_from_nmi):
17447         s/dbus_free_string_array/g_strfreev/
17448
17449         * src/NetworkManagerDbus.c:
17450         (nm_dbus_get_network_object):
17451         validate d-bus message argument types.
17452         Advance message iterator after reading argument,
17453         prepend instead of append to GSList.
17454
17455         * src/NetworkManagerDevice.c:
17456         (nm_device_probe_wired_link_status):
17457         remove redundant /sys in /sys path. remove wrong
17458         contents == NULL means has carrier assumption.
17459
17460         * src/nm-netlink-monitor.c 
17461         (nm_netlink_monitor_request_status): implement
17462         function to ask kernel to dump interface link
17463         status over netlink socket.
17464
17465         * test/*.c: s/dbus_free/g_free/
17466
17467         * utils/nm-utils.h:
17468         (nm_print_backtrace): new macro to print backtrace.
17469         (nm_get_timestamp): new macro to get sub-second precise
17470         unix timestamp.
17471         (nm_info), (nm_debug), (nm_warning), (nm_error):
17472         new logging functions. nm_info just prints,
17473         nm_debug includes timestamp and function,
17474         nm_warning includes function, nm_error includes
17475         backtrace and sigtrap.
17476
17477 2005-03-11  Ray Strode  <rstrode@redhat.com>
17478
17479         Third (unfinished, partially working) cut at porting to 
17480         dbus 0.30 api and new hal.
17481
17482         * info-daemon/NetworkManagerInfoDbus.c:
17483                 don't free null arrays.
17484
17485         * panel-applet/NMWirelessAppletDbus.c: 
17486         * src/nm-dbus-device.c:
17487         * src/nm-dbus-net.c: 
17488         * src/NetworkManagerDbus.c: more 
17489         STRING -> OBJECT_PATH fun
17490         * src/NetworkManagerDevice.c:
17491         * src/NetworkManagerDevice.h:
17492         (rename nm_device_get_link_active): rename to 
17493         nm_device_has_active_link
17494         (nm_device_wireless_link_active): rename to
17495         nm_device_probe_wireless_link_state
17496         (nm_device_wired_link_active): rename to
17497         nm_device_probe_wired_link_state.  Rewrite to
17498         use carrier file since hal doesn't maintain
17499         link state anymore.
17500         (nm_device_update_link_active): rename to
17501         nm_device_update_link_state
17502         * src/NetworkManagerPolicy.c 
17503           (nm_policy_activation_finish): check for NULL
17504           MAC address.
17505
17506         * src/Makefile.am:
17507         * src/NetworkManagerMain.h: 
17508         * src/NetworkManager.c:
17509         * src/nm-netlink-monitor.c:
17510         * src/nm-netlink-monitor.h: New class to support
17511         monitoring wired ethernet link status, since HAL
17512         doesn't export that information anymore.
17513
17514 2005-03-09  Ray Strode  <rstrode@redhat.com>
17515
17516         Second (unfinished, unworking) cut at porting to 
17517         dbus 0.30 api.
17518
17519         * dispatcher-daemon/NetworkManagerDispatcher.c:
17520         * info-daemon/NetworkManagerInfoDbus.c:
17521         * panel-applet/NMWirelessAppletDbus.c:
17522         * src/NetworkManagerDbusUtils.c:
17523         * src/NetworkManagerDbusUtils.h:
17524         * src/nm-dbus-device.c:
17525         * src/nm-dbus-nm.c:
17526         * test/nmtest.c: support dbus "object path" type
17527
17528         * configure.in: 
17529         * Makefile.am:
17530         * info-daemon/Makefile.am:
17531         * libnm_glib/Makefile.am:
17532         * panel-applet/Makefile.am:
17533         * dispatcher-daemon/Makefile.am
17534         * src/Makefile.am:
17535         * test/Makefile.am:
17536         * utils/Makefile.am: 
17537         * utils/nm-utils.c: 
17538         * utils/nm-utils.h: new utils static lib
17539
17540 2005-03-07  Ray Strode  <rstrode@redhat.com>
17541
17542         * info-daemon/NetworkManagerInfoDbus.c:
17543         * libnm_glib/libnm_glib.c:
17544         * panel-applet/NMWirelessAppletDbus.c:
17545         * src/NetworkManager.c:
17546         * src/NetworkManagerDbus.c:
17547         * src/NetworkManagerDevice.c:
17548         * src/NetworkManagerUtils.c:
17549         * src/nm-dbus-device.c:
17550         * src/nm-dbus-dhcp.c:
17551         * src/nm-dbus-net.c:
17552         * src/nm-dbus-nm.c:
17553         * test/nminfotest.c:
17554         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17555
17556 2005-03-04  Dan Williams  <dcbw@redhat.com>
17557
17558         * configure.in
17559                 - Mark HEAD as 0.4
17560
17561 2005-03-04  Dan Williams  <dcbw@redhat.com>
17562
17563         Patch from Peter Jones:
17564         - Make stuff work with gcc 4.0
17565
17566 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17567
17568         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17569
17570 2005-02-27  Jim Huang  <jserv@kaffe.org>
17571
17572         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17573
17574 2005-02-27  Dan Williams  <dcbw@redhat.com>
17575
17576         Patch from Bill Moss:
17577         * panel-applet/NMWirelessAppletDbus.c
17578                 - Make sure strength for current access point is up-to-date when we
17579                         update the gui data model
17580
17581 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17582
17583         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17584
17585 2005-02-27  Dan Williams  <dcbw@redhat.com>
17586
17587         * src/backends/NetworkManagerRedHat.c
17588                 - (nm_system_init): Kill any dhclient processes lying around as well
17589                         as stopping 'nifd' if its already been started.  NetworkManager
17590                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17591
17592 2005-02-27  Dan Williams  <dcbw@redhat.com>
17593
17594         * panel-applet/NMWirelessApplet.c
17595                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17596                         dbus data model, not the GUI data model twice.
17597
17598 2005-02-27  Dan Williams  <dcbw@redhat.com>
17599
17600         * panel-applet/NMWirelessApplet.[ch]
17601           panel-applet/NMWirelessAppletDbus.[ch]
17602                 - Move to incremental network updates.  Instead of blowing away our list
17603                         of devices every time we get a signal from NetworkManager, we now
17604                         incrementally add/remove networks when NetworkManager notifies us that
17605                         a new network has appeared or disappered.  Strength updates now happen
17606                         on-the-fly for each access point as well.  There are now two copies of
17607                         data from NetworkManager: one for the dbus side, and one for the gui side.
17608                         When the dbus side data is modified, it is copied over to the gui side
17609                         so we don't have to hold the data_mutex for long periods of time (and
17610                         therefore block animation of the applet's icon).
17611                 - Clean up some memleaks too
17612
17613         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17614                 - Minor code beautification
17615
17616         * src/NetworkManagerAPList.c
17617                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17618                         completely new and whether or not an existing one's strength was updated.
17619                         Try to fix multiple access points and signal strength by using the highest
17620                         signal strength in each scan for any given ESSID.
17621
17622         * src/NetworkManagerDbus.[ch]
17623                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17624                         wireless networks; now we have only WirelessNetworkUpdate which includes
17625                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17626                 - Kill usage of DbusMessageIter
17627
17628         * src/NetworkManagerDevice.c
17629                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17630                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17631                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17632                         currently associated with from the network list.
17633                 - Update for new signals during scan, send out Appeared, Disappeared, or
17634                         StrengthChanged when necessary.
17635
17636 2005-02-25  Dan Williams  <dcbw@redhat.com>
17637
17638         * README
17639                 - Line break the README
17640
17641 2005-02-25  Dan Williams  <dcbw@redhat.com>
17642
17643         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17644                 - Remove usage of gtk_window_set_default_size()
17645
17646         * panel-applet/essid.glade
17647                 - Stick default size here
17648                 - Add in random crap that current glade wants to add in now
17649
17650 2005-02-25  Dan Williams  <dcbw@redhat.com>
17651
17652         * src/backends/NetworkManagerRedHat.c
17653                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17654                         and that we actually tell nscd to reload the hosts cache when it changes
17655
17656 2005-02-25  Dan Williams  <dcbw@redhat.com>
17657
17658         * info-daemon/NetworkManagerInfoDbus.c
17659                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17660
17661         * test/nminfotest.c
17662                 - Whack usage of DbusMessageIter
17663                 - Clean up DbusError and DbusMessage handling and freeing
17664                 - Remove unused unregister handler
17665
17666         * test/nmtest.c
17667                 - Whack usage of DbusMessageIter
17668
17669         * test/nmtestdevices.c
17670                 - Whack usage of DbusMessageIter
17671
17672 2005-02-25  Dan Williams  <dcbw@redhat.com>
17673
17674         * NetworkManager.h
17675                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17676                         signal
17677
17678 2005-02-25  Dan Williams  <dcbw@redhat.com>
17679
17680         * named/nm-named-manager.c
17681                 - Ensure that pid and watch variables for child named process get cleared out
17682                         when the child goes away.
17683
17684 2005-02-22  Dan Williams  <dcbw@redhat.com>
17685
17686         * src/NetworkManagerPolicy.c
17687                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17688                         and NULL out data->active_device so that we have to choose another one.
17689                         This may make NetworkManager keep attempting to connect to a wired network
17690                         if it fails, but if it keeps failing the wired network has more problems than
17691                         just NetworkManager.
17692
17693         * src/backends/NetworkManagerRedHat.c
17694                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17695                         is already running
17696
17697         * named/nm-named-manager.c
17698                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17699                         named so that the distro can flush whatever name service caching
17700                         daemon it uses
17701
17702 2005-02-21  Dan Williams  <dcbw@redhat.com>
17703
17704         * src/NetworkManagerDHCP.[ch]
17705                 - (nm_device_dhcp_remove_timeouts): new function
17706
17707         * src/NetworkManagerDevice.c
17708                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17709                         remove the DHCP timeouts.
17710
17711 2005-02-21  Dan Williams  <dcbw@redhat.com>
17712
17713         * panel-applet/NMWirelessApplet.[ch]
17714           panel-applet/menu-info.[ch]
17715                 - Give the panel applet some major love: menu items are no longer
17716                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17717                         This allows the applet to actually reflect theme changes correctly,
17718                         since themeing of subclassed items in GTK _sucks_.
17719
17720 2005-02-18  Dan Williams  <dcbw@redhat.com>
17721
17722         * libnm_glib/libnm_glib.[ch]
17723           test/libnm_glib_test.c
17724                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17725                         and its data, and doesn't have to free the callback data anymore
17726
17727 2005-02-18  Dan Williams  <dcbw@redhat.com>
17728
17729         * panel-applet/NMWirelessApplet.c
17730                 - Revert 2005-02-18 William Jon McCann fix for standard
17731                         copyright string until it passes 'make distcheck'.
17732                         With standard copyright string, xgettext complains
17733                         about "Non-ASCII string at ...".
17734
17735 2005-02-18  Dan Williams  <dcbw@redhat.com>
17736
17737         * panel-applet/essid.glade
17738           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17739                 - Correct spelling of "adaptor"->"adapter"
17740
17741 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17742
17743         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17744         (nmwa_about_cb): Use standard copyright string.  Update comment
17745         text to reflect that it is a notification area applet.  Remove
17746         leading newline in authors list.
17747         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17748         instead of on parent menu item activation.  Fixes #167550.
17749
17750 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17751
17752         * panel-applet/essid.glade: Capitalize items as per HIG.
17753           Fixes #167632
17754
17755 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17756
17757         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17758         files for GTK 2.4 or lower, since now public in GTK 2.6.
17759
17760         * panel-applet/essid.glade: Don't specify window size.
17761         
17762 2005-02-17  Dan Williams  <dcbw@redhat.com>
17763
17764         Caught by Bill Moss:
17765         * dhcpcd/client.c
17766                 - Time remaining for DHCP transaction calculation was incorrectly
17767                         inside a #ifdef DEBUG
17768
17769 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17770
17771         * configure.in: Added fr (French) to ALL_LINGUAS.
17772
17773 2005-02-14  Dan Williams  <dcbw@redhat.com>
17774
17775         * src/NetworkManagerDHCP.c
17776                 - (set_domain_searches): Fix free of invalid pointer
17777
17778 2005-02-14  Dan Williams  <dcbw@redhat.com>
17779
17780         Patch from Peter Jones:
17781         * dhcpcd/client.c
17782                 - Ensure we return RET_DHCP_CEASED everywhere we should
17783         * dhcpcd/udpipgen.c
17784                 - Use faster TOS for IP packets
17785                 - Don't set ip_id since we're UDP
17786
17787         Patch from Tomislav Vujec:
17788         * src/nm-dbus-dhcp.c
17789           test/nm-dhcp-opt-test.c
17790                 - Clean up warnings to enable cvs tree compilation.
17791
17792 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17793
17794         * configure.in
17795           po/hr.po
17796                 - Add the Croatian locale.
17797
17798 2005-02-14  Colin Walters  <walters@verbum.org>
17799
17800         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17801         list of domains to search.
17802         
17803         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17804
17805 2005-02-13  Dan Williams  <dcbw@redhat.com>
17806
17807         * dhcpcd/client.c
17808                 - Debug output cleanups of DHCP option printing and parsing.
17809
17810 2005-02-13  Dan Williams  <dcbw@redhat.com>
17811
17812         Patch from Dan Reed:  DHCP options D-BUS API
17813                 Exposes the DHCP options that a device receives to clients over D-BUS.
17814
17815         * configure.in
17816                 - A few cleanups
17817
17818         * dhcpcd/client.h
17819                 - Correct names, option length, and types for DHCP options
17820
17821         * dhcpcd/dhcpcd.[ch]
17822                 - Clarify function names that access DHCP options & data
17823
17824         * src/NetworkManagerDHCP.c
17825                 - Use new DHCP data access functions
17826
17827         * src/NetworkManagerDbus.c
17828                 - Message handler for DHCP functions
17829
17830         * src/nm-dbus-dhcp.[ch] (new)
17831                 - DHCP dbus methods
17832
17833         * test/nm-dhcp-opt-test.c
17834                 - Test DHCP D-BUS API and return all present DHCP options
17835
17836 2005-02-12  Dan Williams  <dcbw@redhat.com>
17837
17838         * test/Makefile.am
17839           test/nmclienttest.c
17840           test/nmtest.c
17841                 - Move nmclienttest.c -> nmtest.c
17842
17843 2005-02-12  Dan Williams  <dcbw@redhat.com>
17844
17845         * dhcpcd/buildmsg.c
17846                 - Pad DHCP packets until they are at least 300 bytes in size.
17847
17848 2005-02-11  Dan Williams  <dcbw@redhat.com>
17849
17850         * dhcpcd/client.c
17851                 - (dhcp_init): only print out client ID and class ID if they are specified
17852
17853         * src/NetworkManagerDbus.[ch]
17854           src/nm-dbus-nm.[ch]
17855           src/nm-dbus-device.[ch]
17856           src/nm-dbus-net.[ch]
17857                 - Move NM, Device, and Net functions to separate files and use the
17858                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17859                         method dispatching
17860
17861         * src/NetworkManagerDbusUtils.c
17862                 - Add new validate_method called before each dispatch (if present)
17863                         that can validate the method call
17864
17865         * src/NetworkManagerWireless.c
17866                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17867                         levels never to be evaluated
17868
17869         Patch from j@bootlab.org
17870         * src/NetworkManagerDevice.c
17871                 - Add typedef for "u64"
17872
17873         * src/backends/NetworkManagerDebian.c
17874                 - Copy in Dave Woodhouse's fixes for IPv6
17875
17876 2005-02-11  Dan Williams  <dcbw@redhat.com>
17877
17878         Patch from Dave Woodhouse for IPv6:
17879         * src/NetworkManagerUtils.c
17880                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17881                         and multicast addresses
17882
17883         * src/NetworkManagerDevice.c
17884                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17885                         after bringing up a card.
17886
17887 2005-02-10  Dan Williams  <dcbw@redhat.com>
17888
17889         Patch from Dave Woodhouse:
17890         * src/NetworkManagerSystem.h
17891           src/backends/NetworkManagerDebian.c
17892           src/backends/NetworkManagerGentoo.c
17893           src/backends/NetworkManagerSlackware.c
17894                 - New nm_system_device_add_ip6_link_address() function to add link-local
17895                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17896
17897         * src/backends/NetworkManagerRedHat.c
17898                 - (nm_system_device_add_ip6_link_address): implement
17899                 - (nm_system_device_flush_addresses): revert to previous behavior of
17900                         flushing all addresses
17901
17902 2005-02-10  Dan Williams  <dcbw@redhat.com>
17903
17904         Patch from Tom Parker:
17905         * src/NetworkManagerDevice.c
17906                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17907                         mii.h headers are broken, and instead use our own typedefs
17908
17909 2005-02-10  Dan Williams  <dcbw@redhat.com>
17910
17911         * dhcpcd/buildmsg.c
17912                 - (fill_host_and_class_id): only fill in client and class IDs if
17913                         they are set by callers.
17914
17915         * dhcpcd/client.c
17916                 - (class_id_setup): don't autogenerate a class ID, only use one
17917                         we're given, if any.
17918                 - (client_id_setup): don't autogenerate a client ID, only use one
17919                         we're given, if any.
17920
17921         * dhcpcd/dhcpcd.c
17922                 - (dhcp_interface_init): ensure that client options are correctly
17923                         NULL terminated
17924
17925         * src/NetworkManagerDHCP.c
17926                 - (nm_device_dhcp_request): pass hostname to dhcp library
17927
17928 2005-02-10  Dan Williams  <dcbw@redhat.com>
17929
17930         * dhcpcd/client.c
17931                 - #rh147661# Don't send kernel version in DHCP requests
17932
17933         * src/NetworkManagerSystem.h
17934           src/backends/NetworkManagerDebian.c
17935           src/backends/NetworkManagerGentoo.c
17936           src/backends/NetworkManagerRedHat.c
17937           src/backends/NetworkManagerSlackware.c
17938                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17939                         functions, they are no longer used anyway
17940
17941         * src/backends/NetworkManagerRedHat.c
17942                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17943                         addresses in an attempt to keep IPv6 local-scope addresses around
17944
17945 2005-02-10  Dan Williams  <dcbw@redhat.com>
17946
17947         * src/NetworkManager.c
17948                 - (nm_create_device_and_add_to_list): change the add message slightly
17949
17950         * src/NetworkManagerUtils.c
17951                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17952                         Return driver name to calling function
17953                 - (nm_get_driver_support_level): print out the driver a device is using
17954                         during the support check
17955
17956         Patch from Dave Woodhouse:
17957         * dhcpcd/udpipgen.c
17958                 - (in_cksum): copy last byte of odd-sized packets into a
17959                         'u_short' rather than a 'u_char', should fix wrong checksums
17960                         on big-endian platforms
17961
17962 2005-02-09  Dan Williams  <dcbw@redhat.com>
17963
17964         * Clean up usage of GSList objects and looping through their members
17965         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17966                 now.
17967         * Fix problem where even if scanning was turned off, card would still
17968                 cycle through frequencies.
17969
17970 2005-02-08  Dan Williams  <dcbw@redhat.com>
17971
17972         * panel-applet/NMWirelessApplet.c
17973                 - Fix for gtk 2.4
17974
17975 2005-02-08  Dan Williams  <dcbw@redhat.com>
17976
17977         Patch from Bill Moss
17978         * panel-applet/NMWirelessApplet.c
17979                 - Restore correct ESSID in tooltips
17980
17981 2005-02-07  Dan Williams  <dcbw@redhat.com>
17982
17983         * panel-applet/NMWirelessApplet.[ch]
17984                 - Add a context menu that contains:
17985                         Pause/Resume Wireless Scanning
17986                         Stop/Start All Wireless Devices
17987                         About...
17988                 - Grab active device strength off active device,
17989                         not its network
17990
17991         * panel-applet/NMWirelessAppletDbus.[ch]
17992                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17993                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17994                 - Update active device strength every 2 seconds, not every 1 second
17995
17996         * panel-applet/menu-info.c
17997                 - Only disable wired devices in the menu when they support carrier detection,
17998                         and don't currently have a link.  Non-carrier-detect devices will always
17999                         remain choosable
18000
18001         * src/Makefile.am
18002           src/NetworkManagerDbusUtils.[ch]
18003                 - Add new new dbus utils sources
18004
18005         * src/NetworkManager.c
18006                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18007                         with the boolean parameter
18008                 - Set scanning_enabled & wireless_enabled to TRUE
18009
18010         * src/NetworkManagerDbus.c
18011                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18012                 - Implement scanning & wireless enable/disable calls
18013                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18014
18015         * src/NetworkManagerDevice.c
18016                 - New link detection stuff again...
18017                         o  Create device's mainloop earlier (but don't run it earlier)
18018                         o  Hook up new carrier-detect support stuff
18019                         o  Add in the ethtool & mii support detection code
18020                 - Don't scan if scanning is disabled
18021
18022         * src/NetworkManagerPolicy.c
18023                 - Never automatically choose a device that doesn't support carrier detection
18024                 - Don't automatically choose a wireless device if wireless is disabled
18025
18026 2005-02-07  Dan Williams  <dcbw@redhat.com>
18027
18028         * libnm_glib/libnm_glib.c
18029                 - Small cleanup in element list iteration
18030
18031 2005-02-07  Dan Williams  <dcbw@redhat.com>
18032
18033         * src/NetworkManagerWireless.c
18034                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18035                         to be in line with the WEXT quality specification
18036
18037 2005-02-02  Dan Williams  <dcbw@redhat.com>
18038
18039         Patch from Nathan Fredrickson <nathan@silverorange.com>
18040         * Fix up compile for deprecation of libgnomeui
18041                 - Switch to <glib/gi18n.h> from <libintl.h>
18042                 - Remove <libgnomeui/libgnomeui.h> includes
18043                 - Use gtk_window_set_default_icon_from_file() rather than
18044                         gnome_window_set_default_icon_from_file()
18045
18046         * named/nm-named-manager.c
18047                 - (generate_named_conf): Fix return-nothing in non-void
18048                         function
18049
18050 2005-02-02  Dan Williams  <dcbw@redhat.com>
18051
18052         * Clean up unused variables and the like
18053
18054 2005-02-02  Dan Williams  <dcbw@redhat.com>
18055
18056         * src/NetworkManagerAPList.c
18057                 - (nm_ap_list_merge_scanned_ap): merge strength too
18058
18059         * src/NetworkManagerUtils.c
18060                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18061                         of locking issues by printing out prettier information than g_mutex_lock
18062                 - Print out names of mutexes registered with nm_register_mutex_desc()
18063                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18064                         us to seemingly block here for too long
18065
18066         * src/NetworkManager.c
18067           src/NetworkManagerAPList.c
18068           src/NetworkManagerDevice.c
18069                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18070                         so we get better debug information printed
18071
18072         * src/NetworkManagerDbus.c
18073                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18074                         since it sometimes has locking side effects
18075                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18076                         from 10s
18077                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18078                         we don't need a switch.  This gets called often enough that we can't block
18079                         until the scan mutex is acquired, because we'll block on device activation
18080                         and a few other things, which hangs main thread for too long.
18081
18082         * src/NetworkManagerPolicy.c
18083                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18084                         nm_device_need_ap_switch() will be called               
18085
18086 2005-02-02  Dan Williams  <dcbw@redhat.com>
18087
18088         * panel-applet/NMWirelessApplet.c
18089                 - Display name of wireless network we are connecting to or connected to
18090                         in the tooltip of the applet
18091
18092 2005-02-02  Dan Williams  <dcbw@redhat.com>
18093
18094         * src/NetworkManagerDHCP.c
18095                 - Hopefully fix double-default-route problem by cleaning up the default
18096                         route added by DHCP code right before the DHCP transaction begins
18097
18098 2005-02-02  Dan Williams  <dcbw@redhat.com>
18099
18100         * named/nm-named-manager.c
18101                 - Write out valid resolv.conf when we exit
18102
18103 2005-02-01  Dan Williams  <dcbw@redhat.com>
18104
18105         Patch from Colin Walters:
18106         * named/nm-named-manager.c
18107                 - Make multi-domain search options work
18108
18109 2005-01-31  Dan Williams  <dcbw@redhat.com>
18110
18111         * info-daemon/NetworkManagerInfoDbus.c
18112                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18113
18114         * src/NetworkManagerDevice.c
18115                 - (nm_device_new): Don't store the entire range struct, use only what we need
18116                         (which is currently avg_quality, max_quality, and frequencies).  Also
18117                         zero device structure when we've free'd it to maybe expose errors down
18118                         the line.
18119                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18120                         quality data from the card since quality will be useless during a scan.
18121                         Call updated wireless qual-to-percent function with values stored in
18122                         nm_device_new() earlier.
18123                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18124                         nm_device_get_bad_crypt_packets())
18125                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18126                         nm_device_new()
18127                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18128                         list if available.  Problem was this: when the WEP key is wrong, NM will
18129                         try OS then SK modes, and then get stuck in SK mode after that.  This
18130                         should reset it.
18131                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18132                         function
18133
18134         * src/NetworkManagerWireless.c
18135                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18136                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18137                         if that's all present, otherwise fall back to signal-to-noise ratios.
18138
18139 2005-01-29  Dan Williams  <dcbw@redhat.com>
18140
18141         * initscript/RedHat/NetworkManager
18142                 - Don't spit out sysctl stuff to console
18143
18144         * libnm_glib/libnm_glib.c
18145                 - (libnm_glib_init): call dbus_g_thread_init()
18146
18147         * panel-applet/NMWirelessAppletDbus.c
18148                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18149
18150         * src/NetworkManager.c
18151                 - (main): call dbus_g_thread_init()
18152
18153         * src/NetworkManagerAPList.c
18154                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18155                         so we can actually see what's there in a normal syslog
18156
18157         * src/NetworkManagerDevice.c
18158                 - (nm_device_activate_wireless): print out the "waiting for access point"
18159                         message only once, then say what access point we actually got after
18160                         the wait.
18161                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18162                         function, wait until the scan is done.  Scans may change the ESSID of
18163                         the card, making this function think we need to switch access points
18164                 - (nm_device_wireless_process_scan_results): for artificial access points
18165                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18166                         prevents collisions with the scanning code, which may change the card's
18167                         ESSID and cause the access point to get dropped from the device's AP
18168                         list.  Also increase the keep-around time to 2m from 60s since the max
18169                         scan interval could be 60s in some cases.
18170
18171         * src/NetworkManagerPolicy.c
18172                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18173                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18174                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18175                         between NM and NMI.
18176
18177 2005-01-27  Dan Williams  <dcbw@redhat.com>
18178
18179         * info-daemon/NetworkManagerInfoDbus.c
18180                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18181                         GConf, make a minimal entry for it (essid & timestamp)
18182
18183         * src/NetworkManagerAPList.c
18184                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18185                         NetworkManagerInfo isn't running
18186
18187         * src/NetworkManagerDbus.[ch]
18188                 - (nm_dbus_nmi_is_running): new function
18189
18190         * src/NetworkManagerDevice.c
18191                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18192                         address to garbage.
18193
18194         * src/NetworkManagerPolicy.c
18195                 - (nm_policy_activation_finish): On successful activation, make sure
18196                         the "best" AP has a MAC address, and don't tell NMI to add the
18197                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18198                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18199                         access point after refreshing our allowed list if it doesn't already
18200                         have a "best" access point.
18201
18202 2005-01-25  Dan Williams  <dcbw@redhat.com>
18203
18204         * panel-applet/NMWirelessAppletDbus.c
18205                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18206                         so we check for NM_DBUS_SERVICE rather than not for it
18207
18208         * libnm_glib/libnm_glib.c
18209                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18210                         ServiceOwnerChanged signal
18211
18212 2005-01-25  Dan Williams  <dcbw@redhat.com>
18213
18214         * configure.in
18215                 - Check DBUS version in configure, and set the C macros
18216                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18217
18218         * info-daemon/NetworkManagerInfoDbus.c
18219                 - Remove #if 0-d section of code that quit NMI if NM went away.
18220
18221         * panel-applet/NMWirelessAppletDbus.c
18222                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18223
18224         * src/NetworkManager.c
18225           src/NetworkManagerMain.h
18226           src/NetworkManagerDbus.c
18227                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18228                 - Make updating of our Allowed Wireless Network lists from NMI
18229                         an idle function in the main thread now, with a high priority.
18230
18231 2005-01-24  Dan Williams  <dcbw@redhat.com>
18232
18233         * panel-applet/gtkcellview.[ch]
18234           panel-applet/menu-info.c
18235                 - Fix GTK version checks to be <= rather than <
18236
18237         * test/Makefile.am
18238                 - Include the libtool archive of libnm_glib rather than
18239                         trying to pull in the .so
18240
18241 2005-01-24  Dan Williams  <dcbw@redhat.com>
18242
18243         * src/NetworkManagerDevice.c
18244           src/NetworkManagerDevicePrivate.h
18245                 - Block nm_device_new() until our device's worker thread has had a
18246                         chance to start up.  Fixes a race between main thread and worker
18247                         thread starting that caused activation requests to get lost.
18248
18249 2005-01-24  Dan Williams  <dcbw@redhat.com>
18250
18251         * initscript/RedHat/NetworkManager
18252                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18253                         to add the NM startup script at priority 50, which was
18254                         way too early
18255
18256 2005-01-24  Colin Walters  <walters@redhat.com>
18257
18258         * named/named.conf: Use any port for query source instead of
18259         restricting to port 53.
18260
18261 2005-01-24  Dan Williams  <dcbw@redhat.com>
18262
18263         * initscript/RedHat/NetworkManager
18264                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18265                         to add the NM startup script at priority 50, which was
18266                         way too early
18267
18268 2005-01-24  Dan Williams  <dcbw@redhat.com>
18269
18270         Patch from Tom Parker <palfrey@tevp.net>
18271         * Fix up compile warnings & errors in the wireless applet
18272
18273 2005-01-24  Dan Williams  <dcbw@redhat.com>
18274
18275         * panel-applet/NMWirelessApplet.c
18276                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18277
18278 2005-01-24  Dan Williams  <dcbw@redhat.com>
18279
18280         * panel-applet/gtkcellview.[ch]
18281                 - Only compile these files for GTK 2.4 or lower, since 
18282                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18283                         when choosing "Other Wireless Networks" from the panel
18284                         applet menu
18285
18286 2005-01-21  Dan Williams  <dcbw@redhat.com>
18287
18288         * src/NetworkManager.c
18289                 - Daemonize earlier so that glib doesn't get confused (?)
18290
18291 2005-01-21  Dan Williams  <dcbw@redhat.com>
18292
18293         * panel-applet/NMWirelessApplet.[ch]
18294           panel-applet/NMWirelessAppletDbus.c
18295           panel-applet/menu-info.c
18296           src/NetworkManagerDevice.c
18297                 - Disable wired devices in the menu when they have no link.
18298
18299 2005-01-21  Dan Williams  <dcbw@redhat.com>
18300
18301         * Cache last-known-good wireless authentication method in
18302                 NetworkManagerInfo, and use that method first during
18303                 wireless device activation.  Should speed up devices that
18304                 need Shared Key authentication method since Open System is
18305                 now the default.
18306
18307         * Remove the hack to not do full activation on wired connections
18308                 that are active when we launch, it causes too many problems
18309                 with name resolution and was a hack in the first place.
18310
18311         * Re-work wireless device activation again somewhat to have a
18312                 clearer chain of events and to use last-known-good
18313                 authentication method of the access point.  Also provide
18314                 better status throughout activation to ensure the applet
18315                 can tell the user exactly what's going on.
18316
18317         * Remove the "find wireless network" code and now simply attempt
18318                 to activate with that access point.  This reduces the delay
18319                 between selecting "Other wireless Network" and actually
18320                 connecting to that network.
18321
18322         * Correctly stop the device's worker thread when its removed.
18323
18324 2005-01-21  Dan Williams  <dcbw@redhat.com>
18325
18326         * dhcpcd/client.c
18327                 - Clean up some of the debug messages
18328
18329 2005-01-21  Dan Williams  <dcbw@redhat.com>
18330
18331         * Add new icons, more frames of animation
18332         * Remove some hacks to get the panel applet to display correct
18333                 status, an NM update will soon follow that will fix the
18334                 real issue.
18335
18336 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18337
18338         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18339         the first include for working i18n. Also, don't include it in .h files
18340         * panel-applet/NMWirelessApplet.h: Same
18341         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18342         * panel-applet/menu-info.c: Same
18343
18344 2005-01-18  Dan Williams <dcbw@redhat.com>
18345
18346         * dhcpcd/client.c
18347                 - Remove some debug messages
18348                 - Wrap others in #ifdef DEBUG/#endif
18349
18350         * src/NetworkManager.c
18351                 - Remove some debug messages
18352                 - Clarify some debug messages
18353                 - Remove code related to old single-thread wireless scanning
18354
18355         * src/NetworkManagerAP.[ch]
18356                 - New AP property "last_seen" to track how recently an AP was
18357                         found in a scan
18358                 - Start using 'const' more in function arguments
18359
18360         * src/NetworkManagerAPList.[ch]
18361                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18362                         of an AP found in an AP list from a source AP, or if not found
18363                         in the list add the source AP
18364                 - (nm_ap_list_combine): remove, no longer needed
18365
18366         * src/NetworkManagerDevice.c
18367                 - Each device now has a "worker" thread from start to end of its life.
18368                         Scanning for wireless devices now happens in that thread,
18369                         not in a single "wireless scanning thread" for all devices as
18370                         previously.  Activation consists of adding an idle handler to the
18371                         thread's main loop/context, which gets run at the next available
18372                         opportunity.
18373                 - Wireless scanning is also simplified, there is now only one list of
18374                         access points per wireless device, and APs older than 60s are
18375                         removed from the list.  Previously, we kept results for the last
18376                         3 scans and merged whole lists, which was complicated.
18377                 - Cleaned up activation debug messages.
18378                 - Wireless activation and access-point search routines now use Open System
18379                         authentication before trying Shared Key.
18380                 - Removed some code in nm_device_update_best_ap() that could cause cards
18381                         to loose their link to the access point.
18382                 - Scanning now uses a backoff algorithm, where the inverval becomes
18383                         progressively longer between scans when the list of scanned access
18384                         points doesn't change.  A change will revert to the shortest scan
18385                         interval (20s).
18386
18387         * src/NetworkManagerWireless.[ch]
18388                 - Remove code related to old single-thread wireless scanning
18389
18390 2005-01-18  Colin Walters  <walters@redhat.com>
18391
18392         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18393         of older nameservers.
18394
18395 2005-01-18  Colin Walters  <walters@redhat.com>
18396
18397         * named/nm-named-manager.c (generate_named_conf): Many fixes
18398         to config file generation.
18399         (safer_kill): Remove, was too much trouble for little gain.
18400         (nm_named_manager_start): Run named as NM_NAMED_USER.
18401
18402         * configure.in: Add option --with-named-user.
18403
18404 2005-01-14  Colin Walters  <walters@redhat.com>
18405
18406         Patch from ed@catmur.co.uk (Ed Catmur)
18407
18408         * named/nm-named-manager.c: Add "context" property.
18409         Use it to add child watch source in specific GMainContext.
18410
18411         * src/NetworkManager.c (nm_data_new): Initialize
18412         named with correct main context.  Start named only
18413         after forking.
18414
18415 2005-01-14  Colin Walters  <walters@redhat.com>
18416
18417         * named/nm-named-manager.c (generate_named_conf): Write config
18418         and pid files into NM_NAMED_DATA_DIR; this allows things to
18419         work better with FC3 named SELinux policy.  Also fix up silly
18420         format error.
18421
18422         * configure.in: Add --with-named-dir option.
18423
18424 2005-01-14  Colin Walters  <walters@redhat.com>
18425
18426         * configure.in: Make named support require passing --with-named.
18427
18428         * named/nm-named-manager.c: Support writing resolv.conf directly
18429         without running named.
18430
18431 2005-01-13  Dan Williams <dcbw@redhat.com>
18432
18433         * named/nm-named-manager.c
18434                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18435
18436         * src/NetworkManagerDevice.c
18437                 - Rework wireless link detection code to be more reliable
18438
18439 2005-01-12  Dan Williams <dcbw@redhat.com>
18440
18441         * initscripts/RedHat/NetworkManager
18442                 - Change initial level to "-" rather than "345" so that
18443                         we don't activate ourselves by default on install
18444
18445 2005-01-12  Dan Williams <dcbw@redhat.com>
18446
18447         * libnm_glib/
18448                 - Client library for applications using glib
18449
18450         * configure.in
18451           various Makefiles
18452                 - Split NM_CFLAGS and NM_LIBS into separate variables
18453                         like DBUS_*, HAL_* and GLIB_*
18454
18455         * src/NetworkManager.c
18456           src/NetworkManagerMain.h
18457                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18458                         broadcast a status changed signal over DBUS from the main thread.
18459                         Still unused anywhere for the moment.
18460
18461         Patch from j@bootlab.org
18462         * panel_applet/NMWirelessAppletDbus.c
18463           src/NetworkManagerDbus.c
18464                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18465                         for the "getMode" method call
18466
18467 2005-01-10  Dan Williams <dcbw@redhat.com>
18468
18469         * src/NetworkManagerDevice.c
18470                 - Minor fixups & corrections to "auto" frequency mode, make it
18471                         less chatty with syslog
18472
18473 2005-01-10  Dan Williams <dcbw@redhat.com>
18474
18475         * src/NetworkManagerDevice.c
18476                 - Implement "auto" frequency/channel support, since cards like Atheros
18477                         can't use other frequencies at all when you've told it to use a
18478                         specific one, even for scanning.
18479                 - Grab the scan mutex around places where we can't tolerate wireless
18480                         settings changing underneath us, like nm_device_wireless_network_exists()
18481                         and nm_device_activate_wireless()
18482
18483         * src/NetworkManagerWireless.c
18484                 - Back scan interval off to 20s instead of 14s
18485
18486 2005-01-09  Dan Williams <dcbw@redhat.com>
18487
18488         * src/NetworkManagerDevice.c
18489                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18490                         already set.  Stops some drivers like Atmel from continually
18491                         reloading the firmware, which they do upon every configuration
18492                         change.
18493
18494 2005-01-09  Dan Williams <dcbw@redhat.com>
18495
18496         * dhcpcd/client.c
18497                 - Use correct timeout value
18498
18499         * info-daemon/NetworkManagerInfoDbus.c
18500           src/NetworkManagerDbus.c
18501                 - Consolidate communication between NM and NMI by doing only 1 dbus
18502                         method call to get Wireless Network info from NMI instead of 6
18503
18504         * src/NetworkManager.c
18505                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18506                         when we didn't have an AP to use, we'd wait for one forever without
18507                         quitting
18508
18509         * src/NetworkManagerDevice.c
18510                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18511                         activation, dhcp might not have started yet but we don't quit activation
18512                         before starting it, so the quit signal gets lost
18513
18514 2005-01-07  Dan Williams <dcbw@redhat.com>
18515
18516         * dhcpcd/client.c
18517                 - Rework the DHCP client code to be much less chatty when
18518                         it receives non-DHCP UDP packets during the DHCP run
18519                         (reported by and preliminary patches from Bill Moss)
18520
18521         * Move wireless scanning to a separate thread.  This thread forwards the
18522                 results to the main thread when done where they are integrated into
18523                 the device's access point lists.  This keeps the main thread (which
18524                 does all the DBUS communication) from being blocked for long periods
18525                 of time by wireless scanning.
18526
18527         * Make state modification an idle routine in the main loop, and trigger
18528                 state changes rather than polling for them.
18529
18530         * src/backends/NetworkManagerGentoo.c
18531                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18532
18533         * src/NetworkManagerDevice.c
18534                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18535                         router advertisements, causing problems and infinite loop
18536                         during "best" device determination due to link going up/down
18537                         (reported by Bill Moss)
18538
18539         Apply patch from Peter Jones
18540         * src/NetworkManagerDevice.c
18541                 - Shortcut for link-checking for ipw2x00 cards
18542                 - Split out association check into separate routine
18543
18544 2004-01-05  Colin Walters  <walters@redhat.com>
18545
18546         * named/named.conf: Add PID_FILE.
18547
18548         * named/nm-named-manager.c: Always generate a pid
18549         file, since older BIND versions don't support
18550         "pid-file none".
18551
18552 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18553
18554         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18555
18556 2004-12-22  Dan Williams <dcbw@redhat.com>
18557
18558         * src/NetworkManagerDevice.c
18559                 - Silently fail when setting bitrate doesn't work
18560
18561
18562         Patches from j@bootlab.org:
18563         * src/backends/NetworkManagerDebian
18564                 - Update backend to match functionality in RedHat backend
18565         * src/NetworkManagerDevice.c
18566                 - Take down then bring up wired devices after connection so
18567                 they send out ipv6 router advertisements
18568
18569 2004-12-21  Colin Walters  <walters@verbum.org>
18570
18571         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18572         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18573
18574 2004-12-21  Colin Walters  <walters@redhat.com>
18575
18576         * configure.in: Correct named detection.
18577
18578 2004-12-21  Colin Walters  <walters@redhat.com>
18579
18580         * src/NetworkManager.c (nm_data_new): Initialize named.
18581         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18582         the mainloop when these signals are received.
18583         (nm_data_free): Unref named.
18584         (sigterm_handler, sigterm_pipe_handler): New functions for
18585         exiting mainloop.
18586         
18587         * src/NetworkManagerMain.h (NMData): Add signal handling and
18588         nameserver bits.
18589
18590         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18591         unref.
18592
18593         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18594         set nameservers from DHCP response data.
18595         (set_domain_search): Set domain search from DHCP response.
18596         (nm_device_dhcp_configure): Invoke them.
18597
18598         * src/NetworkManagerSystem.c
18599         (nm_system_device_update_resolv_conf): Delete.  Deleting
18600         code is totally sweet.
18601
18602         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18603
18604         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18605         implements an object which controls a nameserver.  Currently
18606         uses bind 9.
18607
18608         * configure.in: Check for named.
18609
18610         * Makefile.am (SUBDIRS): Add named dir.
18611
18612         * named/named.conf: New template config file.
18613
18614 2004-12-20  Colin Walters  <walters@redhat.com>
18615
18616         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18617         instead of '='.
18618
18619 2004-12-17  Dan Williams  <dcbw@redhat.com>
18620
18621         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18622                 link-local addresses instead of doing DHCP.
18623
18624         * In the panel applet, there's a new "Create new Wireless Network..." item
18625
18626         * The panel applet also sticks around now even if NetworkManager dies, but
18627                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18628                 a bug, I'll fix that later.
18629
18630         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18631                 lookups after a switch rather than actually doing them.
18632
18633         * Clean up some of those warnings in nm_ap_list_* functions
18634
18635         * Delay between scans changed to 15s instead of 10s
18636
18637 2004-12-15  Dan Williams  <dcbw@redhat.com>
18638
18639         Patch from Tom Parker
18640         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18641                 address
18642
18643         * Longer pause after setting ESSID on cards that support a larger number
18644                 of channels to give the card time to find the right channel
18645
18646         * Add system hook to restart mDNSResponder (or whatever the local implementation
18647                 of Multicast DNS is) when we activate interfaces
18648
18649 2004-12-15  Dan Williams  <dcbw@redhat.com>
18650
18651         * Rework the DHCP code again to revert to sending full ethernet frames
18652                 rather then relying on the kernel to do the right thing with our
18653                 packets.
18654
18655 2004-12-06  Dan Williams  <dcbw@redhat.com>
18656
18657         * dhcpcd/client.c
18658                 - Fix some minor errors in dhcp_handle_transaction() that caused
18659                         unexpected early timeouts of DHCP transactions
18660
18661         * dhcpcd/client.h
18662                 - DHCP retransmit time from 4s -> 5s
18663
18664 2004-12-05  Dan Williams  <dcbw@redhat.com>
18665
18666         * Major rework of the DHCP code, taking some cues from pump.  We don't
18667                 write raw Ethernet packets anymore, which simplifies the code quite
18668                 a bit.  The new code should be more robust, not hang in recvfrom()
18669                 as much, and generally work better.  This also means that we need
18670                 to force HAL/dbus to use a created GMainContext rather than the
18671                 default context, since having the DHCP renew/rebind thread using
18672                 its own GMainContext seemed to give dbus a fit.  There is also more
18673                 debugging information printed from the DHCP loop to help with future
18674                 problems.
18675
18676         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18677                 assume that the default gateway should be the DHCP server.
18678
18679         Patch from Matthew Schick <matt oss-institute org>
18680         * src/backends/NetworkManagerGentoo.c
18681                 - Fix compilation error due to missing "ip4_broadcast"
18682
18683 2004-12-03  Dan Williams  <dcbw@redhat.com>
18684
18685         * initscript/Makefile.am
18686         * initscript/Debian/NetworkManager
18687         * initscript/Gentoo/NetworkManager
18688         * initscript/RedHat/NetworkManager
18689         * initscript/NMLaunchHelper.c
18690                 - Remove NMLaunchHelper, if you need to wait until the network
18691                         comes up, use the dead code from CVS.
18692
18693 2004-12-01  Colin Walters  <walters@redhat.com>
18694         
18695         * configure.in: Suck in gcc warnings code from Rhythmbox,
18696         but use fewer default flags, and in particular add -Wno-unused,
18697         since the codebase has a lot of unused variables.
18698
18699         * test/nmtestdevices.c (create_device): 
18700         * test/nminfotest.c (get_network_string_property) 
18701         (get_networks_of_type): 
18702         * test/nmclienttest.c (main): 
18703         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18704         * initscript/NMLaunchHelper.c (get_nm_status): 
18705         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18706         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18707         Fix declarations after statements.
18708
18709 2004-12-01  Colin Walters  <walters@redhat.com>
18710
18711         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18712         (nmi_dbus_get_vpn_userpass): New method.
18713         (nmi_dbus_nmi_message_handler): Invoke it.
18714
18715         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18716
18717         * info-daemon/NetworkManagerInfoVPN.h,
18718         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18719         to requests for VPN passwords.
18720
18721         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18722
18723 2004-12-01  Colin Walters  <walters@redhat.com>
18724
18725         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18726         includes.
18727
18728 2004-12-01  Colin Walters  <walters@redhat.com>
18729
18730         * panel-applet/NMWirelessAppletDbus.c
18731         (nmwa_dbus_update_active_device_strength): Fix missing
18732         return value.
18733
18734 2004-12-01  Colin Walters  <walters@redhat.com>
18735
18736         * panel-applet/NMWirelessApplet.c: Add missing include.
18737
18738 2004-12-01  Colin Walters  <walters@redhat.com>
18739
18740         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18741         Remove useless CLAMP (); the value is unsigned, and the case tests
18742         qual->qual < 100, so the value must always be between 0 and 100.
18743
18744 2004-12-01  Colin Walters  <walters@redhat.com>
18745
18746         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18747
18748 2004-11-22  Colin Walters  <walters@verbum.org>
18749
18750         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18751         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18752         which is essentially a noop since nscd caches hosts on disk too.
18753         
18754 2004-11-22  Colin Walters  <walters@redhat.com>
18755
18756         * src/Makefile.am (NetworkManager_SOURCES): Add
18757         NetworkManagerDevicePrivate.h.
18758
18759 2004-11-22  Dan Williams <dcbw@redhat.com>
18760
18761         * src/NetworkManagerDevicePrivate.h
18762                 - Split out the NMDevice struct to a different file so that stuff like
18763                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18764
18765         * dhcpcd/client.c
18766                 - fprintf->syslog
18767                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18768                         need to cancel the dhcp request during the send and recv
18769
18770         * dhcpcd/client.h
18771                 - Move the DHCP option enum to dhcpcd.h
18772
18773         * src/NetworkManagerDHCP.c
18774                 - Split out the actual IP/netmask/etc setting code
18775                 - New Renew/Rebind functions
18776                 - New timer setup function for renew/rebind operations
18777
18778         * src/NetworkManagerDevice.c
18779                 - For device activation, if we are using DHCP then keep the activation thread
18780                         alive until device deactivation.  We need to renew/rebind the DHCP address
18781                         after the T1 (renew) and T2 (rebind) times have expired.
18782                 - Increase some timeouts after bringing wireless cards up/down
18783
18784 2004-11-17  Dan Williams <dcbw@redhat.com>
18785
18786         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18787                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18788                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18789                 show known access points that don't broadcast their ESSID in the menus without
18790                 any user intervention whatsoever.
18791
18792         * info-daemon/NetworkManagerInfoDbus.c
18793                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18794                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18795
18796         * src/NetworkManagerAP.[ch]
18797                 - Add a "user_addresses" data member to the NMAccessPoint structure
18798                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18799                         the user_addresses data member
18800
18801         * src/NetworkManagerAPList.c
18802                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18803                         the AP's reported address
18804                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18805
18806         * src/NetworkManagerDHCP.c
18807                 - Increase DHCP timeout from 25s -> 30s
18808
18809         * src/NetworkManagerDbus.[ch]
18810                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18811                         user addresses
18812
18813         * src/NetworkManagerDevice.c
18814                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18815                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18816                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18817                         So, we take the card down to clear it out.
18818                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18819                         too, since that's where the user_addresses are
18820
18821         * src/NetworkManagerPolicy.c
18822                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18823                         that wireless networks' user_addresses list upon successful activation
18824
18825 2004-11-16  Dan Williams <dcbw@redhat.com>
18826
18827         * src/NetworkManagerDevice.[ch]
18828                 - (nm_device_clear_activation_fail): new function
18829
18830         * src/NetworkManagerPolicy.c
18831                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18832                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18833
18834 2004-11-16  Dan Williams <dcbw@redhat.com>
18835
18836         * src/NetworkManagerDevice.c
18837                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18838                         leak the structure, better updating of now_scanning status
18839                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18840
18841 2004-11-15  Dan Williams <dcbw@redhat.com>
18842
18843         Major rework of link detection code.  We now use DHCP
18844         as part of the link detection which proves to be much more robust,
18845         and also supports Open System authentication for wireless networks.
18846
18847         We no longer use external DHCP client programs.  Instead, we use 
18848         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18849         which was written by:
18850                 Yoichi Hariguchi <yoichi@fore.com>
18851                 Sergei Viznyuk <sv@phystech.com>
18852                 http://www.phystech.com/download/
18853         It resides in the "dhcpcd" directory and was refactored into a general
18854         purpose DHCP client library by me.
18855
18856         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18857         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18858
18859 2004-11-15  Dan Williams <dcbw@redhat.com>
18860
18861         Patch from Tom Parker <palfrey@tevp.net>:
18862
18863         * src/NetworkManagerDevice.c
18864                 - Less output to console when no access
18865                         points are found during a scan
18866
18867 2004-11-15  Dan Williams <dcbw@redhat.com>
18868
18869         Patch from Tom Parker <palfrey@tevp.net>:
18870
18871         * src/backends/interface_parser.c
18872                 - Use g_strdup ()
18873                 - Check for inp == NULL
18874                 - use syslog ()
18875
18876 2004-11-13  Colin Walters  <walters@redhat.com>
18877
18878         Patch from Tom Parker <palfrey@tevp.net>:
18879
18880         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18881         
18882         * src/backends/NetworkManagerRedHat.c: Switch to
18883         including shvar.h instead of shvar.c.
18884
18885         * src/backends/NetworkManagerDebian.c: Don't include
18886         interface_parser.c in source file.
18887
18888         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18889         and interface_parser.[ch].
18890         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18891         Include shvar.c and shvar.h here.
18892         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18893         interface_parser.c and interface_parser.h here.
18894
18895 2004-11-12  Colin Walters  <walters@redhat.com>
18896
18897         * configure.in: Strip out TARGET_DISTRO and
18898         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18899         conditionals.
18900
18901         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18902         (libnmbackend_la_SOURCES): Use Automake conditionals
18903         to add distro-specific files.
18904
18905         * initscript/Makefile.am (SUBDIRS): Update to
18906         use conditionals.
18907
18908 2004-11-12  Colin Walters  <walters@redhat.com>
18909
18910         Patches from j bootlab org
18911
18912         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18913         Add interface_parser.[ch].
18914
18915         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18916         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18917
18918 2004-11-12  Colin Walters  <walters@redhat.com>
18919
18920         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18921         call to nmi_dbus_is_running too, not necessary anymore.
18922         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18923         pick up exit().
18924
18925 2004-11-11  Colin Walters  <walters@verbum.org>
18926
18927         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18928         Delete.
18929         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18930         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18931         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18932         This avoids a race condition that made it pretty easily
18933         possible to get two NetworkManagerInfo daemons running.
18934
18935 2004-11-11  Colin Walters  <walters@verbum.org>
18936         
18937         * src/NetworkManager.c (main): Use daemon(3).
18938
18939         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18940
18941         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18942
18943 2004-11-10 Dan Williams <dcbw@redhat.com>
18944
18945         Patches from j bootlab org
18946         * src/NetworkManagerDevice.c
18947                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18948                         whether the card has a link or not, some cards are slow
18949                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18950
18951         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18952                 - Disable the "Login" button on the passphrase dialog until the user
18953                         enters a valid passphrase or key
18954
18955         Patches from Tom Parker <palfrey tevp net>
18956         * src/backends/NetworkManagerDebian.c
18957                 - Add static IP support to the debian backend
18958
18959         * src/backends/interface_parser.[ch]
18960                 - Parse debian interface config files
18961
18962 2004-11-08 Dan Williams <dcbw@redhat.com>
18963
18964         * src/NetworkManagerDevice.c
18965                 - Some random fprintf->syslog conversions
18966                 - (nm_device_wireless_network_exists): double-check for network
18967                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18968
18969         * src/NetworkManagerWireless.[ch]
18970                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18971                         so that the binary->ascii conversion works (if unsigned, the bitshift
18972                         will fill with zeros, which is what's required).  Also mask bitshift
18973                         result with 0xF for futher assurance.
18974
18975 2004-11-06 Dan Williams <dcbw@redhat.com>
18976
18977         * src/NetworkManagerUtils.c
18978                 - (nm_get_wireless_driver_support_level): default to
18979                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18980                         flip this when changing from whitelist->blacklist of
18981                         wireless drivers
18982
18983 2004-11-05 Dan Williams <dcbw@redhat.com>
18984
18985         Patch from Robert Paskowitz:
18986         * src/backends/NetworkManagerGentoo.c
18987                 - Update static IP config code
18988
18989 2004-11-05 Dan Williams <dcbw@redhat.com>
18990
18991         * info-daemon/NetworkManagerInfoDbus.c
18992           src/NetworkManagerDbus.[ch]
18993           src/NetworkManagerDevice.c
18994                 - Keep track of the # of attempts to get the WEP key
18995                         from the user and pass that along to the info daemon
18996
18997 2004-11-05 Dan Williams <dcbw@redhat.com>
18998
18999         * src/NetworkManagerUtils.c
19000                 - Blacklist wireless cards rather than whitelisting them.
19001                 - Grab driver name from HAL rather than trying to find it
19002                         ourselves.
19003
19004 2004-11-03 Dan Williams <dcbw@redhat.com>
19005
19006         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19007                 - Disable OK button until valid data is entered
19008                         for encryption stuff too
19009
19010         * panel-applet/NMWirelessApplet.c
19011                 - Report card strength for current AP if the card
19012                         doesn't report strength data for scanned access
19013                         points
19014
19015         * src/NetworkManagerDevice.c
19016                 - Smooth out cards reported quality, Atmel card was
19017                         intermittently reporting no quality data but soon
19018                         recovers
19019
19020         * src/NetworkManagerWireless.c
19021                 - Better quality data percentage calculation.  Atmel
19022                         cards (mine at least) seem to report the quality
19023                         in percentage format already, so honor that
19024
19025         Patch from <j@bootlab.org>
19026         * NetworkManager.h
19027           info-daemon/NetworkManagerInfoPassphraseDialog.c
19028           info-daemon/passphrase.glade
19029           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19030           panel-applet/essid.glade
19031           src/NetworkManagerAP.c
19032           src/NetworkManagerDevice.c
19033           src/NetworkManagerWireless.[ch]
19034                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19035
19036 2004-11-03 Dan Williams <dcbw@redhat.com>
19037
19038         * src/NetworkManagerDevice.[ch]
19039                 - (nm_device_set_enc_key): Add parameter to set Authentication
19040                         Mode (Open System, Shared Key, or None).  We're still using
19041                         Shared Key for now though.
19042
19043 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19044
19045         * panel-applet/menu-info.c: change from bold text to light
19046         colored, may cause problems with some themes, i've tested a lot
19047         and they seem fine. 
19048
19049         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19050
19051 2004-11-01  Colin Walters  <walters@verbum.org>
19052
19053         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19054         (nm_wireless_128bit_key_from_passphrase): Add const.
19055
19056         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19057         (nm_ap_set_enc_key_source): Add const.
19058         
19059 2004-11-01  Colin Walters  <walters@verbum.org>
19060
19061         * .cvsignore: Update.
19062
19063 2004-10-29 Dan Williams <dcbw@redhat.com>
19064
19065         * src/NetworkManagerDevice.c
19066                 - (nm_device_wireless_network_exists): Actually use the encryption
19067                         key we got from the applet when attempting to find a wireless network
19068                 - Don't bring devices down so much since on some cards it triggers
19069                         firmware hotplugs each time
19070
19071         * src/NetworkManagerDbus.c
19072                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19073                         from the caller
19074
19075 2004-10-29 Dan Williams <dcbw@redhat.com>
19076
19077         * src/NetworkManager.c
19078                 - (nm_hal_device_property_modified): unlock a locked active
19079                         wireless device when a wired connection gets a link.
19080                         (Means you'll switch to wired whenever you plug in no
19081                         matter what).
19082
19083 2004-10-29 Dan Williams <dcbw@redhat.com>
19084
19085         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19086                 - New files, implement the "Other wireless network" dialog
19087
19088         * panel-applet/NMWirelessApplet.c
19089                 - Move "other wireless network" dialog to separate file
19090
19091         * panel-applet/NMWirelessAppletDbus.[ch]
19092                 - Take key and key_type paramaters for the set_device function
19093
19094         * panel-applet/essid.glade
19095                 - Add UI bits for encryption settings
19096
19097         * src/NetworkManagerDbus.c
19098                 - Retrieve key and key_type params for "setActiveDevice" method call
19099                         and pass them on
19100                 - unref AP returned from nm_device_get_best_ap() when needed
19101
19102         * src/NetworkManagerDevice.c
19103                 - (nm_device_get_best_ap): ref the ap before returning it
19104                 - unref AP returned from nm_device_get_best_ap() when needed
19105                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19106                         need to call nm_device_get_best_ap() here, it was pretty much
19107                         redundant anyway
19108                 - (AP_NEED_KEY): break second link check condition out into separate
19109                         function, and fix segfault when ap->enc_key_source was NULL
19110                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19111                         pass them along to nm_device_wireless_network_exists().  If the
19112                         network does exist, set the passed-in key+key_type on the AP
19113
19114         * src/NetworkManagerPolicy.c
19115                 - unref AP returned from nm_device_get_best_ap() when needed
19116
19117 2004-10-28 Dan Williams <dcbw@redhat.com>
19118
19119         * src/NetworkManagerUtils.c
19120                 - (nm_spawn_process): Fix a potential dereference of NULL
19121
19122         Patches from Peter Jones:
19123
19124         * src/NetworkManagerDevice.c
19125                 - (nm_device_test_wireless_extensions): Better check for
19126                         wireless devices
19127
19128         * src/NetworkManagerUtils.c
19129                 - (nm_spawn_process): Pass in valid stdout and stderr so
19130                         executed programs don't randomly SIGPIPE and fail
19131                 - (nm_get_wired_driver_support_level): quash hal warning
19132                         when checking for USB ethernet device
19133
19134 2004-10-27 Dan Williams <dcbw@redhat.com>
19135
19136         * info-daemon/NetworkManagerInfo.c
19137           info-daemon/NetworkManagerInfoDbus.c
19138           info-daemon/NetworkManagerInfoPassphraseDialog.c
19139           panel-applet/NMWirelessApplet.c
19140                 - Properly escape gconf keys
19141
19142         * src/NetworkManager.c
19143                 - remove unused variables
19144
19145         * src/NetworkManagerAP.c
19146                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19147                         refcount since it got set in nm_ap_new()
19148
19149         * src/NetworkManagerAPList.c
19150                 - (nm_ap_list_combine): Give up ownership of newly created
19151                         access points to the ap list, fixes memleak
19152
19153         * src/NetworkManagerDevice.c
19154                 - Remove cached_ap_list4 member since its not really needed
19155                 - (nm_device_wireless_network_exists): Try to get correct
19156                         encryption status of a found AP if its already in our
19157                         device list
19158                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19159                         memory allocs/deallocs a bit clearer and shorter-lived
19160
19161 2004-10-26 Ray Strode <rstrode@redhat.com>
19162
19163         * panel-applet/NMWirelessApplet.c:
19164           (custom_essid_item_selected):  kill some compiler
19165         warnings 
19166
19167 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19168
19169         * info-daemon/NetworkManagerInfoDbus.c
19170                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19171                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19172
19173 2004-10-23 Dan Williams <dcbw@redhat.com>
19174
19175         * info-daemon/NetworkManagerInfoDbus.c
19176                 - Trap the "DeviceActivationFailed" signal
19177
19178         * docs/NetworkManager DBUS API.txt
19179                 - Add "DeviceActivationFailed" signal
19180
19181         * panel-applet/NMWirelessAppletDbus.c
19182                 - Quash the "NetworkManager service not available" message
19183
19184         * src/NetworkManagerDbus.[ch]
19185                 - Add the "DeviceActivationFailed" signal
19186
19187         * src/NetworkManagerDevice.c
19188                 - Add support for activation_failed flag
19189                 - Fix deadlock where activation thread didn't clean itself up, making
19190                         main thread still believe it was alive forever (didn't reset activation
19191                         flags like activating, just_activated, etc when IP configuration
19192                         failed)
19193
19194         * src/NetworkManagerPolicy.c
19195                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19196                         for wireless networks, try to fall back to some other access point
19197
19198 2004-10-23 Dan Williams <dcbw@redhat.com>
19199
19200         * panel-applet/NMWirelessApplet.[ch]
19201                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19202                         to the applet object, so we can get tooltips
19203                 - Add tooltips (RH #136866)
19204
19205         * src/NetworkManagerDevice.c
19206                 - When trying to find a wireless network, try to connect with encryption
19207                         turned on first, so that we can more accurately detect whether or not
19208                         we need to use encryption for the actual association later on
19209
19210 2004-10-21 Dan Williams <dcbw@redhat.com>
19211
19212         * Add some support for telling NetworkManagerInfo to tell the user
19213                 that they are using a device that's not fully supported
19214
19215         * Fix some assertions in debug messages due to null access point args
19216
19217 2004-10-21 Dan Williams <dcbw@redhat.com>
19218
19219         * src/NetworkManagerDevice.c
19220                 - Don't try to activate/bring up/down unsupported
19221                         devices
19222
19223         * src/NetworkManagerUtils.c
19224                 - Fix case of PCI ID checks for driver support levels
19225
19226 2004-10-21 Dan Williams <dcbw@redhat.com>
19227
19228         * NetworkManager.h
19229                 - New file, now contains commonly used structures and bits
19230                         for the dbus API of NetworkManager
19231
19232         * Makefile.am
19233                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19234
19235         * src/NetworkManager.h
19236                 - Rename -> src/NetworkManagerMain.c
19237
19238         * Various fixups all around to use NetworkManager.h and new
19239                 src/NetworkManagerMain.h, remove redundant bits that got
19240                 moved into NetworkManager.h
19241
19242         * src/NetworkManagerDevice.[ch]
19243           src/NetworkManagerUtils.[ch]
19244           src/NetworkManagerPolicy.c
19245           src/NetworkManagerDbus.c
19246                 - Whitelist wireless drivers, and blacklist some wired
19247                         drivers.  Also blacklist cipsec and ethernet-over-usb
19248                         devices at this time (RH #135722, RH #135648)
19249                 - Don't leak unsupported devices out over dbus, or allow
19250                         them to be set as the active device.  Skip over them
19251                         during automatic device picking
19252
19253         * test/nmclienttest.c
19254                 - Clean up the dbus code a lot
19255
19256 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19257
19258         * configure.in: post release bump.
19259
19260 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19261
19262         * configure.in:
19263         * NEWS: Released NetworkManager-0.3.1
19264
19265 2004-10-18 Dan Williams <dcbw@redhat.com>
19266
19267         Patches from Thom May:
19268         * test/nmtestdevices.c
19269                 - Include <string.h>
19270         * src/backends/NetworkManagerDebian.c:
19271                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19272                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19273                         Move to using g_strdup_printf rather than arbitrary buffers
19274                 - (nm_system_device_setup_static_ip4_config) Implement function.
19275                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19276
19277 2004-10-17 Dan Williams <dcbw@redhat.com>
19278
19279         * info-daemon/NetworkManagerInfoDbus.c
19280                 - Display name of network in the "network not found" dialog
19281
19282         * panel-applet/NMWirelessAppletDbus.c
19283                 - (nmwa_dbus_call_nm_method): new function replaces all other
19284                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19285                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19286                         consolidated into nmwa_dbus_get_object_name()
19287
19288 2004-10-15 Dan Williams <dcbw@redhat.com>
19289
19290         * src/NetworkManagerDbus.c
19291           info-daemon/NetworkManagerInfoDbus.c
19292                 - Display an error dialog when the user tries to use an
19293                         "Other wireless network" that's not found.
19294
19295 2004-10-15 Dan Williams <dcbw@redhat.com>
19296
19297         * panel-applet/NMWirelessApplet.[ch]
19298                 - Fix up corner cases in applet state, making it
19299                         look more responsive.  Change state to "connecting" when
19300                         the user is forcing a device too.
19301
19302 2004-10-15 Dan Williams <dcbw@redhat.com>
19303
19304         * src/NetworkManagerAPList.c
19305                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19306
19307         * src/NetworkManagerDbus.c
19308                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19309
19310         * src/NetworkManagerDevice.c
19311                 - Disown APs after the device's AP list takes ownership
19312
19313 2004-10-15 Dan Williams <dcbw@redhat.com>
19314
19315         * panel-applet/NMWirelessApplet.c
19316                 - Update our applet state from the GUI thread
19317
19318         * panel-applet/NMWirelessAppletDbus.c
19319                 - Greatly simplify the locking to make the GUI thread
19320                         smoother.  Update a private copy of the device list
19321                         and active device and only when done talking to
19322                         NetworkManager turn it over to the GUI thread.
19323
19324 2004-10-15 Dan Williams <dcbw@redhat.com>
19325
19326         * src/NetworkManagerAP.[ch]
19327                 - Add "artificial" get/set functions, set for APs that
19328                         aren't discovered as part of a scan but instead
19329                         discovered by force-setting the ESSID
19330
19331         * src/NetworkManagerDevice.[ch]
19332                 - (nm_device_wireless_network_exists): pass back whether
19333                         or not the discovered AP was encrypted.  Also, try
19334                         falling back to encrypted mode on the card if unencrypted
19335                         association doesn't work
19336                 - (nm_device_find_and_use_essid): If the network requested
19337                         did in fact exists, but it wasn't in our scan list, add
19338                         an "artificial" entry for it.  Some Cisco cards don't
19339                         see non-ESSID-broadcasting APs in their scan but can still
19340                         associate with them if you know the ESSID, this works around
19341                         that behavior
19342                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19343                         to scan if the card is currently associated with that AP
19344
19345 2004-10-15 Dan Williams <dcbw@redhat.com>
19346
19347         ---- We have a website ----
19348         http://people.redhat.com/dcbw/NetworkManager
19349
19350         Patch from Robert Paskowitz:
19351         * src/NetworkManager.c
19352                 - (main): Make sure we are run as root
19353         * src/NetworkManagerDevice.c
19354                 - Fix type in ad-hoc setting function
19355
19356         Patch from Thom May:
19357         * src/backends/NetworkManagerDebian.c
19358                 - Make Debian backend compile again
19359
19360 2004-10-14 Dan Williams <dcbw@redhat.com>
19361
19362         * Tagged NetworkManager-0_3
19363
19364 2004-10-14 Dan Williams <dcbw@redhat.com>
19365
19366         Patch from Robert Paskowitz:
19367         * NEWS
19368           src/NetworkManagerDevice.[ch]
19369           src/backends/NetworkManagerDebian.c
19370           src/backends/NetworkManagerGentoo.c
19371           src/backends/NetworkManagerRedHat.c
19372           src/backends/NetworkManagerSlackware.c
19373                 - Add support for grabbing and using a broadcast address
19374                         from system config files
19375                 - Some Gentoo backend fixes for grabbing network config
19376                 - Fix LOG_WARN->LOG_WARNING
19377
19378 2004-10-14 Dan Williams <dcbw@redhat.com>
19379
19380         * NEWS: a few small fixes in the credits
19381
19382 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19383
19384         * NEWS: prep for release.
19385
19386 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19387
19388         * panel-applet/NMWirelessAppletDbus.c
19389         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19390
19391 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19392
19393         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19394         applet->state == APPLET_STATE_NO_NM animation.
19395
19396         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19397         set the text correctly.
19398
19399 2004-10-14 Dan Williams <dcbw@redhat.com>
19400
19401         * src/NetworkManager.c
19402                 - Only accept and manager 802.3 and 802.11 devices
19403
19404         * src/NetworkManagerDbus.[ch]
19405                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19406                         logic into NetworkManagerDevice.c
19407                 - (nm_dbus_network_status_from_data): new function
19408                 - (nm_dbus_signal_network_status_change): new function, unused for now
19409                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19410
19411         * src/NetworkManagerDevice.[ch]
19412                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19413                         a random ESSID.
19414
19415 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19416
19417         * info-daemon/NetworkManagerInfo.c 
19418                 - (main): Added session management
19419
19420 2004-10-14 Dan Williams <dcbw@redhat.com>
19421
19422         * panel-applet/NMWirelessAppletDbus.[ch]
19423                 - Expose network_device_[un]ref()
19424                 - Expose wireless_network_[un]ref()
19425                 - (wireless_network_new_with_essid): new function, create and return
19426                         a wireless network with a particular essid
19427
19428         * panel-applet/NMWirelessApplet.c
19429                 - Hook up the "other network" dialog to do something
19430
19431 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19432
19433         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19434         doesn't work yet, but it looks okay.
19435
19436         * panel-applet/icons/*png: Resize to 22x22 and install in the
19437         right place.
19438
19439 2004-10-13 Dan Williams <dcbw@redhat.com>
19440
19441         * panel-applet/NMWirelessApplet.c
19442                 - Add function to print out applet_state in a readable
19443                         manner
19444
19445         * src/NetworkManager.c
19446                 - (main): Don't segfault when nm_dbus_init() fails, we had
19447                         a left-over call to hal_shutdown() into which we passed NULL
19448
19449         * src/NetworkManagerAP.c
19450                 - (nm_ap_set_essid): Allow NULL essids
19451
19452         * src/NetworkManagerAPList.[ch]
19453                 - More use of nm_ap_list_[un]lock ()
19454                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19455                         network/essid, just return nothing.  Also skip over NULL
19456                         essid access points in the list when searching
19457                 - (nm_ap_list_get_ap_by_address): new function
19458                 - (nm_ap_list_update_network): set the access point's key source to
19459                         NULL when the key returned from NetworkManagerInfo is NULL or
19460                         of 0 length
19461                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19462                         copy timestamp over too
19463                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19464                         find the correct ESSID for a blank-essid access point by searching
19465                         through another list and matching access point MAC addresses
19466                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19467
19468         * src/NetworkManagerDbus.c
19469                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19470                         may specify.  This is mainly for access points that don't
19471                         broadcast their essid.  So if the user tells us to associate with
19472                         some random ESSID that's not in our access point list, we find
19473                         out if the access point does in fact exist (by attempting association
19474                         and then matching that access point's MAC address with the essid the
19475                         user gave us) and then we switch to it.
19476                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19477                         to the returned list of networks for the "getNetworks" method
19478
19479         * src/NetworkManagerDevice.[ch]
19480                 - Extra debugging info for link detection
19481                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19482                         based on MAC address
19483                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19484                 - (nm_device_wireless_network_exists): new function, find out whether
19485                         a random ESSID exists by attempting to associate with it
19486                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19487                         device list as long as they have an AP MAC address we can use.
19488                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19489                         devices too.  Lets the applet update more frequently.
19490
19491         * src/backends/NetworkManagerGentoo.c
19492                 - Patch from: Robert Paskowitz
19493                         - Update backend code for Gentoo
19494                         - Implement nm_system_device_update_config_info ()
19495
19496         * test/nmclienttest.c
19497                 - (set_network_device): new function, takes a command-line argument
19498                         and tells NetworkManager to use that wireless network
19499
19500 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19501
19502         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19503         if the notification icon crashes 5 times within 5 seconds of each respawn 
19504
19505 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19506
19507         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19508         g_print.
19509
19510 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19511
19512         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19513
19514         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19515         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19516         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19517         Change the name of the icons.
19518
19519         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19520         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19521         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19522         (nm_menu_wireless_expose_event): Really bad hack to get the style
19523         to draw in the right color.
19524
19525 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19526
19527         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19528         Notification if it crashes
19529
19530 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19531
19532         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19533         (nmwa_dbus_get_string): remove unused functions
19534
19535         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19536         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19537         remove unused functions
19538
19539         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19540
19541 2004-10-12 Dan Williams <dcbw@redhat.com>
19542
19543         * panel-applet/NMWirelessAppletDbus.c
19544                 - New functions:
19545                         wireless_network_new
19546                         wireless_network_copy
19547                         network_device_new
19548                         network_device_copy
19549
19550         * src/NetworkManagerDevice.[ch]
19551                 - New functions:
19552                         nm_device_set_mode_managed
19553                         nm_device_set_mode_adhoc
19554                 - Use these functions where appropriate
19555                 - When creating a new wireless device, force the card
19556                         to managed/Infrastructure mode as soon as possible
19557
19558 2004-10-12 Dan Williams <dcbw@redhat.com>
19559
19560         * src/NetworkManagerDevice.c
19561                 - Force wireless cards into Infrastructure mode before we use them
19562
19563 2004-10-12 Dan Williams <dcbw@redhat.com>
19564
19565         * TODO
19566                 - Remove bit about static IP address support
19567
19568         * src/NetworkManagerUtils.c
19569                 - (nm_spawn_process): Add some error reporting
19570
19571         * src/NetworkManagerDevice.c
19572                 - (nm_device_activation_configure_ip): hook up to the static config
19573                         routines in the backends
19574
19575         * src/backends/NetworkManagerRedHat.c
19576                 - (nm_system_device_update_config_info): use shvar.c routines to
19577                         parse the config file iformation, not our own
19578                 - (nm_system_device_setup_static_ip4_config): new function, based
19579                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19580                         with a static IP address and gateway
19581
19582         * src/backends/shvar.[ch]
19583                 - Parser (filched from initscripts package) for ifcfg-* files
19584
19585         * src/backends/NetworkManagerSystem.h
19586           src/backends/NetworkManagerGentoo.c
19587           src/backends/NetworkManagerDebian.c
19588           src/backends/NetworkManagerSlackware.c
19589                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19590
19591 2004-10-11 Dan Williams <dcbw@redhat.com>
19592
19593         * TODO
19594                 - Remove bit about more robust AP diffing since I just implemented it
19595
19596 2004-10-11 Dan Williams <dcbw@redhat.com>
19597
19598         * src/NetworkManagerAP.c
19599                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19600                         enough RAM to allocate new AP structures, but return NULL instead
19601
19602         * src/NetworkManagerAPList.[ch]
19603                 - (nm_ap_list_is_empty): new function
19604                 - (nm_ap_list_combine): new function, combine two access point lists
19605                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19606                         into another
19607
19608         * src/NetworkManagerDevice.[ch]
19609                 - Rename some functions to be clearer:
19610                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19611                         nm_device_just_activated     -> nm_device_is_just_activated
19612                         nm_device_activating         -> nm_device_is_activating
19613                         nm_device_now_scanning       -> nm_device_is_scanning
19614                 - Cache the last 4 scans so that the access point list is more stable.
19615                         We combine the lastest two scans and use that as the AP list,
19616                         and diff that combined list against the combination of the earliest
19617                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19618
19619 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19620
19621         * info-daemon/NWManagerInfo.h
19622                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19623
19624         * info-daemon/NWManagerInfoDbus.c
19625                 - (shutdown_callback): new function
19626                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19627                         if NetworkManager goes away.  Kill the timeout
19628                         if NetworkManager restarts before the 30 seconds
19629                         are up.
19630                 - (nmi_dbus_service_init): 
19631                         - call gtk_main_quit if NetworkManager is not running
19632                         - add filters to monitor dbus service creations and
19633                                 deletions
19634         
19635 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19636
19637         * panel-applet/NMWirelessApplet.c
19638                 - (nmwa_update_state): Hide notification icon if we are only
19639                         showing one wired card and no wireless interfaces 
19640                         (Red Hat Bug #134895)
19641
19642         * panel-applet/NMWirelessAppletDbus.c
19643                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19644
19645         * info-daemon/NWManagerInfo.c
19646                 - (main): Terminated the notification_icon_cmd array with a NULL
19647
19648 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19649
19650         * configure.in (ALL_LINGUAS): Added de (German).
19651
19652 2004-10-08 Dan Williams <dcbw@redaht.com>
19653
19654         * src/NetworkManagerDevice.c
19655                 - Be a bit more robust about link checking, ie make sure that
19656                         the WEP key we were given actually has some data in it
19657
19658 2004-10-08 Dan Williams <dcbw@redhat.com>
19659
19660         * info-daemon/NetworkManagerInfo.c (main):
19661                 - Initialize GError object to NULL
19662
19663 2004-10-08 Dan Williams <dcbw@redhat.com>
19664
19665         * panel-applet/NMWirelessAppletDbus.c
19666                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19667
19668 2004-10-08 Dan Williams <dcbw@redhat.com>
19669
19670         * info-daemon/NetworkManagerInfo.[ch]
19671           info-dameon/NetworkManagerInfoDbus.[ch]
19672           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19673                 - Preserve original label text in the passphrase dialog so that
19674                         it actually gets updated with the new network name the next
19675                         time around.  Previously, we were overwriting it so you'd get
19676                         the wrong network name to enter a key for
19677                 - Add a "Key Type" combo to the passphrase dialog, user selects
19678                         encryption key type now, type is stored in GConf too
19679                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19680
19681         * src/NetworkManagerAP.[ch]
19682                 - Remove all the encyption method magic.  It's now set by the user
19683                         and NetworkManager retrieves the type of encryption key from
19684                         NetworkManagerInfo
19685
19686         * src/NetworkManagerAPList.[ch]
19687           src/NetworkManagerDbus.[ch]
19688                 - Adjust to new way of setting encryption key and method
19689                 - Pull encryption method down from NMI along with key
19690
19691         * src/NetworkManagerDevice.[ch]
19692                 - Removed encryption method fallback magic as the method is now
19693                         determined by the user.  This greatly simplifies the connection
19694                         logic.
19695                 - More robust connection/link logic.  Besides removing the encryption
19696                         method fallback magic, check whether or not the card is receiving
19697                         invalidly encrypted packets, which usually indicates that we have
19698                         a bad WEP key set.
19699                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19700
19701         * test/nminfotest.c
19702                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19703
19704 2004-10-07 Dan Williams <dcbw@redhat.com>
19705
19706         * info-daemon/NetworkManagerInfo.conf
19707                 - Allow root user to run NMI too
19708
19709 2004-10-06 Dan Williams <dcbw@redhat.com>
19710
19711         * src/NetworkManagerDevice.[ch]
19712           src/NetworkManagerDbus.c
19713           doc/NetworkManager DBUS API.txt
19714                 - Add a new status tag "scanning", which is set when there
19715                         is no active network connection, but NetworkManager is
19716                         looking for an access point to associate with
19717
19718         * panel-applet/main.c
19719                 - Cast the applet appropriately for gtk_widget_show_all ()
19720
19721 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19722
19723         * panel-applet/eggtrayicon.[ch]:
19724         * panel-applet/main.c: Add missing file
19725
19726 2004-10-04 Dan Williams <dcbw@redhat.com>
19727
19728         * src/NetworkManagerDevice.[ch]
19729                 - Add a slightly more robust method of determining if the WEP key
19730                         is correct or not, by checking the WEP-discarded packet count
19731                         on the card
19732
19733         * info-daemon/NetworkManagerInfo.c
19734                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19735                         un-escape values we pull out rather than escaping them
19736
19737 2004-10-03  Marcel Telka  <marcel@telka.sk>
19738
19739         * configure.in (ALL_LINGUAS): Added sk.
19740
19741 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19742
19743         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19744         and feel.  We should be back to working, and have a good, clean
19745         look.
19746
19747 2004-09-30 Dan Williams <dcbw@redhat.com>
19748
19749         * info-daemon/NetworkManagerInfo.c
19750           info-daemon/NetworkManagerInfoDbus.c
19751           test/nminfotest.c
19752                 - Escape ESSIDs in gconf
19753
19754         * src/NetworkManagerDevice.c
19755                 - Fix pseudo-scanning to use netowrk list from info daemon
19756
19757 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19758
19759         * configure.in: Add a temporary --enable-notification-icon.  This
19760         will prolly go away.
19761
19762         * info-daemon/Makefile.am:
19763         * info-daemon/NetworkManagerInfo.c:
19764         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19765
19766         * panel-applet/Makefile.am:
19767         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19768         * panel-applet/NMWirelessApplet.h:
19769
19770 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19771
19772         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19773         before 'select custom ESSID'.
19774
19775         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19776         fully complete, but syncing in prep for merge.
19777
19778         * panel-applet/icons/*png: New images
19779
19780 2004-09-28 Dan Williams <dcbw@redhat.com>
19781
19782         * src/NetworkManager.c
19783           src/NetworkManagerDevice.c
19784           src/NetworkManagerPolicy.c
19785                 - Don't blow away an active wired connection on startup
19786
19787 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19788
19789         Changes from J5
19790         
19791         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19792
19793         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19794         syslog output
19795
19796 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19797
19798         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19799         have a wireless card.
19800
19801 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19802
19803         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19804         Also, get the right device strings.
19805
19806 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19807
19808         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19809         the logic to make this right.
19810
19811         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19812         devices so that wired networks are always first.
19813
19814 2004-09-22    <clarkbw@cvs.gnome.org>
19815
19816         * initscript/Debian/.cvsignore:
19817         * initscript/Slackware/.cvsignore:
19818         Added new cvsignores for Makefile, Makefile.in
19819         
19820         * test/.cvsignore:
19821         Added nmtestdevices
19822         
19823         * src/NetworkManagerDevice.c: 
19824         * src/NetworkManager.c: 
19825         Updated the wireless/wired HAL device strings from net.ethernet to
19826         net.80203 or net.80211 depending on wired or wireless respectively
19827         
19828         * examples/python/NetworkManager.py: 
19829         s/Quality/Strength/
19830
19831         * examples/python/systray/network_tray.py:
19832         Lots of little changes and fixes.  been rotting for a while so I
19833         figured I'd finally sync them all with CVS
19834
19835 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19836
19837         * configure.in: Add graphics
19838
19839         * panel-applet/Makefile.am: Add graphics
19840
19841         * panel-applet/icons/*: Add graphics
19842
19843         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19844         the icons fully lined up.
19845
19846         * panel-applet/menu-info.c: 
19847         * panel-applet/menu-info.h: Add another menu type.
19848
19849 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19850
19851         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19852
19853         * panel-applet/menu-item.[ch]: Wireless menu item.
19854
19855 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19856
19857         * info-daemon/NetworkManagerInfo.conf
19858                 - Created a more robust security policy for the DBus service
19859                         - everything is denied by default
19860                         - root can own and send to the service
19861                         - users logged in at the console can send to the service
19862
19863 2004-09-13  Dan Williams <dcbw@redhat.com>
19864
19865         * src/NetworkManagerDevice.c
19866                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19867                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19868                         the latter
19869
19870 2004-09-13  Dan Williams <dcbw@redhat.com>
19871
19872         * TODO: fix typo
19873
19874         * docs/NetworkManager DBUS API.txt
19875                 - Update for new signal strength changes
19876
19877         * panel-applet/NMWirelessApplet.c
19878                 - Make panel icon show strength of the current connection
19879                 - Cleanups and memleak fixes
19880
19881         * panel-applet/NMWirelessApplet.h
19882                 - Add data members for signal strength on devices and networks
19883
19884         * panel-applet/NMWirelessAppletDbus.c
19885                 - Free more DBusErrors
19886                 - Update for new signal strength changes
19887                 - Make devices and networks more like real objects, use ref/unref methods
19888                 - Actually unlock the mutex when updating the active device
19889
19890         * src/NetworkManagerAP.c
19891                 - Change AP functions and data members from "quality"->"strength"
19892
19893         * src/NetworkManagerDbus.c
19894                 - Kill "getMaxQuality" and "getQuality" methods
19895                 - Add "getStrength" methods for Networks and Devices
19896
19897         * src/NetworkManagerDevice.[ch]
19898                 - Add accessors for device strength
19899                 - Add functions to update strength for a device.  Note that not all drivers
19900                         actually support signal strength for scanned access points (Atmel drivers
19901                         being one)
19902                 - Calculate signal strength for each AP during scan
19903
19904         * src/NetworkManagerWireless.[ch]
19905                 - Add function to return signal strength % from a device and a raw quality struct
19906
19907         * test/nmclienttest.c
19908                 - Update for new signal strength changes
19909
19910 2004-09-11  Dan Williams <dcbw@redhat.com>
19911
19912         * src/NetworkManager.c
19913                 - Fix race condition between initscripts and NM on card insertion
19914                         which could cause a card to keep an IP address and routes around
19915                         even when it was not the active device
19916
19917         * src/NetworkManagerDbus.c
19918                 - Fix compile errors, free more DBusErrors
19919
19920 2004-09-11  Dan Williams <dcbw@redhat.com>
19921
19922         * docs/NetworkManager DBUS API.txt
19923                 - Add an explanation of NM's API
19924
19925         * src/NetworkManagerDbus.c
19926                 - Free some more DBusErrors if needed
19927
19928 2004-09-11  Dan Williams <dcbw@redhat.com>
19929
19930         * panel-applet/NMWirelessApplet.c
19931           panel-applet/NMWirelessAppletDbus.c
19932                 - Start using NetworkDevice/WirelessNetwork structures in more places
19933                 - Update for unified device/network forcing in NetworkManager
19934
19935         * src/NetworkManager.c
19936                 - some code consolidation
19937
19938         * src/NetworkManagerDbus.c
19939                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19940                         or two arguments:  the first is the NM ID of the device to switch to,
19941                         and the second (optional) argument is the ESSID of a wireless network
19942                         to use as well.
19943                 - Get rid of "setNetwork" method due to above change
19944
19945         * src/NetworkManagerDevice.c
19946                 - (nm_device_new): perform scan and update best AP on device creation
19947                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19948                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19949                         spin waiting for cancellation to finish before returning
19950
19951         * src/NetworkManagerPolicy.c
19952                 - Changes here clarify the situations in which a device switch occurs, and 
19953                         make sure to keep using a forced device and network if the user gives
19954                         us one
19955                 - Remove old unused code
19956
19957 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19958
19959         * configure.in: Added Danish (da) to ALL_LINGUAS.
19960
19961 2004-09-09  Dan Williams <dcbw@redhat.com>
19962
19963         * panel-applet/NMWirelessAppletDbus.c
19964                 - Pull fresh devices and networks from NM when wireless networks
19965                         change.  Provides faster feedback of a forced wireless network
19966
19967         * src/NetworkManagerDbus.c
19968                 - Return error when "getMaxQuality" is called on a wired device
19969                 - Make best_ap freezing actually work again, and signal cancellation
19970                         of activation if there's already a device activation when the user
19971                         freezes the best_ap
19972
19973         * src/NetworkManagerDevice.c
19974                 - Don't clear out the best_ap for wireless devices when the link goes
19975                         down, that's done elsewhere
19976                 - Kill any dhcp daemons when cancelling device activation since they
19977                         may be stuck waiting for a DHCP address, and since we're cancelling
19978                         activation we don't care about that anymore
19979
19980         * src/NetworkManagerPolicy.c
19981                 - Make sure to unref the device we ref earlier (we refed it to make sure
19982                         it stuck around during device activation and such)
19983                 - If we were going to change the best device, but its activating currently
19984                         (and therefore the change didn't occur due to the check earlier)
19985                         we mark the state changed to we come back to it later when device
19986                         activation has canceled and its no longer activating
19987
19988         * src/backends/NetworkManagerRedHat.c
19989                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19990
19991 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19992
19993         * info-daemon/passphrase.glade: 
19994         set passphrase input to activates_default : True
19995
19996         * examples/python/systray/network_tray.py
19997         (network_tray.sort_networks):
19998
19999         Added support for having wireless always scanning
20000
20001 2004-09-09  Dan Williams <dcbw@redhat.com>
20002
20003         NOTE: this commit changes the behavior of wireless devices in
20004         NetworkManager.  They are now up all the time, scanning all
20005         the time.  Only the active device has an IP address and routing
20006         information set up however.  Also, NetworkManager will no longer
20007         opportunistically switch wireless networks when a better one
20008         comes in range, it will remain associated with one wireless network
20009         until that one drops out.
20010
20011         * panel-applet/NMWirelessApplet.c
20012           panel-applet/NMWirelessAppletDbus.c
20013                 - List all wireless cards and their respective networks
20014
20015         * src/NMLoadModules
20016                 - Use full path to /sbin/ip
20017
20018         * src/NetworkManager.c
20019                 - Keep wireless devices up all the time so they can scan
20020
20021         * src/NetworkManagerDbus.c
20022                 - On a WirelessNetworkUpdate signal from NMI, don't update
20023                         the "best" AP
20024
20025         * src/NetworkManagerDevice.c
20026                 - (nm_device_set_link_active): clear out the best ap for
20027                         wireless devices when the link is set to FALSE
20028                 - Scan on all wireless cards, all the time
20029                 - (nm_device_activation_worker): split out the wireless card
20030                         link-waiting code to a separate function
20031                 - Keep wireless cards up even if device activation fails
20032                 - Don't update the "best" ap as much
20033
20034         * src/NetworkManagerPolicy.c
20035                 - Don't update the best ap when checking if its frozen,
20036                         let link checking clear out a frozen best ap for us
20037
20038         * src/NetworkManagerWireless.c
20039                 - Scan on all wireless cards, all the time
20040
20041 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20042
20043         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20044
20045 2004-09-09  Ankit Patel <ankit@redhat.com>
20046
20047         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20048
20049 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20050
20051         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20052
20053 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20054
20055         * examples/python/NetworkManager.py: 
20056         added CONNECTED, CONNECTING, and DISCONNECTED states
20057         added methods to return number of devices of a single type
20058
20059         * examples/python/systray/network_tray.py: 
20060         did some tweaks to get the menu looking near what it is supposed
20061         to look like.  Also did a Airo card hack to make it show the
20062         correct AP quality
20063
20064 2004-09-08  Dan Williams <dcbw@redhat.com>
20065
20066         * panel-applet/no-networkmanager.png
20067           panel-applet/Makefile.am
20068           panel-applet/NMWirelessApplet.c
20069                 - Add a "NetworkManager not running" icon and use it
20070                 - Use new consolidated GConf keys rather than Preferred/Trusted
20071
20072         * TODO: update
20073
20074         * info-daemon/NetworkManagerInfo.c
20075           info-daemon/NetworkManagerInfoDbus.[ch]
20076           info-daemon/NetworkManagerInfoPassphraseDialog.c
20077                 - There are now no longer two separate lists of wireless networks,
20078                         but one list where each network is "trusted" or not trusted
20079                 - Add a "getNetworkTrusted" dbus method
20080                 - "WirelessNetworkUpdate" signal now sent rather than
20081                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20082                 - Start freeing some dbus errors (not completed yet)
20083
20084         * info-daemon/passphrase.glade
20085                 - Remove the "don't show" hints for pager and taskbar
20086                 - Add a title since its going to be in the taskbar
20087
20088         * src/NetworkManager.[ch]
20089           src/NetworkManagerAPList.[ch]
20090                 - There are now no longer two separate lists of wireless networks,
20091                         but one list where each network is "trusted" or not trusted
20092
20093         * src/NetworkManagerAP.[ch]
20094                 - Add get/set "trusted" accessors and data bit
20095
20096         * src/NetworkManagerDbus.[ch]
20097                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20098                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20099
20100         * src/NetworkManagerDevice.[ch]
20101                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20102                 - (nm_device_new): Get device config from backend when initializing devices
20103                 - (nm_device_activation_worker): Split out device configuration on
20104                         activation to deal with static/dynamic IP differences, and try encryption
20105                         fallbacks on a device if the encryption method for the best AP is not good
20106                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20107                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20108
20109         * src/NetworkManagerWireless.c
20110                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20111
20112         * src/backends/NetworkManagerRedHat.c
20113           src/backends/NetworkManagerSystem.h
20114                 - (nm_system_device_update_config_info): Add function to get device configuration
20115                         from system data in ifcfg-* files
20116
20117         * src/backends/NetworkManagerDebian.c
20118           src/backends/NetworkManagerGentoo.c
20119           src/backends/NetworkManagerSlackware.c
20120                 - Add stub functions for getting device configuration
20121
20122 2004-09-07  Dan Williams <dcbw@redhat.com>
20123
20124         * src/backends/NetworkManagerRedhat.c
20125           src/backends/NetworkManagerSlackware.c
20126                 - Use full path to /sbin/ip everywhere
20127
20128 2004-09-07  Dan Williams <dcbw@redhat.com>
20129
20130         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20131
20132         * configure.in
20133           initscript/Makefile.am
20134           initscript/Slackware/Makfile.am
20135           initscript/Slackware/rc.networkmanager
20136           src/Makefile.am
20137           src/backends/NetworkManagerSlackware.c
20138                 - Add Slackware support
20139
20140 2004-09-07  Dan Williams <dcbw@redhat.com>
20141
20142         Patches below from:
20143                 <j@bootlab.org>
20144                 Mark Roach <mrroach@okmaybe.com>
20145                 Thom May <thom@debian.org>
20146
20147         * configure.in
20148           initscript/Debian/NetworkManager
20149           initscript/Debian/Makefile.am
20150                 - Initscript for Debian
20151
20152         * src/backends/NetworkManagerDebian.c
20153                 - Add missing system init function to allow compilation
20154                         on Debian
20155
20156 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20157
20158         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20159
20160 2004-09-03  Akagic Amila <bono@linux.org.ba>
20161
20162         * configure.in: Added 'bs' to ALL_LINGUAS.
20163
20164 2004-09-02  Colin Walters  <walters@verbum.org>
20165
20166         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20167         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20168         g_strdup_printf instead of arbitrarily sized buffers.
20169
20170 2004-09-01  Colin Walters  <walters@verbum.org>
20171
20172         * NetworkManager.pc.in: New file.
20173
20174         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20175
20176 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20177         
20178         * configure.in: Punjabi(pa) is added to po/.
20179
20180 2004-08-31  Dan Williams <dcbw@redhat.com>
20181
20182         * Remove 'debug' extern global from all files since we now
20183                 use syslog()
20184
20185         * src/NetworkManager.[ch]
20186                 - Break out routine that get the net.interface property from HAL,
20187                         removing that logic from nm_create_device_and_add_to_list()
20188                 - (nm_create_device_and_add_to_list): make this a bit more general so
20189                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20190                         the create of test devices.
20191                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20192                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20193                         which makes NetworkManager listen for dbus commands to create test
20194                         devices, which have no backing hardware.  Use when you're on a plane
20195                         for example, and/or forgot your wireless card at home.  Test devices
20196                         _cannot_ be created unless NM is started with --enable-test-devices.
20197
20198         * src/NetworkManagerDbus.[ch]
20199                 - New "getLinkActive" method for devices
20200                 - New "setLinkActive" method for devices (only works on test devices)
20201                 - New "createTestDevice" method on NetworkManager object to create a test
20202                         device of a specified type (ie wired, wireless).  UDI is created from
20203                         scratch, as is the interface name.  Only works when NM is started with
20204                         --enable-test-devices switch.
20205                 - New "removeTestDevice" method on NetworkManager object which removes a
20206                         test device.  Only works when NM is started with --enable-test-devices
20207
20208         * src/NetworkManagerDevice.[ch]
20209                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20210                         whether a device is a test device or not, and what its link status is.
20211                 - Deal with test devices in most functions.  For those that work directly on hardware
20212                         special-case test devices.
20213                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20214                         command-line.
20215                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20216                         checking to separate functions to facilitate test device link checking.
20217                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20218                         don't make a distinction between System Authentication and Encryption
20219                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20220                         on the card.  We don't deal with Shared Key auth yet.
20221                 - (nm_device_activation_worker): split the activation cancel check logic out into
20222                         a separate routine nm_device_activation_cancel_if_needed()
20223                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20224                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20225                         a list of fake access points that they can "see"
20226                 - (nm_device_is_test_device): return whether or not a device is a test device
20227
20228         * src/NetworkManagerPolicy.c
20229                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20230                         previously if you "locked"/forced NM to use a wireless device but then
20231                         selected a wireless network for NM to use, it would switch to a wired device.
20232                         So, if the active device is wireless and it has a "forced" best AP, use it
20233                         if the "forced" best AP is still valid
20234                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20235                         there were no usable network devices, or the last one was removed
20236
20237         * src/backends/NetworkManager*.c
20238                 - Deal with test devices, mostly just return success for operations like getting
20239                         a DHCP address
20240
20241         * test/nmtestdevices.c
20242                 - Test tool to create/remove/link-switch test devices
20243
20244 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20245
20246         * examples/python/NetworkManager.py: 
20247         added convience functions has_wired_device and has_wireless_device
20248
20249         * examples/python/systray/network_tray.py: 
20250         cleaned up a bunch of cruft, added support for listing wireless
20251         networks just like the real applet.  This is probably all I'm
20252         going to work on this applet from now on.
20253         TODO: add support for actually changing networks and devices
20254
20255         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20256         changed "nm.networks" into a dict from a list so I can store all
20257         the cool information about networks in there
20258
20259         * examples/python/systray/network_tray.py: 
20260         Added nice message when you try to run without running make first
20261
20262         * examples/python/NetworkManager.py: 
20263         Bug fixes to the code so we get all the device information
20264         that we need in get_device()
20265         
20266         * examples/python/NMTester.py: 
20267         Fixed _print_device_list to print_device_list
20268
20269 2004-08-29  Seth Nickell  <seth@gnome.org>
20270
20271         * configure.in:
20272
20273         Actually properly setup the Debian backend in configure.
20274         
20275 2004-08-29  Colin Walters  <walters@verbum.org>
20276
20277         * test/nminfotest.c: Include string.h and stdlib.h.
20278         (get_network_string_property, get_networks_of_type): Return NULL.
20279
20280         * test/nmclienttest.c (get_device_name, get_active_device): Return
20281         NULL.
20282
20283         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20284         use strlen, fgets always NULL-terminates the string.
20285
20286         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20287         dbus_message_get_member): Remove /* in comment.
20288
20289         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20290
20291         * src/NetworkManager.c (quit): Unused, delete.
20292         (nm_data_free): Cast arg to GFunc.
20293
20294         * panel-applet/NMWirelessAppletDbus.c: Need to include
20295         string.h, and dbus-glib-lowlevel.h (the latter is needed
20296         for dbus_connection_setup_with_g_main at present).
20297         (nmwa_dbus_update_wireless_network_list): Parenthesize
20298         assignment in conditional.
20299         (nmwa_dbus_worker): Return NULL.
20300
20301         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20302         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20303         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20304         (nmwa_populate_menu): Return NULL on failure, instead of just
20305         return;
20306
20307         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20308
20309         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20310         variables.
20311
20312         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20313         delete.
20314         
20315 2004-08-29  Colin Walters  <walters@verbum.org>
20316
20317         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20318         a GTimeVal instead of time_t.  This is easier to work with,
20319         since time_t may be a long or double, we don't know.
20320
20321         * src/NetworkManagerDbus.h: Update prototype.
20322         
20323         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20324         instead of time_t.
20325         (nm_ap_get_timestamp): Update to return GTimeVal.
20326         (nm_ap_set_timestamp): Update to take GTimeVal.
20327         
20328         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20329         to handle GTimeVal.
20330
20331         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20332         GTimeVal change.
20333         (nm_ap_list_print_members): Fix warnings in printf format.
20334
20335 2004-08-29  Colin Walters  <walters@verbum.org>
20336         
20337         * panel-applet/NMWirelessApplet.c: Include config.h.
20338
20339 2004-08-29  Colin Walters  <walters@verbum.org>
20340
20341         * configure.in: Generate config.h.
20342
20343         * configure.in: Dump dependency on OpenSSL; we can't
20344         use it since this package is GPL:
20345         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20346         Instead, check for libgcrypt, use it if available,
20347         otherwise use included MD5 code.
20348
20349         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20350         Suck in from gnome-keyring, munge a bit.
20351         
20352         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20353         gnome-keyring-md5.h gnome-keyring-md5.c.
20354         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20355
20356         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20357         libgcrypt or included gnome-keyring md5 bits.
20358         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20359
20360 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20361
20362         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20363
20364 2004-08-27  Bryan Clark  <bclark@redhat.com>
20365
20366         * examples/python/systray/Makefile: 
20367
20368         Updated the clean section
20369         
20370         * examples/python/systray/trayiconmodule.c: 
20371         * examples/python/systray/trayicon.override: 
20372         * examples/python/systray/network_tray.py: 
20373         * examples/python/systray/eggtrayicon.h: 
20374         * examples/python/systray/eggtrayicon.c: 
20375         * examples/python/systray/Makefile: 
20376         * examples/python/README: 
20377         * examples/python/NetworkManager.py: 
20378         * examples/python/NMTester.py: 
20379
20380         Initial commit of these python example files
20381
20382 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20383
20384         * panel-applet/NMWirelessApplet.c
20385                 - Make current device bold
20386                 - Show more user-friendly device name if we got one from hal
20387
20388         * panel-applet/NMWirelessAppletDbus.c
20389                 - Grab "info.product" key from hal for network devices
20390                 - Cache the current active device
20391
20392 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20393
20394         * configure.in: Added en_CA to ALL_LINGUAS.
20395
20396 2004-08-27  Christian Rose  <menthos@menthos.com>
20397
20398         * configure.in: Added "sv" to ALL_LINGUAS.
20399
20400 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20401
20402         * Tag NetworkManager-0.2
20403
20404 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20405
20406         * initscripts/Makefile.am
20407         * configure.in: Make pass distcheck
20408
20409         * po/ChangeLog: added
20410
20411 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20412
20413         * panel-applet/NMWirelessApplet.c
20414                 - Remove debugging code
20415                 - Enable device switching from menus
20416
20417         * panel-applet/NMWirelessAppletDbus.[ch]
20418                 - Method for asking NM to switch devices
20419
20420         * src/NetworkManagerDevice.c
20421                 - Set dev->activating earlier, avoids race between
20422                         the dbus signal of "DeviceActivating" and setting
20423                         dev->activating (which is what NM's "status" method call
20424                         looks at)
20425
20426 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20427
20428         * panel-applet/NMWirelessApplet.[ch]
20429                 - Rework menu code to add devices to menu, and to show
20430                         signal strength for each access point.  Code cleanups
20431                         too.
20432
20433         * panel-applet/NMWirelessAppletDbus.c
20434                 - Grab network devices from NetworkManager too
20435                 - Grab quality information from NM for wireless networks
20436
20437         * src/NetworkManagerDbus.[ch]
20438                 - Add dbus methods for getting the HAL UDI from a device and
20439                         for getting its base quality, if its wireless
20440                 - Consolidate some functions (wireless network notifications,
20441                         device notifications)
20442                 - Add method for requesting NM to use a particular device
20443
20444         * src/NetworkManager.c
20445                 - Change for function consolidations from NetworkManagerDbus.c
20446                 - Implement active device locking and user-requested devices
20447                         (ie, tell NM to use a particular device instead of the one
20448                         it autochose)
20449
20450         * src/NetworkManagerDevice.c
20451                 - Add method for getting the base quality of a device, if its
20452                         wireless
20453                 - Grab device base quailty info from iwlib during scans
20454
20455         * src/NetworkManagerPolicy.c
20456                 - Use a user-requested device rather than the auto-chosen device
20457                         if we are told to
20458
20459 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20460
20461         * Makefile.am: add po as a supdir
20462
20463         * autogen.sh: use gnome-autogen.sh
20464
20465         * initscript/Gentoo/.cvsignore:
20466         * initscript/RedHat/.cvsignore: Shut up cvs
20467
20468         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20469
20470         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20471         (nmwa_fill): Use gettext.
20472
20473         * configure.in: add gettext support
20474         * po/.cvsignore:
20475         * po/NetworkManager.pot:
20476         * po/POTFILES.in:
20477
20478 2004-08-26  Seth Nickell  <seth@gnome.org>
20479
20480         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20481         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20482         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20483         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20484         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20485         * panel-applet/NMWirelessApplet.h:
20486
20487         Use a menu bar instead of a button for the main clickable
20488         thingy.
20489         
20490 2004-08-25  Dan Williams <dcbw@redhat.com>
20491
20492         * src/NetworkManagerDevice.c
20493                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20494                         turning encryption off, because the Cisco driver doesn't associate
20495                         with WEP-enabled access points unless we are in "open"
20496
20497 2004-08-25  Dan Williams <dcbw@redhat.com>
20498
20499         * src/NetworkManagerWireless.c
20500                 - Don't try to defererence blank passphrases
20501
20502 2004-08-25  Dan Williams <dcbw@redhat.com>
20503
20504         * panel-applet/NMWirelessApplet.c
20505                 - Rebuild the menu whenever a user clicks
20506
20507 2004-08-25  Dan Williams <dcbw@redhat.com>
20508
20509         * panel-applet/NMWirelessApplet.c
20510                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20511                         when NM isn't around or when its not connected
20512
20513         * src/NetworkManagerDevice.c
20514                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20515                         canceled.
20516
20517 2004-08-25  Dan Williams <dcbw@redhat.com>
20518
20519         * panel-applet/NMWirelessAppletDbus.c
20520                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20521                         for getting encryption, and don't stop on "val" once we've gotten it
20522                         from NetworkManager.  Short form:  encryption should now show up.
20523
20524 2004-08-25  Dan Williams <dcbw@redhat.com>
20525
20526         * panel-applet/NMWirelessApplet.c
20527                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20528                         network to associate with
20529
20530 2004-08-25  Dan Williams <dcbw@redhat.com>
20531
20532         * panel-applet/*
20533                 - Rework the panel applet to do all DBUS communication in a separate
20534                         thread
20535
20536 2004-08-25  Dan Williams <dcbw@redhat.com>
20537
20538         * info-daemon/NetworkManagerInfo.[ch]
20539                 - Remove "get_next_priority" function
20540
20541         * info-daemon/NetworkManagerInfoDbus.[ch]
20542                 - Convert "priority" functions to "timestamp"
20543
20544 2004-08-25  Dan Williams <dcbw@redhat.com>
20545
20546         * src/NetworkManagerAP.[ch]
20547                 - Add a "enc_method_good" member and accessors to an Access Point
20548                         to signal when we've found the correct encryption method
20549                         for an access point
20550                 - Add a "timestamp" member and accessors, remove "priority" member
20551                         and accessors (use timestamps instead)
20552                 - Rename "wep_key"->"enc_key"
20553                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20554                         for a specified encryption method using the access points
20555                         source encryption key/passphrase
20556
20557         * src/NetworkManagerAPList.c
20558                 - When updating a network with dbus, grab timestamp now instead of
20559                         priority
20560
20561         * src/NetworkManagerDBus.[ch]
20562                 - Add signal for "DeviceActivating"
20563                 - Switch priority->timestamp
20564
20565         * src/NetworkManagerDevice.c
20566                 - Change references of "wep_key" -> "enc_key" or "key"
20567                 - Signal DeviceActivating when starting activation
20568                 - When activating a wireless device, if the access point we are connecting
20569                         to is encrypted, and we have a source key, try to generate a mangled
20570                         key and use that (ie, generate real WEP key from a passphrase)
20571                 - Rework device activation to fallback to other encryption methods if
20572                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20573                         first, then if that doesn't work fall back to direct hex key).
20574                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20575                         priority.  We now prefer the latest access point used, rather than using
20576                         a priority scheme
20577                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20578                         points we've just discovered, and merge in correct info from the global
20579                         access point lists
20580
20581 2004-08-25  Seth Nickell  <seth@gnome.org>
20582
20583         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20584         Debian support.
20585         
20586         * src/Makefile.am:
20587         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20588         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20589         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20590         (nm_system_delete_default_route),
20591         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20592         (nm_system_load_device_modules):
20593
20594 2004-08-24  Dan Willemsen <dan@willemsen.us>
20595
20596         * src/NetworkManager.c
20597           src/backends/NetworkManagerGentoo.c
20598           src/backends/NetworkManagerRedHat.c
20599           src/backends/NetworkManagerSystem.h
20600                 - Implement preliminary Gentoo support, adding a
20601                         nm_system_init function to the backend specification
20602
20603         * configure.in
20604                 - Distribution auto-detection, lowercase any user-fed
20605                         distribution names
20606
20607         * initscript/.cvsignore
20608           initscript/Makefile.am
20609           initscript/RedHat/Makefile.am
20610           initscript/RedHat/NetworkManager
20611           initscript/Gentoo/Makefile.am
20612           initscript/Gentoo/NetworkManager
20613                 - Refactored initscript code separately for each
20614                         distribution
20615
20616 2004-08-23  Dan Williams <dcbw@redhat.com>
20617
20618         * configure.in
20619           src/Makefile.am
20620           src/NetworkManagerDevice.c
20621           src/NetworkManager.c
20622           src/NetworkManagerUtils.[ch]
20623           src/backends/NetworkManagerSystem.h
20624           src/backends/NetworkManagerRedHat.c
20625           src/backends/NetworkManagerGentoo.c
20626                 - Refactor system-specific code into separate backends for
20627                         each distribution
20628
20629 2004-08-23  Dan Willemsen <dan@willemsen.us>
20630
20631         * dispatcher-daemon/NetworkManagerDispatcher.c
20632           info-daemon/NetworkManagerInfo.[ch]
20633           info-daemon/NetworkManagerInfoDbus.c
20634           info-daemon/NetworkManagerInfoPassphraseDialog.c
20635           src/NetworkManager.c
20636           src/NetworkManagerAP.c
20637           src/NetworkManagerAPList.c
20638           src/NetworkManagerDbus.c
20639           src/NetworkManagerDevice.c
20640           src/NetworkManagerPolicy.c
20641           src/NetworkManagerUtils.[ch]
20642           src/NetworkManagerWireless.c
20643                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20644
20645         * src/NetworkManager.c
20646                 - Fixed usage wording for --no-daemon
20647
20648 2004-08-23  Dan Williams <dcbw@redhat.com>
20649
20650         * panel-applet/NMWirelessApplet.c
20651                 - Update our state every second to get more responsive panel icon
20652                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20653                         was causing our marching ants status blips to never move when
20654                         looking for a wireless network
20655
20656         * src/NetworkManagerDevice.c
20657                 - (nm_device_activation_begin): return if activation has already begun
20658                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20659                         trusted/preferred network into the device's access point when the
20660                         scan list is processed
20661
20662 2004-08-23  Dan Williams <dcbw@redhat.com>
20663
20664         * initscript/NetworkManager
20665                 - Use NMLaunchHelper rather than sleeping
20666
20667         * initscript/NMLaunchHelper.c
20668           Makefile.am
20669                 - Add helper program that exits only when NM activates a device,
20670                         or 10 seconds have passed, whichever happens first.  This
20671                         stops the boot processes until we have a network connection,
20672                         which NM can't do because it daemonizes and brings the connection
20673                         up in the background.  Allows stuff like NFS to not die.
20674
20675 2004-08-20  Dan Williams <dcbw@redhat.com>
20676
20677         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20678                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20679                         for a network, set the essid as well since it may not exist yet
20680                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20681                         since WEP keys/passphrases are long and prone to entry-error
20682
20683         * panel-applet/Makefile.am
20684           panel-applet/wired.png
20685                 - Add (pulled from system-config-network temporarily)
20686
20687         * panel-applet/NMWirelessApplet.[ch]
20688                 - Show wired picture when a wired connection is used
20689                 - Rename wireless icon enums, adding WIRELESS
20690
20691         * src/NetworkManagerDevice.c
20692                 - (nm_device_activate_wireless): unset encryption before bringing
20693                         down the card and setting the essid
20694                 - (nm_device_activatin_worker): request a key from the user if the
20695                         AP we are connecting to is encrypted but we don't have a key
20696                         for it yet
20697                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20698                         strcmp() that prevented a user-entered key from actually getting
20699                         used
20700
20701 2004-08-16  Dan Williams <dcbw@redhat.com>
20702
20703         * initscript/NetworkManager
20704                 - Check for /sbin/ip
20705                 - Do sysctl magic that network service does
20706                 - sleep 4s after start to allow network time to come up [hack]
20707
20708         * src/Makefile.am
20709           src/NMLoadModules
20710                 - Load all network device kernel modules (hal doesn't know devices
20711                         are ethernet until the module is loaded, and therefore we don't know)
20712
20713         * src/NetworkManager.c
20714                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20715                         network devices, and bring up the loopback device explicitly
20716
20717         * src/NetworkManagerUtils.[ch]
20718                 - (nm_enable_loopback): new function
20719
20720 2004-08-13  Dan Williams <dcbw@redhat.com>
20721
20722         * configure.in
20723           panel-applet/Makefile.am
20724                 - Fix up cleanfiles and server_DATA/server_in_files
20725
20726         * README
20727                 - Update with some comments on theory of operation
20728
20729         * CONTRIBUTING
20730           Makefile.am
20731                 - Add CONTRIBUTING
20732
20733 2004-08-12  Dan Williams <dcbw@redhat.com>
20734
20735         * info-daemon/passphrase.glade
20736                 - Set window title to " "
20737
20738         * panel-applet/Makefile.am
20739           panel-applet/keyring.png
20740                 - Deliver to correct place
20741
20742         * panel-applet/NMWirelessApplet.[ch]
20743                 - Add comments
20744                 - Remove applet->have_active_device as its no longer used
20745                 - (nmwa_load_theme): load keyring.png too
20746                 - (error_dialog): remove
20747                 - (show_warning_dialog): subsume functionality of error dialog too
20748                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20749                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20750                         the networks menu
20751                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20752                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20753                         and when we get broadcasts of changed wireless access points only, not when the
20754                         user clicks on the button to display the menu (too long of a wait)
20755                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20756                         networks that are encrypted
20757                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20758                         menu item with g_object_set_data()
20759
20760         * panel-applet/NMWirelessAppletDbus.[ch]
20761                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20762                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20763                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20764                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20765                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20766                         activation/deactivation signals and rebuild the menu when they happen
20767
20768         * src/NetworkManager.c
20769                 - (main): use new nm_spawn_process() rather than system()
20770
20771         * src/NetworkManagerDbus.c
20772                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20773                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20774                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20775                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20776                         to freeze the best_ap.
20777
20778         * src/NetworkManagerDevice.[ch]
20779                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20780                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20781                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20782                         ap list
20783
20784         * src/NetworkManagerUtils.[ch]
20785                 - (nm_spawn_process): add replacement for system() usage
20786
20787 2004-08-11  Dan Williams <dcbw@redhat.com>
20788
20789         * panel-applet/NMWirelessApplet.[ch]
20790                 - Fix up copyright and credits to include Bastien and Eskil,
20791                         who created the gnome-applets wireless applet, from whose
20792                         skeleton this one was created
20793                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20794                         pixmap to draw is computed during nmwa_update_state()
20795                 - Applet now shows itself all the time due to panel packing issues
20796                         which caused the applet to previously never come back after hiding.
20797                         When a wired device is the active device, the applet shows "not connected"
20798
20799         * panel-applet/NMWirelessAppletDbus.[ch]
20800                 - Clean up error messages and show what function they are from
20801                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20802                 - Add new device type getters, and a status getter
20803
20804         * src/NetworkManagerDbus.c
20805                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20806                         network is actually in the device's ap list
20807                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20808
20809         * src/NetworkManagerDevice.c
20810                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20811                         card
20812
20813         * test/nmclienttest.c
20814                 - Report status of NetworkManager too
20815
20816 2004-08-11  Dan Williams <dcbw@redhat.com>
20817
20818         * info-daemon/NetworkManagerInfo.c:
20819                 - (main): clean up Seth's code style
20820
20821         * info-daemon/NetworkManagerInfoDbus.c:
20822                 - Use the more aptly-named path/service/interface constants from NetworkManager
20823                 - Don't return empty strings ("") as object paths ever, instead return errors
20824
20825         * panel-applet/NMWirelessApplet.c:
20826                 - Clean up Seth's code style
20827
20828         * src/NetworkManager.[ch]
20829                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20830                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20831
20832         * src/NetworkManagerAPList.[ch]
20833                 - Move Iter struct right above the iter functions to preserve opacity
20834                 - (nm_ap_list_remove_ap): implement
20835                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20836                         remove AP if NetworkManagerInfo doesn't know anything about it
20837                 - (nm_ap_list_diff): user NMAPList iterators
20838                 - (nm_ap_list_print_members): implement debugging function
20839
20840         * src/NetworkManagerDbus.[ch]
20841                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20842                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20843                         and move the actual key setting stuff into NetworkManagerDevice.c
20844                 - (nm_dbus_get_network_priority): return -1 now on errors
20845                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20846                         get lost, and force the active device to update its "best" ap when AP lists change
20847                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20848                         method call due to pending_device member removal
20849
20850         * src/NetworkManagerDevice.[ch]
20851                 - Move NMDevice structure to the top
20852                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20853                 - Remove Pending Action stuff from everywhere
20854                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20855                         activation for us.  This thread blocks until all conditions for activation have
20856                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20857                         then setup up the interface and runs dhclient.  We have to do this because there
20858                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20859                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20860                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20861                         can tell nm_device_activation_worker() that we've got a key
20862                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20863                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20864                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20865                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20866
20867         * src/NetworkManagerPolicy.c
20868                 - Remove anything to do with pending_device
20869                 - Adjust device activation to deal with activation-in-worker-thread
20870
20871         * src/NetworkManagerUtils.c
20872                 - Clean up locking debugging a bit
20873
20874         * src/NetworkManagerWireless.[ch]
20875                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20876                         was badly named and is better as a device function
20877
20878         * panel-applet/.cvsignore: add
20879
20880 2004-08-09  Seth Nickell  <seth@gnome.org>
20881
20882         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20883         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20884         (nmwa_new):
20885         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20886
20887         Don't load the menus until clicked on (also removes a call outside
20888         normal code paths at first load).
20889
20890         Hide applet when NM is not present.
20891         
20892         Improve printf debugging stuff.
20893         
20894 2004-08-09  Dan Williams <dcbw@redhat.com>
20895
20896         * dispatcher-daemon/NetworkManagerDispatcher.c:
20897                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20898                 - Use constants for NetworkManager interface, service, and path
20899
20900 2004-08-09  Dan Williams <dcbw@redhat.com>
20901
20902         * src/NetworkManagerDbus.c:
20903                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20904                         instead return an error message
20905                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20906                         on a wired device.  Also never return an empty object path, instead return an error message
20907
20908 2004-08-06  Seth Nickell  <seth@gnome.org>
20909
20910         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20911
20912         Check the error code when getting a connection.
20913         
20914         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20915
20916         Check if the NM service exists when initializing (rather than
20917         assuming it does not).
20918         
20919         * src/NetworkManagerDbus.c: (nm_dbus_init):
20920
20921         Don't acquire the well-known service name until we have
20922         registered object/path handlers and can actually receive
20923         calls.
20924         
20925 2004-08-06  Dan Williams <dcbw@redhat.com>
20926
20927         * panel-applet/*
20928                 - Add panel applet
20929
20930         * src/NetworkManagerPolicy.c
20931           src/NetworkManager.c
20932                 - Get access point lists from NetworkManagerInfo on-demand,
20933                         and look for ServiceCreate/ServiceDeleted signals to see when
20934                         we should query NMI for lists
20935         * src/NetworkManagerAPList.c
20936                 - Make sure to init the list's mutex
20937                 - Convert traversals of the list over to the list iter functions
20938
20939         * src/NetworkManagerDbus.[ch]
20940                 - Use more aptly-named path/service/interface constants
20941                 - Treat both active and pending devices the same for "getActiveDevice"
20942                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20943
20944         * src/NetworkManagerDevice.c
20945                 - Honor "ignored" network list when picking best ap to use
20946
20947 2004-08-06  Seth Nickell  <seth@gnome.org>
20948
20949         * aclocal.m4:
20950
20951         Autogenerated, remove from CVS.
20952         
20953         * autogen.sh:
20954
20955         Don't hardcode automake version.
20956         
20957         * configure.in:
20958         * info-daemon/Makefile.am:
20959         * info-daemon/NetworkManagerInfo.c: (main):
20960
20961         Use GnomeProgram et al. for doing session management.
20962         Use popt stuff for argument parsing rather than doing
20963         it manugally.
20964         
20965 2004-08-05  Dan Williams <dcbw@redhat.com>
20966
20967         * test/nminfotest.c
20968                 - Update to new NMI dbus API, check different network types
20969
20970         * info-daemon/NetworkManagerInfoDbus.c
20971                 - Update to new NM dbus API, ie network type sent in query message
20972
20973 2004-08-05  Dan Williams <dcbw@redhat.com>
20974
20975         * An assload of changes
20976
20977 2004-08-02  Dan Williams <dcbw@redhat.com>
20978
20979         * TODO
20980                 - new task: proper logging support
20981
20982         * info-daemon/NetworkManagerInfo.c
20983                 - Correct spelling of "canceled"
20984                 - Correct casting of objects for g_signal_connect()
20985
20986         * info-daemon/NetworkManagerInfoDbus.c
20987                 - Add defines for NetworkManager namespace and object path, and use them
20988                 - Add filter function to trap new signals from NetworkManager:
20989                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20990
20991         * info-daemon/passphrase.glade
20992                 - Change name of "ok" button to "Login to Network..."
20993                 - Mark invisible
20994
20995         * src/NetworkManager.c
20996                 - Code and debug message cleanups
20997                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20998                 - (nm_add_initial_devices) Check returned string array of devices
20999                         and don't try to add devices if array is NULL
21000                 - (main) Initialize libhal a bit later, make code a bit clearer
21001
21002         * src/NetworkManagerAP.[ch]
21003                 - New accessor and data member "matched": used to speed up AP list
21004                         diffing
21005                 - New accessor and data member "enc_method": will be used during key
21006                         fallback to cache which passphrase->key conversion actually works
21007                         so we don't have to do it every time
21008
21009         * src/NetworkManagerAPList.[ch]
21010                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21011                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21012                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21013                         dbus in response to those differences
21014
21015         * src/NetworkManagerDbus.[ch]
21016                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21017                         make an object path for that access point (NOTE that we don't yet check to
21018                         make sure that access point is actually in the device's AP list yet)
21019                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21020                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21021                         New: signal appearance/disappearance of wireless networks
21022                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21023                         key entry
21024
21025         * src/NetworkManagerDevice.[ch]
21026                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21027                 - (nm_device_ap_list_get) New: return the AP list (static function)
21028                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21029                         new one resulting from the scan with the old one
21030
21031         * src/NetworkManagerWireless.c
21032                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21033
21034         * test/nminfotest.c
21035                 - #define object paths and namespaces and use the #defines rather than static strings
21036                 - Test out user-key functionality of NetworkManagerInfo too
21037
21038 2004-07-29  Dan Williams <dcbw@redhat.com>
21039
21040         * info-daemon/NetworkManagerInfoDbus.c
21041           src/NetworkManagerDbus.c
21042                 - Update to current DBus (ie don't use decomposed paths when registering
21043                         object paths/fallbacks)
21044
21045 2004-07-27  Dan Williams <dcbw@redhat.com>
21046
21047         * Remove various Makefile.in files
21048
21049         * TODO
21050                 - Add some more items
21051
21052         * configure.in
21053                 - Add checks for OpenSSL/md5 headers and libs
21054
21055         * src/Makefile.am
21056                 - Use OpenSSL CFLAGS
21057
21058         * src/NetworkManagerAP.[ch]
21059                 - Remove 'stamp' functions, replace with 'invalid' functions
21060                         to support user cancelling WEP key entry
21061
21062         * src/NetworkManagerDbus.c
21063                 - Remove 'stamp' return functions
21064                 - Treat returned user key as a passphrase and convert to a WEP key,
21065                         but don't actually use the WEP key yet.  We use the returned user
21066                         key as a hexadecimal WEP key until we can figure out a UI for
21067                         passphrase-vs-hex key
21068
21069         * src/NetworkManagerWireless.[ch]
21070                 - Add passphrase-to-128bit-key function
21071
21072 2004-07-27  Dan Williams <dcbw@redhat.com>
21073
21074         * TODO
21075                 - Add a couple of items
21076
21077 2004-07-27  Dan Williams <dcbw@redhat.com>
21078
21079         * info-daemon/NetworkManagerInfo.c
21080                 - Update allowed network's GConf key when user enters a WEP key explicitly
21081
21082         * info-daemon/NetworkManagerDbus.c
21083                 - Fix some comments
21084                 - nmi_dbus_get_allowed_networks(): kill warning
21085
21086 2004-07-27  Dan Williams <dcbw@redhat.com>
21087
21088         * initscript/Makefile.in
21089                 - Remove
21090
21091         * initscript/Makefile.am
21092                 - Add correct rules to install the init.d initscript
21093
21094         * info-daemon/NetworkManagerInfoDbus.c
21095                 - Remove debug fprintf
21096
21097         * src/NetworkManagerDbus.[ch]
21098                 - Remove debug fprintfs
21099                 - Add macros for NetworkManagerInfo object path/namespace
21100                 - Use said macros instead of constant strings
21101
21102 2004-07-27  Dan Williams <dcbw@redhat.com>
21103
21104         * initscript/.cvsignore
21105                 - Add
21106
21107         * info-daemon/Makefile.am
21108                 - Install .glade files and keyring.png
21109                 - Fix stupid omission of a \ that caused half the flags not to be
21110                         passed to gcc
21111
21112         * info-daemon/NetworkManagerInfo.c
21113                 - gtk_signal_connect->g_signal_connect
21114                 - Alert NetworkManagerInfo to new glade file location
21115
21116 2004-07-27  Dan Williams <dcbw@redhat.com>
21117
21118         * test/nmclienttest.c
21119           test/nminfotest.c
21120                 - Add missing <dbus/dbus.h> headers
21121                 - Add GPL message at top
21122
21123 2004-07-27  Dan Williams <dcbw@redhat.com>
21124
21125         * src/NetworkManagerAPList.[ch]
21126           src/Makefile.am
21127                 - Add.  Deal with allowed network list additions, deletions, and updates
21128
21129         * dispatcher-daemon/NetworkManagerDispatcher.c
21130                 - Add missing <dbus/dbus.h> header
21131
21132         * info-daemon/NetworkManagerInfo.[ch]
21133                 - Add missing <dbus/dbus.h> header
21134                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21135                         network change
21136                 - Better error checking
21137
21138         * info-daemon/NetworkManagerInfoDbus.[ch]
21139                 - Add missing <dbus/dbus.h> header
21140                 - Convert to using dbus_message_append_args/dbus_message_get_args
21141                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21142                         that an allowed network changed.  We don't want to signal on individual
21143                         keys _inside_ an allowed network really, just want NM to query the info
21144                         daemon for updated info on all keys.
21145                 - Better error checking
21146
21147         * src/NetworkManager.[ch]
21148                 - Add missing <dbus/dbus.h> header
21149                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21150                 - Zero out NMData structure on free
21151                 - No longer use a thread for allowed_ap_list updating, instead its now done
21152                         through dbus queries against NetworkManagerInfo
21153                 - Populate allowed_ap_list initially before adding existing network devices
21154                         to the device list, so wireless devices can get their "best" AP
21155
21156         * src/NetworkManagerDbus.[ch]
21157                 - Convert to using dbus_message_append_args/dbus_message_get_args
21158                 - Better error checking
21159                 - Implement Allowed Network info functions to request allowed network
21160                         info from NetworkManagerInfo
21161                 - Implement the filter function to process signals from NetworkManagerInfo
21162                         about changing allowed networks
21163
21164         * src/NetworkManagerDevice.c
21165                 - Fix file descriptor leak in nm_device_update_ip4_address()
21166
21167 2004-07-27  Dan Williams <dcbw@redhat.com>
21168
21169         * .cvsignore
21170           src/.cvsignore
21171           test/.cvsignore
21172           dispatcher-daemon/.cvsignore
21173           info-daemon/.cvsignore
21174                 - Add .cvsignore files to reduce noise when diffing
21175
21176 2004-07-24  Dan Williams <dcbw@redhat.com>
21177
21178         * src/NetworkManager.[ch]
21179           src/NetworkManagerDbus.[ch]
21180           src/NetworkManagerDevice.[ch]
21181           src/NetworkManagerPolicy.c
21182           src/NetworkManagerWireless.[ch]
21183                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21184                 - Pass the NMData application data structure through all calls
21185                         that need it so we can get rid of nm_get_global_data()
21186                 - Change deallocation of the allowed_ap_list GSList in preparation
21187                         for not completely clearing it every time we get an update,
21188                         but instead getting incremental updates via GConf/dbus
21189
21190 2004-07-22  Dan Williams <dcbw@redhat.com>
21191
21192         * configure.in
21193                 - Add checks for GConf libs & headers & flags
21194
21195         * info-daemon/Makefile.am
21196                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21197
21198         * info-daemon/NetworkManagerInfo.[ch]
21199                 - Don't use gquarks for data storage, just use normal data storage
21200                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21201
21202         * info-daemon/NetworkManagerDbus.[ch]
21203                 - Add method call for getting allowed networks
21204                 - Add method calls for getting an allowed network's essid, priority, and key
21205                 - Hook the method calls up to GConf
21206                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21207                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21208                 
21209         * src/NetworkManagerDbus.[ch]
21210                 - Switch for enumeration of networks to using essid instead
21211
21212         * test/Makefile.am
21213           test/nminfotest.c
21214                 - Add test program for NetworkManagerInfo
21215
21216 2004-07-19  Dan Williams <dcbw@redhat.com>
21217
21218         * src/NetworkManagerDbus.c
21219                 - Switch from indexed device paths to names.  Less code, more efficient.
21220                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21221
21222 2004-07-19  Dan Williams <dcbw@redhat.com>
21223
21224         * dispatcher-daemon/NetworkManagerDispatcher.c
21225                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21226
21227 2004-07-19  Dan Williams <dcbw@redhat.com>
21228
21229         * Makefile.am
21230                 - Add info-daemon directory
21231
21232         * configure.in
21233                 - Check for glade libs and headers
21234                 - Add info-daemon directory
21235
21236         * src/NetworkManagerAP.c
21237                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21238                         copied over to the new AP.
21239
21240         * src/NetworkManagerDbus.c
21241           src/NetworkManagerDbus.h
21242                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21243                 - Remove nm_dbus_signal_need_key_for_network()
21244                 - Add disabled code for asynchronous user wep key callbacks
21245                 - Add functions for getting, setting, and cancelling user key operations
21246                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21247                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21248
21249         * src/NetworkManagerDevice.c
21250           src/NetworkManagerDevice.h
21251                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21252                         logic is in device activation now
21253                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21254                         key is wrong) trigger get-user-key pending action
21255                 - Implement get-user-key pending action stuff, tie to dbus messages
21256                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21257                 - Add nm_device_ap_list_get_ap_by_essid()
21258                 - Instead of copying "best" access points, ref them instead so that the key we set
21259                         sticks around
21260
21261         * src/NetworkManagerPolicy.c
21262                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21263                 - Don't cancel pending actions on a device if its the same device as last iteration
21264                 - Only promote pending_device->active_device if activation was successfull
21265
21266         * src/Makefile.am
21267                 - Rename nmclienttest->nmtest
21268
21269         * info-daemon/Makefile.am
21270           info-daemon/NetworkManagerInfo.c
21271           info-daemon/NetworkManagerInfo.h
21272           info-daemon/NetworkManagerInfoDbus.c
21273           info-daemon/NetworkManagerInfoDbus.h
21274           info-daemon/passphrase.glade
21275           info-daemon/NetworkManagerInfo.conf
21276           info-daemon/keyring.png
21277                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21278                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21279                         lists to NetworkManager by proxying user's GConf
21280           
21281
21282 2004-07-15  Dan Williams <dcbw@redhat.com>
21283
21284         * src/Makefile.am
21285                 - Turn on warnings
21286
21287         * src/NetworkManager.c
21288                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21289                         that doing the deactivation ourselves
21290                 - Cancel an pending actions on a device if its being removed
21291                 - Break up link state checking a bit, make non-active wireless cards
21292                         deactivated to save power
21293                 - Remove unused variables
21294
21295         * src/NetworkManager.h
21296                 - Add support for "pending" device
21297
21298         * src/NetworkManagerAP.h
21299           src/NetworkManagerAP.c
21300                 - Add support for determining whether and AP has encryption enabled or not
21301                 - AP address is now "struct ether_addr" rather than a string
21302
21303         * src/NetworkManagerDbus.h
21304           src/NetworkManagerDbus.c
21305                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21306                 - Changes for AP address from struct ether_addr->string
21307
21308         * src/NetworkManagerDevice.h
21309           src/NetworkManagerDevice.c
21310                 - Remove unused variables, fix warnings
21311                 - Add support for Pending Actions (things that block a device from being "active"
21312                         until they are completed).
21313                 - First pending action:  Get a WEP key from the user
21314                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21315                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21316                 - Update wireless link checking to try to determine if the AP we are associated
21317                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21318                         trigger the GetUserKey pending action on the device
21319                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21320                         up in that case, otherwise we can't scan or link-check on it
21321                 - Add IP address change notifications at appropriate points (still needs some work)
21322                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21323
21324         * src/NetworkManagerPolicy.h
21325           src/NetworkManagerPolicy.c
21326                 - Split out "best" access point determiniation into separate function
21327                 - Make device activation 2-stage:  first the device is pending, then
21328                         in the next iteration through it becomes "active" unless it has
21329                         pending actions
21330
21331         * src/NetworkManagerUtils.h
21332           src/NetworkManagerUtils.c
21333                 - Clean up unused variables and warnings
21334                 - Wrap our debug macros in {} to prevent possible confusion
21335
21336         * src/NetworkManagerWireless.c
21337                 - Forgot to return current best priority, which lead to last available AP always
21338                         being chosen no matter what its priority was.  Corrected.
21339
21340 2004-07-15  Dan Williams <dcbw@redhat.com>
21341
21342         * dispatcher-daemon/Makefile.am
21343                 - Turn on warnings
21344
21345         * dispatcher-daemon/NetworkManagerDispatcher.c
21346                 - Remove unused variables due to warnings
21347                 - Fix some comments
21348                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21349
21350 2004-07-06  Dan Williams <dcbw@redhat.com>
21351
21352         * src/NetworkManager.c
21353                 - Add IPv4 address update for active device during link state check
21354                 - Don't allow wireless cards to be powered up when they are not the
21355                         active device
21356
21357         * src/NetworkManagerDbus.c
21358           src/NetworkManagerDbus.h
21359                 - Add DBUS IPv4 address change signal
21360                 - Add DBUS IPv4 address get method for devices
21361
21362         * src/NetworkManagerDevice.c
21363                 - Make setting the WEP key actually work
21364                 - Move IP address get/set/update stuff here, per-device
21365                 - Power down/bring down wireless device when deactivated
21366                 - For scanning wireless devices, if first scan returned ENODATA, try again
21367
21368         * src/NetworkManagerPolicy.c
21369                 - Only set the WEP key for an allowed access point if there is one.
21370                         We were setting it to be blank if one wasn't specified.
21371
21372         * src/NetworkManagerUtils.h
21373           src/NetworkManagerUtils.c
21374                 - Move the IP address stuff to NetworkManagerDevice.c
21375
21376         * dispatcher-daemon/NetworkManagerDispatcher.c
21377                 - Add device IPv4 address change notification stuff
21378
21379 2004-07-05  Dan Williams <dcbw@redhat.com>
21380
21381         * dispatcher-daemon/NetworkManagerDispatcher.c
21382                 - A bit more descriptive state message
21383                 - Don't segfault when reading directory
21384
21385         * src/NetworkManager.h
21386                 - Remove NMData desired_ap member, its now
21387                         per-device rather than global
21388
21389         * src/NetworkManager.c
21390                 - Remove references to desired_ap
21391                 - Move the allowed AP list refresh stuff into a thread
21392
21393         * src/NetworkManagerDevice.c
21394           src/NetworkManagerDevice.h
21395                 - Each wireless device now has a "best ap"
21396                 - Make device activate/deactivate functions per-device
21397                 - Make wireless scanning per-device
21398                 - Add IPv4 address discover functions, stub IPv6 ones
21399                 - Move ethernet address validation functions to NetworkManagerUtils.c
21400                 - Add wireless access point accessor function
21401                 - Get/Set functions for "best ap"
21402
21403         * src/NetworkManagerPolicy.c
21404                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21405                 - Deal with per-device "best ap" rather than data->desired_apa
21406                 - Implement allowed access point worker thread
21407                 - Add nm_policy_essid_is_allowed() function
21408
21409         * src/NetworkManagerUtils.c
21410           src/NetworkManagerUtils.h
21411                 - Add nm_ethernet_address_is_valid() function
21412                 - Add IPv4/IPv6 address get functions
21413
21414         * src/NetworkManagerWireless.c
21415           src/NetworkManagerWireless.h
21416                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21417
21418 2004-06-29  Dan Williams <dcbw@redhat.com>
21419
21420         * dispatcher-daemon/NetworkManagerDispatcher.c
21421                 - Implement script callout functionality
21422
21423 2004-06-24  Dan Williams <dcbw@redhat.com>
21424
21425         * NetworkManager.c
21426             - Spacing cleanups
21427             - Flush device routes and ip addresses when added to the device list
21428
21429         * NetworkManagerDbus.c
21430             - Spacing cleanups
21431             - Add missing returns in the two signal functions
21432         
21433         * NetworkManagerPolicy.c
21434             - Spacing and variable cleanups
21435
21436 2004-06-24  Dan Williams <dcbw@redhat.com>
21437
21438         * Makefile.am
21439           Makefile.in
21440           configure.in
21441           dispatcher-daemon/Makefile.am
21442           dispatcher-daemon/Makefile.in
21443           dispatcher-daemon/NetworkManagerDispatcher.c
21444             - Add a daemon that receives signals from NetworkManager
21445                         and will (eventually) call scripts in /etc/somewhere
21446                         when devices go up or down.
21447         
21448         * NetworkManager.c
21449             - Spacing cleanups
21450             - Flush device routes and ip addresses when added to the device list
21451
21452         * NetworkManagerDbus.c
21453             - Spacing cleanups
21454             - Add missing returns in the two signal functions
21455         
21456         * NetworkManagerPolicy.c
21457             - Spacing and variable cleanups
21458             - Rename nm_policy_switch_interface->nm_policy_switch_device
21459             - nm_policy_switch_device():
21460                                 Use kill (pid) instead of system ("kill <pid>")
21461             - nm_state_modification_monitor():
21462                                 Add wireless essid to output of debug statements
21463                                 Correct typo in device compare to switch or not (should be !=)
21464                                 Don't sleep after sending "no longer active" signal, was useless
21465
21466 2004-06-24  Dan Williams <dcbw@redhat.com>
21467
21468         * Initial import