2008-10-26 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-26  Dan Williams  <dcbw@redhat.com>
2
3         Attempt to compensate for modems that don't enable full AT parsing before
4         the PIN has been entered.
5
6         * src/nm-gsm-device.c
7                 - (init_modem): accept different init strings
8                 - (init_done): try different init strings on failure
9                 - (check_pin_done): on PIN success, do full modem init
10
11 2008-10-26  Dan Williams  <dcbw@redhat.com>
12
13         Patch from Tambet Ingo <tambet@gmail.com>
14
15         * libnm-util/libnm-util.ver
16           libnm-util/nm-setting-connection.c
17           libnm-util/nm-setting-connection.h
18                 - Make properties private and add accessor functions
19
20         * src/NetworkManagerPolicy.c
21           src/nm-cdma-device.c
22           src/nm-device-ethernet.c
23           src/nm-device-interface.c
24           src/nm-device-wifi.c
25           src/nm-gsm-device.c
26           src/nm-manager.c
27           src/ppp-manager/nm-ppp-manager.c
28           src/vpn-manager/nm-vpn-connection.c
29           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
30           system-settings/plugins/ifcfg-fedora/plugin.c
31           system-settings/plugins/ifcfg-fedora/reader.c
32           system-settings/plugins/ifcfg-suse/parser.c
33           system-settings/plugins/ifupdown/parser.c
34           system-settings/plugins/keyfile/nm-keyfile-connection.c
35           system-settings/plugins/keyfile/plugin.c
36           system-settings/plugins/keyfile/writer.c
37           system-settings/src/main.c
38                 - Use those accessors
39
40 2008-10-26  Dan Williams  <dcbw@redhat.com>
41
42         Patch from Tambet Ingo <tambet@gmail.com>
43
44         * libnm-util/libnm-util.ver
45           libnm-util/nm-setting-gsm.c
46           libnm-util/nm-setting-gsm.h
47                 - Make properties private and add accessor functions
48
49         * src/nm-gsm-device.c
50           src/nm-hso-gsm-device.c
51           src/ppp-manager/nm-ppp-manager.c
52                 - Use those accessors
53
54 2008-10-26  Dan Williams  <dcbw@redhat.com>
55
56         Patch from Tambet Ingo <tambet@gmail.com>
57
58         * libnm-util/libnm-util.ver
59           libnm-util/nm-setting-cdma.c
60           libnm-util/nm-setting-cdma.h
61                 - Make properties private and add accessor functions
62
63         * src/nm-cdma-device.c
64           src/ppp-manager/nm-ppp-manager.c
65                 - Use those accessors
66
67 2008-10-26  Dan Williams  <dcbw@redhat.com>
68
69         Patch from Tambet Ingo <tambet@gmail.com>
70
71         * libnm-util/libnm-util.ver
72           libnm-util/nm-setting-pppoe.c
73           libnm-util/nm-setting-pppoe.h
74                 - Make properties private and add accessor functions
75
76         * src/nm-device-ethernet.c
77           src/ppp-manager/nm-ppp-manager.c
78                 - Use those accessors
79
80 2008-10-26  Dan Williams  <dcbw@redhat.com>
81
82         Patch from Tambet Ingo <tambet@gmail.com>
83
84         * libnm-util/libnm-util.ver
85           libnm-util/nm-setting-wired.c
86           libnm-util/nm-setting-wired.h
87                 - Make properties private and add accessor functions
88
89         * src/nm-device-ethernet.c
90           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
91           system-settings/plugins/ifcfg-suse/parser.c
92           system-settings/src/main.c
93                 - Use those accessors
94
95 2008-10-26  Dan Williams  <dcbw@redhat.com>
96
97         Patch from Tambet Ingo <tambet@gmail.com>
98
99         * libnm-util/libnm-util.ver
100           libnm-util/nm-setting-serial.c
101           libnm-util/nm-setting-serial.h
102           src/nm-serial-device.c
103                 - Make properties private and use accessors instead
104
105 2008-10-26  Dan Williams  <dcbw@redhat.com>
106
107         * src/supplicant-manager/nm-supplicant-interface.c
108           src/supplicant-manager/nm-supplicant-interface.h
109           src/supplicant-manager/nm-supplicant-manager.c
110           src/supplicant-manager/nm-supplicant-manager.h
111                 - Add state-to-string conversion functions
112
113         * src/nm-device-wifi.c
114           src/nm-device-ethernet.c
115                 - Normalize state info logging and use strings instead of numbers
116
117 2008-10-26  Dan Williams  <dcbw@redhat.com>
118
119         * src/NetworkManagerPolicy.c
120                 - (update_routing_and_dns): ignore host routes when determining whether
121                         a VPN connection should own the default route (bgo #552594)
122
123 2008-10-24  Dan Williams  <dcbw@redhat.com>
124
125         * src/nm-gsm-device.c
126                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
127
128 2008-10-23  Dan Williams  <dcbw@redhat.com>
129
130         * src/ppp-manager/nm-ppp-manager.c
131                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
132                         add really important stuff to the command line to ensure that NM
133                         overrides /etc/ppp/options (bgo #556781)
134
135 2008-10-22  Dan Williams  <dcbw@redhat.com>
136
137         * src/NetworkManagerSystem.c
138           src/nm-device.c
139                 - Use the device's IP interface where appropriate (Per Hallsmark)
140
141 2008-10-22  Dan Williams  <dcbw@redhat.com>
142
143         * src/nm-gsm-device.c
144                 - (schedule_automatic_registration_again): use a short timeout here
145                         instead of an idle handler to avoid using too much CPU polling for
146                         something we should be waiting a bit for anyway
147
148 2008-10-22  Dan Williams  <dcbw@redhat.com>
149
150         * include/NetworkManager.h
151           introspection/nm-device.xml
152                 - Add device state change reason for carrier changes
153
154         * src/nm-device-ethernet.c
155                 - (set_carrier): use the carrier change reason when changing device
156                         state in response to carrier changes
157
158 2008-10-21  Dan Williams  <dcbw@redhat.com>
159
160         * src/NetworkManagerPolicy.c
161                 - (update_etc_hosts): don't leak errors, and ensure that
162                         g_file_set_contents() gets a valid error placeholder (rh #461933)
163
164 2008-10-21  Dan Williams  <dcbw@redhat.com>
165
166         * src/nm-manager.c
167                 - (free_get_settings_info): don't use the DBusGProxy which could be
168                         disposed of by the time the function is called
169                 - (internal_new_connection_cb): save connection scope
170                 - (connection_get_settings_cb): don't replace a connection unless it's
171                         actually different from the existing one; fixes an issue where
172                         killing the settings service wouldn't deactivate an active connection
173                         provided by that settings service, because it was using a connection
174                         that had already been replaced in the system or user hash
175
176 2008-10-21  Dan Williams  <dcbw@redhat.com>
177
178         * src/NetworkManager.c
179                 - (main): keep the DHCP manager around since it's a singleton; fixes
180                         a use-after-free exposed by r4196 since the DHCP manager singleton
181                         variable isn't cleared when the DHCP manager object is finalized
182
183 2008-10-20  Dan Williams  <dcbw@redhat.com>
184
185         * libnm-util/nm-setting-wireless-security.c
186                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
187
188 2008-10-20  Dan Williams  <dcbw@redhat.com>
189
190         * src/supplicant-manager/nm-supplicant-config.c
191                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
192
193 2008-10-20  Dan Williams  <dcbw@redhat.com>
194
195         * src/dhcp-manager/nm-dhcp-manager.c
196                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
197                         manager object already refs it once
198                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
199                         also get cleaned up by nm_dhcp_device_destroy() to prevent
200                         double-frees
201
202 2008-10-20  Dan Williams  <dcbw@redhat.com>
203
204         * src/nm-manager.c
205                 - (initial_get_connections): use private dbus manager, don't keep
206                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
207                         manager object.
208
209 2008-10-18  Dan Williams  <dcbw@redhat.com>
210
211         * libnm-glib/nm-settings.c
212           libnm-glib/nm-settings.h
213                 - Rename the "get_secrets" virtual function "service_get_secrets" to
214                         clarify when it's used; NMExportedConnetion is a base-class for both
215                         the client and service side, which is sort of confusing, and
216                         get_secrets only makes sense on the service side.
217
218         * libnm-glib/nm-dbus-connection.c
219                 - (get_secrets): remove, unused, and clients need to do extra work to
220                         get secrets anyway since the call can block on the remote side
221
222         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
223           system-settings/plugins/keyfile/nm-keyfile-connection.c
224                 - Fix up for get_secrets -> service_get_secrets
225
226 2008-10-16  Dan Williams  <dcbw@redhat.com>
227
228         * src/nm-device-wifi.c
229                 - (constructor): correctly determine encryption capabilities
230
231 2008-10-15  Dan Williams  <dcbw@redhat.com>
232
233         * src/nm-device-wifi.c
234                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
235                         (Johannes Berg)
236
237 2008-10-15  Dan Williams  <dcbw@redhat.com>
238
239         * src/NetworkManagerSystem.c
240                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
241                         if the ip4_dest is in a smaller subnet contained within a subnet
242                         the machine is currently on, the destination is in the same subnet
243                 - (nm_system_device_set_ip4_route): move subnet checks to callers
244                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
245                         subnet as the parent device, and if so, don't add the direct
246                         host route via the parent device's gateway (bgo #481620)
247                 - (nm_system_apply_ip4_config): check whether the route to be added
248                         is contained within a subnet the device is already on
249
250 2008-10-11  Dan Williams  <dcbw@redhat.com>
251
252         * include/NetworkManager.h
253           introspection/nm-device.xml
254           include/NetworkManagerVPN.h
255                 - Add a few more state reasons for the device deactivated state
256
257         * src/nm-device-interface.c
258           src/nm-device-interface.h
259                 - (nm_device_interface_deactivate): add a 'reason' argument
260
261         * src/nm-device.c
262           src/nm-device.h
263                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
264                 - (nm_device_state_changed): pass the state change reason to
265                         nm_device_take_down()
266                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
267                         to the state change function
268
269         * src/nm-manager.c
270           src/nm-manager.h
271                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
272                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
273                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
274                         something reasonable along to VPN deactivation
275
276         * src/vpn-manager/nm-vpn-manager.c
277           src/vpn-manager/nm-vpn-manager.h
278                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
279                         pass that along to nm_vpn_connection_disconnect()
280
281 2008-10-11  Dan Williams  <dcbw@redhat.com>
282
283         * src/nm-device-wifi.c
284                 - (can_scan): remove old madwifi hack for not scanning while connected
285
286 2008-10-11  Dan Williams  <dcbw@redhat.com>
287
288         Add support for VPN subnet gateways (bgo #549196)
289
290         * include/NetworkManager.h
291                 - Add key for internal VPN subnet gateway
292
293         * src/vpn-manager/nm-vpn-connection.c
294                 - (ip_address_to_string): return a const from a static buffer so we
295                         don't leak a lot of strings
296                 - (print_vpn_config): print internal VPN gateway as well
297                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
298                         VPN service too
299                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
300
301         * src/NetworkManagerSystem.c
302           src/NetworkManagerSystem.h
303                 - (nm_system_device_replace_default_ip4_route): split into two, one for
304                         VPN connections and one for normal devices
305                 - (replace_default_ip4_route): break out route stuff into its own function
306                 - (nm_system_replace_default_ip4_route_vpn,
307                    nm_system_replace_default_ip4_route): simplify by having two cases,
308                         one for VPNs and one for normal devices
309
310         * src/NetworkManagerPolicy.c
311                 - (update_routing_and_dns): simplify, use split default route replacement
312                         functions
313
314 2008-10-10  Dan Williams  <dcbw@redhat.com>
315
316         Rework default route handling to consolidate decisions in the policy,
317         and to take active VPN connections into account when changing the default
318         route (bgo #545912)
319
320         * src/NetworkManager.c
321                 - (main): pass the vpn_manager to the policy so it knows about active
322                         VPN connections; clean up the named manager which wasn't done before
323
324         * src/NetworkManagerPolicy.c
325           src/NetworkManagerPolicy.h
326                 - (nm_policy_new): get a clue about the vpn_manager
327                 - (update_default_route): remove, fold into update_routing_and_dns()
328                 - (update_routing_and_dns): handle active VPN connections too; an
329                         active VPN connection becomes the default route if it does not have
330                         server-specified or user-specified custom routes.  Otherwise, the
331                         best active device gets the default route
332                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
333                    nm_policy_destroy): track VPN connection activation and deactivation
334                         and update the default route when appropriate
335
336         * src/NetworkManagerSystem.c
337           src/NetworkManagerSystem.h
338                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
339                         in the VPN connection itself
340                 - (nm_system_vpn_device_set_from_ip4_config,
341                    nm_system_device_set_from_ip4_config): merge together to make
342                         nm_system_apply_ip4_config()
343                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
344                         via the parent device
345                 - (nm_system_apply_ip4_config): simplify
346                 - (add_ip4_route_to_gateway): new function; add a direct route to the
347                         gateway if needed
348                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
349                         route stuff out into add_ip4_route_to_gateway() for clarity
350
351         * src/nm-device.c
352                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
353
354         * src/vpn-manager/nm-vpn-connection.c
355           src/vpn-manager/nm-vpn-connection.h
356                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
357                    nm_vpn_connection_get_parent_device): add
358                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
359                         device explicit
360                 - (connection_state_changed): update the named manager now that
361                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
362                         useful on errors
363
364         * src/vpn-manager/nm-vpn-manager.c
365           src/vpn-manager/nm-vpn-manager.h
366                 - Add a 'connection-activated' signal
367                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
368                         policy to find out about active VPN connections
369
370 2008-10-10  Tambet Ingo  <tambet@gmail.com>
371
372         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
373         a daemon to prevent NM logging spew on console on startup and shutdown (due
374         to dependency loop between NM and syslog).
375
376 2008-10-10  Alexander Sack  <asac@ubuntu.com>
377
378         Implement managed mode. We bind devices configured in /etc/network/interfaces
379         to their connections by updating wired/wireless setting with the
380         mac address of the device.
381
382         * system-settings/plugins/ifupdown/plugin.c
383                 - (get_net_address_for_udi): implement function to retrieve MAC
384                         address of udi from hal in GByteArray format
385                 - (bind_device_to_connection): bind mac address of device to
386                         wired/wireless system connection
387                 - (hal_device_added_cb): call bind_device_to_connection for
388                         system connections with a matching interface.name
389                 - (hal_device_added_cb): ensure that all code paths
390                         properly free the "iface" string.
391
392 2008-10-10  Alexander Sack  <asac@ubuntu.com>
393
394         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
395         mode of the ifupdown system config plugin.
396
397         * system-settings/plugins/ifupdown/plugin.c
398                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
399                         private unmanage_well_known state field accordingly
400
401 2008-10-10  Alexander Sack  <asac@ubuntu.com>
402
403         Implement unmanaged mode that will prevent all devices in the
404         well_known_udis set from being touched by NetworkManager
405
406         * system-settings/plugins/ifupdown/plugin.c
407                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
408                         unmanage_well_known field used to turn on/off unmanaged
409                         mode
410                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
411                         signal when well_known_udis get added/removed
412                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
413                         if we are in unmanaged mode
414
415 2008-10-10  Alexander Sack  <asac@ubuntu.com>
416
417         Add support to track network devices that have a configuration
418         with a matching interface.name in /etc/network/interfaces
419
420         * system-settings/plugins/ifupdown/plugin.c
421                 - (typedef struct SCPluginIfupdownPrivate): add hash table
422                         to track |well_known_udis|
423                 - (get_iface_for_udi): helper function to get interface.name
424                         for a udi
425                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
426                         that add and remove devices to and from the well_known_udis
427                         set depending on whether their |interface.name| matches
428                         any interface definition in /etc/network/interfaces
429                 - (SCPluginIfupdown_init): connect callbacks from above with
430                         hal_mgr and setup well_known_udis hashtable
431                 - (GObject__dispose): destroy well_known_udis hashtable
432                 - (hal_device_added_cb2): implement wrapper callback with GFunc
433                         signature. user_data is supposed to be a triple (hal_mgr,
434                         config and devtype)
435                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
436                         startup and call hal_device_added_cb2
437
438 2008-10-10  Alexander Sack  <asac@ubuntu.com>
439
440         Remove implementation for not used NMSystemConfigInterface callback functions
441         in ifupdown plugin
442
443         * system-settings/plugins/ifupdown/plugin.c
444                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
445                 - (SCPluginIfupdown_connection_added): removed
446
447 2008-10-08  Dan Williams  <dcbw@redhat.com>
448
449         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
450
451         * src/NetworkManagerUtils.c
452                 - (nm_utils_call_dispatcher): add a 'hostname' action
453
454         * src/NetworkManagerPolicy.c
455                 - (set_system_hostname): dispatch hostname changes
456
457         * callouts/nm-dispatcher-action.c
458                 - (nm_dispatcher_action): handle 'hostname' actions
459
460 2008-10-08  Dan Williams  <dcbw@redhat.com>
461
462         * src/NetworkManagerSystem.c
463                 - (find_route): ref the route so it doesn't get destroyed when the cache
464                         is cleared
465                 - (nm_system_device_set_priority): unref the route here after it's done
466                         being used
467
468 2008-10-08  Dan Williams  <dcbw@redhat.com>
469
470         * src/nm-serial-device.c
471                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
472
473 2008-10-08  Tambet Ingo  <tambet@gmail.com>
474
475         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
476         connection with new settings before saving it.
477
478 2008-10-06  Dan Williams  <dcbw@redhat.com>
479
480         * src/nm-ip4-config.c
481           src/nm-ip4-config.h
482                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
483
484         * src/nm-device-interface.c
485                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
486                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
487                         by using '/' for the object path
488
489         * src/nm-device.c
490                 - (src/nm-device.c): marshal missing/unexported ip4-config through
491                         dbus as '/' since dbus-glib can't handle NULL objects nor can
492                         dbus handle NULL object paths
493
494 2008-10-03  Alexander Sack  <asac@ubuntu.com>
495
496         Implement system hostname support for debian/ubuntu
497
498         * system-settings/plugins/ifupdown/plugin.c
499                 - (GObject__get_property): extend announced capabilities; add
500                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
501                 - (GObject__set_property,write_system_hostname): implement
502                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
503                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
504                    update_system_hostname, get_hostname):
505                         implement hostname property that watches and
506                         parses /etc/hostname
507
508 2008-10-03  Alexander Sack  <asac@ubuntu.com>
509
510         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
511           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
512           system-settings/plugins/ifcfg-fedora/Makefile.am
513           system-settings/src/nm-inotify-helper.c
514           system-settings/src/nm-inotify-helper.h
515           src/Makefile.am
516                 - Move ifcfg-fedora inotify helpers to the system settings service so
517                         they are available to all plugins
518
519 2008-10-03  Alexander Sack  <asac@ubuntu.com>
520
521         Implement support for wep-tx-keyidx in ifupdown system
522         config plugin.
523
524         * system-settings/plugins/ifupdown/parser.c
525                 - (update_wireless_security_setting_from_if_block): introduce
526                         free_type_mapping func table; rename a few local
527                         variables to improve readability; add wpa security mapping
528                         for wep-tx-keyidx property
529                 - (string_to_gpointerint): new function used for the auto_type_mapping
530                         of new wep-tx-keyidx property
531                 - (slist_free_all): free func used for mapped slist types
532
533 2008-10-03  Alexander Sack  <asac@ubuntu.com>
534
535         * system-settings/src/main.c:
536                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
537                         always used as the hash key; fixes a crash when removing wired
538                         devices
539
540 2008-10-02  Dan Williams  <dcbw@redhat.com>
541
542         * src/nm-gsm-device.c
543                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
544                         pass the required GSM secret along via user_data rather than keeping
545                         it around in the private data where it sometimes didn't get cleared
546                 - (real_get_ppp_name): implement using the GSM username
547
548 2008-10-02  Dan Williams  <dcbw@redhat.com>
549
550         * src/ppp-manager/nm-ppp-manager.c
551           src/ppp-manager/nm-ppp-manager.h
552                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
553                         the settings daemon for completely new ones
554                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
555                         local PPP peer name; allow PPP debuging by launching NM with
556                         the environment variable NM_PPP_DEBUG defined
557                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
558                         create_pppd_cmd_line()
559
560         * src/nm-serial-device.c
561           src/nm-serial-device.h
562                 - New 'get_ppp_name' function for subclasses to implement to return the
563                         local PPP peer name
564                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
565                         and pass that name to the PPP manager
566
567         * src/nm-device-ethernet.c
568                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
569                         the local peer name
570
571         * src/nm-cdma-device.c
572                 - (real_get_ppp_name): implement using the CDMA username
573
574 2008-10-02  Dan Williams  <dcbw@redhat.com>
575
576         Patch from Alexander Sack <asac ubuntu com>
577
578         * system-settings/plugins/ifupdown/parser.c
579                 - Implement more graceful ip4 config parsing for cases where
580                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
581                   by using default values
582
583 2008-10-02  Dan Williams  <dcbw@redhat.com>
584
585         * src/NetworkManagerPolicy.c
586                 - (device_state_changed): when marking a connection invalid, clear its
587                         secrets too so that fresh secrets get requested the next time
588
589 2008-10-01  Dan Williams  <dcbw@redhat.com>
590
591         * system-settings/src/dbus-settings.c
592                 - (nm_sysconfig_settings_init): cache system hostname on startup as
593                         a fallback if no plugin provides a hostname
594                 - (get_property): fall back to cached hostname if no plugin provides
595                         a hostname
596
597 2008-10-01  Dan Williams  <dcbw@redhat.com>
598
599         Fix setting value comparison issue that caused some settings to look the
600         same when they were really different (rh #464417)
601
602         * libnm-util/nm-param-spec-specialized.c
603                 - (type_is_fixed_size): return fundamental size of the fixed type too
604                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
605                         in the comparison so that the _entire_ fixed type collection gets
606                         compared rather than just the first 'len1' bytes
607
608 2008-09-30  Dan Williams  <dcbw@redhat.com>
609
610         * src/NetworkManagerPolicy.c
611                 - (lookup_thread_worker): don't store the idle handler ID becuase the
612                         idle handler could have already run and freed the LookupThread
613                         structure
614
615 2008-09-30  Tambet Ingo  <tambet@gmail.com>
616
617         * src/nm-device.c (nm_device_get_priority): Implement.
618         (nm_device_set_ip4_config): Send the device priority to system ip4 
619         config setter.
620
621         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
622         Add priority argument and if it's >= 0, set the priority of the network
623         route added automatically by netlink (or kernel?).
624         (nm_system_device_set_priority): Implement.
625
626         * src/NetworkManagerPolicy.c (get_best_device): Use 
627         nm_device_get_priority() instead of home-grown version. Revert the
628         meaning, best priority is the lowest one.
629
630 2008-09-29  Dan Williams  <dcbw@redhat.com>
631
632         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
633         when it returns EAGAIN (rh #362421)
634
635         * src/nm-device-wifi.c
636                 - (wireless_get_range): try GIWRANGE a few times until the card responds
637                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
638
639 2008-09-28  Dan Williams  <dcbw@redhat.com>
640
641         * src/nm-serial-device.c
642           src/nm-serial-device.h
643                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
644                         cleaned at the right times when subclasses close the serial port too
645                 - (nm_serial_device_send_command): use a default send delay; don't
646                         spin forever on EAGAIN
647                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
648                         remove, no longer used
649                 - (find_response): return the matched response if any
650                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
651                         while doing so
652                 - (wait_for_reply_done): pass the matched response to the callback
653                 - (wait_for_reply_got_data): save the matched response; simplify timeout
654                         handling
655                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
656                         const since they never get modified
657                 - (cleanup_device): split out common cleanup stuff to a new function
658                 - (real_deactivate_quickly, finalize): use cleanup_device()
659
660         * src/nm-gsm-device.c
661                 - (modem_get_reply): remove, unused
662                 - (set_apn): give the card a bit more time to respond
663                 - (manual_registration_again, schedule_manual_registration_again,
664                    manual_registration_response, manual_registration): handle manual
665                         registration timeouts better by retrying registration a few times
666                         because cards are a bit slow after CFUN=1
667                 - (automatic_registration_get_network, get_network_response): use
668                         modem_wait_for_reply() because it interacts better with the serial
669                         buffer and does more intelligent matching; need to wait for 'OK'
670                         rather than just matching terminators
671                 - (schedule_automatic_registration_again,
672                    automatic_registration_response, automatic_registration): retry
673                         registration a few times on timeout or "searching" because cards
674                         take a bit to find a network after being powered up with CFUN=1
675                 - (power_up_response, power_up, init_full_done, enter_pin,
676                    check_pin_done): power up the card with CFUN=1 before trying to
677                         register with the network
678                 - (init_modem_full, init_modem): use more standard 3G init strings
679
680         * src/nm-hso-gsm-device.c
681                 - (modem_get_reply): remove, unused
682                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
683                         modem_wait_for_reply() to match actual responses instead of single
684                         termination characters; it doesn't leave stuff in the serial buffer
685                         that might confuse later calls
686                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
687                         to ensure that the call is really disconnected and not leave extra
688                         stuff in the serial buffer
689
690         * src/nm-cdma-device.c
691                 - (power_up_response, power_up, init_done): try Sierra-style modem
692                         power up before attempting to connect
693
694 2008-09-27  Dan Williams  <dcbw@redhat.com>
695
696         * libnm-util/nm-setting-gsm.c
697                 - (verify): verify GSM network ID
698
699 2008-09-25  Dan Williams  <dcbw@redhat.com>
700
701         * libnm-util/nm-setting-gsm.c
702           libnm-util/nm-setting-gsm.h
703                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
704                         technology terms (bgo #551361)
705
706 2008-09-25  Dan Williams  <dcbw@redhat.com>
707
708         Fix bgo #549401 (inspired by patch from Alexander Sack)
709
710         * src/nm-device-ethernet.c
711                 - (finish_supplicant_task): clean up scheduled tasks and free memory
712                 - (remove_supplicant_interface_error_handler): remove the supplicant
713                         error idle callback too
714                 - (supplicant_interface_release): rename from supplicant_interface_clean
715                         to match nm-device-wifi.c; clean up supplicant interface-related
716                         state tasks when the supplicant interface is disposed of
717                 - (schedule_state_handler): add scheduled tasks to a list so they can
718                         be cleaned up later
719                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
720                    supplicant_iface_connection_state_cb_handler): use
721                         finish_supplicant_task() to clean up each completed task
722                 - (supplicant_iface_connection_error_cb_handler,
723                    supplicant_connection_timeout_cb): clear source id when the task is
724                         complete
725                 - (supplicant_iface_connection_error_cb): save scheduled task id for
726                         later cleanup
727                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
728                         tasks
729
730         * src/nm-device-wifi.c
731                 - (finish_supplicant_task): clean up scheduled tasks and free memory
732                 - (remove_supplicant_interface_error_handler): remove the supplicant
733                         error idle callback too
734                 - (supplicant_interface_release): clean up supplicant interface-related
735                         state tasks when the supplicant interface is disposed of
736                 - (schedule_state_handler): add scheduled tasks to a list so they can
737                         be cleaned up later
738                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
739                    supplicant_iface_connection_state_cb_handler): use
740                         finish_supplicant_task() to clean up each completed task
741                 - (supplicant_iface_connection_error_cb_handler): clear source id when
742                         the task is complete
743                 - (supplicant_iface_connection_error_cb): save scheduled task id for
744                         later cleanup
745                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
746
747 2008-09-24  Tambet Ingo  <tambet@gmail.com>
748
749         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
750         method and get/set hostname property.
751
752 2008-09-24  Tambet Ingo  <tambet@gmail.com>
753
754         * src/supplicant-manager/nm-supplicant-interface.c
755         (nm_supplicant_interface_disconnect): Don't increment the reference 
756         count when disconnecting. The problem is on shutdown, when the replies
757         to these commands do not arrive before NM exits, resulting on never
758         calling supplicant interface's dispose(), which removes the interface
759         from supplicant.
760
761 2008-09-24  Tambet Ingo  <tambet@gmail.com>
762
763         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
764         all the public function arguments.
765
766 2008-09-22  Tambet Ingo  <tambet@gmail.com>
767
768         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
769         "Failure" signal from VPN plugins, store the failure reason, and
770         use it when the state is changed to failure.
771
772         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
773         description.
774
775         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
776         reason to the end of the list to not break the API.
777         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
778         so it can be shared by plugins and daemon.
779
780 2008-09-18  Dan Williams  <dcbw@redhat.com>
781
782         Patch from Alexander Sack <asac@ubuntu.com>
783
784         * configure.in
785           system-settings/plugins/Makefile.am
786           system-settings/plugins/ifupdown/Makefile.am
787           system-settings/plugins/ifupdown/interface_parser.c
788           system-settings/plugins/ifupdown/interface_parser.h
789           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
790           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
791           system-settings/plugins/ifupdown/parser.c
792           system-settings/plugins/ifupdown/parser.h
793           system-settings/plugins/ifupdown/plugin.c
794           system-settings/plugins/ifupdown/plugin.h
795                 - Implement a Debian/Ubuntu legacy network configuration plugin
796                         (gnome.org #551941)
797
798 2008-09-18  Dan Williams  <dcbw@redhat.com>
799
800         Implement support for honoring configured and automatic hostnames, and for
801         setting the configured hostname.
802
803         * introspection/nm-ip4-config.xml
804           src/nm-ip4-config.c
805           src/nm-ip4-config.h
806           src/dhcp-manager/nm-dhcp-manager.c
807                 - Remove useless hostname property; it's not really part of the IPv4
808                         config
809
810         * introspection/nm-settings-system.xml
811           libnm-glib/nm-dbus-settings-system.c
812           libnm-glib/nm-dbus-settings-system.h
813                 - Add SetHostname() call to system settings D-Bus interface
814                 - Add Hostname property to system settings D-Bus interface
815                 - (nm_dbus_settings_system_save_hostname,
816                    nm_dbus_settings_system_get_hostname): implement
817
818         * src/nm-device.c
819           src/nm-device.h
820                 - (nm_device_get_dhcp4_config): implement
821
822         * src/nm-manager.c
823           src/nm-manager.h
824                 - Fetch and track system settings service hostname changes, and proxy
825                         the changes via a GObject property of the manager
826
827         * system-settings/src/nm-system-config-interface.c
828           system-settings/src/nm-system-config-interface.h
829                 - Replace nm_system_config_interface_supports_add() with a capabilities
830                         bitfield
831
832         * system-settings/src/nm-system-config-error.c
833           system-settings/src/nm-system-config-error.h
834                 - Add additional errors
835
836         * system-settings/src/dbus-settings.c
837           system-settings/src/dbus-settings.h
838                 - (get_property, nm_sysconfig_settings_class_init): add hostname
839                         property; first plugin returning a hostname wins
840                 - (impl_settings_add_connection): use plugin capabilities instead of
841                         nm_system_config_interface_supports_add()
842                 - (impl_settings_save_hostname): implement hostname saving
843
844         * src/NetworkManagerPolicy.c
845                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
846                    lookup_thread_die): implement an asynchronous hostname lookup thread
847                         which given an IPv4 address tries to look up the hostname for that
848                         address with reverse DNS
849                 - (get_best_device): split out best device code from
850                         update_routing_and_dns()
851                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
852                         to preserve the 127.0.0.1 reverse mapping that so many things require
853                 - (set_system_hostname): set a given hostname
854                 - (update_system_hostname): implement hostname policy; a configured
855                         hostname (from the system settings service) is used if available,
856                         otherwise an automatically determined hostname from DHCP, VPN, etc.
857                         If there was no automatically determined hostname, reverse DNS of
858                         the best device's IP address will be used, and as a last resort the
859                         hostname 'localhost.localdomain' is set.
860                 - (update_routing_and_dns): use get_best_device(); update the system
861                         hostname when the network config changes
862                 - (hostname_changed): update system hostname if the system settings
863                         service signals a hostname change
864                 - (nm_policy_new): list for system settings service hostname changes
865                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
866                         gets told to die
867
868         * system-settings/plugins/keyfile/plugin.c
869           system-settings/plugins/ifcfg-suse/plugin.c
870                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
871                         capabilities properties
872
873         * system-settings/plugins/ifcfg-fedora/shvar.c
874                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
875                         writes out /etc/sysconfig/network now
876
877         * system-settings/plugins/ifcfg-fedora/plugin.c
878                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
879                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
880                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
881                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
882                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
883                         hostname get/set and capabilities get
884
885 2008-09-18  Dan Williams  <dcbw@redhat.com>
886
887         * libnm-util/nm-setting-wireless.c
888                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
889                         group ciphers if the wireless-security setting explicitly specified
890                         them, effectively making the default be "all ciphers"  (idea from
891                         Alexander Sack)
892
893 2008-09-15  Dan Williams  <dcbw@redhat.com>
894
895         Patch from Alexander Sack <asac@ubuntu.com>
896
897         * src/named-manager/nm-named-manager.c
898                 - (dispatch_resolvconf): respect resolvconf exit code
899
900 2008-09-12  Tambet Ingo  <tambet@gmail.com>
901
902         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
903         again. Add some debugging.
904
905 2008-09-11  Dan Williams  <dcbw@redhat.com>
906
907         * system-settings/plugins/keyfile/plugin.c
908                 - (update_connection_settings): update connection manually, since
909                         nm_exported_connection_update() does authentication
910                 - (dir_changed): update_connection_settings() doesn't need to return
911                         an error
912
913 2008-09-09  Dan Williams  <dcbw@redhat.com>
914
915         * libnm-glib/nm-vpn-plugin-ui-interface.c
916           libnm-glib/nm-vpn-plugin-ui-interface.h
917           libnm-glib/libnm_glib_vpn.ver
918                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
919                         should clean up resources related to the connection (like keyring
920                         secrets)
921                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
922                         should save user-scope secrets (like to the keyring)
923
924 2008-09-08  Dan Williams  <dcbw@redhat.com>
925
926         Patch from Alexander Sack <asac@ubuntu.com>
927
928         * libnm-util/crypto_gnutls.c
929           libnm-util/crypto_nss.c
930                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
931
932         * libnm-util/nm-utils.c
933           libnm-util/nm-utils.h
934           libnm-util/libnm-util.ver
935                 - (nm_utils_init): initialize libnm-util
936                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
937
938         * libnm-util/nm-setting-8021x.c
939                 - (nm_setting_802_1x_class_init): init libnm-util when needed
940
941 2008-09-05  Dan Williams  <dcbw@redhat.com>
942
943         Patch from Roy Marples <roy@marples.name> and others
944
945         * configure.in
946           src/named-manager/nm-named-manager.c
947                 - Add support for resolvconf; use --with-resolvconf at configure time
948                         to enable it
949
950 2008-09-05  Dan Williams  <dcbw@redhat.com>
951
952         * libnm-util/crypto_nss.c
953           libnm-util/crypto_gnutls.c
954           libnm-util/crypto.h
955                 - (crypto_init): return error when init fails
956
957 2008-09-05  Dan Williams  <dcbw@redhat.com>
958
959         * libnm-glib/nm-device-wifi.c
960                 - (access_point_removed_proxy): clean up the active access point too
961                         just in case the active ap changed signal didn't come through yet
962                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
963
964 2008-09-05  Dan Williams  <dcbw@redhat.com>
965
966         * libnm-glib/nm-client.c
967                 - (constructor): get initial state after we know whether NM is running
968                         or not
969
970 2008-09-05  Dan Williams  <dcbw@redhat.com>
971
972         * libnm-glib/nm-ip4-config.c
973           libnm-glib/nm-dhcp4-config.c
974                 - (finalize): clean up the DBusGProxy
975
976 2008-09-04  Dan Williams  <dcbw@redhat.com>
977
978         * src/nm-ip4-config.c
979           src/nm-ip4-config.h
980                 - (nm_ip4_config_new): don't export over D-Bus here
981                 - (nm_ip4_config_export): new function; export the config over D-Bus
982                 - (nm_ip4_config_is_exported): new function
983
984         * src/nm-device.c
985                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
986                         objects by balancing the IP4Config constructor; the device holds
987                         a reference to the IP4Config already
988                 - (nm_device_set_ip4_config): export the IP4Config when needed
989
990 2008-09-04  Dan Williams  <dcbw@redhat.com>
991
992         * src/supplicant-manager/nm-supplicant-settings-verify.c
993                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
994
995 2008-09-04  Dan Williams  <dcbw@redhat.com>
996
997         * libnm-util/nm-setting-vpn.c
998           libnm-util/nm-setting-vpn.h
999                 - Split VPN secrets from VPN data so that settings services can actually
1000                         figure out that they are secrets and store them accordingly
1001
1002         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1003           system-settings/plugins/keyfile/reader.c
1004           system-settings/plugins/keyfile/reader.h
1005           system-settings/plugins/keyfile/writer.c
1006                 - Store VPN secrets separately from VPN data so that they can be fetched
1007                         on demand
1008                 - Implement the get_secrets() call so that (a) secrets don't leak out
1009                         to unprivileged callers, and (b) secrets can be sent to privileged
1010                         callers when needed
1011
1012         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1013                 - Handle split VPN secrets
1014
1015 2008-08-27  Dan Williams  <dcbw@redhat.com>
1016
1017         * system-settings/plugins/ifcfg-fedora/reader.c
1018                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1019
1020 2008-08-27  Dan Williams  <dcbw@redhat.com>
1021
1022         Ensure zombie children get cleaned up.  To get notifications when children
1023         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1024         that requires calling waitpid() yourself if you've removed the child watch
1025         handler before the process has actually died, which NM needs to do in a few
1026         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1027         cleans up after the child when required.  Should fix problems trying to
1028         activate mobile broadband connections after a previous failure.
1029
1030         * src/dhcp-manager/nm-dhcp-dhclient.c
1031           src/dhcp-manager/nm-dhcp-dhcpcd.c
1032                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1033
1034         * src/dhcp-manager/nm-dhcp-manager.c
1035                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1036                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1037                         block on child quitting, since the non-blocking functionality was
1038                         never actually used
1039
1040         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1041                 - (dm_watch_cb): child is already reaped here
1042                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1043
1044         * src/nm-device.c
1045                 - (aipd_cleanup): block until child is dead
1046
1047         * src/named-manager/nm-named-manager.c
1048                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1049                         event bothering to watch the child
1050
1051         * src/ppp-manager/nm-ppp-manager.c
1052                 - (ppp_watch_cb): child is already reaped here
1053                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1054
1055         * src/vpn-manager/nm-vpn-service.c
1056                 - (vpn_service_watch_cb): child is already reaped here
1057                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1058                         status of the child is actually tracked
1059                 - (ensure_killed, finalize): block until child is dead
1060
1061 2008-08-26  Dan Williams  <dcbw@redhat.com>
1062
1063         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1064                 - (update): Update filename of the connection if the connection id
1065                         was changed
1066
1067         * system-settings/plugins/keyfile/plugin.c
1068                 - (dir_changed): first pass at handling connection renames correctly
1069
1070         * system-settings/plugins/keyfile/writer.c
1071           system-settings/plugins/keyfile/writer.h
1072                 - (write_connection): replace '/' with '*' when writing out the filename
1073                         from the connection id
1074
1075 2008-08-26  Dan Williams  <dcbw@redhat.com>
1076
1077         Add connection UUIDs, since connection names can be changed, and since
1078         old-style connection IDs could change over the life of the connection.  The
1079         UUID should be assigned at connection creation time, be stable for a given
1080         connection, and should be unique among all connections for a given settings
1081         service.
1082
1083         * configure.in
1084           libnm-util/Makefile.am
1085                 - Require libuuid
1086
1087         * introspection/nm-exported-connection.xml
1088                 - Remove "GetID" method
1089
1090         * libnm-glib/nm-dbus-connection.c
1091           libnm-glib/nm-settings.c
1092           libnm-glib/nm-settings.h
1093                 - Remove id-related stuff
1094
1095         * libnm-util/nm-utils.c
1096           libnm-util/nm-utils.h
1097           libnm-util/libnm-util.ver
1098                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1099                         utility functions to generate UUIDs
1100
1101         * libnm-util/nm-setting-connection.c
1102           libnm-util/nm-setting-connection.h
1103                 - Add 'uuid' member to the connection setting
1104                 - (verify): require valid 'uuid' for a valid connection
1105
1106         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1107           system-settings/plugins/ifcfg-fedora/reader.c
1108           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1109           system-settings/plugins/ifcfg-suse/parser.c
1110           system-settings/plugins/keyfile/nm-keyfile-connection.c
1111           system-settings/src/main.c
1112                 - Remove id-related stuff
1113                 - Give connections UUIDs where needed
1114
1115 2008-08-25  Dan Williams  <dcbw@redhat.com>
1116
1117         * libnm-util/crypto_gnutls.c
1118           libnm-util/crypto_nss.c
1119                 - (crypto_init, crypto_deinit): refcount init/deinit
1120                 - (crypto_md5_hash): allow NULL salt
1121
1122 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1123
1124         * libnm-glib/Makefile.am
1125           libnm-util/Makefile.am
1126           libnm-glib/libnm_glib.ver
1127           libnm-glib/libnm_glib_vpn.ver
1128           libnm-util/libnm-util.ver
1129                 - Use linker version scripts to control the list of exported 
1130                 symbols. List each exported symbol explicitely.
1131         * libnm-util/Makefile.am
1132                 - Fix compilation of the test-crypto binary. The crypto
1133                 functions are no longer part of the libnm-util API. Add 
1134                 crypto_*.c to test_crypto_SOURCES and link against the correct
1135                 crypto libraries.
1136
1137 2008-08-19  Dan Williams  <dcbw@redhat.com>
1138
1139         * configure.in
1140           test/Makefile.am
1141                 - Don't build test/test-common
1142                 - Remove unused stuff
1143
1144         * test/nm-set-fallback
1145           test/nmtestdevices.c
1146           test/test-common/.cvsignore
1147           test/test-common/Makefile.am
1148           test/test-common/test-common.c
1149           test/test-common/test-common.h
1150                 - delete
1151
1152 2008-08-18  Dan Williams  <dcbw@redhat.com>
1153
1154         * libnm-util/nm-utils.c
1155           libnm-util/nm-utils.h
1156                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1157                         export anything that needs to be converted with this function
1158
1159         * src/dhcp-manager/nm-dhcp-manager.c
1160                 - (garray_to_string): convert a byte array to a UTF-8 string with
1161                         minimal validation; the DHCP client sends it in ASCII anyway
1162                 - (get_option, copy_option): use garray_to_string()
1163
1164 2008-08-18  Dan Williams  <dcbw@redhat.com>
1165
1166         * include/NetworkManager.h
1167           introspection/nm-device.xml
1168                 - Add a "missing firmware" device state reason
1169
1170         * src/NetworkManagerSystem.c
1171           src/NetworkManagerSystem.h
1172                 - (nm_system_device_set_up_down): add a no_firmware argument
1173                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1174                         IFF_UP is ENOENT, that almost always means missing firmware
1175
1176         * src/backends/NetworkManagerGeneric.c
1177           src/nm-device-ethernet.c
1178           src/nm-device-private.h
1179           src/nm-device-wifi.c
1180           src/nm-device.c
1181           src/nm-device.h
1182           src/nm-hso-gsm-device.c
1183           src/vpn-manager/nm-vpn-connection.c
1184                 - Pass no_firmware along; check it where appropriate
1185
1186 2008-08-18  Dan Williams  <dcbw@redhat.com>
1187
1188         Patch from Robert Buchholz <rbu@gentoo.org>
1189
1190         * autogen.sh
1191           configure.in
1192                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1193                         1003.1-1988, allowing for file names longer than 99 characters
1194
1195 2008-08-17  Dan Williams  <dcbw@redhat.com>
1196
1197         * include/NetworkManager.h
1198           introspection/nm-device.xml
1199           src/nm-gsm-device.c
1200                 - Finer-grained GSM registration failure error codes
1201
1202 2008-08-17  Dan Williams  <dcbw@redhat.com>
1203
1204         * callouts/Makefile.am
1205           src/Makefile.am
1206                 - Move dispatcher directory creation to callouts/Makefile.am
1207
1208         * system-settings/plugins/keyfile/Makefile.am
1209                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1210
1211 2008-08-15  Dan Williams  <dcbw@redhat.com>
1212
1213         Do connection sharing in a cleaner manner; all required iptables rules
1214         are now stored in the activation request and pertain only to the device
1215         which is being shared to other computers. (rh #458625)
1216
1217         * src/nm-activation-request.c
1218           src/nm-activation-request.h
1219                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1220                         the activation request which will get torn down automatically when
1221                         the activation request dies
1222                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1223                         is started, and tear them down when sharing is stopped
1224
1225         * src/nm-device.c
1226                 - (start_sharing): start up sharing by doing the required iptables magic
1227                 - (share_init): poke the right bits of the kernel and load the right
1228                         modules for NAT
1229                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1230                         connection if it's a 'shared' connection
1231
1232         * src/NetworkManagerPolicy.c
1233                 - Remove all sharing stuff; done in the device code itself
1234
1235 2008-08-15  Dan Williams  <dcbw@redhat.com>
1236
1237         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1238                 - (create_dm_cmd_line): send the right router address
1239
1240 2008-08-15  Dan Williams  <dcbw@redhat.com>
1241
1242         * src/ppp-manager/nm-ppp-manager.c
1243                 - (pppd_timed_out): ensure timeouts fail the connection
1244
1245 2008-08-14  Dan Williams  <dcbw@redhat.com>
1246
1247         * src/nm-properties-changed-signal.c
1248           src/nm-properties-changed-signal.h
1249                 - Add a property spec flag for "don't export this property" in
1250                         property changed signals
1251
1252         * src/nm-hso-gsm-device.c
1253           src/nm-gsm-device.c
1254           src/nm-cdma-device.c
1255                 - Don't export monitor interface or netdev interface properties
1256
1257 2008-08-14  Dan Williams  <dcbw@redhat.com>
1258
1259         * src/NetworkManagerPolicy.c
1260                 - (update_routing_and_dns): 'hso' devices can be default even if they
1261                         don't have a gateway
1262
1263 2008-08-14  Dan Williams  <dcbw@redhat.com>
1264
1265         * src/nm-device.c
1266                 - (nm_device_deactivate_quickly): tear down activation request after
1267                         calling device-specific deactivation
1268
1269         * src/nm-hso-gsm-device.c
1270                 - (real_deactivate_quickly): terminate connection when deactivating
1271
1272 2008-08-14  Dan Williams  <dcbw@redhat.com>
1273
1274         * src/nm-activation-request.h
1275                 - Add HSO secrets caller
1276
1277         * src/nm-gsm-device.c
1278           src/nm-gsm-device.h
1279                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1280                         something to the callback function
1281                 - (set_apn, set_apn_done): call class dial function, not a static one
1282                 - (nm_gsm_device_class_init): add a class 'dial' function
1283
1284         * src/nm-hal-manager.c
1285                 - (get_hso_netdev): find the hso-driven hardware's net device
1286                 - (modem_device_creator): recognize hso-driven hardware and create the
1287                         right type of device object for it
1288
1289         * src/Makefile.am
1290           src/nm-hso-gsm-device.c
1291           src/nm-hso-gsm-device.h
1292                 - Implement support for devices driven by the 'hso' driver as a subclass
1293                         of NMGsmDevice
1294
1295 2008-08-14  Dan Williams  <dcbw@redhat.com>
1296
1297         * src/NetworkManagerSystem.c
1298                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1299                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1300                         success if the operation really was successful
1301
1302 2008-08-14  Dan Williams  <dcbw@redhat.com>
1303
1304         * src/nm-netlink-monitor.c
1305           src/nm-netlink-monitor.h
1306           src/nm-device-ethernet.c
1307                 - (nm_netlink_monitor_request_status): return an error on failure
1308                 - (constructor): don't segfault on missing error
1309
1310 2008-08-13  Dan Williams  <dcbw@redhat.com>
1311
1312         * callouts/nm-dispatcher-action.c
1313                 - Add IP4 config info to script environment
1314
1315 2008-08-12  Dan Williams  <dcbw@redhat.com>
1316
1317         * src/nm-device.c
1318                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1319                         that want to use DHCP hostnames should use dispatcher scripts
1320                         for that
1321
1322         * src/NetworkManagerSystem.h
1323           src/backends/NetworkManagerArch.c
1324           src/backends/NetworkManagerDebian.c
1325           src/backends/NetworkManagerFrugalware.c
1326           src/backends/NetworkManagerGeneric.c
1327           src/backends/NetworkManagerGeneric.h
1328           src/backends/NetworkManagerGentoo.c
1329           src/backends/NetworkManagerMandriva.c
1330           src/backends/NetworkManagerPaldo.c
1331           src/backends/NetworkManagerRedHat.c
1332           src/backends/NetworkManagerSlackware.c
1333           src/backends/NetworkManagerSuSE.c
1334                 - Remove nm_system_set_hostname(), no longer used
1335           
1336         * src/backends/Makefile.am
1337           src/backends/shvar.c
1338           src/backends/shvar.h
1339                 - Remove shvar.*; no longer used
1340
1341 2008-08-12  Dan Williams  <dcbw@redhat.com>
1342
1343         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1344         hostname is updated at runtime.  Distros or users who want hostname updates
1345         can use dispatcher scripts to update the hostname if they need it.
1346
1347 2008-08-12  Dan Williams  <dcbw@redhat.com>
1348
1349         * introspection/nm-settings-system.xml
1350           system-settings/src/dbus-settings.c
1351           system-settings/src/dbus-settings.h
1352                 - Add a 'Hostname' property (rw) which represents the configured
1353                         hostname and domain of the system, if any
1354
1355         * system-settings/src/nm-system-config-error.c
1356           system-settings/src/nm-system-config-error.h
1357           system-settings/src/nm-system-config-interface.c
1358           system-settings/src/nm-system-config-interface.h
1359                 - Add a 'hostname' property to the plugin interface
1360                 - Add a method to send updated hostname to plugins to save in their
1361                         backing configuration store
1362
1363         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1364           system-settings/plugins/keyfile/plugin.c
1365           system-settings/plugins/keyfile/writer.c
1366           system-settings/plugins/keyfile/writer.h
1367           system-settings/plugins/ifcfg-suse/plugin.c
1368                 - Add minimal hostname support
1369
1370         * system-settings/plugins/ifcfg-fedora/plugin.c
1371                 - Add support for updating system hostname in /etc/sysconfig/network
1372
1373 2008-08-12  Dan Williams  <dcbw@redhat.com>
1374
1375         * system-settings/plugins/ifcfg-fedora/shvar.c
1376           system-settings/plugins/ifcfg-fedora/shvar.c
1377                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1378
1379 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1380
1381         * Makefile.am: Fix distcheck.
1382
1383 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1384
1385         * libnm-glib/*.c. Document some more.
1386
1387 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1388
1389         Start documenting libnm-glib public API using gtk-doc.
1390
1391         * libnm-glib/nm-serial-device.c: 
1392         * libnm-glib/nm-object.c: 
1393         * libnm-glib/nm-gsm-device.c: 
1394         * libnm-glib/nm-device.c: 
1395         * libnm-glib/nm-device-wifi.c: 
1396         * libnm-glib/nm-device-ethernet.c: 
1397         * libnm-glib/nm-client.c: 
1398         * libnm-glib/nm-cdma-device.c: Document the public API.
1399
1400         * docs/libnm-glib/libnm-glib.types: Implement.
1401
1402         * docs/libnm-glib/Makefile.am: Implement.
1403
1404         * autogen.sh: 
1405         * configure.in: 
1406         * Makefile.am: Add gtk-doc support.
1407
1408 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1409
1410         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1411
1412         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1413         the composite result of all the IP4 configurations and call a distro
1414         specific update_resolv_conf().
1415         (update_resolv_conf): Implement one for directly writing to 
1416         /etc/resolv.conf and one for opensuse to call netconfig.
1417
1418 2008-08-11  Dan Williams  <dcbw@redhat.com>
1419
1420         * src/ppp-manager/nm-ppp-manager.c
1421                 - (impl_ppp_manager_need_secrets): pass interface as required
1422
1423 2008-08-11  Dan Williams  <dcbw@redhat.com>
1424
1425         Merge the vpn-properties setting with the vpn setting since it was pointless
1426         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1427         of string:string (instead of string:variant) so that system settings plugins
1428         can have an easier time dealing with the arbitrary key/value pairs.
1429
1430 2008-08-11  Dan Williams  <dcbw@redhat.com>
1431
1432         * libnm-util/nm-utils.c
1433                 - (nm_utils_register_value_transformations): add value transform for
1434                         a hash table of string:string
1435
1436 2008-08-10  Dan Williams  <dcbw@redhat.com>
1437
1438         * libnm-glib/nm-vpn-plugin.c
1439                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1440                         an idle handler so the Connect reply gets delivered before the
1441                         stop StateChanged signal
1442
1443 2008-08-10  Dan Williams  <dcbw@redhat.com>
1444
1445         * src/nm-ip4-config.c
1446                 - (get_property): use common ip4 address/route conversion functions
1447                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1448                         copy the new route here, not take ownership
1449
1450 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1451
1452         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1453         Update the IP4 setting's method name.
1454
1455 2008-08-07  Dan Williams  <dcbw@redhat.com>
1456
1457         * introspection/nm-ip4-config.xml
1458           libnm-glib/libnm-glib-test.c
1459           libnm-glib/nm-ip4-config.c
1460           libnm-glib/nm-ip4-config.h
1461           src/NetworkManagerSystem.h
1462           src/backends/NetworkManagerArch.c
1463           src/backends/NetworkManagerDebian.c
1464           src/backends/NetworkManagerFrugalware.c
1465           src/backends/NetworkManagerGeneric.c
1466           src/backends/NetworkManagerGeneric.h
1467           src/backends/NetworkManagerGentoo.c
1468           src/backends/NetworkManagerMandriva.c
1469           src/backends/NetworkManagerPaldo.c
1470           src/backends/NetworkManagerRedHat.c
1471           src/backends/NetworkManagerSlackware.c
1472           src/backends/NetworkManagerSuSE.c
1473           src/dhcp-manager/nm-dhcp-manager.c
1474           src/nm-device.c
1475           src/nm-ip4-config.c
1476           src/nm-ip4-config.h
1477                 - Remove NIS logic; should be done from dispatcher scripts instead
1478
1479 2008-08-07  Dan Williams  <dcbw@redhat.com>
1480
1481         * src/dhcp-manager/nm-dhcp-manager.c
1482                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1483                         mis-handling of DHCP responses that returned more than one router
1484                         (found by Grant Williamson)
1485
1486 2008-08-07  Dan Williams  <dcbw@redhat.com>
1487
1488         * callouts/nm-dispatcher-action.c
1489                 - (nm_dispatcher_action): grab device path and create the device; pass
1490                         the device's DHCP4 config to script caller
1491                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1492                         scripts
1493
1494         * libnm-glib/nm-dhcp4-config.c
1495           libnm-glib/nm-dhcp4-config.h
1496                 - (nm_dhcp4_config_get_options): expose
1497                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1498
1499 2008-08-07  Dan Williams  <dcbw@redhat.com>
1500
1501         * include/NetworkManager.h
1502                 - Add the DHCP4Config D-Bus interface
1503
1504         * libnm-glib/Makefile.am
1505           libnm-glib/nm-dhcp4-config.c
1506           libnm-glib/nm-dhcp4-config.h
1507                 - Handle DHCP4 config objects exported by NM over D-Bus
1508
1509         * libnm-glib/nm-device.c
1510           libnm-glib/nm-device.h
1511                 - Add a 'dhcp4-config' property
1512
1513         * libnm-glib/libnm-glib-test.c
1514                 - Print out DHCP4 config for devices
1515                 - Fix some crashes when no connections are active
1516
1517         * src/nm-device-interface.c
1518           src/nm-device.c
1519           src/nm-dhcp4-config.c
1520           src/nm-dhcp4-config.h
1521                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1522                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1523                         doesn't let us do when the property type is G_TYPE_OBJECT
1524
1525 2008-08-07  Dan Williams  <dcbw@redhat.com>
1526
1527         * src/NetworkManager.c
1528           src/NetworkManagerSystem.h
1529           src/backends/NetworkManagerArch.c
1530           src/backends/NetworkManagerDebian.c
1531           src/backends/NetworkManagerFrugalware.c
1532           src/backends/NetworkManagerGeneric.c
1533           src/backends/NetworkManagerGeneric.h
1534           src/backends/NetworkManagerGentoo.c
1535           src/backends/NetworkManagerMandriva.c
1536           src/backends/NetworkManagerPaldo.c
1537           src/backends/NetworkManagerRedHat.c
1538           src/backends/NetworkManagerSlackware.c
1539           src/backends/NetworkManagerSuSE.c
1540                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1541
1542 2008-08-06  Dan Williams  <dcbw@redhat.com>
1543
1544         * libnm-glib/nm-ip4-config.c
1545           libnm-glib/nm-ip4-config.h
1546                 - Add 'routes' property
1547
1548         * libnm-util/nm-setting-vpn.c
1549           libnm-util/nm-setting-vpn.h
1550                 - Remove 'routes' property
1551
1552         * libnm-util/nm-setting-ip4-config.c
1553           libnm-util/nm-setting-ip4-config.h
1554                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1555                 - Add 'ignore-auto-routes' property
1556                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1557                         accomodate route metrics
1558                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1559
1560         * libnm-util/nm-utils.c
1561           libnm-util/nm-utils.h
1562                 - Add helpers for marshalling IP4 routes
1563
1564         * src/NetworkManagerUtils.c
1565                 - (nm_utils_merge_ip4_config): handle property renames and new route
1566                         structure
1567
1568         * src/NetworkManagerSystem.c
1569                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1570                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1571
1572         * src/dhcp-manager/nm-dhcp-manager.c
1573                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1574
1575         * system-settings/plugins/ifcfg-fedora/reader.c
1576           system-settings/plugins/ifcfg-fedora/writer.c
1577                 - Handle routes separately from addresses now that routes have a different
1578                         format
1579
1580         * introspection/nm-ip4-config.xml
1581           src/nm-ip4-config.c
1582           src/nm-ip4-config.h
1583                 - Rename internal routing functions
1584                 - 'static-routes' renamed to 'routes'
1585
1586 2008-08-04  Dan Williams  <dcbw@redhat.com>
1587
1588         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1589
1590         * src/NetworkManager.c
1591           src/nm-manager.c
1592           src/nm-manager.h
1593                 - More explicitly make the NMManager a singleton
1594
1595 2008-08-04  Dan Williams  <dcbw@redhat.com>
1596
1597         * libnm-util/nm-connection.c
1598           libnm-util/nm-connection.h
1599                 - (nm_connection_verify): return error on missing 'connection' setting
1600                         (found by Sjoerd Simons)
1601
1602 2008-08-04  Dan Williams  <dcbw@redhat.com>
1603
1604         Handle multiple concurrent PPP connections.
1605
1606         * src/ppp-manager/nm-ppp-manager.c
1607           src/ppp-manager/nm-ppp-manager.h
1608                 - (constructor): only PPP Manager request bus name once; each
1609                         NMPPPManager object gets a unique object path
1610                 - (nm_ppp_manager_class_init, get_property, set_property,
1611                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1612                         at construct time
1613                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1614                         remove timeout until PPP manager gets an IP4 config
1615                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1616                         the plugin can call back to this specific PPP manager instance
1617
1618         * src/nm-device-ethernet.c
1619           src/nm-serial-device.c
1620                 - Pass parent device in nm_ppp_manager_new()
1621
1622         * src/nm-gsm-device.c
1623           src/nm-cdma-device.c
1624                 - (device_state_changed): don't close serial device on NEED_AUTH
1625                         state changed, that's not a failure case like the rest are
1626
1627         * src/ppp-manager/nm-pppd-plugin.c
1628                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1629                         binds one interface to any pppd process, thus the correct index
1630                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1631                         problems; try harder to get a peer address in spite of pppd
1632                 - (plugin_init): use 'ipparam' as the object path back to our specific
1633                         PPP manager instance
1634
1635 2008-08-04  Dan Williams  <dcbw@redhat.com>
1636
1637         * src/ppp-manager/nm-ppp-manager.c
1638                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1639                         since the GSM and CDMA settings now implement need_secrets, we can
1640                         rely on them to do the right thing.  Where secrets are not required,
1641                         just pass empty strings back to the pppd plugin.
1642                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1643                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1644                         on successful IP4 config receipt
1645
1646 2008-08-04  Dan Williams  <dcbw@redhat.com>
1647
1648         * libnm-util/nm-setting-cdma.c
1649           libnm-util/nm-setting-gsm.c
1650                 - (verify): validate username & password if they exist
1651                 - (need_secrets): if username given, require a password too
1652
1653 2008-08-04  Dan Williams  <dcbw@redhat.com>
1654
1655         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1656                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1657                         manpage says about --listen-address without --interface
1658                         (bgo #546033)
1659
1660 2008-08-01  Dan Williams  <dcbw@redhat.com>
1661
1662         * libnm-glib/nm-device.c
1663                 - (proxy_get_string): util function for querying a HAL property
1664                 - (get_ancestor_device): split out from get_product_and_vendor()
1665                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1666                         from PCI devices by querying subsys properties
1667                 - (nm_device_update_description): simplify
1668
1669 2008-08-01  Dan Williams  <dcbw@redhat.com>
1670
1671         * libnm-util/nm-setting-ip4-config.c
1672           libnm-util/nm-setting-ip4-config.h
1673                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1674                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1675                         settings, and they don't necessarily use DHCP.
1676
1677         * src/NetworkManagerPolicy.c
1678           src/nm-device.c
1679           system-settings/plugins/ifcfg-fedora/reader.c
1680           system-settings/plugins/ifcfg-suse/parser.c
1681                 - Fixup for method changes
1682
1683 2008-07-31  Dan Williams  <dcbw@redhat.com>
1684
1685         * src/nm-activation-request.c
1686           src/vpn-manager/nm-vpn-connection.c
1687                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1688                         itself should be attached to the activation request or the VPN
1689                         connection, not the NMConnection object, since the call is not
1690                         expected to live as long as the NMConnection itself
1691
1692 2008-07-31  Dan Williams  <dcbw@redhat.com>
1693
1694         * src/nm-device-wifi.c
1695                 - (real_act_stage2_config): fix issue where association would continue
1696                         even though secrets were needed; 'goto out' was in wrong scope and
1697                         result of handle_auth_or_fail() should have been dumped directly to
1698                         'ret' to ensure that the association was postponed until secrets
1699                         are available
1700
1701 2008-07-31  Dan Williams  <dcbw@redhat.com>
1702
1703         * system-settings/plugins/ifcfg-fedora/plugin.c
1704           system-settings/plugins/ifcfg-fedora/reader.c
1705                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1706                         valid NM connection
1707
1708 2008-07-29  Dan Williams  <dcbw@redhat.com>
1709
1710         * src/nm-gsm-device.c
1711                 - (automatic_registration_response, automatic_registration): recognize
1712                         denied registration and reorder responses
1713
1714 2008-07-29  Dan Williams  <dcbw@redhat.com>
1715
1716         * src/nm-serial-device.c
1717                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1718                         time(2) is used for current time, which returns seconds, we shouldn't
1719                         be multiplying by 1000.
1720
1721 2008-07-28  Dan Williams  <dcbw@redhat.com>
1722
1723         Patch from Fabrice Bellet <fabrice@bellet.info>
1724
1725         * src/NetworkManagerSystem.c
1726                 - (route_in_same_subnet): mask addresses and compare them so that the
1727                         function actually does what it says it's going to do (rh #456685)
1728
1729 2008-07-27  Dan Williams  <dcbw@redhat.com>
1730
1731         * libnm-util/nm-setting-ip6-config.c
1732                 - (set_property): add missing break that caused routes to be overwritten
1733                         with addresses
1734
1735         * libnm-util/nm-setting-ip6-config.c
1736                 - (verify): validate routes and return GError everywhere on invalid setting
1737                 - (finalize): don't leak routes
1738                 - (set_property): add missing break that caused routes to be overwritten
1739                         with addresses
1740
1741 2008-07-27  Dan Williams  <dcbw@redhat.com>
1742
1743         * libnm-util/*
1744                 - Relicense to LGPLv2+
1745
1746 2008-07-27  Dan Williams  <dcbw@redhat.com>
1747
1748         * system-settings/plugins/ifcfg-fedora/reader.c
1749                 - (make_ip4_setting): fix parsing automatic configs
1750
1751 2008-07-27  Dan Williams  <dcbw@redhat.com>
1752
1753         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1754           src/nm-device.c
1755           src/ppp-manager/nm-ppp-manager.c
1756                 - Ensure child process gets reaped.  The child watch function may be
1757                         removed from the mainloop before the child gets killed, so we have
1758                         to make sure the child is reaped when it's told to die intentionally
1759
1760 2008-07-27  Dan Williams  <dcbw@redhat.com>
1761
1762         Patch from Roy Marples <roy@marples.name>
1763
1764         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1765                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1766
1767 2008-07-27  Dan Williams  <dcbw@redhat.com>
1768
1769         * src/nm-gsm-device.c
1770                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1771                         Huawei devices turn echo back on after CPIN (rh #456770)
1772
1773 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1774
1775         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1776         format argument to g_set_error() call.
1777
1778         * src/backends/interface_parser.[ch]: Remove.
1779
1780         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1781
1782 2008-07-21  Dan Williams  <dcbw@redhat.com>
1783
1784         * src/ppp-manager/nm-ppp-manager.c
1785                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1786                         to prevent pppd from picking up some random local address from an
1787                         interface that doesn't have anything to do with the one we're
1788                         interested in (rh #455348)
1789
1790 2008-07-17  Dan Williams  <dcbw@redhat.com>
1791
1792         * libnm-util/nm-utils.c
1793                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1794                         by locale
1795                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1796                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1797
1798 2008-07-17  Dan Williams  <dcbw@redhat.com>
1799
1800         * introspection/Makefile.am
1801           introspection/nm-device.xml
1802           introspection/nm-dhcp4-config.xml
1803                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1804                         itself
1805         * src/nm-device-interface.c
1806           src/nm-device-interface.h
1807                 - Add the DHCP4Config property
1808
1809         * src/nm-device.c
1810                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1811                         D-Bus clients when it changes
1812
1813         * src/nm-dhcp4-config.c
1814           src/nm-dhcp4-config.h
1815                 - Simple object to store DHCP4 options, export them over D-Bus, and
1816                         notify when they change
1817
1818         * src/dhcp-manager/nm-dhcp-manager.c
1819           src/dhcp-manager/nm-dhcp-manager.h
1820                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1821                         filter server-returned DHCP options into an NMDHCP4Config object
1822
1823 2008-07-16  Dan Williams  <dcbw@redhat.com>
1824
1825         * introspection/nm-device.xml
1826                 - Add device state reasons
1827
1828 2008-07-16  Dan Williams  <dcbw@redhat.com>
1829
1830         Patch from Roy Marples <roy@marples.name>
1831
1832         * configure.in
1833                 - Add --with-dhcp-client option
1834
1835         * src/dhcp-manager/Makefile.am
1836                 - pass DHCP_CLIENT_PATH on compile line
1837
1838         * src/dhcp-manager/nm-dhcp-manager.c
1839           src/dhcp-manager/nm-dhcp-manager.h
1840                 - Genericize for both dhcpcd and dhclient
1841
1842         * src/dhcp-manager/nm-dhcp-dhclient.c
1843                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1844
1845         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1846                 - Implement support for dhcpcd too
1847
1848 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1849
1850         * system-settings/src/nm-system-config-interface.c 
1851         (nm_system_config_interface_supports_add): Implement.
1852         (nm_system_config_interface_add_connection): Return a boolean to notify
1853         of errors.
1854
1855         * system-settings/src/nm-polkit-helpers.c: 
1856         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1857         a separate file.
1858
1859         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1860         Return an error when none of the plugins support add or if addition
1861         failed for some reason.
1862
1863         * system-settings/src/nm-system-config-error.h: 
1864         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1865         here from nm-polkit-helpers.[ch].
1866
1867         * system-settings/src/Makefile.am: Build new files.
1868
1869         * system-settings/plugins/keyfile/reader.c 
1870         (read_array_of_array_of_uint): Make it more general so that it would
1871         work for routes as well.
1872
1873         * system-settings/plugins/keyfile/writer.c
1874         (write_array_of_array_of_uint): Ditto.
1875         Fix the netmask/prefix writing.
1876
1877         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1878         boolean to notify errors.
1879
1880         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1881         Return more specific error.
1882         (delete): Ditto.
1883
1884 2008-07-11  Dan Williams  <dcbw@redhat.com>
1885
1886         Modify the NMDevice::state-changed signal to include the previous state
1887         and reason. Enables the applet to provide more information why device
1888         activation failed.
1889
1890 2008-07-09  Dan Williams  <dcbw@redhat.com>
1891
1892         * callouts/Makefile.am
1893           callouts/nm-avahi-autoipd-action.c
1894           callouts/nm-avahi-autoipd.conf
1895                 - avahi-autoipd callout to send options back to NM
1896
1897         * src/autoip.c
1898           src/autoip.h
1899                 - remove
1900
1901         * src/nm-device.c
1902           src/nm-device-private.h
1903           src/nm-manager.c
1904                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1905                         old custom stuff
1906
1907 2008-07-07  Dan Williams  <dcbw@redhat.com>
1908
1909         * system-settings/plugins/ifcfg-fedora/reader.c
1910                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1911                         handle PREFIX too; clean up
1912
1913 2008-07-07  Dan Williams  <dcbw@redhat.com>
1914
1915         Convert to using IPv4 prefixes instead of netmasks.
1916
1917 2008-07-03  Dan Williams  <dcbw@redhat.com>
1918
1919         * libnm-util/nm-setting-ip4-config.c
1920           libnm-util/nm-setting-ip4-config.h
1921                 - Add properties for DHCP Client Identifier and DHCP Hostname
1922
1923         * src/dhcp-manager/nm-dhcp-manager.c
1924           src/dhcp-manager/nm-dhcp-manager.h
1925                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1926                         setting as an argument to pass on to the dhclient config file
1927                         creation function
1928                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1929                         DHCP is torn down
1930                 - (dhclient_run): punt config file handling to create_dhclient_config()
1931                 - (create_dhclient_config): create an interface-specific dhclient
1932                         config file since there may need to be interface-specific options
1933                         passed to dhclient
1934                 - (merge_dhclient_config): merge normal distro dhclient config file and
1935                         add options from the connection
1936                 - (nm_dhcp_device_new): generate the interface specific dhclient
1937                         config file path once
1938                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1939                         dhclient config file path
1940
1941         * src/nm-device.c
1942                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1943                         DHCP manager when starting DHCP
1944
1945 2008-07-02  Dan Williams  <dcbw@redhat.com>
1946
1947         * libnm-util/nm-setting-8021x.c
1948                 - (verify): allow forcing the PEAP label to 0
1949
1950 2008-07-02  Dan Williams  <dcbw@redhat.com>
1951
1952         * introspection/nm-active-connection.xml
1953           introspection/nm-vpn-connection.xml
1954           libnm-glib/nm-active-connection.c
1955           src/nm-activation-request.c
1956           src/nm-active-connection.h
1957           src/vpn-manager/nm-vpn-connection.c
1958                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1959                         and libnm-glib API since sharing didn't get implemented that way
1960
1961 2008-07-02  Dan Williams  <dcbw@redhat.com>
1962
1963         * src/nm-device-wifi.c
1964                 - (can_scan): don't scan when a shared connection is activated since
1965                         that makes drivers mad (causing disconnects); also NM doesn't need
1966                         to hedge against disconnects by keeping up-to-date network topology
1967                         because the connection originates from the local machine, and thus
1968                         there should be no disconnects
1969
1970 2008-07-01  Dan Williams  <dcbw@redhat.com>
1971
1972         Fix mobile broadband username/password issues.  NM was never requesting
1973         mobile broadband secrets, nor was it passing back the username and password
1974         if it had them.
1975
1976         * marshallers/nm-marshal.list
1977                 - Add some new types for activation request objects
1978
1979         * src/nm-activation-request.c
1980           src/nm-activation-request.h
1981                 - (get_secrets_cb): pass the caller type in the signal
1982                 - (nm_act_request_request_connection_secrets): take a caller type, so
1983                         that GetSecrets() reply handlers know who asked for the secrets in
1984                         the first place; use secret hints too so the settings service can
1985                         figure out exactly what NM wants (ie, PIN or the PPP password)
1986
1987         * src/ppp-manager/nm-ppp-manager.c
1988           src/ppp-manager/nm-ppp-manager.h
1989                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1990                         detect needed secrets when the secret could be blank, like GSM/CDMA
1991                         passwords.  So always ask for secrets, and send a hint as to what
1992                         secret we really want.
1993                 - (nm_ppp_manager_update_secrets): make function more generic by making
1994                         the device specific class figure out the username and password, and
1995                         accept an error argument to return back over D-Bus
1996
1997         * src/nm-device-wifi.c
1998                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1999                         nm_act_request_request_connection_secrets()
2000                 - (real_connection_secrets_updated): update for 'caller' changes
2001
2002         * src/nm-device.c
2003           src/nm-device.h
2004                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2005                         for 'caller' changes
2006
2007         * src/nm-device-ethernet.c
2008                 - (real_connection_secrets_updated): update for 'caller' changes and
2009                         move logic for getting PPPoE username and password here before
2010                         calling nm_ppp_manager_update_secrets()
2011                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2012                         nm_act_request_request_connection_secrets()
2013
2014         * src/nm-cdma-device.c
2015                 - (real_connection_secrets_updated): pass username and password back
2016                         to the PPP manager when required
2017
2018         * src/nm-gsm-device.c
2019                 - (enter_pin): send the required secret name to the settings service
2020                 - (real_connection_secrets_updated): pass username and password back
2021                         to the PPP manager when required
2022
2023 2008-06-30  Dan Williams  <dcbw@redhat.com>
2024
2025         * src/nm-device-wifi.c
2026                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2027
2028 2008-06-30  Dan Williams  <dcbw@redhat.com>
2029
2030         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2031         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2032         priv->supplicant.iface.  When either condition is false, the device should
2033         transition back to UNAVAILABLE because it cannot be used.
2034
2035         * src/nm-device-wifi.c
2036                 - (constructor): cleanup; connect to supplicant manager here since the
2037                         supplicant manager is always around
2038                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2039                         ensure the supplicant manager is in the IDLE state
2040                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2041                         cancel any pending scans too
2042                 - (real_bring_up): don't set up the supplicnat interface here, because
2043                         we need the supplicant interface at times when the device may not
2044                         be "up"
2045                 - (real_take_down): just remove the periodic source
2046                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2047                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2048                         do anything if there's no supplicant interface
2049                 - (cleanup_association_attempt): cleanup
2050                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2051                         the interface enters the READY state; transition to UNAVAILABLE
2052                         state when the interface goes down because the device can't be used
2053                         without a supplicant interface
2054                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2055                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2056                         acquire the supplicant interface and transition to DISCONNECTED
2057                         if the radio isn't killed
2058                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2059                 - (state_changed_cb): release any existing supplicant interface; if the
2060                         radio is enabled then try to acquire a new supplicant interface;
2061                         if the radio is enabled and a supplicant interface has been acquired,
2062                         we can transition to DISCONNECTED
2063                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2064                         don't enable the radio, because HAL probably lied to us about the
2065                         killswitch being off.  If bringing the hardware up worked, then
2066                         try to grab a supplicant interface, and if that was successful,
2067                         transition to DISCONNECTED
2068
2069 2008-06-30  Dan Williams  <dcbw@redhat.com>
2070
2071         * src/supplicant-manager/nm-supplicant-interface.c
2072                 - (request_scan_results, nm_supplicant_interface_dispose,
2073                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2074                         the id of the timeout, not a GSource
2075
2076 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2077
2078         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2079         bunch of typoes introduced by "Patch from David Cantrell 
2080         <dcantrell@redhat.com> and me".
2081
2082 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2083
2084         * src/nm-serial-device.c: 
2085         * src/nm-gsm-device.c: 
2086         * src/nm-cdma-device.c: Move the pending call handling to a common location
2087         in serial device. Handle setting device state to failed in one place as well.
2088
2089 2008-06-29  Dan Williams <dcbw@redhat.com>
2090
2091         * src/nm-hal-manager.c
2092                 - Rework killswitch handling to query killswitch status immediately
2093                         when the first killswitch is added, so that rfkill state is
2094                         known as early as possible
2095                 - Also treat failure of GetPower() as rfkill when the dbus method
2096                         call times out (but not when the HAL callout returns an error)
2097
2098 2008-06-26  Dan Williams <dcbw@redhat.com>
2099
2100         Patch from David Cantrell <dcantrell@redhat.com> and me
2101
2102         * include/nm-dbus-glib-types.h
2103                 - Add IP6 address types
2104
2105         * libnm-util/Makefile.am
2106           libnm-util/nm-setting-ip6-config.c
2107           libnm-util/nm-setting-ip6-config.h
2108                 - Add IP6 settings object
2109
2110         * libnm-util/nm-connection.c
2111                 - (register_default_settings): register ip6 settings object
2112
2113         * libnm-util/nm-utils.c
2114           libnm-util/nm-utils.h
2115                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2116                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2117                         ip6 address conversion functions
2118         
2119 2008-06-26  Dan Williams <dcbw@redhat.com>
2120
2121         Patch from David Cantrell <dcantrell@redhat.com>
2122         
2123         * Use inet_ntop() and inet_pton() everwhere and check for errors
2124
2125 2008-06-26  Dan Williams <dcbw@redhat.com>
2126
2127         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2128
2129 2008-06-26  Dan Williams <dcbw@redhat.com>
2130
2131         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2132
2133         * src/nm-device-wifi.c
2134                 - (link_timeout_cb): don't ignore disconnects due to scanning
2135                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2136                         a longer timeout when scanning; avoids case where supplicant can't
2137                         find the AP and just keeps scanning forever but isn't connected
2138
2139 2008-06-26  Dan Williams <dcbw@redhat.com>
2140
2141         Patch from Michael Biebl <biebl@debian.org>
2142
2143         * Clean up build system stuff
2144
2145 2008-06-23  Christian Persch  <chpe@gnome.org>
2146
2147         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2148         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2149         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2150         (impl_get_object):
2151         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2152         (impl_get_object):
2153         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2154         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2155         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2156         (impl_get_object):
2157         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2158         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2159         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2160         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2161         * vpn-daemons/pptp/properties/vpnui_opt.c:
2162         (vpnui_opt_connect_signals):
2163         * vpn-daemons/pptp/properties/vpnui_opt.h:
2164         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2165         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2166         deprecated gtk type macros. Bug #539325.
2167
2168 2008-06-20  Dan Williams  <dcbw@redhat.com>
2169
2170         * libnm-glib/nm-vpn-plugin-ui-interface.c
2171           libnm-glib/nm-vpn-plugin-ui-interface.h
2172                 - 'validity-changed' -> 'changed' to work better with the connection
2173                         editor.  Plugin UI widgets should emit 'changed' whenever their
2174                         UI values change in a meaningful way.
2175                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2176                         update_connection member now returns validity of the UI widget
2177
2178 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2179
2180         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2181
2182 2008-06-17  Dan Williams  <dcbw@redhat.com>
2183
2184         * libnm-glib/nm-vpn-plugin-ui-interface.c
2185           libnm-glib/nm-vpn-plugin-ui-interface.h
2186                 - Add "desc" property for longer descriptions of the VPN plugin
2187
2188 2008-06-16  Dan Williams  <dcbw@redhat.com>
2189
2190         * configure.in
2191           libnm-glib/libnm_glib_vpn.pc.in
2192                 - add a .pc file for libnm_glib_vpn
2193
2194         * libnm-glib/nm-vpn-plugin-ui-interface.c
2195           libnm-glib/nm-vpn-plugin-ui-interface.h
2196                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2197                         rework it substantially
2198
2199 2008-06-12  Dan Williams  <dcbw@redhat.com>
2200
2201         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2202         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2203         returns a descriptive GError when verification fails.
2204
2205 2008-06-11  Dan Williams  <dcbw@redhat.com>
2206
2207         Patch from Tambet Ingo <tambet@gmail.com>
2208
2209         * libnm-util/nm-setting-gsm.c
2210                 - (verify): validate APN
2211
2212         * src/nm-gsm-device.c
2213                 - (manual_registration_done): start setting APN if needed
2214                 - (set_apn, set_apn_done): set the APN
2215                 - (do_dial): use the APN when dialing
2216
2217 2008-06-11  Dan Williams  <dcbw@redhat.com>
2218
2219         * src/NetworkManagerSystem.c
2220                 - (nm_system_device_set_ip4_route,
2221                    nm_system_device_replace_default_ip4_route): check for the right
2222                         return value from rtnl_route_add() to know when to add a gateway
2223                         route (from Tambet)
2224
2225 2008-06-11  Dan Williams  <dcbw@redhat.com>
2226
2227         * src/NetworkManagerPolicy.c
2228                 - do_ipt_cmd -> do_cmd
2229                 - (sharing_init): use do_cmd() instead of system()
2230
2231 2008-06-10  Dan Williams  <dcbw@redhat.com>
2232
2233         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2234         and use "wifi" everwhere instead.
2235
2236 2008-06-10  Dan Williams  <dcbw@redhat.com>
2237
2238         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2239
2240 2008-06-10  Dan Williams  <dcbw@redhat.com>
2241
2242         Patch from Tambet Ingo <tambet@gmail.com>
2243
2244         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2245                 changes.
2246
2247         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2248                 a signal to emit these changes over dbus.
2249
2250         * src/Makefile.am: Genereate nm-serial-device-glue.
2251
2252         * libnm-glib/nm-serial-device.[ch]: Implement.
2253
2254         * libnm-glib/nm-cdma-device.[ch]
2255           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2256
2257         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2258
2259         * introspection/nm-device-serial.xml: Implement.
2260
2261         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2262
2263         * introspection/Makefile.am: Add nm-device-serial.xml.
2264
2265         * include/NetworkManager.h: Add a DBus interface for serial device.
2266
2267 2008-06-10  Dan Williams  <dcbw@redhat.com>
2268
2269         * configure.in
2270                 - Add TARGET_* define to config.h to distinguish distros
2271
2272         * src/dhcp-manager/nm-dhcp-manager.c
2273                 - (dhclient_run): use distro-specific path for dhclient config file
2274
2275 2008-06-09  Dan Williams  <dcbw@redhat.com>
2276
2277         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2278           src/dnsmasq-manager/nm-dnsmasq-manager.h
2279                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2280                         calculate the addresses passed to dnsmasq instead of hard-coding
2281                         them
2282
2283         * src/nm-device.c
2284                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2285                         IP addresses for shared connections to guard against shared
2286                         connection address collisions
2287                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2288                         error conditions
2289                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2290                         the dnsmasq manager
2291
2292 2008-06-09  Dan Williams  <dcbw@redhat.com>
2293
2294         * src/NetworkManagerPolicy.c
2295                 - (update_routing_and_dns): set the default connection _after_ unsetting
2296                         default on all non-default connections so that two connections can
2297                         never be default at the same time
2298                 - (device_state_changed): start and stop connection sharing when
2299                         needed
2300                 - (active_connection_default_changed): restart or stop sharing when
2301                         the default connection changes to keep shared connections always
2302                         NAT-ed through the default connection
2303                 - (check_sharing): handle activation/deactivation of shared connections
2304                 - (sharing_restart): atom-bomb approach to connection sharing until we
2305                         can use libnl; reinit all sharing when the default connection or
2306                         shared connections change
2307                 - (sharing_init, sharing_stop): evil functions that init and deinit
2308                         iptables
2309
2310 2008-06-09  Dan Williams  <dcbw@redhat.com>
2311
2312         * src/nm-activation-request.c
2313           src/nm-activation-request.h
2314                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2315                    nm_act_request_get_device): new functions to facilitate connection
2316                         sharing
2317
2318 2008-06-09  Dan Williams  <dcbw@redhat.com>
2319
2320         * src/nm-device.c
2321                 - (clear_act_request): unset the 'default' property of the activation
2322                         request when clearing it to ensure the property changed signal gets
2323                         delivered and handled
2324
2325 2008-06-09  Dan Williams  <dcbw@redhat.com>
2326
2327         * libnm-glib/nm-device-802-11-wireless.c
2328                 - (access_point_removed_proxy): actually unref the AP after removing
2329                         it from the device's AP list.  Fixes refcounting bug for APs that
2330                         caused them to get mixed up in the applet's menu.
2331
2332 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2333
2334         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2335         (nm_dhcp_device_destroy): Destroy the device options hash table.
2336
2337 2008-06-06  Dan Williams <dcbw@redhat.com>
2338
2339         * system-settings/src/nm-polkit-helpers.c
2340                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2341                         unref the context if the initialization fails; also avoid spew when
2342                         the error isn't set
2343
2344 2008-06-06  Dan Williams <dcbw@redhat.com>
2345
2346         Patch from Tambet Ingo  <tambet@gmail.com>
2347
2348         * src/NetworkManagerSystem.c
2349           src/NetworkManagerSystem.h
2350                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2351                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2352                 - (nm_system_device_set_ip4_route): clean up
2353                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2354
2355         * src/nm-device.c
2356                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2357
2358         * src/vpn-manager/nm-vpn-connection.c
2359                 - (ip_address_to_string): new function
2360                 - (print_vpn_config): use ip_address_to_string
2361                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2362                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2363
2364         * include/NetworkManagerVPN.h
2365                 - Add 'routes' key
2366
2367 2008-06-05  Dan Williams <dcbw@redhat.com>
2368
2369         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2370
2371         * test/nm-tool.c
2372                 - Show which device is the default device
2373
2374 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2375
2376         Fix memory leaks.
2377
2378         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2379         Free data returned from dbus method call.
2380
2381         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2382         dbus_g_method_get_sender() returns a duplicated string, free it 
2383         when done.
2384         (check_polkit_privileges): Looks like policykit sometimes returns
2385         error and non-null return value, don't leak errors in that case.
2386
2387         * system-settings/src/main.c (find_plugin): Don't leak existing 
2388         plugin names.
2389         (load_stuff): Don't leak device list and list items.
2390         (have_connection_for_device): Don't leak connection list.
2391
2392         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2393         Free the data received from g_keyfile_get_*.
2394
2395         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2396         the key when the security object is updated.
2397
2398         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2399         Free data returned from dbus method call.
2400         (iface_state_cb): Ditto.
2401         (add_network_cb): Ditto.
2402         (nm_supplicant_interface_add_cb): Don't make another copy of already
2403         duplicated object path.
2404         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2405         when done.
2406
2407         * src/supplicant-manager/nm-supplicant-config.c 
2408         (ADD_STRING_LIST_VAL): Fix a memory leak.
2409
2410         * src/nm-manager.c (free_get_settings_info): Free the allocated
2411         memory slice.
2412         (list_connections_cb): Free data returned from dbus method call.
2413         (system_settings_get_unmanaged_devices_cb): Ditto.
2414
2415         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2416
2417         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2418         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2419         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2420         of the GList.
2421
2422         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2423         arguments after the object is created.
2424
2425 2008-06-04  Dan Williams <dcbw@redhat.com>
2426
2427         * libnm-util/Makefile.am
2428                 - Don't distribute nm-param-spec-specialized.h
2429
2430 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2431
2432         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2433
2434         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2435         NMIP4Address, update the getters and setters.
2436
2437         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2438         Use the updated NMIP4Config routes api.
2439
2440         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2441         static routes as well.
2442
2443         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2444         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2445         routes api.
2446
2447 2008-05-30  Dan Williams <dcbw@redhat.com>
2448
2449         * src/named-manager/nm-named-manager.c
2450           src/named-manager/nm-named-manager.h
2451                 - Remove stale/obsolete bits for controlling bind over DBus
2452
2453 2008-05-29  Dan Williams <dcbw@redhat.com>
2454
2455         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2456           src/dnsmasq-manager/nm-dnsmasq-manager.h
2457                 - (nm_dnsmasq_manager_new): move iface argument here
2458                 - (constructor): remove, not needed
2459                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2460                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2461
2462         * src/nm-device.c
2463                 - (real_act_stage4_get_ip4_config,
2464                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2465                         changes
2466
2467 2008-05-29  Dan Williams <dcbw@redhat.com>
2468
2469         * src/nm-device.c
2470                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2471                         something happens to dnsmasq
2472                 - (nm_device_new_ip4_shared_config): new function; create a new
2473                         ip4-config for shared connections.  Shared connections always use a
2474                         fixed static IP address.
2475                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2476                         autoip connections by actually using the returned ip4-config and
2477                         not leaking it
2478                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2479                         connections
2480                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2481                         if its active
2482
2483 2008-05-29  Dan Williams <dcbw@redhat.com>
2484
2485         * src/nm-device-802-11-wireless.c
2486                 - (real_get_best_auto_connection): auto-activate 'shared' method
2487                         connections too
2488
2489 2008-05-29  Dan Williams <dcbw@redhat.com>
2490
2491         * libnm-util/nm-setting-ip4-config.c
2492           libnm-util/nm-setting-ip4-config.h
2493                 - Add a 'shared' method to indicate that this connection should be
2494                         brought up with a DHCP and proxy DNS server to facilitate
2495                         connection sharing.
2496                 - (verify): 'shared' method doesn't allow DNS or searches either
2497
2498 2008-05-29  Dan Williams <dcbw@redhat.com>
2499
2500         * configure.in
2501           src/Makefile.am
2502           src/dnsmasq-manager/Makefile.am
2503           src/dnsmasq-manager/nm-dnsmasq-manager.c
2504           src/dnsmasq-manager/nm-dnsmasq-manager.h
2505                 - Add a dnsmasq daemon manager to facilitate connection sharing
2506
2507 2008-05-29  Dan Williams <dcbw@redhat.com>
2508
2509         * src/nm-device-private.h
2510                 - Remove unused prototypes and clean up
2511
2512         * src/nm-device.c
2513                 - Remove anything related to system_config_data, which is no longer used
2514                 - (nm_device_new_ip4_autoip_config): make static
2515
2516 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2517
2518         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2519         (file_changed): Fix a bug where suse system settings plugin didn't
2520         update the connections automatically when the files changed.
2521
2522 2008-05-28  Dan Williams  <dcbw@redhat.com>
2523
2524         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2525
2526 2008-05-28  Dan Williams  <dcbw@redhat.com>
2527
2528         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2529
2530         * src/NetworkManagerSystem.c
2531                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2532                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2533                         was causing -EINVAL errors since the libnl code actually does flush
2534                         the routes on VPN interfaces now
2535
2536         * src/backends/NetworkManagerArch.c
2537           src/backends/NetworkManagerDebian.c
2538           src/backends/NetworkManagerFrugalware.c
2539           src/backends/NetworkManagerGeneric.c
2540           src/backends/NetworkManagerGentoo.c
2541           src/backends/NetworkManagerMandriva.c
2542           src/backends/NetworkManagerPaldo.c
2543           src/backends/NetworkManagerRedHat.c
2544           src/backends/NetworkManagerSlackware.c
2545           src/backends/NetworkManagerSuSE.c
2546                 - (nm_system_device_flush_ip4_routes,
2547                    nm_system_device_flush_ip4_routes_with_iface): remove
2548
2549 2008-05-28  Dan Williams  <dcbw@redhat.com>
2550
2551         * libnm-util/nm-setting-wireless.c
2552           libnm-util/nm-setting-wireless.h
2553                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2554                         'adhoc-create' property, which when TRUE indicates that NM should
2555                         create this connection as an adhoc wifi network if it's not found
2556                         as an adhoc network during scanning.  Can be used to auto-create
2557                         adhoc networks when used in combination with autoconnect.
2558
2559 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2560
2561         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2562
2563         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2564         checked, it doesn't work on some devices.
2565
2566 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2567
2568         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2569         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2570
2571         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2572         Use inet_aton() everywhere to improve error detection.
2573         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2574         provided.
2575
2576 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2577
2578         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2579         Fix a typo.
2580
2581 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2582
2583         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2584         reference counting issue.
2585
2586 2008-05-23  Dan Williams  <dcbw@redhat.com>
2587
2588         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2589
2590         * src/backends/NetworkManagerGeneric.c
2591                 - (nm_generic_enable_loopback): use libnl
2592
2593 2008-05-23  Dan Williams  <dcbw@redhat.com>
2594
2595         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2596
2597         * src/NetworkManagerSystem.h
2598           src/backends/NetworkManagerArch.c
2599           src/backends/NetworkManagerDebian.c
2600           src/backends/NetworkManagerFrugalware.c
2601           src/backends/NetworkManagerGentoo.c
2602           src/backends/NetworkManagerMandriva.c
2603           src/backends/NetworkManagerPaldo.c
2604           src/backends/NetworkManagerRedHat.c
2605           src/backends/NetworkManagerSlackware.c
2606           src/backends/NetworkManagerSuSE.c
2607                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2608                    nm_system_flush_arp_cache): remove, unused
2609
2610         * src/backends/NetworkManagerGeneric.c
2611           src/backends/NetworkManagerGeneric.h
2612                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2613                    nm_generic_flush_arp_cache): remove, unused
2614
2615 2008-05-23  Dan Williams  <dcbw@redhat.com>
2616
2617         * system-settings/plugins/ifcfg-fedora/reader.c
2618                 - (make_ip4_setting): honor PEERDNS setting
2619
2620 2008-05-23  Dan Williams  <dcbw@redhat.com>
2621
2622         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2623
2624         * src/NetworkManagerSystem.c
2625                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2626                         libnl
2627
2628         * src/backends/NetworkManagerArch.c
2629           src/backends/NetworkManagerDebian.c
2630           src/backends/NetworkManagerFrugalware.c
2631           src/backends/NetworkManagerGentoo.c
2632           src/backends/NetworkManagerMandriva.c
2633           src/backends/NetworkManagerPaldo.c
2634           src/backends/NetworkManagerRedHat.c
2635           src/backends/NetworkManagerSlackware.c
2636           src/backends/NetworkManagerSuSE.c
2637                 - (nm_system_device_flush_ip4_addresses,
2638                    nm_system_device_flush_ip4_addresses_with_iface): remove
2639
2640         * src/backends/NetworkManagerGeneric.c
2641                 - (nm_generic_device_flush_ip4_addresses,
2642                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2643
2644 2008-05-23  Dan Williams  <dcbw@redhat.com>
2645
2646         * src/supplicant-manager/nm-supplicant-settings-verify.c
2647                 - Switch 'bssid' from bytes to keyword type
2648                 - (validate_type_keyword): allow NULL keyword lists
2649
2650         * src/supplicant-manager/nm-supplicant-config.c
2651                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2652                         a byte array to string form, which is what the supplicant expects
2653
2654 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2655
2656         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2657         information received from DHCP.
2658
2659         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2660         to make it possible to ignore the DNS information (both servers and 
2661         searches) returned by DHCP server.
2662
2663         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2664         name servers and searches if "ignore_dhcp_dns" is set.
2665
2666         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2667         (nm_ip4_config_reset_searches): Implement.
2668
2669 2008-05-22  Dan Williams  <dcbw@redhat.com>
2670
2671         Remove anything mDNS related.  This is better done from a distro-specific
2672         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2673         avahi, since avahi can handle interface changes just fine using netlink.
2674
2675         * configure.in
2676                 - Remove --with-mdns-provider
2677
2678         * src/NetworkManagerPolicy.c
2679                 - (global_state_changed): don't restart the mdns provider
2680
2681         * src/NetworkManagerSystem.h
2682           src/backends/NetworkManagerArch.c
2683           src/backends/NetworkManagerDebian.c
2684           src/backends/NetworkManagerFrugalware.c
2685           src/backends/NetworkManagerGentoo.c
2686           src/backends/NetworkManagerMandriva.c
2687           src/backends/NetworkManagerPaldo.c
2688           src/backends/NetworkManagerRedHat.c
2689           src/backends/NetworkManagerSlackware.c
2690           src/backends/NetworkManagerSuSE.c
2691                 - (nm_system_restart_mdns_responder): remove
2692
2693         * src/backends/NetworkManagerGeneric.c
2694           src/backends/NetworkManagerGeneric.h
2695                 - (nm_generic_restart_mdns_responder): remove
2696
2697 2008-05-22  Dan Williams  <dcbw@redhat.com>
2698
2699         * configure.in
2700                 - clean up crypto options; just use --with-crypto=nss or
2701                         --with-crypto=gnutls
2702
2703 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2704
2705         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2706         anymore, do it right away.
2707
2708 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2709
2710         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2711         serial device open when we're not connecting or connected.
2712
2713         * src/nm-cdma-device.c (device_state_changed): Ditto.
2714
2715 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2716
2717         Don't remove all devices on waking up, sync with HAL.
2718
2719         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2720         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2721         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2722
2723 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2724
2725         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2726         If the default gateway is unreachable, add a route to gateway and try
2727         again.
2728
2729 2008-05-20  Dan Williams  <dcbw@redhat.com>
2730
2731         * system-settings/plugins/ifcfg-fedora/reader.c
2732                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2733
2734 2008-05-19  Dan Williams  <dcbw@redhat.com>
2735
2736         * system-settings/plugins/ifcfg-fedora/reader.c
2737                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2738                         if the ifcfg doesn't specify one (rh #446527)
2739
2740 2008-05-19  Dan Williams  <dcbw@redhat.com>
2741
2742         Make the system settings service exit when the bus goes away.  Since it's
2743         a bus-activated service, it's lifetime is limited to the bus that activated
2744         it (rh #444976).
2745
2746         * system-settings/src/Makefile.am
2747           system-settings/src/nm-system-config-hal-manager-private.h
2748                 - Remove nm-system-config-hal-manager-private.h
2749
2750         * system-settings/src/nm-system-config-hal-manager.c
2751                 - (nm_system_config_hal_manager_reinit_dbus,
2752                    nm_system_config_hal_manager_deinit_dbus): remove
2753
2754         * system-settings/src/main.c
2755                 - (dbus_reconnect): remove
2756                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2757                 - (destroy_cb): just quit when the bus goes away
2758                 - (start_dbus_service, dbus_init): simplify
2759                 - (main): destroy the wired devices hash table after destroying
2760                         the HAL manager so we don't have to disconnect signals from the
2761                         HAL manager
2762
2763 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2764
2765         Move crypto functions from nm-applet to libnm-util.
2766
2767         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2768         (nm_setting_802_1x_set_client_cert)
2769         (nm_setting_802_1x_set_phase2_ca_cert)
2770         (nm_setting_802_1x_set_phase2_client_cert)
2771         (nm_setting_802_1x_set_private_key)
2772         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2773         file (or private key and it's password), read the certificate data.
2774
2775         * libnm-util/crypto_nss.c: 
2776         * libnm-util/crypto_gnutls.c: 
2777         * libnm-util/crypto.[ch]: Move here from nm-applet.
2778
2779         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2780
2781         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2782         Imlement WPA-EAP configuration reading from sysconfig.
2783
2784 2008-05-16  Dan Williams  <dcbw@redhat.com>
2785
2786         * src/nm-device-802-11-wireless.c
2787                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2788                         wireless
2789
2790 2008-05-14  Dan Williams  <dcbw@redhat.com>
2791
2792         Fix Linus' bug in rh #134886
2793
2794         * src/nm-device-802-3-ethernet.c
2795                 - (constructor): request initial carrier state
2796
2797         * src/nm-netlink-monitor.c
2798                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2799                         signals after refilling the link cache.  Because the refill is a 
2800                         synchronous operation, the normal message hander won't get called
2801                         since libnl has already consumed the messages.
2802                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2803
2804 2008-05-14  Dan Williams  <dcbw@redhat.com>
2805
2806         * src/NetworkManagerSystem.c
2807                 - (nm_system_device_is_up_with_iface): clean up
2808
2809 2008-05-13  Dan Williams  <dcbw@redhat.com>
2810
2811         Fix refcounting issues over sleep/wake when a VPN connection was active that
2812         caused NM to try registering an object path for a device upon wake that was
2813         the same as an already registered object path.
2814
2815         * src/nm-device.c
2816                 - (nm_device_take_down): properly handle cases where the device is
2817                         no longer active but was just active, and therefore must be
2818                         deactivated.  When a device moves to unmanaged mode, this function
2819                         previously would not deactivate the device, because the state was
2820                         already unmanaged by the time this function was called.
2821
2822         * src/vpn-manager/nm-vpn-connection.c
2823                 - (device_state_changed): properly handle multiple devices states in
2824                         which the device is now deactivated.  Code previously didn't handle
2825                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2826                         UNMANAGED states.
2827
2828 2008-05-13  Dan Williams  <dcbw@redhat.com>
2829
2830         * src/nm-device-private.h
2831           src/nm-device.c
2832                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2833
2834         * src/nm-device-802-11-wireless.c
2835                 - (nm_device_802_11_wireless_set_enabled): take devices up
2836                         and down as appropriate for the rfkill state
2837
2838 2008-05-13  Dan Williams  <dcbw@redhat.com>
2839
2840         * marshallers/nm-marshal.list
2841                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2842
2843         * system-settings/plugins/ifcfg-fedora/Makefile.am
2844           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2845           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2846                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2847                         events.  Solely for use watching ifcfg files to pick up changes
2848                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2849
2850         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2851                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2852                         file contents change
2853                 - (finalize): clean up inotify watches
2854                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2855                         and the connection ifcfg for changes on their hardlinks
2856                 - (files_changed_cb): proxy the changed signal back out to listeners
2857
2858         * system-settings/plugins/ifcfg-fedora/plugin.c
2859                 - (dir_changed): 
2860                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2861                         changes
2862                 - (read_one_connection): connect to change signals on the new connection
2863                 - (dir_changed, connection_changed_handler,
2864                    handle_connection_remove_or_new): break out connection change
2865                         handling and connection new/remove handling so it can be used from
2866                         both the GFileMonitor callback and the NMIfcfgConnection changed
2867                         signals
2868
2869         * system-settings/plugins/ifcfg-fedora/reader.c
2870           system-settings/plugins/ifcfg-fedora/reader.h
2871                 - (connection_from_file): return the keyfile path the connection would use
2872
2873 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2874
2875         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2876         single PolKitContext which is shared by all. PolKitContext::unref leaks
2877         just about everything, including all open file descriptiors and results
2878         in 99% cpu usage when data arrives to any of the fds that don't belong
2879         to any context anymore.
2880
2881 2008-05-12  Dan Williams  <dcbw@redhat.com>
2882
2883         * gfilemonitor/glocaldirectorymonitor.c
2884           gfilemonitor/glocaldirectorymonitor.h
2885                 - (g_local_directory_monitor_constructor): actually subscribe to the
2886                         watch
2887                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2888
2889         * gfilemonitor/glocalfilemonitor.c
2890           gfilemonitor/glocalfilemonitor.h
2891                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2892                 - (_g_local_file_monitor_new): ensure that inotify is started up
2893
2894 2008-05-11  Dan Williams  <dcbw@redhat.com>
2895
2896         * configure.in
2897                 - record PolicyKit version
2898
2899         * system-settings/src/nm-polkit-helpers.c
2900                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2901                         with PolicyKit <= 0.6
2902
2903 2008-05-11  Dan Williams  <dcbw@redhat.com>
2904
2905         Update Fedora system-settings plugin to support latest API and use
2906         GFileMonitor rather than home-rolled inotify code.
2907
2908         * system-settings/plugins/ifcfg-fedora/Makefile.am
2909           system-settings/plugins/ifcfg-fedora/common.h
2910           system-settings/plugins/ifcfg-fedora/plugin.c
2911                 - Update to latest system settings plugin API; use GIO instead of
2912                         custom inotify code; use NMIfcfgConnection objects instead of
2913                         ConnectionData structures tacked onto NMConnection objects
2914
2915         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2916           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2917                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2918                         connections
2919
2920         * system-settings/plugins/ifcfg-fedora/reader.c
2921           system-settings/plugins/ifcfg-fedora/reader.h
2922                 - Move ifcfg parsing bits here from parser.c
2923
2924         * system-settings/plugins/ifcfg-fedora/parser.c
2925           system-settings/plugins/ifcfg-fedora/parser.h
2926                 - Remove; most code moved to reader.c
2927
2928 2008-05-11  Dan Williams  <dcbw@redhat.com>
2929
2930         * configure.in
2931           Makefile.am
2932           gfilemonitor/*
2933                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2934                         implementation, so that the same change monitoring code can be used
2935                         on systems without glib-2.14 (like Fedora 8)
2936
2937         * system-settings/plugins/keyfile/Makefile.am
2938           system-settings/plugins/keyfile/plugin.c
2939           system-settings/plugins/ifcfg-suse/Makefile.am
2940           system-settings/plugins/ifcfg-suse/plugin.c
2941                 - Use private gfilemonitor code if GIO is not present
2942
2943 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2944
2945         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2946         NMExportedConnection's 'update' and 'delete' and return error with
2947         descriptive message.
2948
2949 2008-05-08  Dan Williams  <dcbw@redhat.com>
2950
2951         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2952
2953         * src/nm-gsm-device.c
2954           src/nm-cdma-device.c
2955                 - (real_get_best_auto_connection): implement; allow autoconnection
2956                         to GSM & CDMA devices
2957
2958 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2959
2960         Use PolicyKit to authorize the system settings' AddConnection method
2961         and the system settings connections' Update and Delete methods.
2962         
2963         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2964         (impl_exported_connection_delete, nm_exported_connection_update)
2965         (nm_exported_connection_delete): Return boolean and fill GError
2966         to notify the callers of the reasons why it might have failed.
2967
2968         * libnm-glib/nm-dbus-settings-system.c
2969         (nm_dbus_settings_system_add_connection): Return the error from dbus
2970         call so that the callers can see why it failed.
2971
2972         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2973         signatures.
2974
2975         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2976
2977         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2978         abstract base class that checks PolicyKit permissions.
2979
2980         * system-settings/src/dbus-settings.c:
2981         (impl_settings_add_connection): Check the policy before carring out
2982         the request.
2983
2984         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2985         Inherit from NMSysconfigConnection, check the policies before
2986         allowing updating or removing.
2987
2988         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2989         Inherit from NMSysconfigConnection.
2990
2991         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2992         "Delete" methods with async flag so that the implementations can get
2993         access to DBusGMethodInvocation.
2994
2995         * system-settings/src/dbus-settings.c 
2996         (settings_add_connection_check_privileges): Implement.
2997         (impl_settings_add_connection): Check the privileges before adding a new
2998         connection. Improve error reporting.
2999
3000         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3001         async so that the implementation can access DBusGMethodInvocation.
3002
3003         * configure.in: Check for PolicyKit.
3004
3005         * policy/org.freedesktop.network-manager-settings.system.policy: 
3006         New file.
3007
3008         * policy/Makefile.am: Install the policy file.
3009
3010         * configure.in: Add 'policy' subdir.
3011
3012 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3013
3014         Rewrite the suse system settings plugin.
3015
3016         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3017
3018         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3019
3020         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3021
3022         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3023
3024         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3025
3026         * system-settings/src/main.c (load_plugins): Improve error reporting.
3027
3028         * system-settings/src/sha1.[ch] Add.
3029
3030         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3031
3032 2008-05-07  Dan Williams  <dcbw@redhat.com>
3033
3034         * system-settings/plugins/keyfile/reader.c
3035                 - (read_one_setting_value): handle IP address items separately
3036                 - (read_array_of_uint): read IPv4 DNS option as a string array
3037                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3038                         array
3039
3040         * system-settings/plugins/keyfile/writer.c
3041                 - (write_setting_value): handle IP address items separately
3042                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3043                         not an array of uint, so that it's user-editable
3044                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3045                         arrays, so they are user-editable
3046
3047 2008-05-07  Dan Williams  <dcbw@redhat.com>
3048
3049         * system-settings/plugins/keyfile/Makefile.am
3050                 - Change location of the keyfile plugin settings to
3051                         /etc/NetworkManager/system-connections
3052
3053 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3054
3055         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3056
3057         * system-settings/plugins/keyfile/plugin.c: Work with
3058         NMKeyfileConnections.
3059
3060         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3061         Plugins are supposed to return NMExportedConnections now and handle the
3062         updated(), removed(), and GetSecrets().
3063         Store the internal list of connections in hash table to make it easier
3064         to find duplicates.
3065
3066 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3067
3068         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3069         for multiple IP addresses.
3070
3071 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3072
3073         Patch from André Lemos.
3074
3075         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3076         corruption.
3077
3078 2008-05-06  Dan Williams  <dcbw@redhat.com>
3079
3080         * src/dhcp-manager/nm-dhcp-manager.c
3081                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3082                         NMIP4Config to support multiple IP addresses
3083
3084         * src/NetworkManagerUtils.c
3085                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3086
3087         * src/nm-ip4-config.c
3088           src/nm-ip4-config.h
3089                 - Store a list of IPv4 address/netmask/gateway tuples
3090                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3091                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3092                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3093                    nm_ip4_config_set_address): remove
3094                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3095                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3096                         new functions; handle multiple IPv4 addresses
3097
3098         * src/nm-device.c
3099           src/ppp-manager/nm-ppp-manager.c
3100           src/vpn-manager/nm-vpn-connection.c
3101           src/NetworkManagerPolicy.c
3102           test/nm-tool.c
3103           libnm-glib/libnm-glib-test.c
3104                 - update for changes to NMIP4Config for multiple IPv4 addresses
3105
3106         * src/NetworkManagerSystem.c
3107                 - (nm_system_device_set_ip4_route): don't add the route if any address
3108                         is on the same subnet as the destination
3109                 - (check_one_address): ignore the exact match, just match family and
3110                         interface index
3111                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3112                         an interface
3113                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3114                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3115
3116         * introspection/nm-ip4-config.xml
3117                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3118                 - Add 'addresses' property which is an array of (uuu) tuples of
3119                         address/netmask/gateway
3120
3121         * libnm-util/nm-setting-ip4-config.c
3122                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3123
3124         * libnm-glib/nm-ip4-config.c
3125           libnm-glib/nm-ip4-config.h
3126                 - Handle D-Bus interface changes to support multiple IP addresses
3127
3128 2008-05-06  Dan Williams  <dcbw@redhat.com>
3129
3130         * libnm-util/nm-utils.c
3131           libnm-util/nm-utils.h
3132                 - (nm_utils_ip4_addresses_from_gvalue,
3133                    nm_utils_ip4_addresses_to_gvalue): new functions
3134
3135 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3136
3137         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3138         the returned connection paths.
3139
3140 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3141
3142         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3143         "PropertiesChanged" signal signature.
3144
3145         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3146         defined in nm-dbus-glib-types.h.
3147         Don't register the connection on dbus, we're a proxy class to 
3148         communicate with an already registered connection over dbus.
3149
3150 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3151
3152         Implement new subclasses of NMSettings and NMExportedConnection to make
3153         it easier for the applet to access and modify system settings.
3154
3155         * libnm-glib/nm-dbus-connection.[ch]:
3156         * libnm-glib/nm-dbus-settings.[ch]:
3157         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3158
3159         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3160         bindings and glue.
3161
3162         * include/NetworkManager.h: Define the system settings DBus interface.
3163
3164 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3165
3166         Implement additional C API for exported connections to make them identical
3167         with the DBus API. Change the (list_connections) virtual function to be
3168         more usable from C - instead of requiring implementers to return a GPtrArray
3169         of dbus paths, return a list of connections.
3170
3171         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3172         (nm_settings_list_connections):
3173         (nm_exported_connection_new):
3174         (nm_exported_connection_update):
3175         (nm_exported_connection_delete): Implement.
3176
3177         (impl_settings_list_connections):
3178         (impl_exported_connection_update):
3179         (impl_exported_connection_delete): Use the new public functions to make 
3180         sure the C and dbus interfaces stay in sync.
3181
3182         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3183         connections.
3184
3185 2008-05-02  Dan Williams  <dcbw@redhat.com>
3186
3187         * system-settings/plugins/ifcfg-fedora/plugin.c
3188                 - (dispose): use right unref call on the DBusGConnection
3189
3190 2008-05-02  Dan Williams  <dcbw@redhat.com>
3191
3192         * src/nm-serial-device.c
3193                 - (find_terminator): don't compare the whole line, just the size of the
3194                         terminator, since some modems put stuff after the terminator, like
3195                         "CONNECT 9600"
3196
3197 2008-05-01  Dan Williams  <dcbw@redhat.com>
3198
3199         Patch from Michael Biebl <biebl@debian.org>
3200
3201         * callouts/Makefile.am
3202           callouts/org.freedesktop.nm_dispatcher.service.in
3203           system-settings/src/Makefile.am
3204           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3205                 - use the right install location for dbus-activated stuff
3206
3207 2008-04-30  Dan Williams  <dcbw@redhat.com>
3208
3209         * src/nm-gsm-device.c
3210                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3211                         PIN or PUK
3212
3213 2008-04-30  Dan Williams  <dcbw@redhat.com>
3214
3215         * src/nm-manager.c
3216                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3217
3218 2008-04-30  Dan Williams  <dcbw@redhat.com>
3219
3220         * src/nm-device-802-3-ethernet.c
3221           src/nm-device-802-11-wireless.c
3222                 - (real_is_up): return true instead of chaining up to unimplemented
3223                         parent method
3224
3225 2008-04-30  Dan Williams  <dcbw@redhat.com>
3226
3227         * src/NetworkManagerSystem.c
3228           src/NetworkManagerSystem.h
3229                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3230                         functions to check device flags for IFF_UP
3231
3232         * src/nm-serial-device.c
3233                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3234                         implement is_up
3235
3236         * src/nm-device-802-3-ethernet.c
3237           src/nm-device-802-11-wireless.c
3238                 - (real_hw_is_up): call nm_system_device_is_up()
3239
3240         * src/nm-device.c
3241                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3242                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3243                         does not implement
3244
3245 2008-04-29  Dan Williams  <dcbw@redhat.com>
3246
3247         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3248
3249         * marshallers/nm-marshal.list
3250                 - Add marshaller
3251
3252         * src/NetworkManager.c
3253                 - (main): let the NMManager handle the NMHalManager
3254
3255         * src/nm-hal-manager.c
3256           src/nm-hal-manager.h
3257                 - convert to a GObject, and emit singals when stuff changes.  Let the
3258                         NMManager handle the signals, instead of the NMHalManager calling
3259                         into the NMManager.  
3260
3261         * src/nm-manager.c
3262           src/nm-manager.h
3263                 - (remove_one_device): consolidate device removals here
3264                 - (dispose): use remove_one_device()
3265                 - (nm_manager_get_device_by_udi): make static
3266                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3267                         manager for devices at startup or wakeup time
3268                 - (nm_manager_new): create and monitor the HAL manager
3269                 - (hal_manager_udi_added_cb): new function; do what
3270                         nm_manager_add_device() used to do when signalled by the hal manager
3271                 - (hal_manager_udi_removed_cb): new function; do what
3272                         nm_manager_remove_device() used to do when signalled by the hal
3273                         manager
3274                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3275                         hal manager
3276                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3277                         in our device list that aren't known to HAL
3278                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3279                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3280                         commits ago
3281                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3282                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3283                    nm_manager_wireless_hardware_enabled,
3284                    nm_manager_set_wireless_hardware_enabled): remove, unused
3285
3286 2008-04-28  Dan Williams  <dcbw@redhat.com>
3287
3288         Fix the device up/down ambiguities.  Up/down state used to be a
3289         conglomeration of hardware state (IFF_UP) and any device-specific things
3290         (supplicant, periodic timers, etc) that the device used to indicate
3291         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3292         reason, then the device specific stuff wouldn't get run, and the device
3293         would be stuck.
3294
3295         * src/nm-device.c
3296           src/nm-device.h
3297                 - Create hw_is_up, hw_bring_up, and hw_take_down
3298                 - Rename bring_down -> take_down
3299                 - (real_hw_is_up): check interface flags for IFF_UP
3300                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3301                 - (nm_device_is_up): make static; only used locally
3302                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3303                         if the device is already up; if the device isn't up, bring it up
3304                 - (nm_device_hw_take_down): just take down hardware
3305                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3306                 - (nm_device_take_down): always deactivate device when called; always
3307                         try to take hardware down too
3308                 - (nm_device_state_changed): take device down when entering unmanaged
3309                         state from a higher state
3310
3311         * src/nm-device-802-11-wireless.c
3312                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3313                         check IFF_UP really
3314                 - (real_take_down, supplicant_iface_state_cb_handler, 
3315                    supplicant_iface_connection_state_cb_handler,
3316                    supplicant_mgr_state_cb_handler): fix some messages
3317
3318         * src/nm-device-802-3-ethernet.c
3319                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3320                         check IFF_UP really
3321
3322 2008-04-28  Dan Williams  <dcbw@redhat.com>
3323
3324         * src/nm-manager.c
3325           src/nm-manager.h
3326                 - (nm_manager_error_get_type): add new error
3327                 - (nm_manager_remove_device): don't bother taking down the device here,
3328                         the state change from unmanaging the device will do it
3329                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3330                         uses it; when going to sleep, just unmanage the device instead of
3331                         taking it down, because stuff will cleaned up correctly when the
3332                         device gets unmanaged
3333
3334 2008-04-28  Dan Williams  <dcbw@redhat.com>
3335
3336         * src/nm-hal-manager.c
3337                 - (add_initial_devices): convert to a GSourceFunc prototype
3338                 - (nm_manager_state_changed): when coming out of sleep, punt the
3339                         device re-addition to an idle handler to let D-Bus events go out
3340                         first, fixing a potential dbus-glib assert if the old device was
3341                         not yet disposed (due to references held while emitting the D-Bus
3342                         signals) but the new device was found, because the mainloop didn't
3343                         run between signal emission and add_initial_devices()
3344
3345 2008-04-27  Dan Williams  <dcbw@redhat.com>
3346
3347         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3348
3349         * initscript/paldo/NetworkManager.in
3350           initscript/SUSE/networkmanager.in
3351                 - Remove last bits of dhcdbd
3352
3353 2008-04-27  Dan Williams  <dcbw@redhat.com>
3354
3355         * src/nm-device-802-11-wireless.c
3356                 - (link_timeout_cb): don't ask for secrets when disconnected during
3357                         association/authentication phase, drivers are still just too crappy
3358
3359 2008-04-27  Dan Williams  <dcbw@redhat.com>
3360
3361         * Makefile.am
3362           configure.in
3363           dispatcher-daemon/Makefile.am
3364           dispatcher-daemon/NetworkManagerDispatcher.c
3365           initscript/Arch/Makefile.am
3366           initscript/Arch/networkmanager-dispatcher.in
3367           initscript/Gentoo/Makefile.am
3368           initscript/Gentoo/NetworkManagerDispatcher.in
3369           initscript/Mandriva/Makefile.am
3370           initscript/Mandriva/networkmanagerdispatcher.in
3371           initscript/RedHat/Makefile.am
3372           initscript/RedHat/NetworkManagerDispatcher.in
3373           initscript/SUSE/Makefile.am
3374           initscript/SUSE/networkmanager-dispatcher.in
3375           initscript/Slackware/Makefile.am
3376           initscript/Slackware/rc.networkmanager-dispatcher.in
3377           initscript/paldo/Makefile.am
3378           initscript/paldo/NetworkManagerDispatcher.in
3379           man/Makefile.am
3380           man/NetworkManagerDispatcher.8.in
3381                 - Remove the dispatcher daemon
3382
3383 2008-04-27  Dan Williams  <dcbw@redhat.com>
3384
3385         * callouts/Makefile.am
3386           callouts/nm-dispatcher-action.c
3387           callouts/nm-dispatcher-action.h
3388           callouts/nm-dispatcher.conf
3389           callouts/nm-dispatcher.xml
3390           callouts/org.freedesktop.nm_dispatcher.service
3391                 - Re-implement the dispatcher as a system-bus activated service that
3392                         NM calls on-demand, rather than an always running daemon
3393
3394         * src/Makefile.am
3395                 - Add callouts dir to includes to pick up dispatcher defines
3396
3397         * src/nm-device.c
3398                 - (nm_device_state_changed): call dispatcher on device activated/
3399                         deactivated
3400
3401         * src/vpn-manager/nm-vpn-connection.c
3402                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3403                         go up and down
3404
3405         * src/NetworkManagerUtils.c
3406           src/NetworkManagerUtils.h
3407                 - (nm_utils_call_dispatcher): helper to call dispatcher
3408
3409 2008-04-27  Dan Williams  <dcbw@redhat.com>
3410
3411         * src/NetworkManagerUtils.c
3412           src/NetworkManagerUtils.h
3413                 - remove unneeded includes
3414                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3415                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3416                    nm_timeval_cmp, nm_timeval_add): remove, unused
3417                 - clean up formatting
3418                 - (nm_spawn_process): de-uglify
3419
3420         * src/nm-device-802-11-wireless.c
3421                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3422
3423 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3424
3425         * initscript/Gentoo/NetworkManager.in:
3426                 Fix for starting the daemon.
3427
3428 2008-04-25  Dan Williams  <dcbw@redhat.com>
3429
3430         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3431
3432         * src/NetworkManagerSystem.c
3433                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3434
3435 2008-04-25  Dan Williams  <dcbw@redhat.com>
3436
3437         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3438
3439         * src/NetworkManagerSystem.c
3440                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3441                         implementation of nm_system_device_replace_default_route()
3442
3443         * src/NetworkManagerPolicy.c
3444                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3445
3446         * src/backends/NetworkManagerArch.c
3447           src/backends/NetworkManagerDebian.c
3448           src/backends/NetworkManagerFrugalware.c
3449           src/backends/NetworkManagerGeneric.c
3450           src/backends/NetworkManagerGeneric.h
3451           src/backends/NetworkManagerGentoo.c
3452           src/backends/NetworkManagerMandriva.c
3453           src/backends/NetworkManagerPaldo.c
3454           src/backends/NetworkManagerRedHat.c
3455           src/backends/NetworkManagerSlackware.c
3456           src/backends/NetworkManagerSuSE.c
3457                 - (nm_system_device_replace_default_route): remove
3458
3459 2008-04-25  Dan Williams  <dcbw@redhat.com>
3460
3461         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3462
3463         * src/NetworkManagerSystem.c
3464                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3465                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3466                         replace nm_system_device_add_route_via_device_with_iface() in the
3467                         backends
3468
3469         * src/backends/NetworkManagerArch.c
3470           src/backends/NetworkManagerDebian.c
3471           src/backends/NetworkManagerFrugalware.c
3472           src/backends/NetworkManagerGeneric.c
3473           src/backends/NetworkManagerGeneric.h
3474           src/backends/NetworkManagerGentoo.c
3475           src/backends/NetworkManagerMandriva.c
3476           src/backends/NetworkManagerPaldo.c
3477           src/backends/NetworkManagerRedHat.c
3478           src/backends/NetworkManagerSlackware.c
3479           src/backends/NetworkManagerSuSE.c
3480                 - Remove nm_system_device_add_route_via_device_with_iface()
3481
3482 2008-04-25  Dan Williams  <dcbw@redhat.com>
3483
3484         * system-settings/plugins/ifcfg-fedora/parser.c
3485                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3486
3487 2008-04-24  Dan Williams  <dcbw@redhat.com>
3488
3489         * dispatcher-daemon/NetworkManagerDispatcher.c
3490                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3491
3492 2008-04-24  Dan Williams  <dcbw@redhat.com>
3493
3494         * initscript/RedHat/NetworkManager.in
3495           initscript/RedHat/NetworkManagerDispatcher.in
3496                 - Be active at runlevel 2
3497                 - Adjust priorities earlier
3498
3499 2008-04-22  Dan Williams  <dcbw@redhat.com>
3500
3501         * src/NetworkManagerPolicy.c
3502                 - (update_routing_and_dns): when checking for a gateway, look at the
3503                         composite IP4 config, not the connection's ip4-config setting, which
3504                         doesn't include DHCP-returned information
3505
3506 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3507
3508         Implement GKeyFile system settings plugin.
3509         Implement writing system settings (currently supported only by GKeyFile plugin).
3510
3511         * system-settings/src/main.c: 
3512         * system-settings/src/dbus-settings.c: Move the communication with plugins
3513         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3514         plugins for adding/updating/removing connections.
3515
3516         * system-settings/src/nm-system-config-interface.c
3517         (nm_system_config_interface_add_connection): Implement
3518         (nm_system_config_interface_update_connection): Implement.
3519         (nm_system_config_interface_remove_connection): Implement.
3520
3521         * system-settings/plugins/keyfile/Makefile.am:
3522         * system-settings/plugins/keyfile/plugin.[ch]:
3523         * system-settings/plugins/keyfile/writer.[ch]:
3524         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3525
3526         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3527
3528         * configure.in: Generate GKeyFile Makefile.
3529
3530         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3531         corruption, need to duplicate the returned string.
3532         (impl_exported_connection_update): Implement.
3533         (impl_exported_connection_delete): Implement.
3534
3535         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3536
3537         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3538
3539 2008-04-22  Dan Williams  <dcbw@redhat.com>
3540
3541         Patch from Charles R. Anderson (cra@wpi.edu)
3542
3543         * src/NetworkManagerPolicy.c
3544                 - (update_routing_and_dns): don't select devices without a gateway
3545                         as having the default route (rh #437338)
3546
3547 2008-04-21  Dan Williams  <dcbw@redhat.com>
3548
3549         * src/nm-activation-request.c
3550           src/nm-activation-request.h
3551                 - (dispose): ensure to disconnect from the device's state-changed signal
3552                         when appropriate so the signal doesn't get handled by an already
3553                         disposed NMActRequest
3554                 - (device_state_changed): update is_default here too just to make sure
3555                         default is only True when the child device is activated
3556                 - (nm_act_request_set_default): new function
3557
3558         * src/NetworkManagerPolicy.c
3559                 - (update_routing_and_dns): set 'default' on the active connection which
3560                         has the default route and DNS
3561
3562 2008-04-21  Dan Williams  <dcbw@redhat.com>
3563
3564         * src/NetworkManagerPolicy.c
3565                 - (device_state_changed): update routing and DNS when a device goes
3566                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3567
3568 2008-04-21  Dan Williams  <dcbw@redhat.com>
3569
3570         * include/NetworkManager.h
3571                 - Add NMActiveConnectionState enum
3572
3573         * introspection/nm-active-connection.xml
3574           introspection/nm-vpn-connection.xml
3575                 - Add 'State' property for overall active connection state
3576                 - Add 'Default' property, when True means this active connection
3577                         has the default route
3578                 - Add PropertyChanged signals so changes actually go out over the bus
3579
3580         * src/nm-active-connection.h
3581                 - Add defines for State & Default properties
3582
3583         * src/nm-activation-request.c
3584                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3585                         signal to determine active connection state
3586
3587         * src/vpn-manager/nm-vpn-connection.c
3588           src/vpn-manager/nm-vpn-connection.h
3589           src/vpn-manager/nm-vpn-manager.c
3590           src/vpn-manager/nm-vpn-service.c
3591                 - Rename old 'state' to 'vpn-state'
3592                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3593                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3594                         'vpn-state-changed' signal
3595
3596         * libnm-glib/nm-active-connection.c
3597           libnm-glib/nm-active-connection.h
3598                 - Add new 'state' and 'default' properties and accessors
3599
3600         * libnm-glib/nm-vpn-connection.c
3601           libnm-glib/nm-vpn-connection.h
3602                 - Rename old 'state' property to 'vpn-state'
3603                 - Add new 'state' and 'default' properties and accessors
3604
3605 2008-04-21  Dan Williams  <dcbw@redhat.com>
3606
3607         * src/nm-ip4-config.c
3608                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3609                         not specified (rh #443474)
3610
3611 2008-04-20  Dan Williams  <dcbw@redhat.com>
3612
3613         * src/NetworkManagerUtils.c
3614           src/NetworkManagerUtils.h
3615                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3616                         NMSettingIP4Config to an NMIP4Config object
3617
3618         * src/nm-device.c
3619                 - (merge_ip4_config): move to NetworkManagerUtils.c
3620
3621         * src/vpn-manager/nm-vpn-connection.c
3622                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3623                         too
3624
3625 2008-04-18  Dan Williams  <dcbw@redhat.com>
3626
3627         * libnm-util/nm-setting-ppp.c
3628           libnm-util/nm-setting-ppp.h
3629                 - Add 'no-vj-comp' option for TCP header compression
3630                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3631                         uint32
3632
3633 2008-04-18  Dan Williams  <dcbw@redhat.com>
3634
3635         * libnm-util/nm-setting-ppp.c
3636           libnm-util/nm-setting-ppp.h
3637           src/ppp-manager/nm-ppp-manager.c
3638                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3639
3640 2008-04-18  Dan Williams  <dcbw@redhat.com>
3641
3642         * libnm-util/nm-setting-ppp.c
3643           libnm-util/nm-setting-ppp.h
3644           src/ppp-manager/nm-ppp-manager.c
3645                 - Remove the 'usepeerdns' option and always request DNS servers from
3646                         the PPP server; the connection chooses to use/override/ignore the
3647                         DNS servers returned from the PPP server
3648
3649 2008-04-18  Dan Williams  <dcbw@redhat.com>
3650
3651         * libnm-util/nm-setting-ppp.c
3652           libnm-util/nm-setting-ppp.h
3653           src/ppp-manager/nm-ppp-manager.c
3654                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3655                         it seems to have been an erroneous addition to the PPTP plugin in
3656                         the first place (from which the ppp-manager is derived)
3657
3658 2008-04-17  Dan Williams  <dcbw@redhat.com>
3659
3660         * libnm-util/nm-setting-pppoe.c
3661                 - (verify): require a PPP setting too
3662
3663         * src/ppp-manager/nm-ppp-manager.c
3664                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3665                         segfaulting
3666
3667 2008-04-17  Dan Williams  <dcbw@redhat.com>
3668
3669         * src/nm-device.c
3670                 - (nm_device_state_changed): do deactivation and and promotion to
3671                         unavailable here, so that the device gets cleaned up before the
3672                         manager runs and starts emitting signals; do the
3673                         FAILED->DISCONNECTED transition from an idle handler rather than
3674                         immediately to guard against recursion
3675                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3676                         FAILED->DISCONNECTED handler if it's scheduled
3677
3678 2008-04-17  Dan Williams  <dcbw@redhat.com>
3679
3680         * src/nm-device-802-11-wireless.c
3681                 - (state_changed_cb): clear AP list when device transitions to
3682                         unavailable or unmanaged
3683                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3684                         since this is already done in device_cleanup()
3685                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3686                         isn't available or managed
3687                 - (device_cleanup): use remove_all_aps()
3688                 - (remove_all_aps): consolidate code removing all APs
3689
3690 2008-04-17  Dan Williams  <dcbw@redhat.com>
3691
3692         * src/nm-serial-device.c
3693           src/nm-serial-device.h
3694                 - (wait_for_reply_got_data): break input into lines, and search each
3695                         line for responses _and_ terminator strings; also make sure that
3696                         the read loop doesn't continue after the timeout is supposed to fire
3697                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3698
3699         * src/nm-gsm-device.c
3700           src/nm-cdma-device.c
3701                 - Send terminators to nm_serial_device_wait_for_reply()
3702
3703 2008-04-16  Dan Williams  <dcbw@redhat.com>
3704
3705         Patch from 陈鑫 <znscnchen@gmail.com>
3706
3707         * src/ppp-manager/nm-pppd-plugin.c
3708                 - (get_credentials): return correct value for success; handle case where
3709                         pppd just does some checking but doesn't want a password
3710                 - (plugin_init): make CHAP work too
3711
3712 2008-04-16  Dan Williams  <dcbw@redhat.com>
3713
3714         Patch from 陈鑫 <znscnchen@gmail.com>
3715
3716         * src/ppp-manager/nm-ppp-manager.c
3717                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3718
3719 2008-04-16  Dan Williams  <dcbw@redhat.com>
3720
3721         Patch from 陈鑫 <znscnchen@gmail.com>
3722
3723         * src/nm-device-802-3-ethernet.c
3724                 - (real_deactivate_quickly): clear the IP interface name on
3725                         deactivation, otherwise the wrong interface might get used later
3726                         for routing and IP management
3727
3728 2008-04-15  Dan Williams  <dcbw@redhat.com>
3729
3730         * libnm-glib/nm-device.c
3731                 - (get_product_and_vendor): handle serial devices correctly
3732                 - (nm_device_update_description): pass device to get_product_and_vendor()
3733
3734 2008-04-15  Dan Williams  <dcbw@redhat.com>
3735
3736         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3737
3738         * src/NetworkManagerSystem.h
3739           src/backends/NetworkManagerArch.c
3740           src/backends/NetworkManagerDebian.c
3741           src/backends/NetworkManagerFrugalware.c
3742           src/backends/NetworkManagerGeneric.c
3743           src/backends/NetworkManagerGeneric.h
3744           src/backends/NetworkManagerGentoo.c
3745           src/backends/NetworkManagerMandriva.c
3746           src/backends/NetworkManagerPaldo.c
3747           src/backends/NetworkManagerRedHat.c
3748           src/backends/NetworkManagerSlackware.c
3749           src/backends/NetworkManagerSuSE.c
3750           src/nm-device.c
3751                 - (nm_generic_device_add_ip6_link_address,
3752                    nm_system_device_add_ip6_link_address): remove
3753
3754 2008-04-15  Dan Williams  <dcbw@redhat.com>
3755
3756         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3757
3758         * src/backends/NetworkManagerArch.c
3759           src/backends/NetworkManagerDebian.c
3760           src/backends/NetworkManagerFrugalware.c
3761           src/backends/NetworkManagerGeneric.c
3762           src/backends/NetworkManagerGeneric.h
3763           src/backends/NetworkManagerGentoo.c
3764           src/backends/NetworkManagerMandriva.c
3765           src/backends/NetworkManagerPaldo.c
3766           src/backends/NetworkManagerRedHat.c
3767           src/backends/NetworkManagerSlackware.c
3768           src/backends/NetworkManagerSuSE.c
3769           src/NetworkManagerSystem.h
3770                 - flush_routes -> flush_ip4_routes
3771                 - flush_addresses -> flush_ip4_addresses
3772
3773         * src/NetworkManagerSystem.c
3774           src/nm-device.c
3775           src/vpn-manager/nm-vpn-connection.c
3776                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3777
3778 2008-04-15  Dan Williams  <dcbw@redhat.com>
3779
3780         Remove exposure of wireless-tools mode types in the API.
3781
3782         * include/NetworkManager.h
3783                 - Define NM80211Mode enum
3784
3785         * introspection/generic-types.xml
3786                 - Describe NM_802_11_MODE enum
3787                 - Remove IW_MODE_* enum
3788
3789         * introspection/nm-access-point.xml
3790           libnm-glib/nm-access-point.c
3791           libnm-glib/nm-access-point.h
3792                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3793
3794         * introspection/nm-device-802-11-wireless.xml
3795           libnm-glib/nm-device-802-11-wireless.c
3796           libnm-glib/nm-device-802-11-wireless.h
3797                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3798
3799         * libnm-util/nm-setting-wireless.c
3800           src/NetworkManagerAP.c
3801           src/NetworkManagerAP.h
3802           src/nm-device-802-11-wireless.c
3803           src/nm-device-802-11-wireless.h
3804           test/nm-tool.c
3805                 - Use NM80211Mode not IW_MODE_*
3806
3807 2008-04-15  Dan Williams  <dcbw@redhat.com>
3808
3809         Enhance nm-online based on a patch from Bill Nottingham.
3810
3811         * test/nm-online.c
3812                 - Add a '-q' option
3813                 - Add help messages and option summary
3814                 - Add long-format options
3815                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3816
3817 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3818
3819         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3820
3821         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3822
3823 2008-04-15  Dan Williams  <dcbw@redhat.com>
3824
3825         * nm-setting-ip4-config.c
3826                 - (ip4_addresses_from_gvalue): handle NULL address array
3827
3828         * nm-setting-8021x.c
3829                 - (verify_tls, verify_ttls): warn on failed verification
3830
3831 2008-04-10  Dan Williams  <dcbw@redhat.com>
3832
3833         * src/nm-gsm-device.c
3834                 - (automatic_registration): accept "+CREG: 0,0"
3835                 - (automatic_registration_response): fail on "+CREG: 0,0"
3836
3837 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3838
3839         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3840
3841 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3842
3843         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3844         Make it compile again by commenting out broken code that at first didn't work and
3845         now didn't compile either.
3846
3847 2008-04-08  Dan Williams  <dcbw@redhat.com>
3848
3849         * libnm-glib/nm-object-cache.c
3850           libnm-glib/nm-settings.c
3851           src/dhcp-manager/nm-dhcp-manager.c
3852           system-settings/plugins/ifcfg-fedora/plugin.c
3853           system-settings/plugins/ifcfg-suse/plugin.c
3854           system-settings/src/nm-system-config-hal-manager.c
3855           libnm-util/nm-utils.c
3856                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3857                         not threadsafe anyway
3858
3859 2008-04-08  Dan Williams  <dcbw@redhat.com>
3860
3861         * system-settings/src/main.c
3862                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3863                         callbacks take a device type too
3864
3865 2008-04-08  Dan Williams  <dcbw@redhat.com>
3866
3867         The system settings service will now create a new default DHCP connection
3868         for wired devices that have no existing applicable connection.
3869
3870         * system-settings/src/nm-system-config-hal-manager.c
3871           system-settings/src/nm-system-config-hal-manager.h
3872                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3873
3874         * system-settings/src/dbus-settings.c
3875           system-settings/src/dbus-settings.h
3876                 - (nm_sysconfig_settings_get_connections): new function
3877                 - (nm_sysconfig_settings_is_device_managed): new function
3878
3879         * system-settings/src/main.c
3880                 - (load_stuff): check for wired devices that need a default connection
3881                 - (get_details_for_udi): get interface and MAC address from HAL
3882                 - (add_default_dhcp_connection): add a default connection for a wired
3883                         device if needed
3884                 - (device_added_cb, device_removed_cb): do the right thing with
3885                         wired devices and their default connections on HAL device events
3886
3887 2008-04-07  Dan Williams  <dcbw@redhat.com>
3888
3889         * libnm-glib/nm-device.c
3890           libnm-glib/nm-device.h
3891                 - Proxy the 'managed' property
3892
3893 2008-04-07  Dan Williams  <dcbw@redhat.com>
3894
3895         * src/nm-gsm-device.c
3896           src/nm-cdma-device.c
3897                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3898                         handler to transition to DISCONNECTED
3899
3900 2008-04-07  Dan Williams  <dcbw@redhat.com>
3901
3902         Patch from Bill Nottingham
3903
3904         * dispatcher-daemon/NetworkManagerDispatcher.c
3905                 - ignore backup/packaging crufy (rh #440143)
3906
3907 2008-04-07  Dan Williams  <dcbw@redhat.com>
3908
3909         * include/NetworkManager.h
3910                 - Remove the DOWN and CANCELLED device states
3911                 - Add UNMANAGED and UNAVAILABLE device states
3912                 - Document the device states
3913
3914         * introspection/nm-device.xml
3915           src/nm-device-interface.c
3916           src/nm-device-interface.h
3917                 - Add the 'managed' property
3918
3919         * test/nm-tool.c
3920                 - (detail_device): print out device state
3921
3922         * src/NetworkManagerSystem.h
3923           src/backends/NetworkManagerArch.c
3924           src/backends/NetworkManagerDebian.c
3925           src/backends/NetworkManagerFrugalware.c
3926           src/backends/NetworkManagerGentoo.c
3927           src/backends/NetworkManagerMandriva.c
3928           src/backends/NetworkManagerPaldo.c
3929           src/backends/NetworkManagerRedHat.c
3930           src/backends/NetworkManagerSlackware.c
3931           src/backends/NetworkManagerSuSE.c
3932                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3933                    nm_system_device_free_system_config): remove; they were unused and
3934                         their functionality should be re-implemented in each distro's
3935                         system settings service plugin 
3936
3937         * src/nm-gsm-device.c
3938           src/nm-gsm-device.h
3939           src/nm-cdma-device.c
3940           src/nm-cdma-device.h
3941                 - (*_new): take the 'managed' argument
3942
3943         * src/nm-device.c
3944                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3945                 - (nm_device_init): start in unmanaged state, not disconnected
3946                 - (constructor): don't start device until the system settings service
3947                         has had a chance to figure out if the device is managed or not
3948                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3949                         don't set device state here, let callers handle that as appropriate
3950                 - (nm_device_dispose): don't touch the device if it's not managed
3951                 - (set_property, get_property, nm_device_class_init): implement the
3952                         'managed' property
3953                 - (nm_device_state_changed): bring the device up if its now managed,
3954                         and deactivate it if it used to be active
3955                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3956                         with the managed state
3957
3958         * src/nm-hal-manager.c
3959                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3960                         take initial managed state and pass it along to device constructors
3961                 - (create_device_and_add_to_list): get managed state and pass to
3962                         type creators
3963
3964         * src/nm-device-802-11-wireless.c
3965                 - (real_can_activate): fold in most of
3966                         nm_device_802_11_wireless_can_activate()
3967                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3968                 - (link_timeout_cb): instead of deactivating, change device state and
3969                         let the device state handler to it
3970                 - (real_update_hw_address): clean up
3971                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3972                         handler to transition to DISCONNECTED if the device isn't rfkilled
3973
3974         * src/nm-device-802-3-ethernet.c
3975                 - (set_carrier): move above callers and get rid of prototype
3976                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3977                         idle handler to transition to DISCONNECTED if the device has a
3978                         carrier
3979                 - (real_update_hw_address): clean up
3980                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3981                         deactivation directly as deactivation doesn't change state anymore
3982
3983         * src/NetworkManagerPolicy.c
3984                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3985                         the NMManager and wireless devices work that out themselves now
3986                 - (device_state_changed): change to a switch and update for new device
3987                         states
3988                 - (device_carrier_changed): remove; device handles this now through
3989                         state changes
3990                 - (device_added): don't care about carrier any more; the initial
3991                         activation check will happen when the device transitions to
3992                         DISCONNECTED
3993
3994         * src/nm-manager.c
3995                 - (dispose): clear unmanaged devices
3996                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3997                         the managed property on each device when needed
3998                 - (system_settings_properties_changed_cb): handle signals from the
3999                         system settings service
4000                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4001                         getting the unmanaged device list method call
4002                 - (query_unmanaged_devices): ask the system settings service for its
4003                         list of unmanaged devices
4004                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4005                         devices
4006                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4007                         devices directly and let them handle the necessary state transitions
4008                 - (manager_device_state_changed): update for new device states
4009                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4010                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4011                 - (nm_manager_activate_connection): return error if the device is
4012                         unmanaged
4013                 - (nm_manager_sleep): handle new device states correctly; don't change
4014                         the state of unavailable/unmanaged devices
4015
4016         * libnm-glib/nm-device-802-11-wireless.c
4017                 - (state_changed_cb): update for new device states
4018
4019 2008-04-07  Dan Williams  <dcbw@redhat.com>
4020
4021         * marshallers/nm-marshal.list
4022                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4023
4024 2008-04-07  Dan Williams  <dcbw@redhat.com>
4025
4026         * system-settings/src/main.c
4027                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4028                         plugins to the dbus settings object
4029                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4030                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4031                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4032                 - (main): switch default logging to syslog with a 'debug' option to
4033                         output to console; start up the HAL manager
4034
4035 2008-04-07  Dan Williams  <dcbw@redhat.com>
4036
4037         * introspection/nm-settings-system.xml
4038           introspection/Makefile.am
4039                 - Define the unmanaged devices interface for the system settings service
4040
4041         * system-settings/src/nm-system-config-hal-manager.c
4042           system-settings/src/nm-system-config-hal-manager.h
4043           system-settings/src/nm-system-config-hal-manager-private.h
4044           system-settings/src/Makefile.am
4045                 - Add a lightweight HAL manager object for tracking network devices for
4046                         the purpose of determining unmanaged devices and which devices need
4047                         the default DHCP connections
4048
4049         * system-settings/src/nm-system-config-interface.c
4050           system-settings/src/nm-system-config-interface.h
4051                 - (nm_system_config_interface_init): add the HAL manager as an argument
4052                 - (nm_system_config_interface_get_unmanaged_devices): implement
4053                 - Define 'unmanaged-devices-changed' signal
4054
4055         * system-settings/src/dbus-settings.c
4056           system-settings/src/dbus-settings.h
4057                 - Implement the unmanaged devices interface; some cleanups
4058
4059         * system-settings/plugins/ifcfg-suse/plugin.c
4060                 - Fixup for plugin interface changes
4061
4062         * system-settings/plugins/ifcfg-fedora/plugin.c
4063                 - (get_ether_device_udi): new function; find the device that has
4064                         a specified MAC address and return its UDI
4065                 - (get_udi_for_connection): new function; try to find the specific
4066                         device a connection is locked to, if any
4067                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4068                         response to HAL events
4069                 - (get_unmanaged_devices): new function; return unmanaged device list
4070                 - (build_one_connection): set the connection's locked device, if any
4071                 - (write_auto_wired_connection): remove
4072                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4073                 - (handle_connection_changed): alert listeners that the unmanaged device
4074                         list has changed
4075                 - (init): fixup for plugin interface changes, implement unmanaged devices
4076
4077         * system-settings/plugins/ifcfg-fedora/parser.c
4078           system-settings/plugins/ifcfg-fedora/parser.h
4079                 - (connection_data_free): clean up connection UDI
4080
4081 2008-04-07  Dan Williams  <dcbw@redhat.com>
4082
4083         * system-settings/plugins/ifcfg-fedora/parser.c
4084                 - (make_ip4_setting): fix parsing of DNS servers
4085
4086 2008-04-05  Dan Williams  <dcbw@redhat.com>
4087
4088         * Makefile.am
4089           configure.in
4090           marshallers/Makefile.am
4091           marshallers/nm-marshal-main.c
4092           marshallers/nm-marshal.list
4093                 - Consolidate marshallers
4094
4095         * libnm-glib/nm-marshal-main.c
4096           libnm-glib/nm-marshal.list
4097           src/marshallers/Makefile.am
4098           src/marshallers/nm-marshal-main.c
4099           src/marshallers/nm-marshal.list
4100                 - Remove
4101
4102         * libnm-glib/Makefile.am
4103           src/Makefile.am
4104           src/dhcp-manager/Makefile.am
4105           src/ppp-manager/Makefile.am
4106           src/supplicant-manager/Makefile.am
4107           src/vpn-manager/Makefile.am
4108                 - Use consolidated marshallers
4109
4110 2008-04-04  Dan Williams  <dcbw@redhat.com>
4111
4112         * src/nm-hal-manager.c
4113           src/nm-hal-manager.h
4114                 - (hal_init): don't look for hardware here
4115                 - (nm_hal_manager_start): new function; look for hardware here instead,
4116                         which can be done at a later time than hal_init()
4117
4118         * src/NetworkManager.c
4119                 - (main): start HAL manager after entering the main loop
4120
4121 2008-04-03  Dan Williams  <dcbw@redhat.com>
4122
4123         * libnm-glib/nm-settings.c
4124           libnm-glib/nm-settings.h
4125             - (nm_exported_connection_get_id): new function
4126                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4127
4128 2008-04-02  Dan Williams  <dcbw@redhat.com>
4129
4130         * src/nm-device-interface.c
4131           src/nm-device-interface.h
4132           src/nm-device.c
4133           src/nm-device.h
4134                 - Rename check_connection_conflicts() to check_connection_compatible()
4135
4136         * src/nm-device-802-11-wireless.c
4137                 - (real_check_connection_conflicts): remove
4138                 - (real_check_connection_compatible): implement; match MAC address
4139
4140         * src/nm-device-802-3-ethernet.c
4141                 - (real_check_connection_conflicts): remove
4142                 - (real_check_connection_compatible): implement; match MAC address
4143                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4144
4145         * src/nm-manager.c
4146                 - (check_connection_allowed): remove; unused until PolicyKit integration
4147                 - (internal_activate_device): check whether the connection is compatible
4148                         with the device before trying to activate it
4149
4150 2008-04-02  Dan Williams  <dcbw@redhat.com>
4151
4152         * system-settings/plugins/ifcfg-fedora/parser.c
4153                 - (read_mac_address): new function; read in MAC address and stuff it
4154                         into the connection
4155                 - (add_one_wep_key): remove debug spew
4156                 - (make_wireless_security_setting): validate the default TX key; don't
4157                         add the wireless-security setting if the connection doesn't need
4158                         security; don't leak the keys shvarFile on error cases
4159                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4160                         address
4161
4162 2008-04-02  Dan Williams  <dcbw@redhat.com>
4163
4164         * libnm-util/nm-setting-connection.c
4165           libnm-util/nm-setting-connection.h
4166                 - (set_property, get_property, nm_setting_connection_class_init): remove
4167                         the 'lockdown' property; it's functionality will be replaced by
4168                         PolicyKit instead
4169
4170 2008-04-01  Dan Williams  <dcbw@redhat.com>
4171
4172         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4173
4174         * configure.in
4175           initscript/Makefile.am
4176           initscript/Mandriva/Makefile.am
4177           initscript/Mandriva/networkmanager.in
4178           initscript/Mandriva/networkmanagerdispatcher.in
4179           src/backends/Makefile.am
4180           src/backends/NetworkManagerMandriva.c
4181           system-settings/plugins/Makefile.am
4182                 - Add Mandriva support
4183
4184 2008-03-31  Dan Williams  <dcbw@redhat.com>
4185
4186         * src/vpn-manager/nm-vpn-service.c
4187                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4188                         errors can be passed back to the caller; also no longer scheduled
4189                         as an idle handler, but called directly; and bump up VPN service
4190                         spawn timeout, 2s is really short
4191                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4192                         but call it directly so that errors are reported on return from
4193                         ActivateConnection() and don't get lost.  If scheduled as an idle
4194                         handler, clients don't have the time to query NM for the new VPN
4195                         connection's properties before the VPN connection is torn down again
4196                         if the service couldn't be launched, and therefore launch errors
4197                         get lost.
4198
4199 2008-03-31  Dan Williams  <dcbw@redhat.com>
4200
4201         * src/vpn-manager/nm-vpn-connection.c
4202                 - (device_state_changed): send correct state on device failure too
4203                 - (plugin_state_changed): failed state means unexpected disconnection,
4204                         thus if the service goes away while the VPN connection is activated
4205                         that's a failure too
4206
4207 2008-03-31  Dan Williams  <dcbw@redhat.com>
4208
4209         * src/vpn-manager/nm-vpn-manager.c
4210           src/vpn-manager/nm-vpn-manager.h
4211                 - Make VPNManager errors more available; add a service-start-failed error
4212
4213 2008-03-31  Dan Williams  <dcbw@redhat.com>
4214
4215         * libnm-glib/nm-client.c
4216           libnm-glib/nm-client.h
4217                 - (activate_cb): pass the new active connection to callback; fix
4218                         message when no callback is specified
4219
4220 2008-03-30  Dan Williams  <dcbw@redhat.com>
4221
4222         * libnm-util/nm-setting-wireless-security.c
4223                 - (need_secrets): only require key0 if the transmit key index is also
4224                         0
4225                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4226
4227 2008-03-29  Dan Williams  <dcbw@redhat.com>
4228
4229         * libnm-util/nm-setting-8021x.c
4230           libnm-util/nm-setting-ip4-config.c
4231           libnm-util/nm-setting-vpn-properties.c
4232           libnm-util/nm-setting-vpn.c
4233           libnm-util/nm-setting-wireless-security.c
4234           libnm-util/nm-setting-wireless.c
4235           libnm-util/nm-utils.c
4236           src/dhcp-manager/nm-dhcp-manager.c
4237           src/nm-activation-request.c
4238           src/nm-ip4-config.c
4239           src/nm-manager.c
4240           src/nm-properties-changed-signal.c
4241           src/ppp-manager/nm-pppd-plugin.c
4242           src/supplicant-manager/nm-supplicant-interface.c
4243           src/vpn-manager/nm-vpn-connection.c
4244                 - consistently use nm-dbus-glib-types.h
4245
4246 2008-03-29  Dan Williams  <dcbw@redhat.com>
4247
4248         * src/vpn-manager/nm-vpn-connection.c
4249                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4250                         not string
4251
4252         * src/nm-activation-request.c
4253                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4254                         not string
4255
4256 2008-03-29  Dan Williams  <dcbw@redhat.com>
4257
4258         * libnm-glib/nm-device-802-11-wireless.c
4259                 - (access_point_added_proxy): create new APs if not found
4260
4261 2008-03-29  Dan Williams  <dcbw@redhat.com>
4262
4263         * libnm-glib/nm-client.c
4264                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4265                         before freeing them
4266
4267 2008-03-29  Dan Williams  <dcbw@redhat.com>
4268
4269         * system-settings/plugins/ifcfg-fedora/parser.c
4270                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4271                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4272
4273 2008-03-29  Dan Williams  <dcbw@redhat.com>
4274
4275         * system-settings/plugins/ifcfg-fedora/parser.c
4276                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4277
4278 2008-03-27  Dan Williams  <dcbw@redhat.com>
4279
4280         * nm-object.c
4281                 - (nm_object_queue_notify): don't notify multiple times for the same
4282                         property
4283
4284         * nm-object-private.h
4285                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4286                         if it has zero elements
4287
4288         * nm-ip4-config.c
4289                 - (finalize): use g_ptr_array_foreach() when freeing domains
4290                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4291
4292         * nm-active-connection.c
4293                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4294
4295         * nm-device-802-11-wireless.c
4296           nm-device-802-11-wireless.h
4297                 - (nm_device_802_11_wireless_get_access_points): return const; use
4298                         handle_ptr_array_return()
4299
4300         * nm-types.c
4301                 - (nm_object_array_demarshal): always create an array, even of length
4302                         zero, to distinguish between "NM returned no items" and "haven't
4303                         asked NM yet"
4304
4305         * nm-client.c
4306                 - (dispose): free active connections too
4307                 - (proxy_name_owner_changed): free active connections too when NM goes
4308                         away
4309                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4310                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4311
4312 2008-03-26  Dan Williams  <dcbw@redhat.com>
4313
4314         Rework VPN connection handling for a more consistent D-Bus API.  The
4315         VPNManager object has been removed, and active VPN connections are now the
4316         same as any other active connection.  The Manager object's ActivateConnection
4317         and DeactivateConnection methods are used to start and stop a VPN connection,
4318         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4319         When activating a VPN connection, pass the path of the active connection
4320         to which the VPN connection is tied in the 'specific_object' argument.
4321
4322         Consequently, the libnm-glib API has been reworked to match this arrangement,
4323         with the VPNManager object removed, and the NMVPNConnection objects now
4324         being subclasses of NMActiveConnection.
4325
4326 2008-03-25  Dan Williams  <dcbw@redhat.com>
4327
4328         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4329
4330         * initscript/Arch/networkmanager.in
4331           initscript/Arch/networkmanager-dispatcher.in
4332                 - Updates for Arch Linux (gnome.org #523701)
4333
4334 2008-03-25  Dan Williams  <dcbw@redhat.com>
4335
4336         * libnm-glib/nm-ip4-config.c
4337           libnm-glib/nm-active-connection.c
4338           libnm-glib/nm-access-point.c
4339                 - Use nm_object_queue_notify() instead of g_object_notify()
4340
4341         * libnm-glib/nm-device.c
4342                 - (demarshal_ip4_config): distinguish between successful but missing
4343                         ip4-config request, and unsuccessful and missing ip4-config request
4344                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4345                         path
4346                 - Use nm_object_queue_notify() instead of g_object_notify()
4347
4348         * libnm-glib/nm-device-802-11-wireless.c
4349                 - (demarshal_active_ap): distinguish between successfull but missing
4350                         active-ap request, and unsuccessful and missing active-ap request
4351                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4352                         code
4353                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4354                         for the NMClient to notify the device that wireless is disabled,
4355                         and therefore to clear the AP list and active AP
4356                 - Use nm_object_queue_notify() instead of g_object_notify()
4357
4358         * libnm-glib/nm-client.c
4359                 - (poke_wireless_devices_with_rf_status): new function
4360                 - (update_wireless_status): notify wireless devices of the rfkill status
4361                         so they can clean up if needed
4362                 - Use nm_object_queue_notify() instead of g_object_notify()
4363
4364 2008-03-25  Dan Williams  <dcbw@redhat.com>
4365
4366         * libnm-glib/nm-object.c
4367           libnm-glib/nm-object-private.h
4368                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4369                         signals to an idle handler
4370                 - (nm_object_get_property): add a timeout to the D-Bus method call
4371
4372 2008-03-25  Dan Williams  <dcbw@redhat.com>
4373
4374         * introspection/nm-device-cdma.xml
4375           introspection/nm-device-gsm.xml
4376           introspection/Makefile.am
4377           introspection/all.xml
4378                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4379
4380         * src/nm-gsm-device.h
4381           src/nm-gsm-device.c
4382           src/nm-cdma-device.h
4383           src/nm-cdma-device.c
4384           src/Makefile.am
4385                 - Implement PropertiesChanged signals
4386
4387         * libnm-glib/nm-cdma-device.c
4388           libnm-glib/nm-cdma-device.c
4389                 - Attach to PropertiesChanged signals
4390
4391 2008-03-24  Dan Williams  <dcbw@redhat.com>
4392
4393         * libnm-glib/nm-client.c
4394                 - (client_device_added_proxy): add new devices to the internal device
4395                         list so they appear to clients
4396
4397 2008-03-24  Dan Williams  <dcbw@redhat.com>
4398
4399         Massive fixup of libnm-glib to:
4400         a) have all objects (with the exception of VPN) cache their properties and
4401                 update them asynchronously on PropertiesChanged signals from NM
4402         b) return internal const data for most attributes/properties instead of
4403                 allocated values that the caller must free
4404         c) cache wrapped objects such that a given D-Bus path will always map to the
4405                 same GObject returned by libnm-glib
4406         d) remove a few signals and move them to GObject property notifications
4407         e) match recent NM D-Bus API changes for activation/deactivation
4408         f) remove some private functions from libnm-glib headers
4409
4410 2008-03-20  Dan Williams  <dcbw@redhat.com>
4411
4412         * src/nm-manager.c
4413                 - (nm_manager_update_state, manager_device_state_changed,
4414                    nm_manager_activate_device, connection_added_default_handler,
4415                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4416                         queue PropertyChanged singals when the active connections change
4417
4418 2008-03-20  Dan Williams  <dcbw@redhat.com>
4419
4420         * introspection/nm-manager.xml
4421           introspection/nm-manager-client.xml
4422                 - (ActivateConnection): return the object path of the active connection
4423                         on success
4424                 - (GetActiveConnections): remove
4425                 - (DeactivateConnection): new function; deactivate a currently active
4426                         connection
4427                 - Add an ActiveConnections property which returns an array of
4428                         active connection object paths
4429
4430         * introspection/nm-device.xml
4431                 - (Deactivate): remove
4432
4433         * introspection/all.xml
4434                 - Add ActiveConnection introspection
4435
4436         * introspection/nm-active-connection.xml
4437                 - Add the ActiveConnection object
4438
4439         * include/NetworkManager.h
4440                 - Add the Connection.Active D-Bus interface
4441
4442         * src/nm-device-interface.c
4443                 - (impl_device_deactivate): remove
4444
4445         * src/nm-activation-request.c
4446           src/nm-activation-request.c
4447           src/Makefile.am
4448                 - Implement the Connection.Active D-Bus interface
4449
4450         * src/nm-manager.c
4451                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4452                 - (nm_manager_activate_device): return the active connection path
4453                 - (connection_added_default_handler, impl_manager_activate_connection):
4454                         return the active connection to the caller
4455                 - (add_one_connection_element, impl_manager_get_active_connections):
4456                         remove
4457                 - (impl_manager_deactivate_connection): new function; deactivate an
4458                         active connection
4459
4460         * libnm-glib/nm-device.c
4461           libnm-glib/nm-device.h
4462                 - Remove Deactivate() function
4463
4464 2008-03-19  Dan Williams  <dcbw@redhat.com>
4465
4466         * introspection/nm-manager.xml
4467           introspection/nm-manager-client.xml
4468                 - Rename the ActivateDevice method to ActivateConnection to better
4469                         reflect it's usage; it's arguments get reordered a bit too
4470                 - Convert GetActiveConnections method return from a struct to a dict
4471
4472         * include/NetworkManager.h
4473                 - Define the dict keys for return value of GetActiveConnections
4474
4475         * src/nm-manager.c
4476                 - impl_manager_activate_device -> impl_manager_activate_connection
4477                 - (add_one_connection_element): return a populated hash table, not
4478                         a structure
4479
4480         * libnm-glib/nm-client.c
4481           libnm-glib/nm-client.h
4482                 - nm_client_activate_device -> nm_client_activate_connection
4483                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4484                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4485                         instead of the custom structures.  Each element of the returned list
4486                         must be freed with nm_client_free_active_connections_element()
4487
4488 2008-03-18  Dan Williams  <dcbw@redhat.com>
4489
4490         * system-settings/plugins/ifcfg-fedora/parser.c
4491           system-settings/plugins/ifcfg-fedora/parser.h
4492           system-settings/plugins/ifcfg-fedora/plugin.c
4493                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4494                         profiles.  DNS servers and searches must now be stored in the ifcfg
4495                         files themselves
4496
4497 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4498
4499         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4500         print out username and password, it's supposed to be a secret.
4501
4502         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4503         request and set the device state accordingly.
4504
4505 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4506
4507         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4508
4509         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4510
4511 2008-03-18  Dan Williams  <dcbw@redhat.com>
4512
4513         * src/vpn-manager/nm-vpn-connection.c
4514                 - (get_secrets_cb): handle new GetSecrets return format
4515
4516 2008-03-18  Dan Williams  <dcbw@redhat.com>
4517
4518         Adapt system settings service for split 802.1x.
4519
4520         * system-settings/src/nm-system-config-interface.h
4521                 - clarify return value of get_secrets()
4522
4523         * system-settings/src/dbus-settings.c
4524                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4525                 - (check_for_secrets): check if there actually secrets returned by a
4526                         plugin
4527                 - (exported_connection_get_secrets): just return the plugin-returned
4528                         hash of settings' secrets if it looks valid
4529
4530         * system-settings/plugins/ifcfg-fedora/plugin.c
4531                 - (get_secrets): add split secrets with correct format to reply hash
4532
4533         * system-settings/plugins/ifcfg-fedora/parser.c
4534           system-settings/plugins/ifcfg-fedora/parser.h
4535                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4536                    connection_data_free, connection_data_add): keep secrets for
4537                         different settings in different hashes
4538
4539 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4540
4541         Clean up activating device deactivation.
4542
4543         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4544         should be done whether the device activation gets cancelled or the device
4545         is just getting deactivated.
4546         (nm_device_activation_cancel): Remove.
4547         (nm_device_deactivate_quickly): Handle the case where device is activating.
4548
4549         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4550         It does the exact same thing as real_deactivate_quickly().
4551
4552 2008-03-17  Dan Williams  <dcbw@redhat.com>
4553
4554         Split the 802.1x bits out of the wireless-security setting so they are
4555         generalized enough for wired 802.1x to use too.
4556
4557         * introspection/nm-exported-connection.xml
4558                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4559                         of just a hash of the secrets for one setting
4560
4561         * libnm-util/nm-setting-wireless-security.c
4562           libnm-util/nm-setting-wireless-security.h
4563                 - Remove 802.1x-specific stuff
4564                 - Added leap-username and leap-password properties for old-school LEAP
4565
4566         * src/nm-device.c
4567           src/nm-device.h
4568                 - (connection_secrets_updated_cb): take a list of updated settings names,
4569                         not just one
4570
4571         * src/supplicant-manager/nm-supplicant-config.c
4572           src/supplicant-manager/nm-supplicant-config.h
4573                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4574                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4575                         to nm_supplicant_config_add_setting_8021x()
4576                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4577                         the supplicant config
4578
4579         * src/nm-device-802-11-wireless.c
4580                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4581                 - (real_connection_secrets_updated): take a list of updated settings
4582                         names, not just one
4583
4584         * src/nm-device-802-3-ethernet.c
4585           src/nm-cdma-device.c
4586           src/nm-gsm-device.c
4587                 - (real_connection_secrets_updated_cb): take a list of updated settings
4588                         names, not just one
4589
4590         * src/nm-activation-request.c
4591           src/nm-activation-request.h
4592                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4593                         now passes a list of updated settings names, not just one
4594                 - (update_one_setting): new function; handle one updated setting
4595                 - (get_secrets_cb): handle multiple settings returned from the
4596                         settings service; have to be careful of ordering here as there are
4597                         some dependencies between settings (ex. wireless-security and 802.1x
4598                         in some cases)
4599
4600         * src/marshallers/nm-marshal.list
4601                 - new marshaller for connection-secrets-updated signal
4602
4603         * libnm-util/nm-setting-8021x.c
4604                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4605                         methods
4606                 - (verify): a valid 'eap' property is now required
4607
4608         * libnm-util/nm-connection.c
4609                 - (register_default_settings): add priorities to settings; there are
4610                         some dependencies between settings, and during the need_secrets
4611                         calls this priority needs to be respected.  For example, only the
4612                         wireless-security setting knows whether or not the connection is
4613                         going to use 802.1x or now, so it must be asked for secrets before
4614                         any existing 802.1x setting is
4615                 - (nm_connection_lookup_setting_type): expose
4616
4617         * libnm-util/nm-setting-wireless.c
4618                 - (verify): should verify even if all_settings is NULL; otherwise won't
4619                         catch the case where there is missing security
4620
4621         * libnm-util/nm-setting-wireless-security.c
4622                 - Remove everything to do with 802.1x
4623                 - Add old-school LEAP specific properties for username and password
4624                 - (need_secrets): rework LEAP secrets checking
4625                 - (verify): rework for LEAP and 802.1x verification
4626
4627 2008-03-17  Dan Williams  <dcbw@redhat.com>
4628
4629         * src/NetworkManagerPolicy.c
4630                 - (auto_activate_device): always remove the current activation check
4631                         from the pending activation list, otherwise when the policy gets
4632                         destroyed on NM exit it will attempt to free the already freed
4633                         activation check
4634
4635 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4636
4637         * src/backends/NetworkManagerSlackware.c 
4638         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4639
4640         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4641
4642 2008-03-14  Dan Williams  <dcbw@redhat.com>
4643
4644         * src/nm-manager.c
4645                 - (nm_device_interface_get_iface): g_object_get() will return an
4646                         allocated value, so this function must not return const
4647                 - (nm_device_interface_activate): free returned iface
4648
4649 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4650
4651         * libnm-util/Makefile.am: Add new files to build.
4652
4653         * libnm-util/nm-connection.c: Register NMSetting8021x.
4654
4655         * libnm-util/nm-setting-8021x.c
4656         * libnm-util/nm-setting-8021x.h: Implement.
4657
4658 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4659
4660         * libnm-util/Makefile.am: Add new files to build.
4661
4662         * libnm-util/nm-connection.c: Register NMSetting8021x.
4663
4664         * libnm-util/nm-setting-8021x.c
4665         * libnm-util/nm-setting-8021x.h: Implement.
4666
4667 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4668
4669         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4670         data.
4671
4672 2008-03-14  Dan Williams  <dcbw@redhat.com>
4673
4674         * include/wireless-helper.h
4675           include/Makefile.am
4676                 - One place for all the junk needed for #including wireless.h
4677
4678         * test/nm-tool.c
4679           src/NetworkManagerAP.c
4680           src/wpa.c
4681           src/Makefile.am
4682           libnm-util/nm-utils.c
4683           libnm-util/nm-setting-wireless.c
4684           libnm-glib/nm-device-802-11-wireless.c
4685           libnm-glib/nm-access-point.c
4686           libnm-glib/libnm-glib-test.c
4687                 - include wireless-helper.h, not iwlib.h
4688
4689         * configure.in
4690                 - Don't need libiw really, just need to check for wireless.h
4691
4692         * src/kernel-types.h
4693                 - Remove; used types moved into wpa.c
4694
4695         * src/nm-device-802-11-wireless.c
4696                 - (nm_device_802_11_wireless_update_signal_strength,
4697                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4698                    nm_device_802_11_wireless_set_mode,
4699                    nm_device_802_11_wireless_get_frequency,
4700                    nm_device_802_11_wireless_get_ssid,
4701                    nm_device_802_11_wireless_set_ssid,
4702                    nm_device_802_11_wireless_get_bitrate,
4703                    nm_device_802_11_wireless_get_bssid,
4704                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4705                         instead of iwlib functions
4706
4707 2008-03-14  Dan Williams  <dcbw@redhat.com>
4708
4709         * src/ppp-manager/nm-ppp-manager.c
4710                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4711                         should only take the DBusGMethodInvocation argument, not user/pass
4712                         too.  With dbus-glib, async functions only take 2 C arguments since
4713                         the real dbus method arguments get passed back with
4714                         dbus_g_method_return()
4715
4716 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4717
4718         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4719         Adapt the changes of NMSettingIP4Config.
4720
4721 2008-03-13  Dan Williams  <dcbw@redhat.com>
4722
4723         * src/NetworkManagerUtils.c
4724           src/NetworkManagerUtils.h
4725                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4726
4727         * src/NetworkManagerAP.c
4728           src/nm-device-802-11-wireless.c
4729           src/nm-device-802-3-ethernet.c
4730                 - s/iw_ether_ntop/nm_ether_ntop/g
4731
4732 2008-03-13  Dan Williams  <dcbw@redhat.com>
4733
4734         * src/NetworkManagerPolicy.c
4735                 - (update_routing_and_dns): never set the default route through an
4736                         IPv4LL addressed device
4737
4738 2008-03-13  Dan Williams  <dcbw@redhat.com>
4739
4740         * NetworkManagerUtils.c
4741           NetworkManagerUtils.h
4742                 - Remove NMSock stuff
4743                 - Remove the completion stuff
4744
4745         * nm-device.c
4746           nm-device.h
4747           NetworkManager.c
4748           NetworkManagerSystem.c
4749           autoip.c
4750           nm-device-802-11-wireless.c
4751           nm-device-802-3-ethernet.c
4752                 - Remove NMSock and completion stuff
4753                 - Remove nm_ioctl_info()
4754
4755 2008-03-12  Dan Williams  <dcbw@redhat.com>
4756
4757         * src/nm-device.c
4758                 - (merge_ip4_config): avoid duplicates
4759
4760 2008-03-12  Dan Williams  <dcbw@redhat.com>
4761
4762         * libnm-util/nm-setting-ip4-config.c
4763           libnm-util/nm-setting-ip4-config.h
4764                 - Remove 'manual' and 'autoip' properties
4765                 - Add 'method' property
4766                 - (verify): fix verification with 'method'
4767                 - (finalize): free 'method'
4768                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4769                         up for 'method'
4770
4771         * src/nm-device.c
4772                 - (real_act_stage3_ip_config_start): check IP4Config method
4773                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4774                         the future
4775                 - (merge_ip4_config): IP settings are valid with DHCP too
4776                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4777                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4778
4779         * src/nm-device-802-11-wireless.c
4780                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4781                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4782                         only on demand
4783
4784         * system-settings/plugins/ifcfg-fedora/parser.c
4785           system-settings/plugins/ifcfg-suse/parser.c
4786                 - (make_ip4_setting): fix up for 'method'
4787
4788 2008-03-12  Dan Williams  <dcbw@redhat.com>
4789
4790         * system-settings/plugins/ifcfg-fedora/parser.c
4791           system-settings/plugins/ifcfg-fedora/parser.h
4792                 - (get_ifcfg_name): ignore more file suffixes
4793                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4794
4795 2008-03-12  Dan Williams  <dcbw@redhat.com>
4796
4797         * configure.in
4798                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4799
4800 2008-03-12  Dan Williams  <dcbw@redhat.com>
4801
4802         * system-settings/plugins/ifcfg-fedora/plugin.c
4803                 - (write_auto_wired_connection): new function; write out an auto
4804                         wired connection file since the applet isn't doing it any more
4805                 - (reload_all_connections): write out the auto wired connection file
4806                         if there aren't any wired connections already
4807                 - (init): don't leak a GError
4808
4809 2008-03-12  Dan Williams  <dcbw@redhat.com>
4810
4811         * src/nm-device-interface.c
4812                 - (nm_device_interface_activate): print the ID of the connection
4813                         that's about to be activated
4814
4815 2008-03-12  Dan Williams  <dcbw@redhat.com>
4816
4817         Harmonize the 802.11 bitrate API
4818
4819         * introspection/nm-access-point.xml
4820                 - 'Rate' -> 'MaxBitrate'; clarify units
4821
4822         * introspection/nm-device-802-11-wireless.xml
4823                 - Clarify units of 'Bitrate'
4824
4825         * src/NetworkManagerAP.c
4826           src/NetworkManagerAP.h
4827                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4828                         property to 'max-bitrate'
4829                 - (foreach_property_cb): convert rate to Kb/s
4830
4831         * src/nm-device-802-11-wireless.c
4832                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4833
4834         * libnm-glib/nm-access-point.c
4835           libnm-glib/nm-access-point.h
4836                 - 'rate' -> 'max-bitrate'
4837
4838         * test/nm-tool.c
4839           libnm-glib/libnm-glib-test.c
4840                 - Fix up for these changes
4841
4842 2008-03-12  Dan Williams  <dcbw@redhat.com>
4843
4844         * src/nm-device.c
4845                 - (nm_device_set_ip4_config): don't send property notifications when
4846                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4847                         which dbus-glib can't parse because the value is NULL, which isn't
4848                         a legal object path.  Setting the IP4 config to NULL is only
4849                         valid when deactivating a device anyway, so the device state change
4850                         will alert listeners that the ip4 config is invalid.
4851
4852 2008-03-12  Dan Williams  <dcbw@redhat.com>
4853
4854         * src/nm-properties-changed-signal.c
4855                 - (add_to_string): better handling of NULL objects
4856
4857 2008-03-12  Dan Williams  <dcbw@redhat.com>
4858
4859         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4860         convert the libnm-glib NMDevice8023Ethernet to cached properties
4861
4862         * introspection/nm-device-802-3-ethernet.xml
4863                 - New 'Carrier' property
4864                 - New 'PropertiesChanged' signal
4865
4866         * introspection/nm-device.xml
4867                 - Remove 'Carrier' property
4868                 - Remove 'CarrierChanged' signal
4869
4870         * src/nm-device-interface.c
4871           src/nm-device-interface.h
4872                 - (nm_device_interface_init): remove 'carrier' property and
4873                         'carrier-changed' signal
4874
4875         * src/nm-device.c
4876           src/nm-device.h
4877                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4878                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4879                         the link here; wired device will handle that
4880                 - (handle_dhcp_lease_change): don't bother updating link here
4881                 - (get_property, nm_device_class_init): remove carrier property
4882
4883         * src/nm-device-802-11-wireless.c
4884                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4885                         real_update_link(); wireless devices don't use carrier at all
4886                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4887                    supplicant_iface_connection_state_cb_handler,
4888                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4889
4890         * src/nm-device-802-3-ethernet.c
4891           src/nm-device-802-3-ethernet.h
4892                 - (nm_device_802_3_ethernet_carrier_on,
4893                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4894                         instead of nm_device_set_carrier()
4895                 - (device_state_changed): update link from sysfs on activation;
4896                         replaces real_update_link()
4897                 - (real_update_link): remove, replaced by device_state_changed()
4898                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4899                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4900                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4901                         new get_carrier function
4902                 - (get_property): add 'carrier' property
4903                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4904                         hook into property-changed signal helper
4905
4906         * src/NetworkManagerPolicy.c
4907                 - (device_carrier_changed): will only ever be called with a wired device
4908                 - (device_added): only hook up to carrier-changed for wired devices
4909
4910         * libnm-glib/nm-device.c
4911           libnm-glib/nm-device.h
4912                 - (constructor, nm_device_class_init): remove carrier-changed signal
4913                 - (device_carrier_changed_proxy): remove; unused
4914                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4915
4916         * libnm-glib/nm-device-802-3-ethernet.c
4917           libnm-glib/nm-device-802-3-ethernet.h
4918                 - Convert to cached properties like AP and Wireless objects
4919                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4920                         instead of a 'char *', return value should not be freed
4921                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4922                 - (constructor): hook into properties-changed helper
4923                 - (set_property, get_property): new functions
4924                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4925
4926         * test/nm-tool.c
4927                 - (detail_device): strdup the wired hardware address too since it's
4928                         cached now
4929
4930         * libnm-glib/libnm-glib-test.c
4931                 - (dump_wired): strdup the wired hardware address too since it's
4932                         cached now
4933
4934 2008-03-12  Dan Williams  <dcbw@redhat.com>
4935
4936         * libnm-util/nm-setting-ip4-config.c
4937           libnm-util/nm-setting-ip4-config.h
4938                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4939                         the 'autoip' property from the spec
4940
4941 2008-03-11  Dan Williams  <dcbw@redhat.com>
4942
4943         * src/backends/NetworkManagerGeneric.c
4944           src/backends/NetworkManagerGeneric.h
4945                 - (nm_generic_device_get_use_dhcp): remove
4946
4947 2008-03-11  Dan Williams  <dcbw@redhat.com>
4948
4949         * src/nm-device.c
4950                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4951                         already in nm_device_set_ip4_config()
4952                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4953                         due to a DHCP rebind fails
4954                 - (nm_device_set_ip4_config): send property notifications when the
4955                         ip4 config changes
4956                 - (get_property): only report IP4Config property during valid states
4957
4958         * src/NetworkManagerPolicy.c
4959                 - (update_routing_and_dns): ignore devices that don't have an ip4
4960                         config; add parameter 'force_update' to allow callers to specify
4961                         that changes should be made even if the default device doesn't change
4962                 - (device_ip4_config_changed): update DNS and routing when the device's
4963                         IP4Config changes, like for DHCP updates
4964                 - (device_added): listen for ip4-config property changes
4965
4966 2008-03-11  Dan Williams  <dcbw@redhat.com>
4967
4968         Fix address handling as a result of DHCP rebind/renew/reboot.
4969
4970         * src/NetworkManagerSystem.c
4971                 - (check_one_address): delete an address if it doesn't match a given
4972                         one for the same interface
4973                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4974                         be smarter about flushing addresses (only flush ones that don't
4975                         match the one we're about to apply)
4976
4977         * src/backends/NetworkManagerDebian.c
4978           src/backends/NetworkManagerSuSE.c
4979           src/backends/NetworkManagerArch.c
4980           src/backends/NetworkManagerSlackware.c
4981           src/backends/NetworkManagerRedHat.c
4982           src/backends/NetworkManagerPaldo.c
4983           src/backends/NetworkManagerFrugalware.c
4984           src/backends/NetworkManagerGentoo.c
4985                 - (nm_system_delete_default_route): remove
4986
4987         * src/backends/NetworkManagerGeneric.c
4988           src/backends/NetworkManagerGeneric.h
4989                 - (nm_generic_enable_loopback): fix the loopback device label
4990                 - (nm_generic_delete_default_route): remove; no longer used
4991
4992 2008-03-11  Dan Williams  <dcbw@redhat.com>
4993
4994         * src/nm-device-interface.h
4995                 - Delimit property name words with '-', otherwise g_object_notify()
4996                         doesn't work the way we expect
4997
4998 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4999
5000         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5001
5002 2008-03-11  Dan Williams  <dcbw@redhat.com>
5003
5004         * src/NetworkManagerPolicy.c
5005                 - (update_routing_and_dns): don't change anything if the default device
5006                         hasn't changed; print something out when switching the default route
5007                         and DNS
5008
5009 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5010
5011         Implement PPPoE.
5012
5013         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5014         setting. Use "nic-$eth".
5015
5016         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5017         the device is activating here to fix a race condition.
5018
5019         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5020
5021         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5022         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5023         (nm_ppp_manager_start): Take activation request instead of connection, we might
5024         need it for asking secrets.
5025         (nm_ppp_manager_update_secrets): Implement.
5026
5027         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5028         ppp manager start. It might be needed for asking secrets.
5029
5030         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5031         (ppp_state_changed): Handle pppd daemon disappearing.
5032         (pppoe_stage2_config): Send activation request to ppp manager start.
5033
5034         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5035
5036         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5037         username and password.
5038         
5039 2008-03-10  Dan Williams  <dcbw@redhat.com>
5040
5041         * src/nm-device.c
5042                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5043                         response to a DHCP lease change
5044                 - (dhcp_state_changed): handle DHCP lease changes while activated
5045                 - (nm_device_set_ip4_config): remove a previously set named config
5046                         when setting an ip4 config
5047
5048 2008-03-10  Dan Williams  <dcbw@redhat.com>
5049
5050         * src/nm-serial-device.c
5051                 - (nm_serial_device_send_command): report errno on error
5052                 - (get_reply_got_data): limit the size of the overall buffer
5053                 - (wait_for_reply_info_destroy): destroy result string
5054                 - (wait_for_reply_got_data): append received data to an overall buffer
5055                         until timeout, filled buffer, or error instead of keeping a per-call
5056                         buffer.  Some devices send data slowly enough that this function
5057                         gets called multiple times for the same command stream.
5058                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5059                         wait_for_reply_got_data() here
5060
5061 2008-03-10  Dan Williams  <dcbw@redhat.com>
5062
5063         * src/nm-cdma-device.c
5064                 - (do_dial, init_modem): handle errors from
5065                         nm_serial_device_send_command_string()
5066
5067         * src/nm-gsm-device.c
5068                 - (do_dial, manual_registration, automatic_registration_get_network,
5069                    automatic_registration, enter_pin, check_pin, init_modem): handle
5070                         errors from nm_serial_device_send_command_string()
5071
5072 2008-03-10  Dan Williams  <dcbw@redhat.com>
5073
5074         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5075
5076         * src/named-manager/nm-named-manager.c
5077                 - (compute_searches): prefer searches before domains
5078                 - (compute_domain): new function
5079                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5080                 - (merge_one_ip4_config): if there are no searches in the source config,
5081                         merge domains of the source config into the target config
5082                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5083
5084 2008-03-10  Dan Williams  <dcbw@redhat.com>
5085
5086         * src/nm-serial-device.c
5087                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5088                 - (wait_for_reply_got_data): try to handle slower serial devices where
5089                         the reply is broken up into multiple reads by concatenating replies
5090                         together until either an error is received or the search string is
5091                         found
5092
5093 2008-03-10  Dan Williams  <dcbw@redhat.com>
5094
5095         * src/nm-device.c
5096                 - (nm_device_bring_down): deactivate the device if it's activating too,
5097                         not just if it's already activated.  This makes sure that everything
5098                         from an association attempt is cleaned up (like DHCP for example)
5099
5100 2008-03-10  Dan Williams  <dcbw@redhat.com>
5101
5102         * src/nm-serial-device.c
5103                 - (config_fd): report error from TCSETA
5104                 - (nm_serial_device_open): fail when config_fd() fails
5105
5106 2008-03-10  Dan Williams  <dcbw@redhat.com>
5107
5108         * src/nm-ip4-config.c
5109                 - (nm_ip4_config_init): allocate searches list
5110                 - (finalize): free searches list
5111
5112 2008-03-09  Dan Williams  <dcbw@redhat.com>
5113
5114         Patch from Bas Zoetekouw <bas@debian.org>
5115
5116         * src/dhcp-manager/nm-dhcp-manager.c
5117                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5118
5119 2008-03-09  Dan Williams  <dcbw@redhat.com>
5120
5121         Patch from Bas Zoetekouw <bas@debian.org>
5122
5123         * src/nm-ip4-config.c
5124           src/nm-ip4-config.h
5125                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5126                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5127                         domains.  'searches' is the correct way to store multiple search
5128                         domains, whereas 'domains' is really just supposed to store one
5129                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5130                         search domains to the client.
5131                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5132
5133 2008-03-09  Dan Williams  <dcbw@redhat.com>
5134
5135         * src/dhcp-manager/nm-dhcp-manager.c
5136                 - (dhclient_run): send interface-specific config files to dhclient
5137
5138 2008-03-07  Dan Williams  <dcbw@redhat.com>
5139
5140         * system-settings/plugins/ifcfg-fedora/parser.c
5141                 - (is_wireless_device): new function; test a device for wireless
5142                         extensions
5143                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5144                         test the device for wireless extensions to determine the type
5145
5146 2008-03-07  Dan Williams  <dcbw@redhat.com>
5147
5148         Change manager's StateChange signal to StateChanged for consistency.
5149
5150         * introspection/nm-manager.xml
5151                 - Add 'StateChanged' signal
5152                 - Move 'StateChange' down to the deprecated section
5153
5154         * src/nm-hal-manager.c
5155                 - (nm_hal_manager_new): connect to 'state-changed' instead
5156
5157         * src/NetworkManagerPolicy.c
5158                 - (nm_policy_new): connect to 'state-changed' instead
5159
5160         * src/nm-manager.c
5161           src/nm-manager.h
5162                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5163                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5164                         of 'state-change'
5165
5166         * libnm-glib/nm-client.c
5167           libnm-glib/nm-client.h
5168                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5169                         track and proxy 'state-changed' instead of 'state-change'
5170
5171 2008-03-07  Dan Williams  <dcbw@redhat.com>
5172
5173         First pass of multiple active device support.  Expect bugs.
5174
5175         * src/nm-ip4-config.c
5176           src/nm-ip4-config.h
5177                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5178                         there are better ways to do this in the named manager
5179
5180         * src/nm-device.c
5181           src/nm-device.h
5182                 - (nm_device_can_activate): return whether the device can activate a
5183                         connection right now; taking into account things like carrier state
5184                         and rfkill state
5185                 - (nm_device_get_best_auto_connection): renamed from
5186                         nm_device_get_best_connection
5187                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5188                         device subclasses themselves, so that each device can override the
5189                         MTU from it's NMSetting subclass if needed
5190                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5191                         in NetworkManagerSystem.c, not here
5192
5193         * src/named-manager/nm-named-manager.c
5194           src/named-manager/nm-named-manager.h
5195                 - (nm_named_manager_name_owner_changed,
5196                    nm_named_manager_dbus_connection_changed): fix for changes to
5197                         rewrite_resolv_conf()
5198                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5199                         from parameter list
5200                 - (merge_one_ip4_config): new function; merge ip4 configs together
5201                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5202                         ip4 configs; the VPN config takes precedence, then the best
5203                         device config, then the rest of the configs
5204                 - (get_domain_for_config): take the NMNamedManager as an argument
5205                         to check whether the config is the VPN config
5206                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5207                         attribute from ip4 configs
5208                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5209                 - (remove_ip4_config_from_named): fix for changes to
5210                         get_domain_for_config()
5211                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5212                         based on its type; callers must pass in the type now
5213                 - (get_last_default_domain): remove, unused
5214                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5215
5216         * src/nm-device-802-11-wireless.c
5217                 - (real_can_activate): new function
5218                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5219                 - (real_act_stage4_get_ip4_config): handle MTU override
5220
5221         * src/nm-device-802-3-ethernet.c
5222                 - (real_can_activate): new function
5223                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5224                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5225
5226         * src/vpn-manager/nm-vpn-connection.c
5227                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5228                         attribute on the ip4 config
5229
5230         * src/NetworkManagerPolicy.c
5231                 - (nm_policy_auto_get_best_device): remove
5232                 - (nm_policy_device_change_check): remove
5233                 - (update_default_route): new function; set the default route via
5234                         the specified device
5235                 - (get_device_priority): new function; return the priority number of
5236                         a device type WRT which one should have the default route.  Order is
5237                         (highest to lowest)  wired, wireless, GSM, CDMA.
5238                 - (update_routing_and_dns): new function; determine which device should
5239                         have the default route, then update the routing table and DNS
5240                 - (maybe_auto_activate_device): new function; if a device is now
5241                         available for activation, find out what connection it would like to
5242                         activate and do it
5243                 - (schedule_activate_check): new function; if a device can be activated
5244                         now, schedule the activation.  Each device may have only one
5245                         pending activation at a given time.
5246                 - (device_state_changed): if activation was canceled, try again,
5247                         possibly with another connection; if the device was activated,
5248                         update routing and DNS; if the device was deactivated, try again
5249                         with another connection
5250                 - (device_carrier_changed): if there is no carrier, deactivate the
5251                         device; otherwise schedule an activation check for the device
5252                 - (wireless_networks_changed): schedule an activation check for the
5253                         device
5254                 - (device_added): keep track of the signal handler IDs so they can
5255                         be removed when the device goes away
5256                 - (device_removed): remove any signal handlers that might be attached
5257                         to the device; update routing and DNS
5258                 - (schedule_activate_all): new function
5259                 - (connections_added, connection_added, connection_updated): when
5260                         connections change, schedule all devices for an activation check
5261                 - (connection_removed): when a device is deactivated because its
5262                         connection was removed, schedule another activation check for it
5263                 - (nm_policy_destroy): destroy pending activations and disconnect
5264                         all device signal handlers
5265
5266         * src/nm-manager.c
5267                 - (nm_manager_activate_device): if the device was already actived,
5268                         deactivate it
5269                 - (deactivate_old_device): remove
5270                 - (connection_added_default_handler, impl_manager_activate_device):
5271                         don't deactivate other devices when activating this one
5272
5273         * src/backends/NetworkManagerGentoo.c
5274           src/backends/NetworkManagerFrugalware.c
5275           src/backends/NetworkManagerPaldo.c
5276           src/backends/NetworkManagerRedHat.c
5277           src/backends/NetworkManagerSlackware.c
5278           src/backends/NetworkManagerArch.c
5279           src/backends/NetworkManagerSuSE.c
5280           src/backends/NetworkManagerDebian.c
5281                 - (nm_system_get_mtu): remove; MTU should be provided through the
5282                         distro's system settings service plugin instead
5283                 - (nm_system_device_add_default_route_via_device): remove
5284                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5285                 - (nm_system_device_replace_default_route): new function; call
5286                         generic implementation
5287
5288         * src/backends/NetworkManagerGeneric.c
5289           src/backends/NetworkManagerGeneric.h
5290                 - (nm_generic_device_add_default_route_via_device,
5291                    nm_generic_device_add_default_route_via_device_with_iface): remove
5292                 - (nm_generic_device_replace_default_route): replace the default route
5293                         with the given route via some gateway
5294
5295         * src/NetworkManagerSystem.c
5296           src/NetworkManagerSystem.h
5297                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5298                         to routing and DNS; but set the MTU here
5299                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5300                         ip_iface of the active device; use the standard MTU setting function
5301                 - (nm_system_set_mtu): remove
5302                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5303
5304 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5305
5306         Rework the interaction between ppp manager and pppd plugin. Register a well
5307         known DBUS service in manager and let the plugin call it's methods instead
5308         of listening plugin's signals.
5309
5310         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5311         of emitting signals.
5312
5313         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5314
5315         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5316
5317         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5318         nm_ppp_manager_start().
5319
5320         * introspection/nm-ppp-manager.xml: New file.
5321
5322         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5323         the case correctly where driver is trying to send -1 for the speed, which gets
5324         casted to u16 and thus is always > 0.
5325
5326 2008-03-07  Dan Williams  <dcbw@redhat.com>
5327
5328         * src/nm-hal-manager.c
5329                 - (nm_get_device_driver_name): use net.originating_device first, fall
5330                         back to physical device.  HAL has deprecated physical_device.
5331
5332         * libnm-glib/nm-device.c
5333                 - (get_product_and_vendor): use net.originating_device first, fall
5334                         back to physical device.  HAL has deprecated physical_device.
5335                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5336
5337 2008-03-07  Dan Williams  <dcbw@redhat.com>
5338
5339         * src/nm-netlink.c
5340                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5341                         last commit; fix that
5342                 - (get_link_cache): print error string
5343
5344 2008-03-07  Dan Williams  <dcbw@redhat.com>
5345
5346         * src/nm-netlink.c
5347                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5348                         don't need this hack any more (Benoit Boissinot)
5349
5350 2008-03-06  Dan Williams  <dcbw@redhat.com>
5351
5352         * autogen.sh
5353                 - Die gnome-common, die
5354
5355 2008-03-04  Dan Williams  <dcbw@redhat.com>
5356
5357         Patch from Michael Biebl <biebl@debian.org>
5358
5359         * NetworkManager.pc.in
5360                 - doesn't actually depend on dbus-1
5361
5362         * libnm-util/nm-utils.h
5363                 - remove unused #include <dbus/dbus.h>
5364
5365         * libnm-glib/libnm_glib.pc.in
5366                 - depends on glib and dbus-glib
5367
5368 2008-03-02  Dan Williams  <dcbw@redhat.com>
5369
5370         * src/NetworkManagerPolicy.c
5371                 - s/device_state_changed_idle_id/update_state_id/
5372
5373 2008-03-02  Dan Williams  <dcbw@redhat.com>
5374
5375         * src/nm-device.c
5376           src/nm-device.h
5377           src/nm-device-802-11-wireless.c
5378           src/nm-device-802-3-ethernet.c
5379           src/NetworkManagerPolicy.c
5380                 - s/link_active/carrier
5381                 - nm_device_set_active_link() -> nm_device_set_carrier()
5382                 - nm_device_has_active_link() -> nm_device_get_carrier()
5383
5384 2008-03-02  Dan Williams  <dcbw@redhat.com>
5385
5386         * system-settings/plugins/ifcfg-fedora/parser.c
5387                 - (make_wireless_setting): fail connection creation on missing SSID
5388
5389 2008-02-29  Dan Williams  <dcbw@redhat.com>
5390
5391         * src/NetworkManagerPolicy.c
5392                 - (nm_policy_device_change_check): ensure that a previously active
5393                         device with a system connection has a link before denying a switch
5394                         to a user connection
5395
5396 2008-02-29  Dan Williams  <dcbw@redhat.com>
5397
5398         * src/nm-device-802-11-wireless.c
5399                 - (link_timeout_cb): try again if scanning; deactivate the device when
5400                         activated if the link dies
5401                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5402                         15 seconds
5403
5404 2008-02-29  Dan Williams  <dcbw@redhat.com>
5405
5406         * src/nm-device-802-11-wireless.c
5407           src/nm-device-802-11-wireless.h
5408                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5409                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5410                 - (device_cleanup): reset the scan interval lower when the device
5411                         deactivates
5412                 - (can_scan): base decision mostly off device state, not supplicant
5413                         interface state since the supplicant interface state isn't a
5414                         great indicator of whether the device is active or not
5415                 - (request_wireless_scan): clean up; schedule the next scan here
5416                 - (schedule_scan): only back the scan interval off if a new scan
5417                         actually gets scheduled; and make scan intervals tighter when the
5418                         device is disconnected
5419                 - (supplicant_iface_state_cb_handler): fold in the bits of
5420                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5421                         interval to minimum
5422                 - (activation_success_handler): reset scan interval to something
5423                         reasonable 
5424
5425 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5426
5427         reviewed by: Steev <steev@steev.net>
5428
5429         * configure.in:
5430         * src/backends/NetworkManagerGentoo.c:
5431         (nm_system_restart_mdns_responder):
5432                 Howl is no longer a supported mDNS provider
5433
5434 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5435
5436         Get rid of a bunch of unused distro specific functions.
5437
5438 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5439
5440         Implement suse plugin for system settings daemon.
5441
5442         * system-settings/plugins/ifcfg-suse/*: Implement.
5443
5444         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5445         suse.
5446
5447         * configure.in: Check (without failing) for gio.
5448         Create ifcfg-suse plugin's Makefile.
5449
5450 2008-02-20  Dan Williams  <dcbw@redhat.com>
5451
5452         * libnm-util/nm-connection.c
5453           libnm-util/nm-connection.h
5454                 - (nm_connection_compare): accept compare flags and pass them to the
5455                         setting compare function
5456
5457         * libnm-util/nm-setting.c
5458           libnm-util/nm-setting.h
5459                 - (nm_setting_compare): accept compare flags; ignore properties that are
5460                         marked fuzzy
5461
5462         * libnm-util/nm-setting-connection.c
5463           libnm-util/nm-setting-wireless.c
5464           libnm-util/nm-setting-ppp.c
5465           libnm-util/nm-setting-wired.c
5466                 - Mark some setting properties as ignorable when doing a fuzzy compare
5467
5468         * src/nm-device.c
5469                 - (device_activation_precheck): use exact compare
5470
5471 2008-02-20  Dan Williams  <dcbw@redhat.com>
5472
5473         * src/NetworkManagerPolicy.c
5474                 - (nm_policy_device_change_check): get scope off the connection, not
5475                         using the manager helper
5476
5477         * src/nm-manager.c
5478           src/nm-manager.h
5479                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5480                 - (connection_get_settings_cb): set scope and path on connection, not
5481                         using GObject data items
5482                 - (get_connection_for_proxy): don't need to return path, since that
5483                         can be gotten from the connection
5484                 - (get_connection_for_proxy): get path off the connection, not from
5485                         parameters
5486                 - (connection_removed_cb, connection_updated_cb): don't need to get
5487                         path from get_connection_for_proxy(); get scope off the connection
5488                         instead of using GObject data items
5489                 - (connection_added_default_handler, add_one_connection_element): use
5490                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5491                 - (nm_manager_get_connection_dbus_path): remove
5492                 - (nm_manager_get_connection_scope): remove
5493
5494 2008-02-20  Dan Williams  <dcbw@redhat.com>
5495
5496         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5497                 on confusing names
5498
5499         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5500                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5501                 NMExportedConnection
5502
5503         * Internally rename NMConnectionType -> NMConnectionScope
5504
5505         * Provide default implementations of the 'get_id' and 'get_settings' methods
5506                 of NMExportedConnection
5507
5508 2008-02-15  Dan Williams  <dcbw@redhat.com>
5509
5510         * src/nm-device-802-11-wireless.c
5511                 - (device_cleanup): release the AP list here too so that the AP list
5512                         doesn't survive across suspend/resume and up/down.  There is some
5513                         room for optimization, for example blow the list away when the card
5514                         brought back up, but only if the device has only been down for a
5515                         minute or more.
5516
5517 2008-02-15  Dan Williams  <dcbw@redhat.com>
5518
5519         * src/nm-hal-manager.c
5520                 - (modem_device_creator): recognize new HAL modem capabilities
5521
5522 2008-02-12  Dan Williams  <dcbw@redhat.com>
5523
5524         * system-settings/plugins/ifcfg-fedora/plugin.c
5525                 - (watch_path): handle IN_DELETE_SELF too
5526                 - (handle_connection_changed): notify when removing a connection
5527                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5528                         case of a file moving out of the profile directory
5529
5530 2008-02-12  Dan Williams  <dcbw@redhat.com>
5531
5532         * system-settings/plugins/ifcfg-fedora/parser.c
5533                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5534
5535 2008-02-12  Dan Williams  <dcbw@redhat.com>
5536
5537         * libnm-util/nm-utils.c
5538                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5539                         just any empty array
5540
5541 2008-02-12  Dan Williams  <dcbw@redhat.com>
5542
5543         * system-settings/src/nm-system-config-interface.c
5544           system-settings/src/nm-system-config-interface.h
5545                 - (load_connections): get_connections() should now return an allocated
5546                         GSList that the system settings service will free
5547
5548         * system-settings/plugins/ifcfg-fedora/plugin.c
5549           system-settings/plugins/ifcfg-fedora/parser.h
5550           system-settings/plugins/ifcfg-fedora/parser.c
5551                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5552                         in the profile directory, handle resolv.conf file changes
5553
5554 2008-02-10  Dan Williams  <dcbw@redhat.com>
5555
5556         * src/nm-device-802-3-ethernet.c
5557                 - (real_bring_up): save the supplicant interface state signal id
5558                 - (real_bring_down): disconnect from the supplicant interface state
5559                         signal
5560
5561 2008-02-07  Dan Williams  <dcbw@redhat.com>
5562
5563         * initscript/RedHat/NetworkManager.in
5564           initscript/RedHat/NetworkManagerDispatcher.in
5565                 - Add new-style LSB init headers
5566
5567 2008-02-07  Dan Williams  <dcbw@redhat.com>
5568
5569         * system-settings/src/dbus-settings.c
5570           system-settings/src/dbus-settings.h
5571                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5572                         table of secrets
5573                 - (connection_settings_get_secrets): consolidate error returns into
5574                         one place; use the new get_secrets() plugin interface function to
5575                         get secrets from the plugin itself rather than using GObject data
5576                         magic
5577
5578         * system-settings/src/main.c
5579                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5580                    load_connections): keep a private list of the plugin-returned
5581                         connections, don't use the plugin's GSList
5582
5583         * system-settings/plugins/ifcfg-fedora/plugin.c
5584                 - (watch_path): watch the path, not the filename (duh)
5585                 - (reload_all_connections): use the direct hash/equal functions; the
5586                         ones for int aren't appropriate here
5587                 - (get_secrets, system_config_interface_init): implement the
5588                         get_secrets() function
5589                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5590                         now in the connection's ConnectionData instead of being a GObject
5591                         data property
5592                 - (handle_profile_item_changed): ifcfg file path is now in the
5593                         connection's ConnectionData instead of being a GObject data property;
5594                         be sure to copy secrets over from the new connection to the existing
5595                         connection when updating the connection's settings
5596                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5597                         file descriptor
5598
5599         * system-settings/plugins/ifcfg-fedora/parser.c
5600           system-settings/plugins/ifcfg-fedora/parser.h
5601                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5602                    connection_data_copy_secrets, connection_data_free,
5603                    connection_data_add): new functions; connection data manipulation
5604                 - (make_wireless_security_setting): stuff secrets into the
5605                         connection data, not as GObject data items; make sure to close
5606                         the keys ifcfg file
5607                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5608                         connection data to the connection
5609
5610 2008-02-07  Dan Williams  <dcbw@redhat.com>
5611
5612         * system-settings/src/nm-system-config-interface.c
5613           system-settings/src/nm-system-config-interface.h
5614                 - Add a get_secrets() interface function to retrieve secrets for a
5615                         specific setting of a specific connection.  Document the interface
5616                         a bit more too.
5617
5618 2008-02-07  Dan Williams  <dcbw@redhat.com>
5619
5620         * src/nm-device-802-11-wireless.c
5621                 - (handle_auth_or_fail): new function; consolidate device activation
5622                         failure check after a certain number of failures getting secrets
5623                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5624                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5625                         the connection if secrets were requested more than a few times
5626                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5627                         tries here; otherwise they are cleared before the IP configure
5628                         timeout, which happens with open system WEP when key is wrong
5629                 - (activation_success_handler): clear wireless secrets tries here too
5630
5631 2008-02-07  Dan Williams  <dcbw@redhat.com>
5632
5633         * src/NetworkManagerPolicy.c
5634                 - (connection_updated): clear invalid tag when connection gets updated
5635                         to allow that connection to be tried again
5636                 - (nm_policy_new): save signal ids so they can be disconnected when
5637                         the policy is destroyed
5638                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5639                         and disconnect all signals from the manager object so that none
5640                         of the policy functions gets called after the policy is destroyed
5641
5642 2008-02-06  Dan Williams  <dcbw@redhat.com>
5643
5644         * src/nm-manager.c
5645                 - (finalize): remove devices a bit earlier; clean up system settings
5646                         poke
5647                 - (nm_manager_name_owner_changed): clean up system settings poke when
5648                         the service appears, and try to restart it if it fails
5649                 - (poke_system_settings_daemon_cb): try to get the system settings
5650                         service started through D-Bus service activation
5651                 - (initial_get_connections): start the system settings daemon if it's
5652                         not already running
5653
5654 2008-02-05  Dan Williams  <dcbw@redhat.com>
5655
5656         * src/supplicant-manager/nm-supplicant-config.c
5657                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5658                         broadcast networks too
5659
5660 2008-02-04  Dan Williams  <dcbw@redhat.com>
5661
5662         * system-settings/plugins/ifcfg-fedora/parser.c
5663                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5664                         need key_mgmt set too
5665                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5666                         .bak files; ensure that an error is set whenever NULL gets returned
5667
5668 2008-02-04  Dan Williams  <dcbw@redhat.com>
5669
5670         * system-settings/src/Makefile.am
5671                 - Install D-Bus service activation file for the system settings
5672                         service
5673
5674         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5675                 - D-Bus service activation file for system settings service
5676
5677 2008-02-04  Dan Williams  <dcbw@redhat.com>
5678
5679         * system-settings/src/main.c
5680                 - (parse_config_file): parse a config file
5681                 - (main): accept --config option and read plugins from config file
5682
5683 2008-02-04  Dan Williams  <dcbw@redhat.com>
5684
5685         * system-settings/plugins/ifcfg-fedora/plugin.c
5686                 - Change reported name to 'ifcfg-fedora'
5687                 - Use IFCFG_PLUGIN_NAME
5688
5689         * system-settings/plugins/ifcfg-fedora/plugin.c
5690                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5691
5692 2008-02-04  Dan Williams  <dcbw@redhat.com>
5693
5694         * system-settings/plugins/ifcfg-fedora/parser.c
5695                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5696                 - (make_connection_setting): use get_ifcfg_name()
5697                 - (make_wireless_security_setting): handle shadow key files
5698                 - (get_one_wep_key): treat empty string as NULL
5699
5700 2008-02-04  Dan Williams  <dcbw@redhat.com>
5701
5702         * src/supplicant-manager/nm-supplicant-manager.c
5703                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5704                         glib automatically reschedule
5705                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5706                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5707                         the supplicant
5708
5709 2008-02-01  Dan Williams  <dcbw@redhat.com>
5710
5711         * src/NetworkManagerPolicy.c
5712                 - (device_state_changed): schedule a change check when a device gets
5713                         deactivated so something happens if you disconnect GSM/CDMA
5714
5715 2008-01-31  Dan Williams  <dcbw@redhat.com>
5716
5717         * src/nm-device-802-11-wireless.h
5718           src/nm-device-802-11-wireless.c
5719                 - (ap_list_get_ap_by_ssid, is_associated,
5720                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5721                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5722                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5723                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5724                         function
5725
5726 2008-01-30  Dan Williams  <dcbw@redhat.com>
5727
5728         * system-settings/plugins/ifcfg
5729         * system-settings/plugins/ifcfg-fedora
5730                 - Move the ifcfg plugin to ifcfg-fedora
5731
5732 2008-01-24  Dan Williams  <dcbw@redhat.com>
5733
5734         * libnm-glib/nm-device-802-11-wireless.c
5735                 - (get_access_point): move the "/" check here; check for invalid path
5736                         too
5737                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5738                         to get_access_point()
5739                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5740                         to send signals for non-existent access points
5741
5742 2008-01-24  Dan Williams  <dcbw@redhat.com>
5743
5744         * libnm-glib/nm-device-802-11-wireless.c
5745                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5746
5747 2008-01-23  Dan Williams  <dcbw@redhat.com>
5748
5749         * libnm-glib/libnm_glib.c
5750                 - (libnm_glib_init): make thread joinable
5751                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5752
5753 2008-01-23  Dan Williams  <dcbw@redhat.com>
5754
5755         * test/libnm_glib_test.c
5756                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5757                 - (main): set up signal handlers; call libnm_glib_shutdown
5758
5759 2008-01-21  Dan Williams  <dcbw@redhat.com>
5760
5761         * include/NetworkManager.h
5762                 - Add CDMA mobile broadband card device type
5763
5764         * src/nm-hal-manager.c
5765                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5766                         must now be tagged with 'cdma' or 'gsm' capability
5767
5768         * src/nm-cdma-device.c
5769           src/nm-cdma-device.h
5770           src/Makefile.am
5771                 - Add the CDMA mobile broadband card device class
5772
5773         * libnm-util/nm-connection.c
5774                 - (register_default_settings): add NMSettingCdma
5775
5776         * libnm-util/nm-setting-cdma.c
5777           libnm-util/nm-setting-cdma.h
5778           libnm-util/Makefile.am
5779                 - Add the CDMA mobile broadband card setting class
5780
5781         * libnm-glib/nm-cdma-device.c
5782           libnm-glib/nm-cdma-device.h
5783           libnm-glib/Makefile.am
5784                 - Add the CDMA mobile broadband card GLib proxy class
5785
5786         * libnm-glib/nm-client.c
5787                 - (get_device): handle CDMA devices too
5788
5789 2008-01-21  Dan Williams  <dcbw@redhat.com>
5790
5791         * src/ppp-manager/nm-ppp-manager.c
5792                 - (ip4_config_get): set peer address too
5793
5794         * src/ppp-manager/nm-pppd-plugin.c
5795                 - (nm_ip_up): try harder to get the peer's address
5796
5797         * src/NetworkManagerSystem.c
5798                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5799                         address, use that too.  Otherwise, some PPP connections won't work.
5800
5801 2008-01-19  Dan Williams  <dcbw@redhat.com>
5802
5803         * src/NetworkManagerPolicy.c
5804                 - (nm_policy_device_change_check): system connections override user
5805                         connections; don't activate a user connection if there's a currently
5806                         active system connection, and new, better system connections always
5807                         interrupt user connections
5808
5809 2008-01-19  Dan Williams  <dcbw@redhat.com>
5810
5811         * src/nm-manager.h
5812                 - (nm_manager_get_connection_type): new function
5813
5814 2008-01-19  Dan Williams  <dcbw@redhat.com>
5815
5816         * src/nm-device-802-11-wireless.c
5817                 - (real_get_best_connection): collapse find_best_connection() into this
5818                         function
5819
5820 2008-01-19  Dan Williams  <dcbw@redhat.com>
5821
5822         * src/nm-device-802-3-ethernet.c
5823                 - (real_get_best_connection): collapse find_best_connection() into this
5824                         function
5825
5826 2008-01-18  Dan Williams  <dcbw@redhat.com>
5827
5828         * src/nm-device-802-3-ethernet.c
5829                 - (find_best_connection): check MAC address too
5830                 - (real_get_best_connection): let autoconnect=True connections activate
5831                         for devices that don't have carrier detection
5832
5833         * src/nm-device-802-11-wireless.c
5834                 - (find_best_connection): check MAC address too
5835
5836 2008-01-18  Dan Williams  <dcbw@redhat.com>
5837
5838         * system-settings/plugins/ifcfg/parser.c
5839                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5840
5841 2008-01-17  Dan Williams  <dcbw@redhat.com>
5842
5843         * src/nm-device-802-3-ethernet.c
5844                 - (nm_device_802_3_ethernet_carrier_on,
5845                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5846                         carrier events that might come in for devices that don't support
5847                         carrier detect
5848
5849 2008-01-17  Dan Williams  <dcbw@redhat.com>
5850
5851         * src/nm-device-interface.c
5852                 - (nm_device_interface_check_connection_conflicts): need to actually
5853                         get the interface, not cast to the object
5854
5855         * src/nm-device.c
5856                 - (nm_device_check_connection_conflicts): need to get the device class,
5857                         not cast the device to the device class
5858
5859 2008-01-17  Dan Williams  <dcbw@redhat.com>
5860
5861         * src/nm-device-802-11-wireless.c
5862                 - (real_check_connection_conflicts): ignore connections that aren't
5863                         wireless connections
5864
5865 2008-01-17  Dan Williams  <dcbw@redhat.com>
5866
5867         * src/NetworkManagerPolicy.c
5868                 - (nm_policy_device_change_check): clear change check idle here
5869                 - (device_change_check_done): remove
5870                 - (schedule_change_check): simplify
5871
5872 2008-01-17  Dan Williams  <dcbw@redhat.com>
5873
5874         * src/nm-manager.c
5875                 - (check_connection_allowed): take an NMDeviceInterface instead of
5876                         an NMDevice object as an argument
5877                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5878                         check_connection_allowed()
5879
5880 2008-01-13  Dan Williams  <dcbw@redhat.com>
5881
5882         * libnm-glib/nm-device-802-11-wireless.c
5883                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5884
5885 2008-01-12  Dan Williams  <dcbw@redhat.com>
5886
5887         * src/nm-device-802-11-wireless.c
5888                 - (activation_success_handler): if a match was found in the scan list
5889                         and that match is a hidden AP, update that AP's SSID
5890
5891 2008-01-11  Dan Williams  <dcbw@redhat.com>
5892
5893         * src/NetworkManagerAP.c
5894                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5895
5896         * src/nm-device-802-11-wireless.c
5897                 - (get_active_ap): do two passes over the scan list if the caller
5898                         requests that hidden APs get matched too; during the second pass
5899                         when matching hidden APs, ignore the SSID since hidden APs in the
5900                         scan list don't have an SSID yet
5901                 - (periodic_update): move some checks to
5902                         nm_device_802_11_periodic_update() because not all callers need them
5903                 - (nm_device_802_11_periodic_update): move some checks here from
5904                         perodic_update()
5905                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5906                         matching on incoming scan results, because the fake AP's flags
5907                         might be slightly different (yet still compatible) with the incoming
5908                         scan result's flags and they might actually be the same AP; update
5909                         the rate on merged APs too
5910                 - (activation_success_handler): update the frequency of the fake AP
5911                         on successful connection; match hidden APs too since if the
5912                         current AP is fake, there might already be a scan result in the
5913                         scan list for the desired AP, just without it's SSID filled in yet
5914
5915 2008-01-10  Dan Williams  <dcbw@redhat.com>
5916
5917         * src/NetworkManagerAP.c
5918                 - (foreach_property_cb): catch more hidden SSID formats
5919
5920 2008-01-10  Dan Williams  <dcbw@redhat.com>
5921
5922         Fix gnome.org #464215.  Requires the kernel patch titled
5923         "Introduce WEXT scan capabilities" but will handle the patch not being
5924         present, you'll just continue to have problems with hidden SSIDs when
5925         using mac80211-based drivers.
5926
5927         * src/supplicant-manager/nm-supplicant-config.h
5928           src/supplicant-manager/nm-supplicant-config.c
5929                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5930                         whether the driver supports SSID scans or not.  If it does, and if
5931                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5932
5933         * src/nm-device-802-11-wireless.c
5934                 - (constructor): check whether or not the driver supports SSID scans
5935                 - (build_supplicant_config): pass driver SSID scan capability when
5936                         building the wireless bits of the supplicant config
5937
5938 2008-01-09  Dan Williams  <dcbw@redhat.com>
5939
5940         * src/nm-device.c
5941           src/nm-device.h
5942                 - (device_activation_precheck, check_connection_complete): remove this
5943                         virtual function; incomplete connections should be invalid by
5944                         definition, complete-ness should be checked in the setting's
5945                         verify function
5946
5947         * src/nm-serial-device.c
5948           src/nm-gsm-device.c
5949                 - (real_check_connection_complete): remove
5950
5951         * libnm-util/nm-setting-serial.c
5952                 - (verify): new function; ensure there is a PPP setting too
5953
5954         * libnm-util/nm-setting-gsm.c
5955                 - (verify): ensure there is a serial setting too
5956
5957 2008-01-06  Dan Williams  <dcbw@redhat.com>
5958
5959         * src/dhcp-manager/nm-dhcp-manager.c
5960                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5961                         (gnome.org #332953)
5962
5963 2008-01-04  Dan Williams  <dcbw@redhat.com>
5964
5965         * src/named-manager/nm-named-manager.c
5966                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5967                         nameservers if the secondary config doesn't have any
5968                         (gnome.org #346833)
5969
5970 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5971
5972         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5973         with G_PARAM_CONSTRUCT so that they get the default values.
5974
5975         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5976         the monitoring device and prints out the output for now. Or more precicely, doesn't
5977         do absolutely anything right now since the montoring device argument is never set.
5978
5979         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5980         requires it's own knob to turn it on.
5981         (config_fd): Add NMSettingSerial to the arguments list.
5982         (nm_serial_device_open): Ditto.
5983         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5984         (nm_serial_device_get_io_channel): Implement.
5985
5986         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5987         a new reference every time (and forgetting to release it sometimes) is a pain and
5988         it's not like NMManager could work without dbus.
5989         (nm_manager_add_device): Register the added device on dbus here.
5990
5991         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5992         device.
5993
5994         * src/nm-device.c (constructor): Don't export the device here, instead export
5995         it when it's added to the NMManager's device list.
5996
5997 2007-12-31  Dan Williams  <dcbw@redhat.com>
5998
5999         * src/nm-device-interface.c
6000           src/nm-device-interface.h
6001                 - (nm_device_interface_check_connection_conflicts): new function
6002
6003         * src/nm-device.c
6004           src/nm-device.h
6005                 - (nm_device_check_connection_conflicts): new function
6006                 - (device_activation_precheck): don't require subclasses to implement
6007                         check_connection_complete()
6008                 - check_connection() -> check_connection_complete()
6009
6010         * src/nm-device-802-11-wireless.c
6011                 - (real_check_connection): remove; unused
6012                 - (real_check_connection_conflicts): implement, handle lockdown for
6013                         system connections
6014
6015         * src/nm-device-802-3-ethernet.c
6016                 - (real_check_connection): remove; unused
6017
6018         * src/nm-manager.c
6019                 - (check_connection_allowed): new function
6020                 - (nm_manager_activate_device): ensure the connection being requested
6021                         is allowed to be activated
6022
6023         * src/nm-serial-device.c
6024           src/nm-gsm-device.c
6025                 - real_check_connection() -> real_check_connection_complete()
6026
6027 2007-12-27  Dan Williams  <dcbw@redhat.com>
6028
6029         * src/nm-device-interface.c
6030           src/nm-device-interface.h
6031                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6032                         normalize and expand errors
6033                 - (nm_device_interface_init): register errors so they can be marshalled
6034                         through dbus-glib
6035                 - (nm_device_interface_activate): ensure that failure of activation
6036                         returns an error
6037
6038         * src/nm-device.c
6039           src/nm-device.h
6040                 - (device_activation_precheck): implementations of check_connection()
6041                         now take a GError and must fill it in if the check fails.  Return
6042                         more descriptive error if the requested connection is already
6043                         activating
6044                 - (nm_device_activate): actually try to return descriptive errors on
6045                         failures
6046
6047         * src/nm-device-802-11-wireless.c
6048           src/nm-device-802-3-ethernet.c
6049           src/nm-serial-device.c
6050           src/nm-gsm-device.c
6051                 - (real_check_connection): return more descriptive errors on failure
6052
6053         * src/NetworkManagerPolicy.c
6054                 - (nm_policy_device_change_check): print activation errors in the logs
6055
6056         * src/nm-manager.c
6057                 - (nm_manager_error_quark, nm_manager_error_get_type,
6058                    nm_manager_class_init): new errors
6059                 - (nm_manager_activate_device): handle errors
6060                 - (nm_manager_error_new): removed
6061                 - (wait_for_connection_expired, connection_added_default_handler,
6062                    impl_manager_activate_device): better error handling
6063
6064 2007-12-27  Dan Williams  <dcbw@redhat.com>
6065
6066         Fixes gnome.org #466954
6067
6068         * src/supplicant-manager/nm-supplicant-settings-verify.c
6069                 - Allow 'frequency' network property
6070
6071         * src/supplicant-manager/nm-supplicant-config.c
6072           src/supplicant-manager/nm-supplicant-config.h
6073                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6074                         for callers to specify the frequency an Ad-Hoc network should operate
6075                         on.  Some drivers require this to successfully create an Ad-Hoc
6076                         network.
6077
6078         * src/nm-device-802-11-wireless.c
6079                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6080                         guint32 value in MHz
6081                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6082                         iw_freq_to_uint32()
6083                 - (find_supported_frequency): new function; find a free supported
6084                         frequency for a user-created Ad-Hoc network
6085                 - (build_supplicant_config): if no frequency was specified for a user-
6086                         created Ad-Hoc network, find a free one to use
6087                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6088                         a specific object as user-created
6089
6090 2007-12-27  Dan Williams  <dcbw@redhat.com>
6091
6092         * libnm-util/nm-utils.c
6093           libnm-util/nm-utils.h
6094                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6095                         for adhoc networks
6096
6097 2007-12-24  Dan Williams  <dcbw@redhat.com>
6098
6099         * libnm-util/nm-setting-wireless.c
6100                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6101                         185, 187, 188, 192, and 196
6102
6103 2007-12-24  Dan Williams  <dcbw@redhat.com>
6104
6105         * src/nm-device-802-11-wireless.c
6106                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6107                         a channel # instead of a frequency
6108
6109 2007-12-24  Dan Williams  <dcbw@redhat.com>
6110
6111         * src/NetworkManagerAP.c
6112           src/NetworkManagerAP.h
6113                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6114                 - (freq_to_channel): handle split band tables
6115                 - (channel_to_freq): handle split band tables, take a band argument
6116
6117 2007-12-24  Dan Williams  <dcbw@redhat.com>
6118
6119         * libnm-util/nm-setting-connection.h
6120           libnm-util/nm-setting-connection.c
6121                 - Add 'lockdown' member
6122
6123 2007-12-22  Dan Williams  <dcbw@redhat.com>
6124
6125         * libnm-util/nm-setting-wireless.c
6126                 - (nm_setting_wireless_class_init): add missing 'rate' property
6127                         specification
6128
6129 2007-12-18  Dan Williams  <dcbw@redhat.com>
6130
6131         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6132
6133         * src/nm-netlink-monitor.c
6134           src/nm-netlink-monitor.h
6135                 - Remove handrolled netlink, use libnl instead
6136
6137         * src/nm-device-802-3-ethernet.c
6138                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6139                    nm_device_802_3_ethernet_carrier_on): use new names
6140
6141 2007-12-17  Dan Williams  <dcbw@redhat.com>
6142
6143         * configure.in
6144                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6145                         and fixes memory leaks)
6146
6147         * src/nm-netlink.c
6148                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6149                         automatically handle the netlink PID
6150
6151 2007-12-17  Dan Williams  <dcbw@redhat.com>
6152
6153         Patch from Michael Biebl <biebl@debian.org>
6154
6155         * configure.in
6156           src/ppp-manager/Makefile.am
6157                 - fix up install dir of pppd plugin
6158                 - clean up configure.in a bit
6159
6160 2007-12-12  Dan Williams  <dcbw@redhat.com>
6161
6162         * system-settings/src/nm-system-settings.conf
6163                 - Allow non-root clients (like the applet) to read settings
6164
6165 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6166
6167         * Replace all occurences of 'UMTS' with 'GSM'.
6168
6169 2007-12-07  Dan Williams  <dcbw@redhat.com>
6170
6171         * src/nm-serial-device.c
6172                 - (real_is_up): serial devices are always "up"
6173
6174 2007-12-07  Dan Williams  <dcbw@redhat.com>
6175
6176         * src/nm-netlink.c
6177           src/NetworkManagerSystem.c
6178                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6179                         twice (gnome.org #491047)
6180                 - Make more robust against allocation-related failures should they occur
6181
6182 2007-12-07  Dan Williams  <dcbw@redhat.com>
6183
6184         Noticed by Christian Persch <chpe@gnome.org>
6185
6186         Always chain up to parent object in dispose and finalize handlers.
6187                 (gnome.org #433112)
6188
6189 2007-12-07  Dan Williams  <dcbw@redhat.com>
6190
6191         * src/nm-device-802-11-wireless.c
6192                 - Wrap #include of linux/mii.h to fix redefined structures due to
6193                         incorrect kernel headers (gnome.org #350061)
6194
6195 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6196
6197         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6198         before doing anything else.
6199         (init_modem): Move modem initialization here.
6200
6201         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6202         (nm_serial_device_flash): Implement.
6203
6204         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6205         changes signal is "StateChanged" and not "Status".
6206         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6207
6208 2007-12-06  Dan Williams  <dcbw@redhat.com>
6209
6210         * src/supplicant-manager/nm-supplicant-config.c
6211                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6212                         to only send some options when they make sense; also send phase2
6213                         option to the supplicant (possible fix for rh #399631)
6214
6215 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6216
6217         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6218         arguments: This whole file shouldn't really know anything about NMDevices, it
6219         should deal only with device interfaces. Devices might have different ifaces for
6220         different stuff and this place shouldn't know anything about it.
6221
6222         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6223         (global_state_changed): Implement. In the current NM it's not really important,
6224         but will be required in the case of multiple active devices. (Or even better,
6225         if stuff like that gets moved out from NM).
6226
6227         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6228         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6229         instead.
6230
6231         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6232         devices like serial devices (ttyS0 and ppp0 for example).
6233         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6234         set.
6235         (nm_device_set_ip_iface): Implement.
6236         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6237         after setting ip4_config from here ...
6238         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6239         than this function should call nm_system_device_set_from_ip4_config() because no
6240         other code has enough information on which arguments to use. So instead, other code
6241         could just set the new ip4 config using this function and everyone is happy.
6242
6243         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6244         if we happen to get deactivated while something is pending.
6245         (automatic_registration): Handle the response that indicates pending network
6246         registration and wait until the pending registration is done.
6247         (real_deactivate_quickly): If there's a pending operation, cancel it.
6248
6249         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6250         (real_deactivate_quickly): ... and remove it when it's down.
6251         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6252         it if needed.
6253         (nm_serial_device_wait_for_reply): Ditto.
6254
6255 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6256
6257         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6258         (get_network_done): Remove newline, nm_info() does it already.
6259         (real_act_stage1_prepare): Turn the modem echo off.
6260
6261         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6262         device, set the route to the device interface. This is a hack.
6263
6264         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6265         return, no need for a new-line.
6266         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6267         Change the device iface here (ugh).
6268         (real_act_stage4_get_ip4_config): Implement.
6269         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6270         Restore the device iface.
6271
6272         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6273         device is not wired or wireless (eg, automatically upped) device.
6274
6275         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6276         it isn't.
6277         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6278
6279         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6280         before calling it's is_device_fn().
6281
6282 2007-12-05  Dan Williams  <dcbw@redhat.com>
6283
6284         * libnm-util/nm-utils.c
6285                 - (nm_utils_register_value_transformations,
6286                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6287                         GHashTables of GValues too
6288
6289 2007-12-04  Dan Williams  <dcbw@redhat.com>
6290
6291         * initscript/RedHat/NetworkManager.in
6292                 - No longer start named; it's D-Bus interface is going away
6293
6294 2007-12-04  Dan Williams  <dcbw@redhat.com>
6295
6296         Patch from Michael Biebl <biebl@debian.org>
6297
6298         * system-settings/plugins/ifcfg/Makefile.am
6299           system-settings/src/main.c
6300           system-settings/src/Makefile.am
6301                 - Put system settings plugins in NM plugins dir
6302
6303         * src/ppp-manager/Makefile.am
6304           src/ppp-manager/nm-ppp-manager.c
6305                 - Move pppd plugin to NM plugins dir
6306
6307 2007-12-04  Dan Williams  <dcbw@redhat.com>
6308
6309         * libnm-util/nm-setting-vpn-properties.h
6310                 - Clarify usage of the 'data' member of the setting
6311
6312         * libnm-util/nm-setting-vpn-properties.c
6313                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6314                 - (set_property): just remove all the settings; don't recreate the has
6315                 - (update_one_secret): don't need to create the hash table here since
6316                         it should always be present
6317
6318 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6319
6320         Implement PIN and PUK requesting.
6321
6322         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6323         (enter_pin): Handle PIN and PUK requests.
6324         (real_act_stage1_prepare): Clear the secret type.
6325         (real_connection_secrets_updated): Implement this class method to get
6326         notified when new secrets arrive.
6327         (nm_umts_device_class_init): Add private data back to the umts device class
6328         to store the required secret type.
6329
6330 2007-12-01  Dan Williams  <dcbw@redhat.com>
6331
6332         * system-settings/plugins/ifcfg/parser.c
6333                 - (parser_parse_file): don't try to verify NULL connections
6334
6335 2007-12-01  Dan Williams  <dcbw@redhat.com>
6336
6337         * system-settings/src/main.c
6338                 - (load_connections, add_connection_to_settings): actually export
6339                         plugin-provided connections over D-Bus so NM can get them
6340
6341 2007-12-01  Dan Williams  <dcbw@redhat.com>
6342
6343         * system-settings/plugins/ifcfg/parser.c
6344           system-settings/plugins/ifcfg/parser.h
6345           system-settings/plugins/ifcfg/plugin.c
6346                 - Hook up more inotify bits (untested)
6347
6348 2007-11-29  Dan Williams  <dcbw@redhat.com>
6349
6350         * system-settings/src/nm-system-config-interface.h
6351           system-settings/src/nm-system-config-interface.c
6352                 - (nm_system_config_interface_init,
6353                    nm_system_config_interface_get_connections): add
6354
6355         * system-settings/src/main.c
6356                 - (load_plugins, load_connections, main): use a GSList for plugins
6357                         to ensure priority ordering
6358
6359         * system-settings/plugins/ifcfg/parser.c
6360                 - (ifcfg_error_quark): move to plugin.c, and rename
6361
6362         * system-settings/plugins/ifcfg/plugin.h
6363           system-settings/plugins/ifcfg/plugin.c
6364                 - (ifcfg_plugin_error_quark): move here from parser.c
6365                 - rework connection loading and initialization
6366                 - Add preliminary inotify support for network profile config file
6367
6368 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6369
6370         Merge the beginnings of the new GSM card support.
6371
6372         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6373         ppp watch source before killing pppd - If this happens from g_object_unref()
6374         then the ppp manager is already destroyed by the time the watch callback runs.
6375
6376         * src/nm-hal-manager.c: Add a device_type_name string to the device
6377         creators, so that we can print a nice human readable string when a
6378         device is added.
6379
6380         * src/nm-umts-device.c (automatic_registration_get_network): Query
6381         for the activated network, not much is done with the result thought.
6382
6383         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6384         (ppp_ip4_config): Change the device state to activated here for now.
6385         (real_check_connection): Make sure the connection includes ppp setting.
6386
6387         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6388
6389         * libnm-glib/Makefile.am: Add the new files to build.
6390
6391         * libnm-glib/nm-umts-device.c: 
6392         * libnm-glib/nm-umts-device.h: Implement.
6393
6394 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6395
6396         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6397         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6398
6399         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6400         the timeout source - this function is only called when the timeout source has
6401         been removed.
6402         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6403         to be big enough to contain the terminating zero element as well.
6404         The timeout argument is meant to be in seconds now.
6405         (real_deactivate_quickly): Implement.
6406
6407         * src/NetworkManager.conf: Allow root to own 
6408         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6409
6410         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6411         (not unsigned ints).
6412
6413         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6414         small issue with parity bounds - capital letters have lower ascii codes
6415         than lower case letters.
6416
6417         * libnm-util/nm-connection.c (register_default_settings): Register serial
6418         and umts settings.
6419
6420 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6421
6422         Remove the "index" property from devices as not all device types have this.
6423
6424         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6425
6426         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6427         (wired_device_creator): Get the device interface from hal to create the device.
6428         (wireless_device_creator): Ditto.
6429
6430         * src/nm-device.c (nm_device_init): Remove the index member.
6431         (constructor): Remove the checks for index property, make interface property
6432         a require constructor property.
6433         Use the HAL udi for DBus path for devices.
6434         (nm_device_get_index): Remove.
6435         (set_property): Remove index handling.
6436         (get_property): Ditto.
6437         (nm_device_get_dbus_path): Remove.
6438
6439         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6440         property.
6441
6442         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6443         Access the device index through it's interface.
6444         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6445         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6446         index argument. Add interface argument.
6447
6448         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6449         the useless test_dev argument. Remove index argument. Add interface arugment.
6450
6451         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6452         device index through interface.
6453         (nm_system_set_mtu): Ditto.
6454
6455         * introspection/nm-device.xml: Remove the "Index" property.
6456
6457 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6458
6459         * src/nm-serial-device.c: 
6460         * src/nm-serial-device.c: 
6461         * src/nm-umts-device.c:
6462         * src/nm-umts-device.h: Implement.
6463
6464         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6465         allocated by libhal.
6466         (modem_device_creator): Implement.
6467         (register_built_in_creators): Register the modem creator.
6468
6469         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6470         Remove the unused test_dev argument.
6471
6472         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6473
6474         * src/Makefile.am: Add new files to build.
6475         Link in ppp-manager.
6476
6477         * libnm-util/nm-setting-umts.c: 
6478         * libnm-util/nm-setting-umts.h: 
6479         * libnm-util/nm-setting-serial.c: 
6480         * libnm-util/nm-setting-serial.h: Implement.
6481
6482         * libnm-util/Makefile.am: Add new files to build.
6483
6484 2007-11-28  Dan Williams  <dcbw@redhat.com>
6485
6486         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6487
6488         Support DHCP-provided static routes.
6489
6490         * src/nm-ip4-config.h
6491           src/nm-ip4-config.c
6492                 - Add get/set functions for static routes
6493
6494         * src/dhcp-manager/nm-dhcp-manager.c
6495                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6496                         DHCP response
6497
6498         * src/NetworkManagerSystem.c
6499                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6500                         interface when applying the IP4Config
6501
6502 2007-11-28  Dan Williams  <dcbw@redhat.com>
6503
6504         * src/nm-device-802-11-wireless.c
6505                 - (real_act_stage1_prepare): mark APs created for hidden networks
6506                         as non-broadcasting
6507
6508 2007-11-27  Dan Williams  <dcbw@redhat.com>
6509
6510         * system-settings/src/nm-system-config-interface.h
6511                 - Note how to store secrets on NMSetting objects
6512
6513         * system-settings/src/dbus-settings.c
6514                 - (connection_settings_get_secrets): implement
6515
6516 2007-11-27  Dan Williams  <dcbw@redhat.com>
6517
6518         * system-settings/plugins/ifcfg/Makefile.am
6519           system-settings/plugins/ifcfg/parser.c
6520           system-settings/plugins/ifcfg/parser.h
6521           system-settings/plugins/ifcfg/plugin.c
6522                 - Parse wireless connections too
6523
6524         * system-settings/src/dbus-settings.c
6525           system-settings/src/dbus-settings.h
6526           system-settings/src/main.c
6527                 - Handle connection update/removal if the plugin supports it
6528
6529 2007-11-27  Dan Williams  <dcbw@redhat.com>
6530
6531         * src/nm-dbus-manager.h
6532           src/nm-hal-manager.c
6533                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6534                         do it for them
6535
6536         * src/Makefile.am
6537           src/NetworkManagerDbusUtils.c
6538           src/NetworkManagerDbusUtils.h
6539                 - Remove these two source files; they are unused
6540
6541 2007-11-27  Dan Williams  <dcbw@redhat.com>
6542
6543         * src/vpn-manager/nm-vpn-manager.c
6544                 - (impl_vpn_manager_connect): fix system settings check (found by
6545                         James M. Leddy)
6546
6547 2007-11-26  Dan Williams  <dcbw@redhat.com>
6548
6549         * Fix warnings so everything compiles with --enable-more-warnings
6550
6551 2007-11-25  Dan Williams  <dcbw@redhat.com>
6552
6553         * system-settings/*
6554                 - Rework structure and code to use GModule-loaded plugins and a plugin
6555                         interface that plugins export to the system settings service
6556
6557 2007-11-21  Dan Williams  <dcbw@redhat.com>
6558
6559         * system-settings/*
6560                 - Add Soren's system settings service.  Needs work for distros other
6561                         than Fedora; the backends from NM should mostly migrate to here
6562                         and be converted to GObjects
6563
6564 2007-11-21  Dan Williams  <dcbw@redhat.com>
6565
6566         * libnm-util/nm-setting-vpn-properties.c
6567                 - (set_property): must deep-copy the given settings hash, otherwise
6568                         double-free errors occur when the setting is disposed of
6569
6570 2007-11-21  Dan Williams  <dcbw@redhat.com>
6571
6572         * src/vpn-manager/nm-vpn-act-request.h
6573           src/vpn-manager/nm-vpn-act-request.c
6574                 - Remove; unused
6575
6576 2007-11-20  Dan Williams  <dcbw@redhat.com>
6577
6578         * libnm-util/nm-utils.c
6579                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6580                    nm_utils_convert_ip4_addr_struct_array_to_string,
6581                    nm_utils_register_value_transformations): print out the readable
6582                         values of more types of properties of NMSettings subclasses
6583
6584 2007-11-20  Dan Williams  <dcbw@redhat.com>
6585
6586         * libnm-util/nm-setting-ip4-config.c
6587                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6588                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6589                         marshal GValueArrays inside collections, so switch to types that it
6590                         can actually marshal/demarshal
6591
6592 2007-11-16  Dan Williams  <dcbw@redhat.com>
6593
6594         * libnm-util/nm-setting-wireless-security.c
6595                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6596                         minimal verification of EAP methods too
6597                 - (verify): verify phase1 eap methods too
6598
6599 2007-11-15  Dan Williams  <dcbw@redhat.com>
6600
6601         * libnm-glib/nm-device.h
6602           libnm-glib/nm-device.c
6603                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6604                         const char *
6605
6606 2007-11-15  Dan Williams  <dcbw@redhat.com>
6607
6608         * libnm-glib/nm-device.c
6609                 - (get_product_and_vendor): don't try to free things that should be
6610                         freed
6611
6612 2007-11-15  Dan Williams  <dcbw@redhat.com>
6613
6614         * src/NetworkManagerUtils.c
6615                 - (nm_ethernet_address_is_valid): unbreak previous fix
6616
6617 2007-11-15  Dan Williams  <dcbw@redhat.com>
6618
6619         * src/supplicant-manager/nm-supplicant-config.c
6620                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6621                         options
6622
6623 2007-11-15  Dan Williams  <dcbw@redhat.com>
6624
6625         * src/NetworkManagerUtils.c
6626                 - (nm_ethernet_address_is_valid): fix style, clarify
6627                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6628
6629         * src/nm-device-802-11-wireless.c
6630                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6631                 - (nm_device_802_11_wireless_get_ssid,
6632                    nm_device_802_11_wireless_get_bssid,
6633                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6634                         before calling the ioctl; fixes valgrind-reported jump depends on
6635                         uninitialized value errors
6636
6637 2007-11-15  Dan Williams  <dcbw@redhat.com>
6638
6639         * libnm-util/nm-setting.c
6640                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6641                         unecessary to serialize 'name'
6642
6643         * src/nm-activation-request.c
6644                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6645                         the GetSecrets call
6646
6647 2007-11-15  Dan Williams  <dcbw@redhat.com>
6648
6649         * libnm-util/nm-setting-connection.h
6650           libnm-util/nm-setting-connection.c
6651                 - Rename the 'name' property to 'id', because it conflicted with the
6652                         NMSetting superclass' 'name' property.
6653
6654         * libnm-util/nm-setting.c
6655                 - (nm_setting_to_hash): serialize the 'name' property
6656                 - (one_property_cb): ignore 'name' on deserialization of a connection
6657
6658         * src/nm-device-802-11-wireless.c
6659           src/vpn-manager/nm-vpn-connection.c
6660           src/NetworkManagerPolicy.c
6661                 - Fix up for NMSettingConnection 'name'->'id' changes
6662
6663 2007-11-13  Dan Williams  <dcbw@redhat.com>
6664
6665         * libnm-glib/nm-device-802-11-wireless.h
6666           libnm-glib/nm-device-802-11-wireless.c
6667                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6668
6669         * test/nm-tool.c
6670           libnm-glib/libnm-glib-test.c
6671                 - Fixes for above change
6672
6673 2007-11-12  Dan Williams  <dcbw@redhat.com>
6674
6675         * src/supplicant-manager/nm-supplicant-settings-verify.c
6676                 - Allow fragment_size option
6677
6678         * src/supplicant-manager/nm-supplicant-settings-verify.c
6679                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6680                         EAP fragment size than the default to help some TLS connections
6681
6682 2007-11-12  Dan Williams  <dcbw@redhat.com>
6683
6684         Make certs actually work.  The private key is now a secret, and should be
6685         decrypted when requested by NM.  The private key and phase2 private key
6686         passwords are no longer interesting to NM because they should be used by
6687         the settings service to decrypt the private key itself before passing it
6688         to NM, and hence have been removed as fields.
6689
6690         * libnm-util/nm-setting-wireless-security.h
6691           libnm-util/nm-setting-wireless-security.c
6692                 - Remove private-key-passwd and phase2-private-key-passwd from
6693                         properties
6694                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6695                    need_secrets): use property #defines instead strings to keep things
6696                         consistent
6697                 - (need_secrets_tls): if a client certificate is present but no
6698                         private key, request the private key
6699                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6700                         remove private key password stuff, mark private keys as secret
6701
6702         * src/supplicant-manager/nm-supplicant-settings-verify.c
6703                 - Remove private_key_passwd and private_key2_passwd from opt_table
6704
6705 2007-11-09  Dan Williams  <dcbw@redhat.com>
6706
6707         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6708         Since the vpn-properties are managed and known by the VPN daemons themselves,
6709         libnm-util doesn't know what's secret and what's in the setting's 'data'
6710         member.
6711
6712         * libnm-util/nm-setting.h
6713           libnm-util/nm-setting.c
6714                 - Add the ability for subclasses to override update_one_secret
6715
6716         * libnm-util/nm-setting-vpn-properties.c
6717                 - Override update_one_secret and just copy the values into the
6718                         internal table
6719
6720 2007-11-09  Dan Williams  <dcbw@redhat.com>
6721
6722         * libnm-glib/nm-settings.h
6723           libnm-glib/nm-settings.c
6724                 - (nm_settings_new_error): remove
6725                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6726                         clients should use g_set_error() with NM_SETTINGS_ERROR
6727
6728 2007-11-09  Dan Williams  <dcbw@redhat.com>
6729
6730         * src/supplicant-manager/nm-supplicant-config.c
6731                 - (nm_supplicant_config_add_setting_wireless_security): private key
6732                         passwords are never sent to wpa_supplicant, because the supplicant
6733                         should never be reading random files from the disk.  Clients like
6734                         the applet are required to decrypt the private keys and send NM
6735                         the decrypted blobs.
6736
6737 2007-11-08  Dan Williams  <dcbw@redhat.com>
6738
6739         * libnm-util/nm-setting-wireless-security.h
6740           libnm-util/nm-setting-wireless-security.c
6741                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6742                         members to 802-11-wireless-security structure.  This should be used
6743                         to indicate that the values in private-key and phase2-private-key
6744                         are already decrypted by the user agent, and that no
6745                         private-key-passwd or phase2-private-key-passwd should be expected.
6746                         It is not meant to be a stored configuration value, but meant to
6747                         be set when the conneciton is sent to NM over dbus.
6748
6749 2007-11-08  Dan Williams  <dcbw@redhat.com>
6750
6751         * libnm-util/nm-connection.h
6752           libnm-util/nm-connection.c
6753                 - (nm_connection_need_secrets): add argument to return hints
6754
6755         * src/nm-device-802-11-wireless.c
6756                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6757                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6758                         nm_connection_need_secrets() change
6759
6760 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6761
6762         Rework NMSetting structures: Move each setting to it's own file.
6763         Convert to GObject. Remove home grown setting types and use GTypes.
6764         Use GObject property introspection for hash conversion, enumerating
6765         properties, etc.
6766
6767         * libnm-util/nm-setting-connection.[ch]
6768         * libnm-util/nm-setting-ip4-config.[ch]
6769         * libnm-util/nm-setting-ppp.[ch]
6770         * libnm-util/nm-setting-vpn.[ch]
6771         * libnm-util/nm-setting-vpn-properties.[ch]
6772         * libnm-util/nm-setting-wired.[ch]
6773         * libnm-util/nm-setting-wireless.[ch]
6774         * libnm-util/nm-setting-wireless-security.[ch]
6775
6776         New files, each containing a setting.
6777
6778         * libnm-util/nm-setting-template.[ch]: A template for creating new
6779         settings. To use it, just replace 'template' with the new setting
6780         name, and you're half-way done.
6781
6782         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6783         introspection instead of internal types and tables.
6784
6785         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6786
6787         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6788         GValue types defined by dbus-glib for composed types like collections,
6789         structures and maps.
6790
6791         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6792         a setting from connection takes the setting type now. Also, since
6793         the settings are in multiple files, include relevant settings.
6794
6795 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6796
6797         * configure.in:
6798         * src/backends/NetworkManagerGentoo.c:
6799         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6800         providers in Gentoo.
6801
6802 2007-10-31  Dan Williams  <dcbw@redhat.com>
6803
6804         * libnm-util/nm-connection.c
6805                 - (gvalue_to_string): handle UINT32 arrays
6806
6807 2007-10-31  Dan Williams  <dcbw@redhat.com>
6808
6809         * libnm-glib/nm-device.h
6810           libnm-glib/nm-device.c
6811                 - (nm_device_get_description): remove
6812                 - (nm_device_get_product, nm_device_get_vendor): add
6813                 - (nm_device_update_description): new function (private); walk HAL
6814                         devices to get product and vendor IDs for a specific device
6815
6816 2007-10-31  Dan Williams  <dcbw@redhat.com>
6817
6818         * src/nm-device-802-11-wireless.c
6819                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6820
6821 2007-10-29  Dan Williams  <dcbw@redhat.com>
6822
6823         * src/nm-hal-manager.c
6824                 - (device_added, device_new_capability): ignore device additions while
6825                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6826                         kernel module is unloaded and reloaded and recognized by NM again.
6827
6828 2007-10-26  Dan Williams  <dcbw@redhat.com>
6829
6830         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6831
6832         * src/NetworkManagerAP.c
6833           src/NetworkManagerAP.h
6834           libnm-glib/nm-access-point.c
6835           libnm-glib/nm-access-point.h
6836                 - Make 'rate' property a guint32 to better match with WEXT and
6837                         wpa_supplicant and to allow representation of higher bitrates
6838
6839         * src/nm-device-802-11-wireless.c
6840           introspection/nm-device-802-11-wireless.xml
6841           libnm-glib/nm-device-802-11-wireless.c
6842           libnm-glib/nm-device-802-11-wireless.h
6843                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6844
6845         * src/nm-device-802-3-ethernet.c
6846           src/nm-device-802-3-ethernet.h
6847           introspection/nm-device-802-3-ethernet.xml
6848           libnm-glib/nm-device-802-3-ethernet.c
6849           libnm-glib/nm-device-802-3-ethernet.h
6850                 - Make 'speed' property a guint32 to match other speed/rate types
6851                 - Make nm_device_802_3_ethernet_get_speed() static
6852
6853         * test/nm-tool.c
6854                 - Update for the changes above
6855
6856 2007-10-26  Dan Williams  <dcbw@redhat.com>
6857
6858         * src/named-manager/nm-named-manager.c
6859                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6860                     not calling fclose() twice on some error conditions
6861
6862 2007-10-26  Dan Williams  <dcbw@redhat.com>
6863
6864         * src/nm-activation-request.c
6865                 - (dispose): clean up indentation; get the right DBusGProxy object to
6866                         cancel the GetSecrets pending call on.  Need to use the Secrets
6867                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6868                         pending call doesn't get canceled, and pressing Cancel in the
6869                         applet's password dialog could cause get_secrets_cb() to be called
6870                         after the activation request has already been destroyed
6871
6872 2007-10-24  Dan Williams  <dcbw@redhat.com>
6873
6874         * src/supplicant-manager/nm-supplicant-config.c
6875                 - (nm_supplicant_config_add_blob): pass blob data and length for
6876                         verification
6877                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6878
6879 2007-10-24  Dan Williams  <dcbw@redhat.com>
6880
6881         * src/supplicant-manager/nm-supplicant-settings-verify.c
6882                 - (opt_table): max length for certificates should be 65536
6883
6884 2007-10-24  Dan Williams  <dcbw@redhat.com>
6885
6886         * src/supplicant-manager/nm-supplicant-interface.c
6887                 - (blob_free): correctly free blob data after use
6888                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6889
6890 2007-10-24  Dan Williams  <dcbw@redhat.com>
6891
6892         * libnm-util/nm-setting.c
6893                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6894                         EAP method need secrets
6895
6896 2007-10-24  Dan Williams  <dcbw@redhat.com>
6897
6898         * src/backends/NetworkManagerRedHat.c
6899                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6900
6901 2007-10-23  Dan Williams  <dcbw@redhat.com>
6902
6903         * libnm-util/nm-setting.c
6904           libnm-util/nm-setting.c
6905                 - (nm_setting_compare): implement
6906                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6907                    compare_one_hash_gvalue): compare the contents of a setting
6908
6909         * libnm-util/nm-connection.c
6910                 - (nm_connection_compare): implement
6911
6912 2007-10-23  Dan Williams  <dcbw@redhat.com>
6913
6914         * src/nm-activation-request.c
6915                 - (get_secrets_cb): handle getting a setting back that is more than
6916                         just secrets (ie, user changed auth or EAP method or something)
6917
6918 2007-10-23  Dan Williams  <dcbw@redhat.com>
6919
6920         * libnm-util/nm-setting.c
6921           libnm-util/nm-setting.h
6922                 - (nm_setting_verify): new function; verify one setting
6923                 - (nm_settings_verify_all): rename from nm_settings_verify()
6924                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6925                         all_settings
6926
6927         * libnm-util/nm-connection.c
6928                 - (nm_connection_replace_settings, nm_connection_verify,
6929                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6930
6931 2007-10-23  Dan Williams  <dcbw@redhat.com>
6932
6933         * src/nm-device-802-11-wireless.c
6934                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6935                         desired behavior
6936
6937 2007-10-23  Dan Williams  <dcbw@redhat.com>
6938
6939         * src/supplicant-manager/nm-supplicant-settings-verify.c
6940                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6941                         nm-settings.c
6942
6943 2007-10-23  Dan Williams  <dcbw@redhat.com>
6944
6945         * src/nm-device-802-11-wireless.c
6946                 - (real_act_stage2_config): after the first association failure,
6947                         if the connection still needs secrets ask the user for them
6948                         explicitly.  After the fourth association failure due to bad
6949                         secrets, fail the connection entirely.  Handles the GetSecrets
6950                         loop that NM gets into when the provided secrets don't match up
6951                         with the connection details.
6952
6953 2007-10-23  Dan Williams  <dcbw@redhat.com>
6954
6955         * src/supplicant-manager/nm-supplicant-config.c
6956                 - (nm_supplicant_config_add_setting_wireless_security): only add
6957                         WPA-specific options when WPA is in use
6958
6959 2007-10-23  Dan Williams  <dcbw@redhat.com>
6960
6961         * src/supplicant-manager/nm-supplicant-config.c
6962                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6963                         secret doesn't need to be unhexified
6964
6965 2007-10-23  Dan Williams  <dcbw@redhat.com>
6966
6967         * libnm-util/nm-setting.c
6968                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6969                         before trying to do something with it
6970
6971 2007-10-23  Dan Williams  <dcbw@redhat.com>
6972
6973         * src/nm-device-802-11-wireless.c
6974                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6975
6976 2007-10-23  Dan Williams  <dcbw@redhat.com>
6977
6978         * src/nm-device-802-11-wireless.c
6979                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6980                         non-SSID-broadcasting APs
6981
6982 2007-10-23  Dan Williams  <dcbw@redhat.com>
6983
6984         * src/NetworkManagerAP.c
6985                 - (match_cipher, security_compatible): remove
6986                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6987                         libnm-util instead
6988
6989 2007-10-23  Dan Williams  <dcbw@redhat.com>
6990
6991         * libnm-util/nm-utils.c
6992           libnm-util/nm-utils.h
6993                 - (nm_utils_ap_security_compatible): common function for checking
6994                         whether a specific AP is compatible with an NMConnection
6995
6996 2007-10-23  Dan Williams  <dcbw@redhat.com>
6997
6998         * libnm-util/nm-setting.c
6999                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7000                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7001                    need_secrets_password, setting_wireless_security_verify): fix
7002                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7003                         secrets logic for each supported EAP method
7004
7005 2007-10-23  Dan Williams  <dcbw@redhat.com>
7006
7007         * src/supplicant-manager/nm-supplicant-config.c
7008                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7009                         config option name, should be "private_key2_passwd"
7010
7011 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7012
7013         Implement support for static IP addresses, additional/overridden DNS and
7014         DNS domain search lists.
7015
7016         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7017         (ip4_addresses_to_gvalue): Implement.
7018         (convert_array_to_byte_array): Implement.
7019         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7020         NM_S_TYPE_IP4_ADDRESSES.
7021         (nm_setting_hash): Ditto.
7022         (default_setting_clear_secrets): Add a default case for the switch: IP address
7023         shouldn't be secret, ever.
7024         (setting_ip4_config_verify): Update, requires addresses in case of manual
7025         configurations.
7026         (setting_ip4_config_destroy): Free stuff.
7027
7028         * src/nm-device.c (merge_ip4_config): Implement.
7029         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7030
7031 2007-10-22  Dan Williams  <dcbw@redhat.com>
7032
7033         * libnm-util/nm-setting.c
7034                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7035                         pairwise cipher options for Dynamic WEP
7036
7037 2007-10-21  Dan Williams  <dcbw@redhat.com>
7038
7039         * src/NetworkManagerAP.c
7040           src/NetworkManagerAP.h
7041                 - Rename 'articifical' -> 'fake' since that's what they are until
7042                         noticed in scans
7043                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7044                         from the attributes in an NMConnection object
7045                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7046                         WPA Enterprise
7047                 - (nm_ap_match_in_list): find a matching AP in a scan list
7048
7049         * src/nm-device-802-11-wireless.c
7050                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7051                         AP when searching the scan list; match on frequency and mode too
7052                 - (nm_device_802_11_wireless_get_frequency): implement
7053                 - (merge_scanned_ap): replace duplicate matching logic with
7054                         nm_ap_match_in_list()
7055                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7056                         the user is trying to connect to a hidden network that is not yet
7057                         known from the scan list
7058                 - (activation_success_handler): now that the card knows the AP's BSSID,
7059                         there may already be a scanned AP in the scan list that is what
7060                         we really wanted to connect to, but didn't know at the time.  Use
7061                         that instead of the 'fake' AP created at activation start and get
7062                         rid of the 'fake' AP 
7063                 - (cull_scan_list): don't remove fake APs
7064
7065 2007-10-21  Dan Williams  <dcbw@redhat.com>
7066
7067         * src/nm-activation-request.h
7068           src/nm-activation-request.c
7069                 - (nm_act_request_set_specific_object): new function; allow setting the
7070                         specific object if one isn't set yet
7071
7072 2007-10-20  Dan Williams  <dcbw@redhat.com>
7073
7074         * src/supplicant-manager/nm-supplicant-config.h
7075           src/supplicant-manager/nm-supplicant-config.c
7076                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7077                         table to store blobs
7078                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7079                         blob hash table
7080                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7081                 - (nm_supplicant_config_add_setting_wireless_security): handle
7082                         options that use certificates (ie, blobs)
7083
7084         * src/nm-device-802-11-wireless.c
7085                 - (build_supplicant_config): pass a UID (just use the connection path)
7086                         to the supplicant config as now required
7087
7088         * src/supplicant-manager/nm-supplicant-interface.c
7089                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7090                         there are any blobs to send to wpa_supplicant, send those first
7091                         before sending the network configuration
7092
7093 2007-10-19  Dan Williams  <dcbw@redhat.com>
7094
7095         Split the GetSecrets() call off to a separate D-Bus interface so that it
7096         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7097         should be able to call GetSecrets().
7098
7099         * include/NetworkManager.h
7100                 - Define the connection secrets D-Bus interface
7101
7102         * src/vpn-manager/nm-vpn-connection.c
7103                 - (clear_need_auth): get the right proxy object for the connection
7104                         secrets interface
7105                 - (get_connection_secrets): use the connection secrets proxy; send
7106                         empty hints in get secrets request
7107
7108         * src/nm-activation-request.c
7109                 - (nm_act_request_request_connection_secrets): use the connection
7110                         secrets proxy; send empty hints in get secrets request
7111
7112         * src/nm-manager.c
7113           src/nm-manager.h
7114                 - (connection_get_settings_cb): set the connection secrets proxy on
7115                         the connection object too
7116                 - (internal_new_connection_cb): create the connection secrets proxy
7117
7118         * introspection/nm-settings-connection.xml
7119                 - Define Connection.Secrets interface and move GetSecrets there
7120                 - Add a 'hints' argument to GetSecrets
7121
7122         * libnm-glib/nm-settings.c
7123           libnm-glib/nm-settings.h
7124                 - (impl_connection_settings_get_secrets): add 'hints' argument
7125
7126 2007-10-19  Dan Williams  <dcbw@redhat.com>
7127
7128         * src/nm-device.c
7129                 - (constructor): add message about what path a device is exported as
7130                         to help in debugging rh #339011
7131
7132 2007-10-17  Dan Williams  <dcbw@redhat.com>
7133
7134         * libnm-util/nm-utils.h
7135           libnm-util/nm-utils.c
7136                 - (nm_utils_security_valid): common function to help find the intersection
7137                         of capabilities of devices and (optionally) access points
7138
7139 2007-10-17  Dan Williams  <dcbw@redhat.com>
7140
7141         * src/nm-device-802-11-wireless.c
7142                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7143                         don't get erroneously cleared
7144
7145 2007-10-17  Dan Williams  <dcbw@redhat.com>
7146
7147         * src/nm-manager.h
7148           src/nm-manager.c
7149           src/nm-hal-manager.c
7150                 - (device_removed, finalize, nm_manager_remove_device,
7151                    nm_manager_sleep): add a 'deactivate' argument to 
7152                    nm_manager_remove_device() to fully deactivate devices when necessary
7153                    (ie, always except when waking up)
7154
7155 2007-10-16  Dan Williams  <dcbw@redhat.com>
7156
7157         * libnm-util/nm-setting.c
7158                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7159                         also isn't valid phase2 autheap method
7160
7161 2007-10-16  Dan Williams  <dcbw@redhat.com>
7162
7163         * libnm-glib/nm-client.c
7164                 - (update_wireless_status): consolidate updates of wireless status
7165                 - (constructor): use update_wireless_status()
7166                 - (manager_running): set wireless status off when NM goes away; requery
7167                         the wireless status when NM comes back
7168
7169 2007-10-16  Dan Williams  <dcbw@redhat.com>
7170
7171         * libnm-glib/nm-client.c
7172                 - (nm_client_activate_device): actually use the fixed-up specific
7173                         object path
7174
7175 2007-10-16  Dan Williams  <dcbw@redhat.com>
7176
7177         * src/nm-hal-manager.c
7178                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7179                         killswitch error messages once
7180
7181 2007-10-16  Dan Williams  <dcbw@redhat.com>
7182
7183         * src/nm-manager.c
7184                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7185                         if it's disabled in hardware; don't touch network devices while
7186                         NM is asleep
7187
7188 2007-10-16  Dan Williams  <dcbw@redhat.com>
7189
7190         * libnm-util/nm-client.c
7191                 - (nm_client_activate_device): convert NULL specific_object to "/",
7192                         which is used in place of NULL
7193
7194         * src/nm-manager.c
7195                 - (impl_manager_activate_device): convert "/" specific_object back into
7196                         NULL
7197
7198 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7199
7200         Implement a generic NMSetting creator from setting name.
7201         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7202         add a virtual function 'populate_fn'.
7203
7204         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7205         (register_default_creators): Register setting creators instead of functions
7206         that create and then populate.
7207         (parse_one_setting): Use the common setting creator and then setting specific
7208         poplulation function.
7209
7210         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7211         they all looked exactly the same.
7212         Add a 'populate_fn' virtual function to NMSetting.
7213         Use default virtual functions in case they are not overriden.
7214         (nm_setting_populate_from_hash): Implement.
7215
7216         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7217         name, use a defined string.
7218         (real_act_stage4_get_ip4_config): Ditto.
7219
7220 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7221
7222         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7223         HAL is int, not uint.
7224
7225 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7226
7227         Implement killswitch polling through HAL.
7228
7229         * src/nm-manager.c: Add wireless hardware status property. Add 
7230         'properties-changed' signal for changes in wireless and wireless hardware
7231         state changes.
7232
7233         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7234         and update NMManager's wireless hardware state when it has changed.
7235         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7236         already does that.
7237
7238         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7239         values of wireless state and wireless hardware state. Listen for the
7240         'properties-changed' signals, update the cached values and emit notify.
7241
7242         * include/NetworkManager.h: Fix a typo in a comment.
7243
7244 2007-10-14  Dan Williams  <dcbw@redhat.com>
7245
7246         * libnm-util/nm-setting.c
7247                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7248
7249 2007-10-13  Dan Williams  <dcbw@redhat.com>
7250
7251         * libnm-util/nm-setting.h
7252           libnm-util/nm-setting.c
7253           src/supplicant-manager/nm-supplicant-config.c
7254                 - Make the 'proto' field of the 802-11-wireless-security field a
7255                         string list
7256
7257 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7258
7259         Rework the "properties-changed" signal listening implementation.
7260         Add a generic implementation to NMObject class that listens for
7261         the signal and calls property setters of the target NMObject.
7262
7263         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7264
7265         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7266         code to the end of file so that all the static functions are available
7267         without extra declarations.
7268         Remove the "properties-changed" signal handling and use the framework from
7269         NMObject.
7270         Implement property setters for properties that change with 
7271         "properties-changed" signal.
7272
7273         * libnm-glib/nm-access-point.c: Ditto.
7274
7275 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7276
7277         Rework the "properties-changed" signal implementation.
7278         In classes that need to use it, just emit "GObject::notify" and the new
7279         framework takes care of the rest to make the signal available on dbus.
7280         The framework queues the notifications and tries to send as many together
7281         in one signal as possible.
7282
7283         * src/nm-properties-changed-signal.c:
7284         * src/nm-properties-changed-signal.h: Implement.
7285
7286         * src/Makefile.am: Add new files to build.
7287
7288         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7289         signal.
7290
7291         * src/nm-device-802-11-wireless.c: Ditto.
7292
7293 2007-10-10  Dan Williams  <dcbw@redhat.com>
7294
7295         * src/nm-manager.c
7296                 - (wait_for_connection_expired): ensure info is valid
7297                 - (connection_added_default_handler): Should only remove pending
7298                         connection info when the manager has the connection that it's
7299                         waiting for.  Fixes segfault in wait_for_connection_info().  
7300
7301 2007-10-10  Dan Williams  <dcbw@redhat.com>
7302
7303         * libnm-util/nm-setting.c
7304           libnm-util/nm-setting.h
7305                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7306                         can use if they choose.  Should be filled in by the settings service
7307                         on-the-fly with the currently logged in user's username
7308
7309 2007-10-10  Dan Williams  <dcbw@redhat.com>
7310
7311         * src/nm-device-802-11-wireless.c
7312                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7313                         as such, because even if the manager fills in the SSID, NM still
7314                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7315                         its SSID
7316
7317 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7318
7319         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7320         code that used NM's own version of dbus signal handling and custom dictionary
7321         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7322         and we get to maintain over 2000 lines less code.
7323
7324         * libnm-util/dbus-dict-helpers.c:
7325         * libnm-util/dbus-dict-helpers.h: Remove.
7326
7327         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7328
7329         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7330
7331         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7332         handlers.
7333
7334         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7335
7336         * configure.in: Remove test/libnm-util/Makefile creation.
7337
7338         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7339
7340         * test/libnm-util/: Remove the whole directory.
7341
7342 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7343
7344         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7345         device_state_changed_idle_id variable or it would contain some random value and the
7346         schedule_change_check calls would not do anything.
7347
7348 2007-10-09  Dan Williams  <dcbw@redhat.com>
7349
7350         * src/nm-device-802-11-wireless.c
7351                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7352                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7353                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7354                         merging of non-SSID-broadcasting APs
7355
7356 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7357
7358         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7359         "guint8 *" since it's usually used with GByteArray->data.
7360         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7361
7362 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7363
7364         * src/NetworkManagerUtils.c
7365         (nm_utils_is_empty_ssid):
7366         (nm_utils_escape_ssid):
7367         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7368         lot of places, so they belong to libnm-utils instead.
7369
7370         Now with 100% less compiler warnings:
7371
7372         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7373         (nm_dbus_unescape_object_path): Ditto.
7374         (nm_utils_ssid_to_utf8): Ditto.
7375         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7376         (nm_utils_escape_ssid): Ditto.
7377         (nm_utils_same_ssid): Ditto.
7378
7379         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7380         (add_one_connection_element): Remove an unused variable.
7381         (impl_manager_get_active_connections): Ditto.
7382
7383         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7384         variable.
7385
7386         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7387         from the previous commit.
7388
7389         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7390         (real_act_stage1_prepare): Ditto.
7391         (activation_success_handler): Ditto.
7392         (get_property): Ditto.
7393
7394         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7395         variable.
7396
7397         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7398         it's always set.
7399
7400         * src/supplicant-manager/nm-supplicant-config.c 
7401         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7402         to expected "char *".
7403         (nm_supplicant_config_add_setting_wireless): Ditto.
7404         (nm_supplicant_config_remove_option): Remove, not used.
7405
7406         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7407         not double.
7408         (test_wireless_enabled): Ifdef out unused function.
7409         (device_deactivate): Ditto.
7410         (device_state_changed): Ditto.
7411         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7412         (nm_utils_escape_ssid): Ditto.
7413
7414         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7415         (nm_utils_is_empty_ssid): Ditto.
7416
7417         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7418         unused variable.
7419
7420         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7421         (setting_vpn_properties_update_secrets): Ditto.
7422         (int_to_gvalue): Ifdef out for now, not used.
7423         (byte_to_gvalue): Ditto.
7424
7425         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7426         Unused, remove.
7427
7428 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7429
7430         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7431         about dbus manager, not named manager.
7432         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7433
7434         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7435         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7436         However, the same signal is emitted when we destroy it and there's 
7437         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7438
7439         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7440         releasing the DBusGConnection, since proxy needs a conneciton.
7441         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7442
7443 2007-10-08  Dan Williams  <dcbw@redhat.com>
7444
7445         * src/NetworkManager.c
7446                 - (main): error on unknown command-line options
7447
7448 2007-10-08  Dan Williams  <dcbw@redhat.com>
7449
7450         Reimplement the invalid connection list.  Don't try to re-activate a
7451         connection that just failed or was canceled.
7452
7453         * src/nm-device.c
7454                 - (connection_secrets_failed_cb): fail device activation, don't just
7455                         deactivate the device.  Listeners have to know about the failure.
7456
7457         * src/NetworkManagerPolicy.c
7458                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7459                         the connection list given to a device's get_best_connection()
7460                         method
7461                 - (device_state_changed): tag failed connections as invalid; clear the
7462                         tag from successful connections
7463
7464 2007-10-08  Dan Williams  <dcbw@redhat.com>
7465
7466         Fix problems with interrupted activation.  Previously, choosing an AP
7467         from the menu, then choosing another one before the first connection was
7468         successful wouldn't deactivate the device before starting the new connection
7469         on that same device.
7470
7471         * src/NetworkManagerPolicy.c
7472                 - (deactivate_old_device, device_state_changed, state_changed,
7473                    nm_policy_new): wrong place to deactivate old devices
7474
7475         * src/nm-manager.c
7476                 - (pending_connection_info_destroy, finalize,
7477                    wait_for_connection_expired): decouple destruction of the pending
7478                         connection info from the manager device
7479                 - (connection_added_default_handler): deactivate any active or
7480                         activating device before starting a new activation
7481                 - (impl_manager_activate_device): deactivate any active or activating
7482                         device before starting a new activation; be sure not to leak
7483                         pending connection info if a new activation request arrives but
7484                         there's already a pending one in-process
7485
7486 2007-10-08  Dan Williams  <dcbw@redhat.com>
7487
7488         * src/NetworkManagerAP.h
7489           src/NetworkManagerAP.c
7490                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7491                         should handle default SSIDs and whether or not to autoconnect
7492                         to them
7493
7494 2007-10-08  Dan Williams  <dcbw@redhat.com>
7495
7496         * src/NetworkManagerPolicy.c
7497                 - (nm_policy_device_change_check): print out connection name where
7498                         possible
7499
7500 2007-10-08  Dan Williams  <dcbw@redhat.com>
7501
7502         * src/nm-device-802-11-wireless.c
7503           src/nm-device-802-11-wireless.h
7504                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7505                         'hidden-ap-found' signal (for internal use only) that allows the
7506                         NMManager to fill in the AP's SSID if a connection has that AP's
7507                         BSSID in its seen-bssids list
7508
7509         * src/nm-manager.c
7510                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7511                         wireless device's hidden-ap-found signal and fill in the APs SSID
7512                         if possible
7513
7514 2007-10-07  Dan Williams  <dcbw@redhat.com>
7515
7516         * src/nm-manager.c
7517           src/nm-manager.h
7518                 - Add a 'connections-added' signal to batch together updates of large
7519                         numbers of connections, like when reading from a settings service
7520                         the first time.  Otherwise, the policy would just activate the first
7521                         suitable connection it saw rather than waiting for the full list
7522                         to arrive.
7523                 - (nm_manager_class_init): register new signal
7524                 - (get_type_for_proxy, connection_get_settings_cb,
7525                    get_connection_for_proxy): centralize places where a proxy's setting
7526                         service is determined
7527                 - (free_get_settings_info): if the call being freed is the last call
7528                         in a pending call group, fire off the connections-added signal
7529                 - (internal_new_connection_cb): add call to a pending call group if
7530                         requested
7531                 - (list_connections_cb): always create a call group here, because this
7532                         call results in a batch of new connections
7533                 - (initial_get_connections): start getting system connections first
7534                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7535                         removed signal when destroying connections
7536
7537         * src/NetworkManagerPolicy.c
7538                 - (nm_policy_new, connections_added): handle connections-added signal
7539                         from the manager
7540
7541 2007-10-06  Dan Williams  <dcbw@redhat.com>
7542
7543         * src/nm-device-802-11-wireless.c
7544                 - (constructor): fix leaked socket
7545
7546 2007-10-06  Dan Williams  <dcbw@redhat.com>
7547
7548         * src/NetworkManagerPolicy.c
7549                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7550                         connection in the list returned by nm_manager_get_connections() is
7551                         reffed, but they weren't getting unreffed before returning
7552
7553 2007-10-06  Dan Williams  <dcbw@redhat.com>
7554
7555         * src/nm-manager.c
7556                 - (connections_to_slist): sort connections first on autoconnect, then
7557                         on timestamp
7558
7559 2007-10-06  Dan Williams  <dcbw@redhat.com>
7560
7561         * libnm-util/nm-connection.c
7562                 - (gvalue_to_string): handle UINT64
7563
7564 2007-10-06  Dan Williams  <dcbw@redhat.com>
7565
7566         * src/NetworkManagerPolicy.c
7567                 - (connection_updated, nm_policy_new): recheck state when a connection
7568                         gets updated
7569
7570 2007-10-06  Dan Williams  <dcbw@redhat.com>
7571
7572         * src/nm-manager.c
7573           src/nm-manager.h
7574                 - (nm_manager_get_connection_dbus_path): make static
7575                 - (nm_manager_update_connections): remove; unused
7576                 - Add a connection-updated signal
7577                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7578                         handle connection object updates
7579
7580 2007-10-06  Dan Williams  <dcbw@redhat.com>
7581
7582         * src/NetworkManagerPolicy.c
7583                 - (connection_removed): deactivate removed connections
7584
7585 2007-10-06  Dan Williams  <dcbw@redhat.com>
7586
7587         * libnm-util/nm-connection.c
7588           libnm-util/nm-connection.h
7589                 - (nm_connection_replace_settings): new function
7590
7591 2007-10-06  Dan Williams  <dcbw@redhat.com>
7592
7593         * libnm-glib/nm-device-802-11-wireless.c
7594                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7595                         on error when getting the active access point over D-Bus from NM
7596
7597 2007-10-05  Dan Williams  <dcbw@redhat.com>
7598
7599         * libnm-util/nm-setting.c
7600                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7601                         to the NMSettingWireless table; it's now a string array not an array
7602                         of byte arrays
7603
7604 2007-10-05  Dan Williams  <dcbw@redhat.com>
7605
7606         * libnm-glib/nm-device-802-11-wireless.c
7607                 - Cache properties and update cached properties on D-Bus signals from NM
7608
7609 2007-10-05  Dan Williams  <dcbw@redhat.com>
7610
7611         * src/nm-device-802-11-wireless.c
7612                 - (set_current_ap): consolidate current_ap handling code into one place
7613                         to ensure that PropertiesChanged signals are emitted in all cases
7614                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7615                    nm_device_802_11_wireless_dispose): use set_current_ap()
7616
7617 2007-10-05  Dan Williams  <dcbw@redhat.com>
7618
7619         * libnm-glib/nm-access-point.c
7620           libnm-glib/nm-access-point.h
7621                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7622                         because the value is cached internally now.  Callers should not
7623                         free the internal value.
7624                 - Make signal name defines private
7625
7626         * test/nm-tool.c
7627           libnm-glib/libnm-glib-test.c
7628                 - Don't free value returned from nm_access_point_get_hw_address()
7629
7630 2007-10-04  Dan Williams  <dcbw@redhat.com>
7631
7632         * introspection/nm-device-802-11-wireless.xml
7633           src/nm-device-802-11-wireless.h
7634           src/nm-device-802-11-wireless.c
7635                 - Add a PropertiesChanged signal for wireless device
7636                 - Store currently associated access point
7637                 - (periodic_update): generalize; update rate here too and emit the
7638                         correct PropertiesChanged signal when stuff changes
7639                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7640                    real_activation_cancel_handler): clear current_ap when device is
7641                         deactivated
7642                 - (link_to_specific_ap, get_ap_blacklisted,
7643                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7644                         code
7645                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7646                         outside this file
7647                 - (real_set_hw_address): emit property changed signal if the card's
7648                         MAC address changes
7649                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7650                         the card is supposed to be connecting to
7651                 - (activation_success_handler): send out property updates on successful
7652                         activation
7653                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7654                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7655                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7656                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7657                         is now boxed; add PropertiesChanged signal
7658
7659 2007-10-04  Dan Williams  <dcbw@redhat.com>
7660
7661         * libnm-util/nm-connection.c
7662           libnm-util/nm-connection.h
7663                 - (nm_connection_verify): new function
7664
7665 2007-10-04  Dan Williams  <dcbw@redhat.com>
7666
7667         * libnm-util/nm-setting.c
7668                 - (nm_settings_verify): use #defines when possible rather than strings
7669                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7670                 - (setting_vpn_verify): tighter validity check on 'service_type'
7671
7672 2007-10-04  Dan Williams  <dcbw@redhat.com>
7673
7674         * libnm-glib/nm-settings.c
7675                 - (nm_connection_settings_class_init): provide correct type for argument
7676                         to the Updated signal so that dbus-glib knows how to marshal it
7677
7678 2007-10-03  Dan Williams  <dcbw@redhat.com>
7679
7680         * src/nm-device-802-3-ethernet.c
7681                 - (real_get_best_connection): don't create automatic connections
7682                         internally; clients should provide a setting that applies to
7683                         the device with 'autoconnect: True'.  Problem was that these
7684                         internally auto-created connections don't have a proxy or service
7685                         name becuase they weren't created by a settings daemon, and therefore
7686                         clients have no idea what to do with them.
7687
7688 2007-10-03  Dan Williams  <dcbw@redhat.com>
7689
7690         * src/nm-device-802-11-wireless.c
7691           src/nm-device-802-11-wireless.h
7692           introspection/nm-device-802-11-wireless.xml
7693                 - GetActiveNetworks -> GetAccessPoints
7694                 - ActiveNetwork -> ActiveAccessPoint
7695                 - NetworkAdded -> AccessPointAdded
7696                 - NetowrkRemoved -> AccessPointRemoved
7697
7698         * libnm-glib/nm-device-802-11-wireless.c
7699           libnm-glib/nm-device-802-11-wireless.h
7700                 - network-added signal -> access-point-added
7701                 - network-removed signal -> access-point-removed
7702                 - nm_device_802_11_wireless_get_active_network() ->
7703                         nm_device_802_11_wireless_get_active_access_point()
7704                 - nm_device_802_11_wireless_get_network_by_path() ->
7705                         nm_device_802_11_wireless_get_access_point_by_path()
7706                 - nm_device_802_11_wireless_get_networks() ->
7707                         nm_device_802_11_wireless_get_access_points()
7708
7709         * libnm-glib/libnm-glib-test.c
7710           test/nm-tool.c
7711           src/NetworkManagerPolicy.c
7712                 - Fixups for Network -> AccessPoint
7713
7714 2007-10-03  Dan Williams  <dcbw@redhat.com>
7715
7716         Add a GetActiveConnections() method on the Manager object.
7717
7718         * src/nm-manager.c
7719           src/nm-manager.h
7720           introspection/nm-manager.xml
7721                 - (connection_get_settings_cb): keep connection type around too
7722                 - (impl_manager_get_active_connections, add_one_connection_element):
7723                         implement; returns all active connections and what devices they
7724                         apply to
7725
7726         * libnm-glib/nm-client.c
7727           libnm-glib/nm-client.h
7728           introspection/nm-manager-client.xml
7729                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7730                         by the caller; free here to avoid memory leak
7731                 - (nm_client_get_active_connections): implement; return the list of
7732                         active connections
7733                 - (nm_client_free_active_connection_element): implement; free an element
7734                         of the GSList returned by nm_client_get_active_connections()
7735
7736 2007-10-03  Dan Williams  <dcbw@redhat.com>
7737
7738         * src/nm-device-802-11-wireless.c
7739                 - (nm_device_802_11_wireless_update_bssid): remove
7740                 - (get_active_ap): new function; find the AP in the scan list which
7741                         matches the current BSSID and SSID of the wireless device
7742                 - (nm_device_802_11_periodic_update): get current AP using
7743                         get_active_ap() and print AP roam messages
7744
7745 2007-10-01  Dan Williams  <dcbw@redhat.com>
7746
7747         * libnm-util/nm-setting.h
7748                 - Add a 'timestamp' option to NMSettingConnection
7749                 - Add a UINT64 type
7750
7751         * libnm-util/nm-setting.c
7752                 - (uint64_to_gvalue): new function
7753                 - (nm_setting_populate_from_hash, nm_setting_hash,
7754                    default_setting_clear_secrets): handle UINT64 type
7755                 - con_table: add 'timestamp' member
7756
7757 2007-10-01  Dan Williams  <dcbw@redhat.com>
7758
7759         * src/nm-manager.c
7760                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7761                         value when the connection can be activated immediately
7762
7763 2007-10-01  Dan Williams  <dcbw@redhat.com>
7764
7765         * libnm-glib/nm-device.c
7766                 - (nm_device_class_init): actually tell glib about the carrier-changed
7767                         signal
7768
7769 2007-10-01  Dan Williams  <dcbw@redhat.com>
7770
7771         * configure.in
7772           src/marshallers/Makefile.am
7773           src/marshallers/nm-marshal.list
7774           src/marshallers/nm-marshal-main.c
7775                 - Consolidate glib marshallers into one place
7776
7777         * src/dhcp-manager/Makefile.am
7778           src/dhcp-manager/nm-dhcp-manager.c
7779           src/supplicant-manager/Makefile.am
7780           src/supplicant-manager/nm-supplicant-manager.c
7781           src/supplicant-manager/nm-supplicant-interface.c
7782           src/ppp-manager/Makefile.am
7783           src/ppp-manager/nm-ppp-manager.c
7784           src/vpn-manager/Makefile.am
7785           src/vpn-manager/nm-vpn-connection.c
7786           src/Makefile.am
7787                 - Use consolidated marshallers
7788
7789         * src/dhcp-manager/nm-dhcp-marshal.list
7790           src/dhcp-manager/nm-dhcp-marshal-main.c
7791           src/supplicant-manager/nm-supplicant-marshal-main.c
7792           src/supplicant-manager/nm-supplicant-marshal.list
7793           src/nm-marshal-main.c
7794           src/nm-marshal.list
7795           src/ppp-manager/nm-ppp-marshal-main.c
7796           src/ppp-manager/nm-ppp-marshal.list
7797           src/vpn-manager/nm-vpn-marshal-main.c
7798           src/vpn-manager/nm-vpn-marshal.list
7799                 - Remove
7800
7801 2007-10-01  Dan Williams  <dcbw@redhat.com>
7802
7803         * include/NetworkManagerVPN.h
7804                 - define VPN connection state change reason codes
7805
7806         * src/vpn-manager/Makefile.am
7807           src/vpn-manager/nm-vpn-marshal.list
7808           src/vpn-manager/nm-vpn-marshal-main.c
7809                 - Add marshallers for StateChanged signal
7810
7811         * introspection/nm-vpn-connection.xml
7812                 - New Banner property
7813                 - StateChanged signal now includes a 'reason' argument
7814
7815         * src/vpn-manager/nm-vpn-connection.c
7816           src/vpn-manager/nm-vpn-connection.h
7817                 - Add a "Banner" property that contains the returned VPN server login
7818                         banner (if any); valid only in the ACTIVATED state
7819                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7820                         a 'reason' argument and emits that reason along with the
7821                         state-changed signal
7822                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7823                 - (nm_vpn_connection_ip4_config_get): save banner for later
7824                 - (nm_vpn_connection_get_banner, get_property,
7825                    nm_vpn_connection_class_init): implement Banner property
7826
7827         * src/vpn-manager/nm-vpn-service.c
7828                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7829                         connection list because elements may get added/removed from it
7830                         while iterating over the list
7831                 - (connection_state_changed): signal now includes the 'reason' argument
7832
7833         * libnm-glib/nm-vpn-connection.c
7834           libnm-glib/nm-vpn-connection.h
7835                 - (nm_vpn_connection_get_banner): new function
7836                 - (state_changed_proxy): handle reason argument
7837
7838 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7839
7840         * src/nm-manager.c:
7841         * src/nm-manager.h:
7842         Implement device activation through NMManager.
7843         Implement "pending device activation" here - If the connection isn't found,
7844         we try to wait for up to 5 seconds for the connection to be provided.
7845         Add NMConnectionType argument to "connection-added" and "connection-removed"
7846         signals.
7847         (nm_manager_get): Remove. Finally.
7848
7849         * src/nm-activation-request.c: 
7850         * src/nm-activation-request.h: 
7851         Remove all the deferred activation code.
7852
7853         * src/nm-device.c: Remove all the deferred activation code. Once the device
7854         activation is started, it's started. Update the activation virtual function
7855         signature.
7856
7857         * src/nm-device-interface.c:
7858         * src/nm-device-interface.h:
7859         Device activation now takes only NMActRequest argument.
7860         Don't expose device activation directly on dbus, it's supposed to go through
7861         NMManager now.
7862
7863         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7864         a bit more compact.
7865         Use the new device activation methods through NMManager.
7866
7867         * introspection/nm-manager-client.xml: 
7868         * introspection/nm-manager.xml: 
7869         * libnm-glib/nm-client.c:
7870         * libnm-glib/nm-client.h:
7871         Add device activation method.
7872         
7873         * libnm-glib/nm-device.c: 
7874         * libnm-glib/nm-device.h: 
7875         * introspection/nm-device.xml: 
7876         Remove device activation method. It's done through NMManager now.
7877
7878         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7879         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7880
7881 2007-09-28  Dan Williams  <dcbw@redhat.com>
7882
7883         * libnm-glib/nm-vpn-connection.c
7884                 - (nm_vpn_connection_get_state): try to update state if the current
7885                         state is UNKNOWN
7886
7887 2007-09-27  Dan Williams  <dcbw@redhat.com>
7888
7889         Patch from Bill Nottingham
7890
7891         * src/supplicant-manager/nm-supplicant-config.c
7892                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7893                         data to the supplicant
7894
7895 2007-09-27  Dan Williams  <dcbw@redhat.com>
7896
7897         * src/NetworkManagerSystem.c
7898                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7899                         and all address manipulation here should be happening on the
7900                         _VPN_ device, not the active device
7901
7902 2007-09-26  Dan Williams  <dcbw@redhat.com>
7903
7904         * src/nm-manager.c
7905           src/nm-manager.h
7906           src/nm-activation-request.c
7907           src/nm-activation-request.h
7908                 - Move the GetSecrets stuff out of the NMManager instance because it
7909                         doesn't really need to be there and complicates things
7910
7911         * src/nm-device.c
7912                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7913                         connection-secrets-failed signal and deactivate the device if
7914                         the GetSecrets call fails
7915
7916         * src/nm-device-802-11-wireless.c
7917                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7918                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7919                         secrets and give correct hints about whether new secrets should be
7920                         asked for by the client or not
7921
7922 2007-09-26  Dan Williams  <dcbw@redhat.com>
7923
7924         * src/vpn-manager/nm-vpn-connection.c
7925                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7926                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7927                         to the secrets-updated signal of the NMConnection since updating
7928                         the secrets is done within the scope of the NMVPNConnection object
7929                         already
7930                 - (get_connection_secrets): fix an uninialized variable usage error
7931
7932 2007-09-26  Dan Williams  <dcbw@redhat.com>
7933
7934         * libnm-util/nm-setting.c
7935                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7936                         actually get updated when the user enters them
7937
7938 2007-09-26  Dan Williams  <dcbw@redhat.com>
7939
7940         * libnm-glib/nm-vpn-plugin.c
7941                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7942
7943 2007-09-26  Dan Williams  <dcbw@redhat.com>
7944
7945         * include/NetworkManagerVPN.h
7946                 - Add a NEED_AUTH state
7947
7948         * src/vpn-manager/nm-vpn-connection.c
7949                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7950                         the connection needs secrets, and if so, then ask the settings
7951                         service to fill in the secrets.  Then start the connection.
7952
7953 2007-09-26  Dan Williams  <dcbw@redhat.com>
7954
7955         * src/vpn-manager/nm-vpn-manager.c
7956                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7957
7958 2007-09-26  Dan Williams  <dcbw@redhat.com>
7959
7960         * introspection/nm-vpn-plugin.xml
7961           libnm-glib/nm-vpn-plugin.c
7962           libnm-glib/nm-vpn-plugin.h
7963                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7964                         the name of the NMSetting in an NMConnection that may require
7965                         secrets specific to that VPN plugin
7966
7967 2007-09-26  Dan Williams  <dcbw@redhat.com>
7968
7969         * src/nm-manager.c
7970           src/nm-manager.h
7971                 - (nm_manager_get_connection_secrets): make static, unused outside
7972                         the file
7973                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7974
7975 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7976
7977         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7978         method.
7979         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7980         unreference the connection.
7981
7982         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7983         passing properties hash and routes string list, pass NMConnection (in hashed form).
7984
7985         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7986         as GSList, no need to copy stuff around anymore.
7987         (nm_vpn_connection_activate): Update the plugin activation method.
7988
7989         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7990         routes argument to GSList.
7991
7992 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7993
7994         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7995         state and try to get the secrets.
7996
7997         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7998         connections from NMManager and let the device to choose the best from the list.
7999         Since the connection list is sorted by system ones first and user ones later,
8000         the devices still prefer system connections like they did before.
8001         (deactivate_old_device): Implement. When a device starts activation, we have a
8002         policy (for now at least) to deactivate any other device that might be either
8003         active or still activating.
8004
8005         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8006         It's set on construction, there will be no other way to access it.
8007
8008         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8009         device events and drive the device, not the other way around.
8010
8011         * src/nm-device-802-3-ethernet.c: Ditto.
8012
8013         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8014         sent along, pass it on to virtual functions.
8015
8016         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8017         for now, but should really be public instead of nm_device_get_iface() since iface
8018         is a property of the DeviceInterface, not Device.
8019         (impl_device_activate): Don't touch NMManager!
8020
8021 2007-09-26  Jürg Billeter  <j@bitron.ch>
8022
8023         * initscript/paldo/NetworkManager.in:
8024         * initscript/paldo/NetworkManagerDispatcher.in:
8025         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8026         (nm_system_flush_loopback_routes): update paldo backend
8027
8028 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8029
8030         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8031         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8032         which means none of the devices get brought down properly, which in turn leaves
8033         DHCP client running.
8034
8035         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8036         (supplicant_connection_timeout_cb): Ditto.
8037
8038 2007-09-25  Dan Williams  <dcbw@redhat.com>
8039
8040         * src/nm-device.c
8041                 - (device_activation_go): small hack to work around race when
8042                         activating deferred connections; should solve this in a better way
8043
8044 2007-09-25  Dan Williams  <dcbw@redhat.com>
8045
8046         * introspection/nm-device.xml
8047           libnm-glib/nm-device.c
8048           libnm-glib/nm-device.h
8049                 - Add 'Carrier' property to exported NMDevice objects
8050
8051         * src/nm-device-interface.h
8052           src/nm-device-interface.c
8053           src/nm-device.c
8054                 - Add a 'carrier' property to internal NMDevice objects
8055
8056 2007-09-25  Dan Williams  <dcbw@redhat.com>
8057
8058         * src/nm-device-802-11-wireless.c
8059                 - (ap_auth_enforced): also return the encryption status of the AP so
8060                         that callers can differentiate easily between unencrypted APs
8061                         and encrypted ones, in addition to whether the AP has an
8062                         authenticator
8063                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8064                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8065                         previously would request secrets from unencrypted APs at times
8066
8067 2007-09-25  Dan Williams  <dcbw@redhat.com>
8068
8069         * src/nm-manager.c
8070                 - (nm_manager_update_state): new function; updates state and emits
8071                         appropriate signals ensuring a state-change signal for the same state
8072                         never gets emitted twice in a row.
8073                 - (manager_device_state_changed): handle more device state to get a
8074                         better picture of the overall NM state
8075
8076 2007-09-25  Dan Williams  <dcbw@redhat.com>
8077
8078         * libnm-glib/nm-settings.c
8079           libnm-glib/nm-settings.h
8080                 - (new_error -> nm_settings_new_error): make public so that subclasses
8081                         can use the same error domain.  Also pass a valid error code to
8082                         g_error_new_literal() so that libdbus doesn't assert when converting
8083                         the GError into a DBusError
8084                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8085                    impl_connection_settings_get_settings,
8086                    impl_connection_settings_get_secrets): use new error creator
8087                         function
8088
8089 2007-09-25  Dan Williams  <dcbw@redhat.com>
8090
8091         * src/NetworkManager.c
8092                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8093
8094 2007-09-25  Dan Williams  <dcbw@redhat.com>
8095
8096         * src/supplicant-manager/nm-supplicant-manager.c
8097                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8098                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8099                    nm_supplicant_manager_startup): when the supplicant isn't running,
8100                         try to start it periodically via system bus activation.  Fixes
8101                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8102                         for the supplicant to come back
8103
8104 2007-09-25  Dan Williams  <dcbw@redhat.com>
8105
8106         Ensure that old activation requests are forgotten about; previously
8107         hitting Cancel in the password dialog would deactivate whatever device
8108         that password was requested for, even if that wasn't the currently
8109         activating connection.
8110
8111         * src/nm-manager.c
8112           src/nm-manager.h
8113                 - (nm_manager_get_connection_secrets): track the pending call
8114                         object so it can be canceled later if needed
8115                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8116                         GetSecrets call for a particular connection
8117
8118         * src/nm-activation-request.c
8119                 - (dispose): cancel any outstanding GetSecrets calls on the
8120                         connection
8121
8122 2007-09-25  Dan Williams  <dcbw@redhat.com>
8123
8124         * src/NetworkManagerPolicy.c
8125                 - (nm_policy_device_change_check): handle devices that have a
8126                         deferred activation.  These devices are not really active _yet_,
8127                         but need to be treated as such here.  Don't interrupt them
8128                         automatically.
8129
8130         * src/nm-device-interface.c
8131                 - (impl_device_activate): handle devices that have a deferred activation
8132                         like activating or active devices.  When multiple active devices
8133                         get committed, the device shouldn't be deactivated until the
8134                         connection details are available to avoid DoS and such.  Currently,
8135                         any active, activating, or deferred activation device is deactivated
8136                         here before starting the new activation request.
8137
8138 2007-09-25  Dan Williams  <dcbw@redhat.com>
8139
8140         Properly re-query secrets from the settings daemon when stuff fails.
8141
8142         * src/nm-device-802-11-wireless.c
8143                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8144                         between Shared Key and Open System auth modes
8145                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8146                    real_act_stage4_ip_config_timeout): clear existing secrets and
8147                         request new ones when something fails due to a suspected wrong key
8148                 - (real_act_stage2_config): fix for new request_new argument to
8149                         nm_manager_get_connection_secrets()
8150
8151         * src/nm-manager.c
8152           src/nm-manager.h
8153                 - (nm_manager_get_connection_secrets): return error status; pass
8154                         new request_new argument on to the settings daemon
8155
8156         * introspection/nm-settings-connection.xml
8157                 - New 'request_new' argument to the GetSecrets call that hints to the
8158                         settings daemon to ask the user for completely new secrets
8159
8160         * libnm-glib/nm-settings.c
8161           libnm-glib/nm-settings.h
8162                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8163                         argument
8164
8165 2007-09-25  Dan Williams  <dcbw@redhat.com>
8166
8167         * libnm-util/nm-connection.c
8168           libnm-util/nm-connection.h
8169                 - (nm_connection_clear_secrets): new function; clear secrets out of
8170                         each NMSetting in an NMConnection
8171
8172         * libnm-util/nm-setting.h
8173           libnm-util/nm-setting.c
8174                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8175                         secrets out of an NMSetting
8176                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8177                    nm_setting_wired_new, nm_setting_wireless_new,
8178                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8179                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8180                         to default handler default_setting_clear_secrets()
8181
8182 2007-09-25  Dan Williams  <dcbw@redhat.com>
8183
8184         * src/nm-activation-request.c
8185           src/nm-activation-request.h
8186                 - (nm_act_request_is_deferred): new function
8187
8188 2007-09-24  Dan Williams  <dcbw@redhat.com>
8189
8190         * src/nm-device-802-11-wireless.c
8191                 - (activation_success_handler): update signal strength immediately
8192                         after activation
8193
8194 2007-09-24  Dan Williams  <dcbw@redhat.com>
8195
8196         * libnm-util/nm-setting.c
8197                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8198
8199 2007-09-24  Dan Williams  <dcbw@redhat.com>
8200
8201         * src/NetworkManagerPolicy.c
8202                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8203                         device by deactivating it because it doesn't have a "best connection".
8204                         Since autoconnect=False connections aren't automatically chosen,
8205                         NM would interrupt activation of such a connection because it
8206                         would never be "best" due to autoconnect=False.
8207
8208 2007-09-24  Dan Williams  <dcbw@redhat.com>
8209
8210         * src/nm-manager.c
8211                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8212                         actually has some time to enter a key before the GetSecrets call
8213                         times out
8214
8215 2007-09-24  Dan Williams  <dcbw@redhat.com>
8216
8217         * introspection/nm-manager.xml
8218           src/nm-manager.c
8219                 - (impl_manager_legacy_state): fix 'state' method call return value
8220
8221 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8222
8223         * test/Makefile.am: Install nm-tool
8224
8225 2007-09-24  Dan Williams  <dcbw@redhat.com>
8226
8227         Patch from Ross Burton <ross@burtonini.com>
8228
8229         * test/nm-tool.c
8230           callouts/nm-dhcp-client-action.c
8231           src/nm-netlink.c
8232           src/vpn-manager/nm-vpn-connection.c
8233           libnm-glib/libnm-glib-test.c
8234                 - warning fixes
8235
8236 2007-09-24  Dan Williams  <dcbw@redhat.com>
8237
8238         * libnm-util/nm-utils.h
8239           libnm-util/nm-utils.c
8240                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8241                         remove, unused
8242
8243 2007-09-23  Dan Williams  <dcbw@redhat.com>
8244
8245         * vpn-daemons/vpnc/properties/nm-vpnc.c
8246                 - Update for new VPN properties API bits; instead of passing around
8247                         a lot of random things, everything goes into the NMConnection
8248                         object.
8249
8250 2007-09-23  Dan Williams  <dcbw@redhat.com>
8251
8252         * libnm-util/nm-setting.c
8253                 - Correctly dispose of settings objects if creating them from a hash
8254                         table fails
8255
8256 2007-09-23  Dan Williams  <dcbw@redhat.com>
8257
8258         * libnm-util/nm-setting.c
8259                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8260                         the hash table in a standard manner.  Clients of libnm-util should
8261                         only call g_hash_table_remove_all(), never destroy the hash table
8262                         and recreate it.
8263
8264 2007-09-22  Dan Williams  <dcbw@redhat.com>
8265
8266         * src/nm-device-802-11-wireless.c
8267                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8268                         real reason to do it so often, and reduces wakeups for clients.
8269
8270 2007-09-21  Dan Williams  <dcbw@redhat.com>
8271
8272         * src/nm-device-802-11-wireless.c
8273                 - (build_supplicant_config): wpa_supplicant requires the option
8274                         key_mgmt=NONE for unencrypted networks
8275                 - (real_act_stage2_config): clarify log message on activation
8276
8277 2007-09-21  Dan Williams  <dcbw@redhat.com>
8278
8279         * test/nm-supplicant-test.c
8280           test/Makefile.am
8281                 - Remove supplicant test binary; no longer applicable
8282
8283 2007-09-21  Dan Williams  <dcbw@redhat.com>
8284
8285         * src/supplicant-manager/nm-supplicant-manager.c
8286                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8287                         activate it on the system bus
8288
8289 2007-09-20  Dan Williams  <dcbw@redhat.com>
8290
8291         * initscript/RedHat/NetworkManager.in
8292                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8293
8294 2007-09-20  Dan Williams  <dcbw@redhat.com>
8295
8296         * src/nm-device.c
8297                 - (nm_device_is_activating): work around a race between auto-activation
8298                         and the user activating the same device that is being auto-activated
8299
8300 2007-09-20  Dan Williams  <dcbw@redhat.com>
8301
8302         * src/nm-device-interface.c
8303                 - (impl_device_activate): until multiple active device support lands,
8304                         ensure only one device can be active at a time
8305
8306 2007-09-20  Dan Williams  <dcbw@redhat.com>
8307
8308         * src/supplicant-manager/nm-supplicant-config.c
8309           src/supplicant-manager/nm-supplicant-config.h
8310                 - (nm_supplicant_config_add_option): hide secrets from system logs
8311
8312 2007-09-20  Dan Williams  <dcbw@redhat.com>
8313
8314         * src/NetworkManagerPolicy.c
8315                 - (nm_policy_device_change_check): re-enable the wireless device change
8316                         checking code; insted of checking for SSIDs, check for the same
8317                         connection instead
8318
8319 2007-09-20  Dan Williams  <dcbw@redhat.com>
8320
8321         * src/nm-device-802-11-wireless.c
8322                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8323                         composite link state when determining when to start the disconnection
8324                         timer; that link state is already based on the supplicant interface's
8325                         status which is exactly what's already being examined, plus the link
8326                         state is a conglomeration of various things that we don't want here
8327
8328 2007-09-20  Dan Williams  <dcbw@redhat.com>
8329
8330         * libnm-glib/nm-access-point.c
8331                 - (handle_property_changed): strength is a UCHAR
8332
8333 2007-09-20  Dan Williams  <dcbw@redhat.com>
8334
8335         * src/supplicant-manager/nm-supplicant-config.c
8336                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8337                         string list keywords too since that's what wpa_supplicant wants
8338
8339 2007-09-20  Dan Williams  <dcbw@redhat.com>
8340
8341         * libnm-util/nm-setting.c
8342                 - (convert_strv_to_slist): dupe the values in the list because since
8343                         the list is a boxed value, it'll get destroyed when it's container
8344                         (like a hash table or whatever) gets destroyed
8345
8346 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8347
8348         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8349         GSList.
8350
8351         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8352
8353         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8354         just use (g_object_set_data_full).
8355
8356         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8357         that NMSettingVPN->routes is a GSList, convert it to char **.
8358         (nm_vpn_connection_ip4_config_get): Free routes when done.
8359         (nm_vpn_connection_activate): Ditto.
8360
8361         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8362         (real_act_stage2_config): Use defined setting names.
8363
8364 2007-09-20  Dan Williams  <dcbw@redhat.com>
8365
8366         * src/nm-device-802-11-wireless.c
8367           src/nm-manager.c
8368           src/nm-manager.h
8369                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8370                         so that the device can be deactivated if secrets are wrong
8371
8372 2007-09-20  Dan Williams  <dcbw@redhat.com>
8373
8374         * introspection/nm-settings-connection.xml
8375           libnm-glib/nm-settings.c
8376           libnm-glib/nm-settings.h
8377                 - Make GetSecrets asynchronous on the server side
8378
8379 2007-09-20  Dan Williams  <dcbw@redhat.com>
8380
8381         * src/nm-manager.h
8382           src/nm-device.c
8383                 - (nm_device_activate): actually check if a given connection
8384                         exists before assuming it doesn't
8385
8386 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8387
8388         * libnm-util/nm-connection.c (register_default_creators): Use defined
8389         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8390
8391         * libnm-util/nm-setting.c: Define property name strings, use them.
8392         Implement NMSettingVPN and NMSettingVPNProperties settings.
8393         Implement NM_S_TYPE_GVALUE_HASH.
8394         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8395         (setting_connection_verify): Rename 'devtype' property to 'type'.
8396
8397         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8398         properties.
8399
8400         * src/vpn-manager/nm-vpn-service.c: Ditto.
8401
8402         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8403
8404         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8405         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8406
8407         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8408         names. NMSettingConnection->devtype got renamed to 'type'.
8409
8410         * src/nm-device-802-3-ethernet.c (find_best_connection):
8411         (real_get_best_connection): Ditto.
8412
8413         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8414
8415         * libnm-glib/nm-vpn-manager.[ch]: Update.
8416
8417 2007-09-19  Dan Williams  <dcbw@redhat.com>
8418
8419         * src/NetworkManagerAP.c
8420           src/NetworkManagerAP.h
8421           introspection/nm-access-point.xml
8422                 - Change strength-changed signal into a properties-changed signal
8423                         for all properties, not just strength.  Export that signal over dbus
8424                         so listeners don't have to poll NM for changes.
8425                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8426                         get exported over D-Bus, so break up the logic and let other bits
8427                         decided when to export the AP
8428                 - (nm_ap_new_from_ap): remove, unused
8429
8430         * src/nm-device-802-11-wireless.c
8431                 - (merge_scanned_ap): only export APs that are actually on the device
8432                         list, not every AP created internally
8433
8434         * libnm-glib/nm-access-point.c
8435           libnm-glib/nm-access-point.h
8436                 - Cache properties internally and only hit DBus when needed.  Get
8437                         property updates from NM signals
8438
8439 2007-09-16  Dan Williams  <dcbw@redhat.com>
8440
8441         * libnm-util/nm-connection.c
8442           libnm-util/nm-connection.h
8443                 - (nm_connection_for_each_setting_value): new function; iterate over
8444                         each setting's value and call a user-provided function with details
8445                         about that value
8446
8447         * libnm-util/nm-setting.c
8448           libnm-util/nm-setting.h
8449                 - (nm_setting_enumerate_values): new function; enumerate the values
8450                         of a specific NMSetting subclass for a user-provided function with
8451                         details about that value
8452                 - Change wep_tx_keyidx to a uint32
8453                 - Create settings value tables for each setting defining their type,
8454                         key name, offset into the NMSetting subclass' structure, and whether
8455                         they are required and/or a secret
8456                 - (nm_setting_populate_from_hash): generic function to populate an
8457                         NMSetting from a GHash table, make all settings use it
8458                 - (nm_setting_hash): generic function to derive a GHashTable from
8459                         an NMSetting object, make all settings use it
8460
8461 2007-09-14  Dan Williams  <dcbw@redhat.com>
8462
8463         Remove unused stuff in libnm-util
8464
8465         * configure.in
8466           libnm-util/Makefile.am
8467           libnm-util/cipher-private.h
8468           libnm-util/cipher-wep-ascii.c
8469           libnm-util/cipher-wep-ascii.h
8470           libnm-util/cipher-wep-hex.c
8471           libnm-util/cipher-wep-hex.h
8472           libnm-util/cipher-wep-passphrase.c
8473           libnm-util/cipher-wep-passphrase.h
8474           libnm-util/cipher-wpa-psk-hex.c
8475           libnm-util/cipher-wpa-psk-hex.h
8476           libnm-util/cipher-wpa-psk-passphrase.c
8477           libnm-util/cipher-wpa-psk-passphrase.h
8478           libnm-util/cipher.c
8479           libnm-util/cipher.h
8480           libnm-util/dbus-helpers.c
8481           libnm-util/dbus-helpers.h
8482           libnm-util/gnome-keyring-md5.c
8483           libnm-util/gnome-keyring-md5.h
8484           libnm-util/sha1.c
8485           libnm-util/sha1.h
8486           src/nm-device-802-11-wireless.c
8487           test/libnm-util/Makefile.am
8488           test/libnm-util/test-ciphers.c
8489           test/libnm-util/test-dbus-helpers.c
8490           test/libnm-util/test-inputs.h
8491                 - Removed
8492
8493 2007-09-14  Dan Williams  <dcbw@redhat.com>
8494
8495         * libnm-util/dbus-method-dispatcher.c
8496           libnm-util/dbus-method-dispatcher.h
8497                 - Remove, unused
8498
8499 2007-09-14  Dan Williams  <dcbw@redhat.com>
8500
8501         Implement deferred activation support in the device class.
8502
8503         * src/nm-device-interface.c
8504           src/nm-device-interface.h
8505                 - (nm_device_interface_activate): take more arguments to support
8506                         deferred activation; callers must pass one of (connection) OR
8507                         (service_name, connection_path)
8508                 - (impl_device_activate): connection validation is punted to the device
8509                         to be able to handle deferred activation.  Yes, this means errors
8510                         don't get returned from the Activate() dbus call, and yes, that
8511                         should be fixed somehow later.
8512
8513         * src/nm-device.c
8514           src/nm-device.h
8515                 - (clear_act_request): clear additional deferred activation stuff too
8516                 - (deferred_activation_timeout_cb): new function; clean up when
8517                         deferred activation times out.
8518                 - (deferred_activation_start_cb): new function; when the connection
8519                         finally becomes available, start device activation
8520                 - (nm_device_activate): attach to the right signals of the activation
8521                         request if we need to defer activation until the connection is valid
8522
8523         * src/NetworkManagerPolicy.c
8524                 - (nm_policy_device_change_check): update for additional arguments
8525                         required for nm_device_interface_activate().  Pass NULL for these
8526                         though because this function already knows exactly which
8527                         NMConnection to use
8528
8529 2007-09-14  Dan Williams  <dcbw@redhat.com>
8530
8531         Implement deferred activation handling in the NMActRequest class.  When a
8532         client wants to activate a device but must create the NMConnection details
8533         on the fly, there likely hasn't been enough time yet for NM to receive the
8534         new connection signal and grab all the connection details.  So the
8535         activation is deferred (and bounded by a timer) for a while, and if the
8536         connection appears within the window, it is activated.
8537
8538         * src/nm-activation-request.c
8539           src/nm-activation-request.h
8540                 - (nm_act_request_class_init): two new signals to support deferred
8541                         activation, to allow the listener to handle both timeout and success
8542                 - (nm_act_request_new_deferred): new function, starts the deferred
8543                         activation timeout handler and listens to the NMManager for
8544                         new-connection signals to notice when the connection comes in
8545
8546 2007-09-14  Dan Williams  <dcbw@redhat.com>
8547
8548         * src/nm-manager.h
8549           src/nm-manager.c
8550                 - (nm_manager_get_connection_service_name,
8551                    nm_manager_get_connection_dbus_path): get details about a connection
8552                         known internally by the NMManager
8553                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8554                         because NMConnection is now a GObject subclass
8555                 - Use constant for the gobject data tag used on NMConnection objects for
8556                         storing the associated DBusGProxy
8557
8558 2007-09-14  Dan Williams  <dcbw@redhat.com>
8559
8560         * utils/Makefile.am
8561           utils/nm-utils.c
8562           utils/nm-utils.h
8563           src/supplicant-manager/Makefile.am
8564           src/dhcp-manager/Makefile.am
8565           src/backends/Makefile.am
8566           src/named-manager/Makefile.am
8567           src/ppp-manager/Makefile.am
8568           src/vpn-manager/Makefile.am
8569           test/libnm-util/Makefile.am
8570           test/test-common/Makefile.am
8571                 - Remove utils/; it was unused
8572
8573 2007-09-13  Dan Williams  <dcbw@redhat.com>
8574
8575         * libnm-glib/nm-vpn-manager.h
8576           libnm-glib/nm-vpn-manager.c
8577                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8578
8579 2007-09-13  Dan Williams  <dcbw@redhat.com>
8580
8581         * src/nm-device-802-3-ethernet.c
8582                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8583                         netlink monitor carrier signals on dispose, not bring down.  The
8584                         carrier signals should be handled over the entire lifetime of the
8585                         device anyway, not created/destroyed on up or down.
8586
8587 2007-09-13  Dan Williams  <dcbw@redhat.com>
8588
8589         * libnm-glib/nm-device.c
8590           libnm-glib/nm-device.h
8591                 - (nm_device_activate): take a connection object path rather than an
8592                         NMConnection because NMConnection isn't exported over D-Bus and
8593                         therefore it dbus-glib can't automatically get an object path from it
8594
8595 2007-09-13  Dan Williams  <dcbw@redhat.com>
8596
8597         * libnm-util/nm-setting.c
8598                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8599
8600 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8601
8602         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8603
8604 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8605
8606         * src/vpn-manager/nm-vpn-connection.[ch]: 
8607         * src/vpn-manager/nm-vpn-manager.[ch]:
8608         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8609         dbus-glib, GObjects, signals etc.
8610
8611         * libnm-glib/nm-vpn-manager.[ch]: 
8612         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8613         so much, rewrite these too.
8614
8615         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8616         the new introspection files.
8617
8618         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8619
8620         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8621         the header with the same name from libnm-utils.
8622
8623         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8624
8625         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8626
8627         * introspection/nm-vpn-plugin.xml: Implement.
8628
8629         * introspection/nm-vpn-connection.xml: Implement.
8630
8631         * introspection/nm-vpn-manager.xml: Implement.
8632
8633         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8634         the named manager argument, it can just as easily get it as the caller.
8635         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8636
8637         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8638
8639         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8640
8641         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8642         libnm-utils.
8643
8644         * libnm-util/nm-connection.c: Ditto.
8645
8646         * src/NetworkManagerMain.h: Remove, it's finally empty.
8647
8648         * configure.in: Remove utils/ from build.
8649
8650         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8651         of hard-coded strings.
8652
8653         * utils/: Move it over to libnm-util.
8654
8655         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8656
8657         * dispatcher-daemon/Makefile.am: Ditto.
8658
8659         * src/Makefile.am: Ditto.
8660
8661 2007-09-12  Dan Williams  <dcbw@redhat.com>
8662
8663         Wireless connections can be made with config data from the applet now.
8664         
8665         Yay.
8666
8667         * src/supplicant-manager/nm-supplicant-config.h
8668           src/supplicant-manager/nm-supplicant-config.c
8669                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8670                 - (nm_supplicant_config_add_setting_wireless,
8671                    nm_supplicant_config_add_setting_wireless_security): new functions;
8672                         add key/value pairs from the settings objects to the supplicant
8673                         config
8674
8675         * src/nm-device-802-11-wireless.c
8676                 - (cull_scan_list): fix check to not prune currently associated AP
8677                 - (build_supplicant_config, real_act_stage2_config): call the functions
8678                         of the NMSupplicantConfig that parse settings objects rather than
8679                         doing it manually here
8680
8681 2007-09-12  Dan Williams  <dcbw@redhat.com>
8682
8683         * src/supplicant-manager/nm-supplicant-interface.c
8684           src/supplicant-manager/nm-supplicant-marshal.list
8685                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8686                         "connection-error" signal arguments should be STRING not CHAR
8687
8688 2007-09-12  Dan Williams  <dcbw@redhat.com>
8689
8690         * src/NetworkManagerUtils.c
8691           src/NetworkManagerUtils.h
8692                 - (nm_utils_hexstr2bin): new function
8693
8694 2007-09-11  Dan Williams  <dcbw@redhat.com>
8695
8696         * src/nm-manager.c
8697                 - (connection_get_settings_cb): emit connection-added signal
8698                 - (connection_removed_cb): uncomment bits for system settings service,
8699                         send connection-removed when appropriate
8700                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8701                         the stack by trying to g_object_set_data() on something that's
8702                         not a GObject; handle case where settings service returns
8703                         empty settings hash table
8704
8705 2007-09-11  Dan Williams  <dcbw@redhat.com>
8706
8707         * src/NetworkManagerPolicy.c
8708                 - (connection_added, connection_removed): trigger device change checks
8709                         on connection changes
8710
8711 2007-09-11  Dan Williams  <dcbw@redhat.com>
8712
8713         * src/nm-activation-request.c
8714                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8715
8716 2007-09-11  Dan Williams  <dcbw@redhat.com>
8717
8718         * src/nm-device-802-11-wireless.c
8719                 - (real_connection_secrets_updated): fix erroneous check
8720
8721 2007-09-11  Dan Williams  <dcbw@redhat.com>
8722
8723         * introspection/nm-device.xml
8724           libnm-glib/nm-device.c
8725           libnm-glib/nm-device.c
8726                 - Fix Activate call argument borkage; Activate takes 3 arguments
8727
8728 2007-09-11  Dan Williams  <dcbw@redhat.com>
8729
8730         * libnm-glib/nm-access-point.c
8731           libnm-glib/nm-access-point.c
8732                 - (nm_access_point_get_frequency): now returns guint32 to match
8733                         property change on 2007-09-10
8734
8735 2007-09-11  Dan Williams  <dcbw@redhat.com>
8736
8737         * src/nm-device-802-11-wireless.c
8738                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8739                         somewhere defines 'index' and I missed this one when I fixed the
8740                         shadow declaration errors earlier
8741
8742 2007-09-11  Dan Williams  <dcbw@redhat.com>
8743
8744         * libnm-util/nm-connection.c
8745                 - (nm_connection_update_secrets, need_secrets_check): move
8746                         802-11-wireless-security need_secrets checks to the setting object
8747                         itself, where it belongs
8748
8749         * libnm-util/nm-setting.c
8750           libnm-util/nm-setting.h
8751                 - (nm_setting_need_secrets): new function
8752                 - (setting_wireless_security_verify,
8753                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8754                 - (setting_wireless_security_need_secrets): mostly copy code over
8755                         from nm-connection.c
8756
8757 2007-09-11  Dan Williams  <dcbw@redhat.com>
8758
8759         * libnm-util/nm-setting.c
8760           libnm-util/nm-setting.h
8761                 - (nm_setting_update_secrets): new function; add a virtual function that
8762                         subclasses can implement to update their secrets
8763                 - (setting_wireless_security_update_secrets): implement that function
8764                         for the 802-11-wireless-security subclass
8765
8766         * libnm-util/nm-connection.c
8767           libnm-util/nm-connection.h
8768                 - (nm_connection_update_secrets): update secrets for a Setting and
8769                         emit a signal on success
8770
8771         * src/nm-manager.c
8772           src/nm-manager.h
8773           src/nm-marshal.list
8774                 - (connection_get_settings_cb): enable system settings bits
8775                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8776                         to request secrets from the settings dbus service and to
8777                         push those secrets to the NMConnection itself
8778
8779         * src/nm-activation-request.c
8780           src/nm-activation-request.h
8781                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8782                         currently being activated, and proxy that signal to other listeners.
8783                         Goes through the activation request because the activation request
8784                         is the thing that manages the lifetime of the NMConnection that's
8785                         being activated.
8786
8787         * src/nm-device-802-11-wireless.c
8788                 - (real_connection_secrets_updated): implement the connection secrets
8789                         updated notification and restart activation when secrets are
8790                         received
8791                 - (real_act_stage2_config): request secrets from the settings dbus
8792                         service if secrets are needed
8793
8794         * src/nm-device.c
8795           src/nm-device.h
8796                 - (clear_act_request, nm_device_activation_cancel,
8797                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8798                         where the activation request is cleared
8799                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8800                         updated secrets signal of activation request and add a function
8801                         that subclasses can override to handle it easily
8802
8803 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8804
8805         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8806         removal of NetworkManagerAPList.
8807
8808 2007-09-10  Dan Williams  <dcbw@redhat.com>
8809
8810         * src/NetworkManagerAP.c
8811           src/NetworkManagerAP.h
8812           introspection/nm-access-point.xml
8813                 - Change 'freq' property to a guint32 instead of a double since we
8814                         weren't using the floating point bits anyway
8815
8816 2007-09-10  Dan Williams  <dcbw@redhat.com>
8817
8818         * NetworkManagerAP.c
8819           NetworkManagerAP.h
8820           NetworkManagerPolicy.c
8821           NetworkManagerSystem.c
8822           NetworkManagerUtils.c
8823           NetworkManagerUtils.h
8824           nm-device-802-11-wireless.c
8825           nm-device-802-3-ethernet.c
8826           nm-hal-manager.c
8827           nm-manager.c
8828           vpn-manager/nm-dbus-vpn.c
8829                 - Warning fixes; casts and removal of unused variables
8830
8831 2007-09-10  Dan Williams  <dcbw@redhat.com>
8832
8833         * include/NetworkManager.h
8834                 - Kill NMNetworkType; AP types don't matter any more
8835
8836         * src/NetworkManagerAPList.c
8837           src/NetworkManagerAPList.h
8838           src/Makefile.am
8839                 - Kill; NMAccessPointList has outlived it's usefulness
8840
8841         * src/NetworkManagerAP.c
8842           src/NetworkManagerAP.h
8843                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8844                         functions; check if an NMConnection object is compatible with the
8845                         settings of this AP
8846                 - (freq_to_channel, channel_to_freq): utility functions for
8847                         channel <-> frequency conversion
8848
8849         * src/nm-device.c
8850           src/nm-device.h
8851                 - (nm_device_get_best_connection): pass the specific object around
8852                          (which might be the object path of a specific AP to connect to).
8853                          The get_best_connection() call should populate this on return
8854                          if needed (wireless does).
8855
8856         * src/nm-device-802-3-ethernet.c
8857                 - (real_get_best_connection): handle specific_object argument
8858
8859         * src/NetworkManager.c
8860           src/NetworkManagerMain.h
8861                 - Remove unused includes
8862
8863         * src/nm-device-802-11-wireless.c
8864           src/nm-device-802-11-wireless.h
8865                 - Convert the ap_list into a GSList from an NMAccessPointList
8866                 - No need for caching the 'activation_ap' since this is now determined
8867                         from the specific_object of the activation request, which is
8868                         populated from the get_best_connection() call or from a user request
8869                 - (nm_device_802_11_wireless_update_bssid): fix warning
8870                 - (get_wireless_capabilities): fix error message format arguments
8871                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8872                 - (find_best_connection, real_get_best_connection): implement
8873                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8874                         move here from NetworkManagerAPList
8875                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8876                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8877                         already verified earlier
8878                 - (real_act_stage2_config): use nm_connection_need_secrets()
8879
8880         * src/NetworkManagerPolicy.c
8881                 - (nm_policy_auto_get_best_device): handle specific objects
8882                 - (create_connection): remove; automatic connection creation functionality
8883                         is handled by the Connection objects
8884                 - (nm_policy_device_change_check): handle specific_object
8885
8886         * libnm-util/nm-connection.c
8887                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8888
8889 2007-09-10  Dan Williams  <dcbw@redhat.com>
8890
8891         * src/nm-manager.c
8892                 - (query_connections): fix uninitialized variable problem that caused
8893                         segfault
8894                 - (nm_manager_add_device): take devices down on startup so that we can
8895                         be assured that nm_device_is_up() won't short-circuit the init
8896                         process.  Hack until the is_up check gets split into two pieces
8897                         that aren't behaviorally confusing.
8898
8899 2007-09-09  Dan Williams  <dcbw@redhat.com>
8900
8901         * introspection/nm-device.xml
8902                 - The 'Activate' method now takes 3 arguments, a service name for the
8903                 settings service (user or system), the object path of the connection
8904                 to activate, and the specific object to activate, if any
8905
8906         * src/nm-device-interface.c
8907                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8908                 Add error bits
8909                 - (impl_device_activate): adapt to new Activate arguments; validate
8910                 the service name and get the Connection object from the NMManager
8911                 before starting to activate the device with the specified connection
8912
8913         * src/nm-device-802-3-ethernet.c
8914                 - (real_get_best_connection): find the best connection, or create a
8915                 default one if no existing connections can be used
8916
8917         * src/NetworkManagerPolicy.c
8918                 - (nm_policy_auto_get_best_device): Get the device's best connection
8919                 and only pick the device if it has one
8920                 - (nm_policy_device_change_check): disable wireless bits for now until
8921                 wireless get_best_connection() can be implemented (replacing "best_ap");
8922                 don't create a default connection here as the device subclass will do
8923                 that if needed
8924
8925         * src/nm-manager.h
8926           src/nm-manager.c
8927                 - (nm_manager_get): make NMManager a singleton and expose the getter
8928                 internally
8929                 - Rework internal NMManager connection handling to use the same
8930                 routines for both the system and user settings services.  Most calls
8931                 take a new NMConnectionType argument specifying either system or user
8932                 connections
8933                 - (nm_manager_get_connection_by_object_path): new function; get a
8934                 connection keyed on its object path
8935
8936         * src/NetworkManager.c
8937                 - (main): use nm_manager_get()
8938
8939 2007-09-09  Dan Williams  <dcbw@redhat.com>
8940
8941         * src/nm-device.h
8942           src/nm-device.c
8943                 - (nm_device_get_best_connection): new function; get best connection
8944                         for the device at that time
8945
8946 2007-09-09  Dan Williams  <dcbw@redhat.com>
8947
8948         * src/nm-device-interface.h
8949                 - Add NMDeviceInterfaceError with an UnknownConnection error
8950
8951 2007-09-09  Dan Williams  <dcbw@redhat.com>
8952
8953         Stupid mistake on my part; object path and interface for settings service
8954         and connection objects can be the same, only the service name must be
8955         different for the system and user settings services.
8956
8957         * include/NetworkManager.h
8958           src/nm-manager.c
8959           introspection/nm-settings-connection.xml
8960           introspection/nm-settings.xml
8961           libnm-glib/nm-settings.c
8962                 - (nm_connection_settings_init, query_user_connections,
8963                    new_connection_cb): Unify NetworkManagerSettings and Connection
8964                    interface name and object path
8965
8966 2007-09-06  Dan Williams  <dcbw@redhat.com>
8967
8968         * libnm-glib/nm-object.c
8969                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8970                    nm_object_get_int_property, nm_object_get_uint_property,
8971                    nm_object_get_boolean_property, nm_object_get_byte_property,
8972                    nm_object_get_double_property, nm_object_get_byte_array_property):
8973                         clear GValues after copying their contents, fixes memory leaks
8974                         after every property access because dbus-glib copies the values
8975                         from the DBusMessage into the GValue already.
8976
8977 2007-09-06  Dan Williams  <dcbw@redhat.com>
8978
8979         * introspection/nm-access-point.xml
8980                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8981                         them to be.  There's some magic property name parsing going on in
8982                         dbus-glib that breaks up property names based on studly-caps and
8983                         puts - between words.
8984
8985         * libnm-glib/nm-access-point.c
8986                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8987                         Fix property names
8988
8989 2007-09-06  Dan Williams  <dcbw@redhat.com>
8990
8991         * src/nm-manager.c
8992                 - (nm_manager_user_connections_destroy): clear the user connections hash
8993                         table, don't destroy it
8994                 - (finalize): only destroy the hash table on NMManager finalization
8995
8996 2007-09-02  Dan Williams  <dcbw@redhat.com>
8997
8998         * include/NetworkManager.h
8999           libnm-glib/nm-settings.c
9000                 - defines for the user settings daemon D-Bus bits
9001
9002         * src/NetworkManager.c
9003                 - Remove stuff that referred to the old NetworkManagerInfo service
9004
9005         * src/vpn-manager/nm-dbus-vpn.h
9006                 - Move old NMI defines to the only place they are used still
9007
9008         * libnm-util/nm-connection.c
9009           libnm-util/nm-connection.h
9010           src/nm-activation-request.c
9011                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9012
9013         * src/nm-manager.c
9014           src/nm-manager.h
9015                 - Get connections and their settings from the user settings daemon
9016                         at the appropriate times
9017
9018 2007-09-02  Dan Williams  <dcbw@redhat.com>
9019
9020         * libnm-util/nm-setting.c
9021                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9022                 - (setting_wireless_hash): set the right value on the item
9023
9024 2007-09-02  Dan Williams  <dcbw@redhat.com>
9025
9026         * test/Makefile.am
9027           test/nminfotest.c
9028                 - Remove, no longer useful
9029
9030 2007-08-30  Dan Williams  <dcbw@redhat.com>
9031
9032         * src/Makefile.am
9033           src/NetworkManagerDbus.c
9034           src/NetworkManagerDbus.h
9035           src/vpn-manager/nm-dbus-vpn.c
9036                 - Remove, no longer necessary.  Move last bits to the only place its
9037                 used, in nm-dbus-vpn.c
9038
9039         * src/NetworkManagerAPList.c
9040           src/nm-device.c
9041           src/NetworkManager.c
9042           src/nm-device-802-11-wireless.c
9043           src/vpn-manager/nm-vpn-manager.c
9044           src/vpn-manager/nm-vpn-service.c
9045           src/NetworkManagerPolicy.c
9046           src/nm-manager.c
9047                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9048                 that was message_is_error()
9049
9050 2007-08-30  Dan Williams  <dcbw@redhat.com>
9051
9052         * libnm-util/sha1.c
9053                 - Include config.h to get defines for endiannes (gnome.org #420216)
9054
9055 2007-08-30  Dan Williams  <dcbw@redhat.com>
9056
9057         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9058
9059         * src/ppp-manager/Makefile.am
9060                 - use -fPIC (gnome.org #471825)
9061
9062 2007-08-29  Dan Williams  <dcbw@redhat.com>
9063
9064         * include/NetworkManager.h
9065                 - Keep NMConnection object path in sync
9066
9067         * libnm-glib/nm-settings.c
9068           libnm-glib/nm-settings.h
9069                 - Break D-Bus object registration out of the init function, because
9070                 every object that's exported over D-Bus needs to use the _same_
9071                 DBusConnection.  Otherwise, each object would get a different object
9072                 path tree and wouldn't be callable.
9073
9074 2007-08-29  Dan Williams  <dcbw@redhat.com>
9075
9076         * libnm-util/nm-setting.h
9077           libnm-util/nm-setting.c
9078           libnm-util/nm-connection.c
9079           src/NetworkManagerPolicy.c
9080                 - 'info' settings object should be 'connection' says the spec
9081                 at NetworkManagerConfigurationSpecification
9082
9083 2007-08-29  Dan Williams  <dcbw@redhat.com>
9084
9085         * libnm-glib/nm-settings.c
9086           libnm-glib/nm-settings.h
9087                 - make the dbus path a property of the object, and autogenerate it.
9088                 It can't be composed of the 'id' field becuase that's not available
9089                 yet during the GObject creation in nm_connection_settings_init()
9090
9091 2007-08-29  Dan Williams  <dcbw@redhat.com>
9092
9093         * introspection/nm-settings-connection.xml
9094           introspection/nm-settings.xml
9095                 - Service name -> NetworkManagerUserSettings because two services
9096                 can't share part of the same path.  I'm not really sure how we'll use
9097                 the same code with the system-settings daemon...
9098
9099 2007-08-28  Dan Williams  <dcbw@redhat.com>
9100
9101         * src/nm-device-interface.c
9102           src/nm-device-interface.h
9103                 - Kill one more bit of NMData
9104
9105 2007-08-28  Dan Williams  <dcbw@redhat.com>
9106
9107         * src/NetworkManagerSystem.h
9108           src/nm-device.c
9109           src/nm-device.h
9110           src/nm-hal-manager.c
9111           src/NetworkManager.c
9112           src/nm-device-802-11-wireless.c
9113           src/nm-hal-manager.h
9114           src/nm-device-802-3-ethernet.c
9115           src/vpn-manager/nm-vpn-service.h
9116           src/vpn-manager/nm-vpn-manager.c
9117           src/vpn-manager/nm-vpn-manager.h
9118           src/vpn-manager/nm-vpn-service.c
9119           src/nm-device-802-11-wireless.h
9120           src/NetworkManagerMain.h
9121           src/nm-device-802-3-ethernet.h
9122           src/backends/NetworkManagerGentoo.c
9123           src/backends/NetworkManagerPaldo.c
9124           src/backends/NetworkManagerFrugalware.c
9125           src/backends/NetworkManagerRedHat.c
9126           src/backends/NetworkManagerSlackware.c
9127           src/backends/NetworkManagerGeneric.c
9128           src/backends/NetworkManagerArch.c
9129           src/backends/NetworkManagerSuSE.c
9130           src/backends/NetworkManagerGeneric.h
9131           src/backends/NetworkManagerDebian.c
9132                 - Kill NMData
9133
9134 2007-08-28  Dan Williams  <dcbw@redhat.com>
9135
9136         * src/NetworkManagerMain.h
9137           src/nm-device-802-11-wireless.c
9138           src/NetworkManager.c
9139                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9140                 for now we should set the 'invalid' property on individual APs, and when
9141                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9142                 that ESS
9143
9144 2007-08-28  Dan Williams  <dcbw@redhat.com>
9145
9146         * src/NetworkManagerAP.c
9147           src/NetworkManagerAP.h
9148                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9149                         'autoconnect' property instead
9150
9151         * src/NetworkManager.c
9152           src/NetworkManagerMain.h
9153           src/NetworkManagerPolicy.c
9154           src/NetworkManagerPolicy.h
9155                 - Remove the 'allowed_ap_list', which should be replaced by 
9156                         NMConnection/NMSettings instead, since _those_ are the allowed
9157                         things that NM can connect to
9158
9159         * src/nm-device-802-11-wireless.c
9160                 - Remove both allowed_ap_list usage and 'fallback' checking
9161
9162 2007-08-28  Dan Williams  <dcbw@redhat.com>
9163
9164         * src/nm-device.c
9165           src/named-manager/nm-named-manager.c
9166           src/named-manager/nm-named-manager.h
9167           src/NetworkManager.c
9168           src/vpn-manager/nm-vpn-manager.c
9169           src/NetworkManagerMain.h
9170           src/NetworkManagerSystem.c
9171                 - Remove the named-manager object from NMData structure in preparation
9172                 for NMData's timely death.  Make the NMNamedManager the singleton that
9173                 it really is
9174
9175 2007-08-28  Dan Williams  <dcbw@redhat.com>
9176
9177         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9178         each AP's capabilities, and by NMConnection/NMSettings objects for user
9179         defined connections.
9180
9181         * include/NetworkManager.h
9182                 - Redefine 802.11 security properties.  There are now device capabilities
9183                         and AP flags and AP security flags.  It was way to unclear before.
9184
9185         * src/Makefile.am
9186           src/nm-ap-security-leap.h
9187           src/nm-ap-security-leap.c
9188           src/nm-ap-security-wpa-eap.c
9189           src/nm-ap-security-wpa-eap.h
9190           src/nm-ap-security-private.h
9191           src/nm-ap-security-wpa-psk.c
9192           src/nm-ap-security-wpa-psk.h
9193           src/nm-ap-security-wep.c
9194           src/nm-ap-security-wep.h
9195           src/nm-ap-security.c
9196           src/nm-ap-security.h
9197                 - Removed, to be replaced with NMConnection/NMSettings objects
9198
9199         * src/nm-dbus-nmi.c
9200           src/nm-dbus-nmi.h
9201                 - Removed, to be replaced by code that talks to the new info daemon
9202                         interface and gets NMConnection/NMSettings objects
9203
9204         * src/backends/NetworkManagerSuSE.c
9205                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9206                         info-daemon that does the same thing but talks the new info-daemon
9207                         D-Bus interface
9208
9209         * src/NetworkManagerAP.h
9210           src/NetworkManagerAP.c
9211           src/NetworkManagerAPList.c
9212           libnm-glib/libnm-glib-test.c
9213                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9214                         WPA/RSN
9215
9216         * libnm-glib/nm-access-point.c
9217           libnm-glib/nm-access-point.h
9218           introspection/nm-access-point.xml
9219           test/nm-tool.c
9220                 - Adjust to new flags for AP security
9221
9222         * utils/nm-utils.c
9223           utils/nm-utils.h
9224           src/vpn-manager/nm-dbus-vpn.c
9225                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9226                         stuff which is the only place it's used
9227
9228         * src/nm-device-interface.c
9229           src/nm-device-interface.h
9230           introspection/nm-device.xml
9231           src/nm-activation-request.c
9232           src/nm-activation-request.h
9233           src/nm-device.c
9234                 - Add a new 'specific_object' argument that hints to NM what actual
9235                         AP or other device-specific thing the connection should apply to.
9236                         NMConnection objects can apply to more than one actual device/AP.
9237
9238         * libnm-util/nm-connection.c
9239         * libnm-util/nm-connection.h
9240                 - Add 'have_secrets" call stubs
9241
9242         * libnm-util/cipher.h
9243                 - Move NM_AUTH_TYPE_* defines here for now
9244
9245         * src/nm-device-802-11-wireless.c
9246                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9247                         NMSettings objects
9248
9249         * src/NetworkManagerDbus.c
9250         * src/NetworkManagerPolicy.c
9251                 - Remove usage of update_allowed_networks, should be pushing data in
9252                         a different manner
9253
9254 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9255
9256         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9257         dbus-glib frees it when the call is done.
9258
9259 2007-08-26  Dan Williams  <dcbw@redhat.com>
9260
9261         * introspection/nm-device.xml
9262                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9263
9264 2007-08-26  Dan Williams  <dcbw@redhat.com>
9265
9266         * src/nm-device-802-3-ethernet.c
9267                 - (constructor): move connection of interface-connected/disconnected
9268                         signals here from real_bring_up().  Should be listening to netlink
9269                         for carrier events no matter what the initial state of the device
9270                         is.
9271
9272 2007-08-26  Dan Williams  <dcbw@redhat.com>
9273
9274         * src/nm-netlink-monitor.c
9275                 - (nm_netlink_monitor_class_init): fix marshalling types for
9276                         interface-connected/interface-disconnected
9277                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9278                         check
9279
9280 2007-08-26  Dan Williams  <dcbw@redhat.com>
9281
9282         Convert to using interface indexes as the primary method of identifying
9283         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9284         be renamed at any time.  Device object paths now refer to the device
9285         index rather than the name, and you can map those two manually if you like
9286         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9287         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9288         to use interface indexes rather than names.
9289
9290 2007-08-26  Dan Williams  <dcbw@redhat.com>
9291
9292         * src/nm-netlink-monitor.h
9293                 - Remove one last bit of wireless-event signal
9294
9295 2007-08-26  Dan Williams  <dcbw@redhat.com>
9296
9297         * src/nm-netlink-monitor.c
9298                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9299                         don't need the 'wireless-event' signal anymore since that's all
9300                         handled by wpa_supplicant
9301
9302 2007-08-25  Dan Williams  <dcbw@redhat.com>
9303
9304         It's 2007. Remove support for drivers that don't support wireless scanning.
9305
9306         * test/nm-tool.c
9307           include/NetworkManager.h
9308           src/NetworkManagerUtils.c
9309           src/NetworkManagerPolicy.c
9310           src/nm-device-802-11-wireless.c
9311                 - Remove special handling for non-scanning devices and mark them
9312                         as unsupported/unhandled
9313
9314 2007-08-20  Dan Williams  <dcbw@redhat.com>
9315
9316         * src/nm-device-802-11-wireless.c
9317           src/nm-device-802-3-ethernet.c
9318                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9319                         because when the card is pulled or the module removed, the device
9320                         is already !IFF_UP and then device-specific cleanup (removing
9321                         the supplicant interface, periodic checks, etc) never gets done
9322
9323 2007-08-20  Dan Williams  <dcbw@redhat.com>
9324
9325         * src/nm-manager.c
9326                 - (nm_manager_remove_device): bring device down before disconnecting
9327                         signal handlers, so that the 'state' signal will get broadcast when
9328                         the device enters the DOWN state
9329                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9330                         of states that cause the NMManager to recheck its state
9331
9332 2007-08-20  Dan Williams  <dcbw@redhat.com>
9333
9334         * src/supplicant-manager/nm-supplicant-interface.c
9335                 - (interface_disconnect_done): don't try to dispose of the net proxy
9336                         when it may already have been disposed of
9337
9338 2007-08-20  Dan Williams  <dcbw@redhat.com>
9339
9340         * src/nm-device-802-11-wireless.c
9341                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9342                         the SSID isn't available; this can happen when the card is pulled
9343                         or the module unloaded, during the post-removal deactivation
9344                         paths, when the ioctl returns ENODEV
9345
9346 2007-08-20  Dan Williams  <dcbw@redhat.com>
9347
9348         * src/nm-device-802-11-wireless.c
9349                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9350                         frequency, and mode match.  Applets are now responsible for grouping
9351                         access points
9352
9353 2007-08-20  Dan Williams  <dcbw@redhat.com>
9354
9355         * src/NetworkManagerAP.c
9356         * src/NetworkManagerAP.h
9357                 - (nm_ap_print_self): new function
9358
9359         * src/NetworkManagerAPList.c
9360                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9361                         to do it all here
9362         
9363 2007-08-17  Dan Williams  <dcbw@redhat.com>
9364
9365         * src/nm-device-802-3-ethernet.c
9366                 - (real_bring_down): don't try to dispose of stuff that might not
9367                         exist
9368
9369 2007-08-17  Dan Williams  <dcbw@redhat.com>
9370
9371         * src/NetworkManagerAP.c
9372                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9373                         applet.  This ensures that the case between the seen-bssids and
9374                         the bssids reported by the driver match.
9375
9376 2007-08-17  Dan Williams  <dcbw@redhat.com>
9377
9378         * src/nm-device-802-11-wireless.c
9379                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9380                         we dispose of the interface proxy in NM
9381
9382 2007-08-16  Dan Williams  <dcbw@redhat.com>
9383
9384         * libnm-glib/nm-client.c
9385                 - (nm_client_init): create VPN connections hash table with key free
9386                         function
9387                 - (proxy_vpn_connection_added): VPN connections hash table key should
9388                         be a duplicated value, not the same memory address as the VPN
9389                         connection name.  This is because the VPN connection name could
9390                         potentially be freed and set to something else during the lifetime
9391                         of the NMVPNConnection object.
9392
9393 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9394
9395         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9396         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9397         with the file descriptors. Send a child setup function to change the pppd
9398         progress group.
9399
9400 2007-08-15  Dan Williams  <dcbw@redhat.com>
9401
9402         * src/supplicant-manager/nm-supplicant-interface.c
9403                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9404                         an interface
9405                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9406                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9407                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9408                         the interface internally
9409
9410 2007-08-15  Dan Williams  <dcbw@redhat.com>
9411
9412         * src/nm-device-802-11-wireless.c
9413                 - (real_bring_down): move most of this function into device_cleanup()
9414                         so that it can be called from elsewhere
9415                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9416                         and stuff on dispose.  These would normally get cleaned up when
9417                         the device is marked down and deactivated, but when the device is
9418                         hot-unplugged, it's already down and real_down() never gets run
9419
9420 2007-08-15  Dan Williams  <dcbw@redhat.com>
9421
9422         * src/nm-dbus-nmi.c
9423                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9424                         caused a reference leak on device for which NM requested a key
9425
9426 2007-08-15  Dan Williams  <dcbw@redhat.com>
9427
9428         * libnm-glib/nm-client.c
9429                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9430
9431 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9432
9433         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9434         nothing is using it at the moment, but it'll be all useful and stuff later on.
9435
9436         * libnm-util/nm-setting.h: Define NMSettingPPP.
9437
9438         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9439
9440         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9441
9442         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9443
9444         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9445
9446         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9447
9448 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9449
9450         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9451
9452         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9453         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9454         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9455         name and different arguments and it won't compile anymore. To fix this, we now have
9456         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9457         that is new API + compatibility API and used by the daemon. The other, 
9458         nm-manager-client.xml is only the new API without compatibility bits and is used
9459         by libnm-glib to make it compile.
9460
9461         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9462
9463         * src/nm-manager.c (impl_manager_legacy_sleep)
9464         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9465         interface functions for 0.6 branch.
9466
9467 2007-08-14  Dan Williams  <dcbw@redhat.com>
9468
9469         * src/NetworkManagerAP.c
9470                 - (nm_ap_new_from_properties): fix mistaken check of return value
9471                         from memcmp (should expect 0)
9472
9473 2007-08-14  Dan Williams  <dcbw@redhat.com>
9474
9475         (force-commit to fix wrong comment and partial commit of r2685; this
9476          commit actually applies to r2685)
9477
9478         * src/NetworkManagerUtils.c
9479                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9480                         ignores trailing nulls in the SSID to work around mismatches in
9481                         expectations between WEXT and what the info-daemon passes back.  The
9482                         info-daemon would pass back the correct length, but due to the
9483                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9484                         the device would always have an SSID + 1 depending on what versions
9485                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9486                         visible by just quitting the applet and relaunching, which caused
9487                         NM to reassociated to the same network over again when reloading
9488                         the save networks.
9489
9490         * src/NetworkManagerPolicy.c
9491           src/NetworkManagerUtils.h
9492           src/nm-device-802-11-wireless.c
9493                 - Update for new parameter to nm_utils_same_ssid()
9494
9495 2007-08-14  Dan Williams  <dcbw@redhat.com>
9496
9497         * src/NetworkManagerAP.c
9498                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9499                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9500                         setting the BSSID to all 0s.  That confused the heck out of NM,
9501                         plus it's useless and probably out-of-spec.
9502
9503 2007-08-14  Dan Williams  <dcbw@redhat.com>
9504
9505         * callouts/Makefile.am
9506           src/dhcp-manager/nm-dhcp-manager.c
9507           src/dhcp-manager/nm-dhcp-manager.h
9508           src/dhcp-manager/Makefile.am
9509                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9510
9511 2007-08-14  Dan Williams  <dcbw@redhat.com>
9512
9513         * src/dhcp-manager/nm-dhcp-manager.c
9514                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9515                         it's really needed, get rid of unused xtra_args parameter
9516
9517 2007-08-14  Dan Williams  <dcbw@redhat.com>
9518
9519         * include/NetworkManagerVPN.h
9520           src/vpn-manager/nm-dbus-vpn.c
9521           src/vpn-manager/nm-dbus-vpn.h
9522           src/vpn-manager/nm-vpn-act-request.c
9523           src/vpn-manager/nm-vpn-act-request.h
9524           src/vpn-manager/nm-vpn-service.c
9525           src/vpn-manager/nm-vpn-service.h
9526           libnm-glib/nm-vpn-connection.c
9527           libnm-glib/nm-vpn-connection.h
9528           libnm-glib/nm-client.h
9529                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9530                         NMVPNServiceState to clarify what they apply to
9531                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9532                         NMVPNActStage -> NMVPNConnectionState for the same reason
9533
9534         * libnm-glib/nm-client.c
9535                 - Constant + type renames from above
9536                 - Properly handle NameOwnerChanged/manager_running signals
9537                         for NM service; only emit when state really changes
9538                 - Use hash tables correctly so that the key (which was previously owned
9539                         by the D-Bus message) now has the same lifetime as the value, since
9540                         the key is now taken from the the NMVPNConnection itself.  This
9541                         really fixes the double-VPN names in the applet
9542
9543 2007-08-13  Dan Williams  <dcbw@redhat.com>
9544
9545         Patch from Michael Biebl <biebl@debian.org>
9546
9547         * po/POTFILES.in
9548           po/POTFILES.skip
9549                 - Update for vpn-properties move
9550
9551 2007-08-13  Dan Williams  <dcbw@redhat.com>
9552
9553         * libnm-glib/nm-client.c
9554                 - Convert internal VPN connection tracking from a list to a hash table
9555                         to easily avoid duplicates
9556                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9557                         must be freed by the caller, like nm_client_get_devices()
9558                 - (nm_client_remove_vpn_connection): don't let the removal signal
9559                         leak through for NMVPNConnection objects that aren't actually
9560                         tracked.
9561                 - (manager_running): throw away VPN connection list when NM goes away,
9562                         like with the device list
9563
9564 2007-08-13  Dan Williams  <dcbw@redhat.com>
9565
9566         * src/dhcp-manager/nm-dhcp-manager.c
9567                 - Stop any dhclient instance that might be already running for a
9568                         particular interface before starting an NM spawned dhclient.  Fixes
9569                         dhclient processes left over if NM crashes, stuff like that.
9570
9571 2007-08-13  Dan Williams  <dcbw@redhat.com>
9572
9573         * src/NetworkManagerAP.c
9574                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9575                         when the AP wasn't broadcasting it's SSID
9576
9577 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9578
9579         * include/NetworkManager.h: added DBus path for connection settings.
9580
9581         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9582         nm_connection_settings_signal_updated,
9583         nm_connection_settings_signal_removed): new functions to wrap the
9584         objects' signals.
9585         (nm_connection_settings_init): register GObject with DBus.
9586         (nm_connection_settings_get_dbus_object_path): new function.
9587
9588         * libnm-glib/Makefile.am: added libnmutil to link flags.
9589
9590 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9591
9592         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9593
9594         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9595         libnm_glib directory got merged with libnm-glib/.
9596
9597         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9598
9599         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9600         Rename the library from libnm-glib to libnm_glib to maintain the library API
9601         compatibility with 0.6 branch.
9602
9603         * Makefile.am: Remove gnome/ SUBDIR.
9604
9605         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9606
9607         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9608
9609         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9610
9611         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9612         anymore.
9613         Remove checks for wpa_supplicant binary, it's used over dbus.
9614         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9615
9616         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9617         Link the binaries with libnm_glib.la.
9618
9619 2007-08-12  Dan Williams  <dcbw@redhat.com>
9620
9621         * src/NetworkManagerPolicy.c
9622                 - (nm_policy_device_change_check): fix policy to deactivate old device
9623                         before activating new one, at least until the multiple active
9624                         device support lands
9625
9626 2007-08-12  Dan Williams  <dcbw@redhat.com>
9627
9628         * src/NetworkManagerPolicy.c
9629                 - (nm_policy_new): hook up to connection-added / connection-removed
9630                         signals instead of connections-changed
9631
9632 2007-08-12  Dan Williams  <dcbw@redhat.com>
9633
9634         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9635         Robert Frank <rfrank@redhat.com>
9636
9637         * src/dhcp-manager/nm-dhcp-manager.c
9638           src/dhcp-manager/nm-dhcp-manager.c
9639           src/nm-device.c
9640                 - Spawn and communicate with dhclient directly, through means of a
9641                 custom dhclient callout script.  Process callout D-Bus signals
9642                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9643                 sent via gobject signals rather than being driven by the dhcp manager
9644                 directly.
9645
9646 2007-08-12  Dan Williams  <dcbw@redhat.com>
9647
9648         * callouts/nm-dhcp-client-action.c
9649                 - (build_message): ignore non-DHCP-related environment variables
9650
9651 2007-08-12  Dan Williams  <dcbw@redhat.com>
9652
9653         * Makefile.am
9654           configure.in
9655           callouts/Makefile.am
9656           callouts/nm-dhcp-client-action.c
9657           callouts/nm-dhcp-client.conf
9658                 - Add dhclient-executed callout that takes the place of dhclient-script
9659                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9660                 NM then listens for
9661
9662 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9663
9664         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9665
9666         * libnm-glib/nm-client.h:
9667         * libnm-glib/nm-object.h:
9668         * libnm-glib/nm-vpn-connection.h:
9669         * libnm-glib/nm-settings.h:
9670         * libnm-glib/nm-device.h:
9671         * libnm-glib/nm-ip4-config.h:
9672         * libnm-glib/nm-access-point.h:
9673         * libnm-glib/nm-device-802-3-ethernet.h:
9674         * libnm-util/nm-setting.h: 
9675         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9676
9677         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9678
9679         * libnm-glib/nm-access-point.c: Strength has type char.
9680
9681         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9682         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9683
9684         * introspection/nm-access-point.xml: Strength property is char, not int.
9685
9686         * src/NetworkManagerAP.c (set_property): Set strength from char.
9687         (get_property): Handle hidden APs (with empty SSID).
9688         Get strength value from char.
9689         (nm_ap_class_init): Strength property has char type.
9690
9691 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9692
9693         * introspection/Makefile.am:
9694         * introspection/nm-settings.xml:
9695         * introspection/nm-settings-connection.xml: added Settings interfaces.
9696
9697         * libnm-glib/nm-settings.[ch]:
9698         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9699         containing the DBus implementation.
9700
9701 2007-07-26  Dan Williams  <dcbw@redhat.com>
9702
9703         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9704
9705         * src/NetworkManagerSystem.c
9706                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9707                         same subnet (#437396)
9708
9709 2007-07-26  Dan Williams  <dcbw@redhat.com>
9710
9711         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9712
9713         * gnome/vpn-properties/nm-vpn-properties.c
9714                 - Fix translatable strings (#445865)
9715
9716 2007-07-26  Dan Williams  <dcbw@redhat.com>
9717
9718         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9719
9720         * configure.in
9721                 - Remove useless junk (#412530)
9722
9723 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9724
9725         Patch from Robert Buchholz <rbu@gentoo.org>:
9726
9727         * configure.in:
9728         * Makefile.am:
9729         * introspection/Makefile.am:
9730         Make make distcheck work again.
9731
9732 2007-06-27  Dan Williams  <dcbw@redhat.com>
9733
9734         * Make SSIDs GByteArrays everywhere
9735         * Rename "essid" -> "ssid" everywhere that's appropriate
9736         * Refcount activation_ap member of the 802.11 wireless device class
9737
9738 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9739
9740         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9741
9742 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9743
9744         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9745         that we got a new AP when we just update existing AP properties.
9746
9747 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9748
9749         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9750
9751         * nm-utils.[ch]: Remove.
9752
9753         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9754         objects for easy property access and dbus connection handling.
9755
9756         * libnm-glib/nm-client.c: Derive from NMObject.
9757
9758         * libnm-glib/nm-device.c: Ditto.
9759
9760         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9761
9762         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9763
9764         * libnm-glib/nm-ip4-config.c: Ditto.
9765
9766         * libnm-glib/nm-access-point.c: Ditto.
9767
9768         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9769         comparision. Currently used by the device activation code to determine if the new
9770         activation is the same as the old one.
9771
9772         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9773         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9774         able to ask password for the AP.
9775
9776         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9777         up if the device is already connected, tear down it's connection (if it isn't the
9778         same as new one) and start the activation.
9779
9780         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9781
9782         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9783         the issue where all APs are always listed as encrypted.
9784
9785         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9786         their own registered paths.
9787
9788         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9789         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9790
9791 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9792
9793         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9794         (0 & 0 == 0, doh)
9795
9796         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9797         because the handling code will cause the next state change and signal listeners
9798         get the signals in wrong order.
9799
9800         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9801         correctly in case of pending activation.
9802
9803         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9804         Convert the essid byte array to string correctly, including the terminating NULL.
9805
9806         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9807         mode with correct types.
9808
9809         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9810         constructed info to dbus call instead of the activation request.
9811
9812 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9813
9814         Patch from Christian Persch <chpe@gnome.org>
9815
9816         * libnm-glib/Makefile.am:
9817         * dispatcher-daemon/Makefile.am:
9818         Use the correct variables, the correct paths, and correct ordering. (446315)
9819
9820 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9821
9822         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9823         argument. The activation request is easy to retrieve.
9824
9825         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9826         just to be a convenient location for devices to store random stuff.
9827
9828 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9829
9830         Patch from Alex Smith <alex@alex-smith.me.uk>
9831
9832         * src/backends/NetworkManagerFrugalware.c:
9833         Update the FrugalWare backend to fix a few segfaults. (#392642)
9834
9835 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9836
9837         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9838
9839         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9840         setting.
9841         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9842
9843 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9844
9845         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9846         automagically.
9847         Implement NMSettingIP4Config.
9848         Finish NMSettingWired by adding all known members.
9849         (setting_wired_verify): Implement.
9850         Finish NMSettingWireless by adding all known members.
9851         (setting_wireless_verify): Implement.
9852
9853         * libnm-util/nm-connection.c: Register "ipv4" setting.
9854         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9855         dump function, we can introspect the GHashTable which is used for sending connections
9856         over dbus.
9857
9858         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9859         Take GByteArray for essid, it's really not a string.
9860
9861         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9862         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9863         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9864         means overriding the values we got from DHCP.
9865         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9866         (nm_device_deactivate_quickly): Ditto.
9867
9868         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9869         for debugging.
9870
9871 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9872
9873         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9874         NMConnection.
9875
9876         * libnm-glib/nm-device-802-11-wireless.c:
9877         (nm_device_802_3_ethernet_activate): Remove.
9878
9879         * libnm-glib/nm-device-802-3-ethernet.c
9880         (nm_device_802_3_ethernet_activate): Remove.
9881
9882         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9883
9884         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9885         NMConnection.
9886
9887         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9888         activation has started.
9889         Implement the new activation using NMConnection.
9890
9891         * src/nm-activation-request.c: Store a generic connection object instead
9892         of a wireless-specific AP.
9893
9894         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9895         on device type, create a device specific connection object suitable for
9896         device activation.
9897
9898         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9899         specific check to validate the connection and on success start the
9900         activation.
9901
9902         * src/nm-device-interface.h: Add a activate virtual function to the
9903         interface definition.
9904
9905         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9906         (impl_device_activate): Implement.
9907
9908         * introspection/nm-device.xml: Add a generic device activation interface
9909         that accepts an abstract NMConnection structure that has device-specific
9910         information in it.
9911
9912         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9913         activation interface.
9914
9915         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9916         activation interface.
9917
9918         * libnm-util/nm-connection.c: 
9919         * libnm-util/nm-connection.h: 
9920         * libnm-util/nm-setting.c:
9921         * libnm-util/nm-setting.h: Add.
9922
9923         * libnm-util/Makefile.am: Build the added files.
9924
9925         * src/nm-dbus-manager.c
9926         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9927         DbusConnection argument from 'name-owner-changed' signal. The manager
9928         is already passed as a first argument to the signal and the connection
9929         is easy enough to get from it.
9930
9931         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9932         Update the signature of the function.
9933
9934         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9935         Ditto.
9936
9937         * src/NetworkManager.c: Ditto.
9938
9939         * src/named-manager/nm-named-manager.c
9940         (nm_named_manager_name_owner_changed): Ditto.
9941
9942         * src/supplicant-manager/nm-supplicant-manager.c
9943         (nm_supplicant_manager_name_owner_changed): Ditto.
9944
9945         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9946
9947         * src/dhcp-manager/nm-dhcp-manager.c
9948         (nm_dhcp_manager_name_owner_changed): Ditto.
9949
9950         * src/nm-hal-manager.c: Add a list of device detectors and creators
9951         to make it easier to add new devices. Each device type has it's own
9952         entry in the table so adding new device types is only a matter of
9953         implementing a couple of functions, one for device detection and the
9954         other for device creation.
9955
9956 2007-04-25  Dan Williams  <dcbw@redhat.com>
9957
9958         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9959                 (gnome.org #432401)
9960
9961 2007-03-30  Dan Williams  <dcbw@redhat.com>
9962
9963         * src/NetworkManagerSystem.c
9964                 - (nm_system_device_set_ip4_route): clean up and fix argument
9965                         to nm_dev_sock_open()
9966
9967 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9968
9969         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9970         data to correct types instead of always using string.
9971
9972         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9973         _not_ have NM_802_11_CAP_PROTO_NONE.
9974         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9975         is not set.
9976
9977 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9978
9979         * libnm-glib/Makefile.am: Fix the build issue.
9980
9981 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9982
9983         * libnm-glib/nm-vpn-connection.h: 
9984         * libnm-glib/nm-vpn-connection.c: Implement.
9985
9986         * libnm-glib/nm-client.c: Add VPN support.
9987
9988         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9989         handler for VPN.
9990
9991         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9992         on DBUS again.
9993
9994 2007-03-26  Dan Williams  <dcbw@redhat.com>
9995
9996         * src/NetworkManagerAPList.c
9997         * src/nm-device-802-11-wireless.c
9998         * src/NetworkManagerAP.c:
9999                 - Store last seen as glong instead of GTimeVal.
10000                 - Fix the upper bound of capabilities, it's a bitfield.
10001
10002 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10003
10004         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10005
10006         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10007         "manager-running" signal that notifies the appearance/disappearance of NM.
10008         (nm_client_sleep): Implement.
10009
10010         * libnm-glib/nm-device.c:
10011         * libnm-glib/nm-device-802-11-wireless.c: 
10012         * libnm-glib/nm-device-802-3-ethernet.c: 
10013
10014         Don't inherit from DBusGProxy, add a proxy to private
10015         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10016         for anything but their own dbus interface. DBusGProxy objects support only one
10017         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10018         interface. The nice side effect of this change is that we do not create a new
10019         DBusGProxy object for each property access.
10020
10021 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10022
10023         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10024         with zeroes before passing them to functions - the functions never do that and
10025         reading the values back may produce wrong values.
10026         (real_bring_up): Store the signal handler id ...
10027         (real_bring_down): ... So that it can be removed here.
10028         Disconnect the supplicant interface here as well.
10029         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10030         from the access point instead of old $device/Networks/$essid.
10031
10032         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10033         device state is connected (instead of just having link/carrier).
10034
10035         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10036         already easily accessible through the device.
10037
10038         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10039         store it within the object.
10040         (nm_ap_get_dbus_path): Export it to public as well.
10041
10042         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10043         of the singleton.
10044
10045 2007-03-12  Dan Williams  <dcbw@redhat.com>
10046
10047         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10048         for non-carrier-detect capable devices, and useless for carrier-detect
10049         devices since we get notifications from netlink about carrier status anyway.
10050
10051         * src/nm-device-802-3-ethernet.c
10052                 - remove 'link_source_id' member from private data
10053                 - (probe_link): remove and collapse into real_update_link()
10054                 - (nm_device_802_3_periodic_update): remove
10055                 - (real_is_up): check for sup_iface rather than link_source_id
10056                 - (real_bring_up): return gboolean for success/fail; require that
10057                         sup_iface be valid for device bringup to succeed
10058                 - (real_bring_down): zero out link signal ids
10059
10060         * src/nm-device.c
10061                 - (nm_device_activate_stage2_device_config): fail activation if device
10062                         bringup fails
10063                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10064                         fails
10065                 - (nm_device_bring_up): return success/fail
10066
10067         * src/nm-device.h
10068                 - bring_up now returns success/fail
10069
10070         * src/nm-device-802-11-wireless.c
10071                 - (real_bring_up): return success from bringup
10072
10073 2007-03-07  Dan Williams  <dcbw@redhat.com>
10074
10075         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10076         * src/nm-ap-security-wpa-psk.c
10077                 - (real_write_supplicant_config): work with PSKs that may contain
10078                         zeros in the binary format rather than treating it as a string
10079
10080 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10081
10082         * libnm-glib/nm-device-802-11-wireless.c
10083         (nm_device_802_11_wireless_get_capabilities): Implement.
10084
10085         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10086
10087         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10088
10089         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10090         reply only if it's not NULL. Not sure why this started happening right now.
10091
10092         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10093         code paths for when devices get removed on shutdown or when a device is just
10094         removed.
10095         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10096         gets freed so any signal from a device (disconnected for instance) would invoke
10097         NMState update which would crash.
10098         (nm_manager_remove_device): Bring the device down when it gets removed.
10099
10100         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10101         the unused dev_type.
10102
10103         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10104         reference to the added device, NMManager will own it (if it wants).
10105
10106         * test/nm-tool.c: Rewrite using libnm-glib.
10107
10108         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10109         We get signalled when it changes.
10110
10111         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10112         when it changes.
10113
10114         * libnm-glib/nm-device.c: Cache the device state property.
10115
10116         * libnm-glib/nm-access-point.c: Cache the strength property.
10117
10118         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10119         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10120         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10121         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10122         the device is down, activating, or activated (in case of A/B/G cards).
10123         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10124         it's all done through supplicant now.
10125
10126         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10127         counting issues with pending calls which caused leaks and crashes when
10128         interface was removed (now that the interface actually gets removed).
10129
10130         * src/nm-call-store.c: Make a copy of data before running a foreach
10131         with user callback on it - The most common usage pattern is to cancel
10132         (and thus remove) all pending calls with foreach which would modify
10133         the hash table we're iterating over.
10134
10135         * src/nm-manager.c: When a device is added, make sure it is "up". When
10136         it's removed or disabled due to disabling wireless or networking, bring
10137         it down.
10138
10139         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10140
10141         * src/nm-device-802-11-wireless.c: 
10142         * src/nm-device-802-3-ethernet.c: 
10143         * src/nm-device.c:
10144                 - Remove "init" virtual function, all gobjects have a place for that
10145                   already (constructor).
10146                 - Replace "start" virtual function with "bring_up", devices can be
10147                   brought up and down more than just on startup now.
10148                 - Add "is_up" virtual function.
10149                 - Implement one way to bring a device down instead of previous 4 different
10150                   ways, each of witch did something different.
10151
10152         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10153         all it needs is the device interface.
10154
10155         Get rid of NMData.dev_list (3 members to go).
10156         Get rif of NMData in a lot of places.
10157
10158         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10159
10160 2007-02-23  Dan Williams  <dcbw@redhat.com>
10161
10162         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10163
10164         * src/NetworkManagerAP.c
10165                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10166                         OR-ing rather than AND-ing
10167
10168 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10169
10170         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10171         "network-removed" signals.
10172
10173         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10174
10175         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10176         when receiving the signal from dbus.
10177
10178         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10179         property.
10180
10181         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10182         deactivation of the previously activated device working again.
10183
10184         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10185         and setter.
10186
10187         * src/nm-device.c (nm_device_is_activated): Remove.
10188         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10189
10190         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10191         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10192         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10193         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10194         Remove NMNetworkStatus and NMActStage enums.
10195
10196 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10197
10198         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10199         Handle device state changes and disconnect VPN if it's device deactivates.
10200
10201         * src/nm-dbus-nm.c: 
10202         * src/nm-dbus-nm.h: 
10203         * src/nm-dbus-device.c: 
10204         * src/nm-dbus-device.c: 
10205         * src/nm-dbus-net.c: 
10206         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10207
10208         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10209
10210         * src/nm-device.c (nm_device_get_by_udi):
10211         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10212         implemented in the correct location (NMManager).
10213         Rip out all the test_device stuff.
10214
10215         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10216         failure handlers, it's all done by NMDevice already.
10217
10218         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10219         Remove the iochannel hack to route the unix signals to the main thread since
10220         we're not threaded anymore.
10221
10222         * src/NetworkManagerAP.c: Implement HWAddress property.
10223
10224         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10225         automatically with dbus-glib.
10226
10227         * src/nm-netlink-monitor.c: 
10228         * src/nm-netlink-monitor.h:
10229                 - Move it low in the class hierarchy, don't reference any NM types.
10230                 - Remove private data from the header.
10231                 - Use type safe checks in public API methods.
10232                 - Make it a singleton so we don't have to pass the single reference around.
10233
10234 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10235
10236         * introspection/nm-ip4-config.xml: Implement.
10237
10238         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10239
10240         * libnm-glib/nm-ip4-config.c:
10241         * libnm-glib/nm-ip4-config.c: Implement.
10242
10243         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10244         securities. APs reference security.
10245
10246         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10247         be exported over DBUS.
10248
10249         * src/nm-device-802-3-ethernet.c: Ditto.
10250
10251         * src/NetworkManagerAP.c:
10252         * src/NetworkManagerAP.h:
10253                 - Convert to GObject, export over DBUS.
10254
10255         * src/nm-ip4-config.h:
10256         * src/nm-ip4-config.h:
10257                 - Convert to GObject, export over DBUS.
10258
10259 2007-02-12  Dan Williams  <dcbw@redhat.com>
10260
10261         Patch from Helmut Schaa <hschaa@suse.de>
10262
10263         * vpn-daemons/pptp/configure.in
10264           vpn-daemons/pptp/Makefile.am
10265           vpn-daemons/openvpn/configure.in
10266           vpn-daemons/openvpn/Makefile.am
10267           vpn-daemons/vpnc/configure.in
10268           vpn-daemons/vpnc/Makefile.am
10269                 - Add --without-gnome switch which disables building gnome bits
10270
10271 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10272
10273         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10274
10275         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10276
10277         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10278         'HwAddress'.
10279
10280         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10281
10282         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10283
10284         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10285
10286         * src/:
10287                 - Remove old low-level dbus interface implementations and replace them
10288                   with dbus-glib one.
10289
10290         * configure.in:
10291                 - Require dbus-glib >= 0.72.
10292                 - Plug in new sources to build.
10293
10294         * libnm-glib/:
10295                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10296                   to make it more convenient to use from GObject based programs.
10297
10298         * introspection/:
10299                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10300
10301 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10302
10303         * src/nm-device-802-11-wireless.c:
10304                 - Add "network-added" and "network-removed" signals.
10305                 - Use gobject boilerplate macros to define the GObject.
10306                 - Implement wireless device activation.
10307                 - Remove activation_failure_handler and activation_success_handler
10308                   and instead listen on state-changed signals and run the same code
10309                   from there.
10310
10311         * src/nm-device.c:
10312                 - Implment NMDeviceInterface::deactivate.
10313                 - Remove activation_failure_handler and activation_success_handler
10314                   virtual methods. Each device which is interested in these events
10315                   can just listen on it's state changed signals.
10316
10317         * src/NetworkManagerPolicy.c:
10318                 - Move a bit more NMData usage to NMManager.
10319                 - Remove activation scheduling bits.
10320                 - Add listeners for wireless device's "network-added" and
10321                   "network-removed" signals.
10322                 - Listen device changed signals and deactivate currently activated
10323                   device when another device start activating (for now).
10324                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10325                   for calling this, the policy code knows exactly when this should happen,
10326                   by listening on events from NMManager and NMDevices.
10327
10328         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10329         Implement.
10330
10331         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10332         method on the specific device instead of going to through policy code
10333         and determining the device type by passed in AP's existance.
10334
10335         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10336         abstract NMDevice deactivation.
10337
10338 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10339
10340         * src/NetworkManager.c:
10341                 - Set up all the shiny new managers.
10342
10343         * src/NetworkManagerPolicy.c:
10344                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10345                   classes to call into policy code, make the policy code kind of like
10346                   a supervisor that monitors what's going on and drives the whole NM.
10347
10348         * src/nm-hal-manager.c: 
10349         * src/nm-hal-manager.h:
10350                 - Collect all libhal code scattered around NM to this one class.
10351                 - Listen libhal and NMManager events and add/remove devices to
10352                   NMManager.
10353
10354         * src/nm-manager.c:
10355         * src/nm-manager.h:
10356                 - Implment a replacement for NMData. NMData is now officially
10357                 deprecated.
10358
10359 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10360
10361         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10362         * src/supplicant-manager/nm-supplicant-interface.h
10363         * src/supplicant-manager/nm-supplicant-interface.c
10364         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10365         argument to boolean from enum.
10366
10367         Make NMDevice abstract class, remove almost all references to it's
10368         subclasses (the last place gets removed with new policy manager). Add
10369         NMDeviceInterface (which NMDevice implements) so that when we have
10370         NMDevice exported over DBUS, there's a common NMDevice interface which
10371         all instances have, plus there's a device specific interface for each
10372         specific type.
10373         Remove functions (nm_device_is_802_3_ethernet) and
10374         (nm_device_is_802_11_wireless). There are already standard GObject macros
10375         for type safe checks.
10376         Use the updated supplican manager API.
10377
10378         * src/nm-device-interface.h: 
10379         * src/nm-device-interface.c: 
10380         * src/nm-call-store.h: 
10381         * src/nm-call-store.c: Implement.
10382
10383         * src/supplicant-manager/nm-supplicant-interface.c:
10384         * src/supplicant-manager/nm-supplicant-interface.h:
10385         * src/supplicant-manager/nm-supplicant-manager.c:
10386         * src/supplicant-manager/nm-supplicant-manager.h:
10387                 - Remove all private data type references from public header files.
10388                 - Remove all references to other NM classes, this class is just a
10389                   proxy between wpa_supplicant and NM so it doesn't have to know
10390                   any internals.
10391                 - Convert to dbus-glib bindings.
10392                 - Type safe checks for public methods' arguments.
10393                 - Store pending DBUS call ids to NMCallStore.
10394
10395         * src/supplicant-manager/nm-supplicant-config.c:
10396                 - Store config values in a GHashTable instead of GSList.
10397
10398         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10399
10400         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10401         singleton now.
10402
10403         * src/nm-device.c: Use the new DHCP manager API.
10404
10405         * src/nm-activation-request.c:
10406         * src/nm-activation-request.h:
10407                 - Remove all dhcp related properties and methods.
10408
10409         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10410
10411         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10412
10413         * src/dhcp-manager/nm-dhcp-manager.c:
10414         * src/dhcp-manager/nm-dhcp-manager.h:
10415                 - Convert it to GObject since we need to signal state changes.
10416                 - Remove all references to other NM classes, this class is one
10417                   of the lowest classes in our hierarchy.
10418                 - One less class to use NMActRequest.
10419                 - Make it singleton, one less user of NMData.
10420                 - Remove a couple of sleep() calls.
10421                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10422                   One less class to use the NM's custom tailored signal handlig.
10423
10424         * Makefile.am: Generate marshallers, add them to build.
10425
10426 2007-02-02  Dan Williams  <dcbw@redhat.com>
10427
10428         * configure.in
10429           gnome/Makefile.am
10430           nm-applet.desktop
10431           Makefile.am
10432                 - Remove last bits referencing gnome applet
10433
10434 2007-02-02  Dan Williams  <dcbw@redhat.com>
10435
10436         * src/vpn-manager/nm-vpn-service.c
10437                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10438                         and NBNS server addresses
10439
10440 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10441
10442         * src/nm-dbus-manager.c:
10443         * src/nm-dbus-manager.h:
10444                 - Convert all internal DBUS code to use dbus-glib bindings.
10445                 - Remove GObject properties, we don't need them here.
10446                 - Don't explicitly set things to NULL after freeing, glib is
10447                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10448                 - Make public API argument checks type safe.
10449                 - Remove unnecessary (and wrong) cast to GObject for the first
10450                   argument to g_signal_* calls - The first argument is a gpointer.
10451                 - Export DBusGConnection to other cool classes that (are going to)
10452                   use dbus-glib.
10453
10454 2007-01-26  Dan Williams  <dcbw@redhat.com>
10455
10456         * libnm-util/dbus-dict-helpers.c
10457           libnm-util/dbus-dict-helpers.h
10458                 - Coordinate style with wpa_supplicant version to minimize diff
10459                 - Add uint32 array support
10460                 - (nmu_dbus_dict_append_uint32_array): new function
10461                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10462                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10463                         version; allow adding string array elements individually
10464
10465         * test/libnm-util/test-dbus-dict-helpers.c
10466                 - Test uint32 arrays
10467
10468 2007-01-27  Jürg Billeter  <j@bitron.ch>
10469
10470         * src/backends/NetworkManagerPaldo.c
10471                 - (nm_system_update_dns): clear nscd hosts cache
10472
10473 2007-01-04  Dan Williams  <dcbw@redhat.com>
10474
10475         Threading removal related cleanups:
10476
10477         - Use the glib default main context.  Remove the device main context
10478                 member from NMDevice, and the main_context member from NMData.  Change
10479                 all the idle and timeout scheduler functions to use plain
10480                 g_idle_add() and g_timeout_add().
10481
10482         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10483                 takes an argument; fix that up too.
10484
10485         - Remove all locking, which is useless since we no longer use threads.  For
10486                 example, nm_get_device_by_iface_locked() has been removed.  The global
10487                 device list lock, the AP List lock, and all static locks in
10488                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10489                 in NetworkManagerUtils.c have also been removed.
10490
10491         - Other cleanups in spacing and code style
10492
10493 2007-01-01  Dan Williams  <dcbw@redhat.com>
10494
10495         Found by Bill Moss:
10496
10497         * src/supplicant-manager/nm-supplicant-interface.c
10498                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10499                         the supplicant interface wasn't already disconnected.  Always
10500                         call removeNetwork and disconnect unless the supplicant interface
10501                         is in the DISCONNECTED or INACTIVE state.
10502
10503 2006-12-28  Dan Williams  <dcbw@redhat.com>
10504
10505         Use a single thread for everything.  With the move to wpa_supplicant
10506         and communication over D-Bus, there's no reason for multiple threads.
10507         Almost all of the blocking code has been removed, with one exception in
10508         the DHCP manager and a few in the VPN manager.  This commit removes the
10509         per-device worker thread and fixes activation cancellation in the absence
10510         of threads.  Further removal of thread-related code would be removing
10511         any locking code (like the device list lock) and simplification of logic
10512         around areas of code or data structures that are currently locked.
10513
10514         * autoip.c
10515           dhcp-manager/nm-dhcp-manager.c 
10516           nm-device-802-11-wireless.c
10517           nm-device-802-3-ethernet.c
10518           nm-device.c
10519           nm-device.h
10520                 - Remove usage of multiple threads
10521
10522 2006-12-19  Dan Williams  <dcbw@redhat.com>
10523
10524         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10525         plus a few other patches from wpa_supplicant bugzilla.
10526
10527         * src/Makefile.am
10528           src/NetworkManagerPolicy.c
10529           src/NetworkManagerUtils.c
10530           src/NetworkManagerUtils.h
10531           src/nm-ap-security-leap.c
10532           src/nm-ap-security-wep.c
10533           src/nm-ap-security-wpa-eap.c
10534           src/nm-ap-security-wpa-psk.c
10535           src/nm-ap-security.c
10536           src/nm-ap-security.h
10537           src/nm-device-802-11-wireless.c
10538           src/nm-device-802-11-wireless.h
10539           src/supplicant-manager/nm-supplicant-config.c
10540           src/supplicant-manager/nm-supplicant-config.h
10541           src/supplicant-manager/nm-supplicant-interface.c
10542           src/supplicant-manager/nm-supplicant-interface.h
10543           src/supplicant-manager/nm-supplicant-marshal.list
10544           src/supplicant-manager/nm-supplicant-settings-verify.c
10545           src/supplicant-manager/nm-supplicant-settings-verify.h
10546                 - Move all connection management and association handling to
10547                         wpa_supplicant over dbus, rather than spawning a private copy
10548
10549 2006-12-19  Dan Williams  <dcbw@redhat.com>
10550
10551         * src/NetworkManagerPolicy.c
10552                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10553                         better locking of the device change check handler ID.  Incorrect
10554                         locking was causing lost device change requests
10555
10556 2006-12-18  Dan Williams  <dcbw@redhat.com>
10557
10558         * libnm-util/dbus-dict-helpers.c
10559                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10560                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10561                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10562
10563 2006-12-18  Dan Williams  <dcbw@redhat.com>
10564
10565         * gnome/libnm_glib/libnm_glib.c
10566                 - Change dbus_connection_close() -> dbus_connection_unref()
10567
10568 2006-12-11  Dan Williams  <dcbw@redhat.com>
10569
10570         * src/supplicant-manager/nm-supplicant-interface.c
10571                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10572                         wpa_supplicant interface state
10573                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10574                         state before transitioning to READY state
10575
10576 2006-12-04  Dan Williams  <dcbw@redhat.com>
10577
10578         * src/nm-device-802-11-wireless.c
10579                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10580                         odd length of ESSID returned from ieee80211 stack-based drivers
10581
10582 2006-12-04  Dan Williams  <dcbw@redhat.com>
10583
10584         * src/nm-device-802-11-wireless.c
10585                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10586                         IE handling blocks that cause mis-parsing of the IE
10587
10588 2006-12-04  Dan Williams  <dcbw@redhat.com>
10589
10590         * src/nm-device-802-11-wireless.c
10591                 - (init_supplicant_interface): new function; pull supplicant interface
10592                         setup code out into standalone function since it must be called from
10593                         two different places
10594                 - (real_init): sup_mgr is now in private object data; get and track
10595                         the supplicant manager object over the NMDevice subclass' lifetime
10596                         and register a signal handler for its state signals; only try to
10597                         initialize the supplicant interface if the supplicant manager is in
10598                         the IDLE state (and therefore is ready for requests)
10599                 - (request_wireless_scan): reschedule the scan request if (a) there is
10600                         no supplicant interface yet (meaning wpa_supplicant isn't running
10601                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10602                         for requests yet
10603                 - (supplicant_iface_connection_state_cb): new function; stub for
10604                         handling supplicant interface connection state signals
10605                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10606                         comes and goes
10607                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10608                         supplicant manager object that's being tracked starting with this
10609                         commit
10610
10611 2006-12-04  Dan Williams  <dcbw@redhat.com>
10612
10613         * src/supplicant-manager/nm-supplicant-interface.c
10614                 - (nm_supplicant_interface_set_property): track signal handler ID
10615                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10616
10617 2006-12-04  Dan Williams  <dcbw@redhat.com>
10618
10619         * src/supplicant-manager/nm-supplicant-interface.[ch]
10620                 - (nm_supplicant_interface_get_state): new function
10621
10622 2006-12-04  Dan Williams  <dcbw@redhat.com>
10623
10624         * src/supplicant-manager/nm-supplicant-interface.c
10625                 - (bssid_properties_cb): don't treat DBus errors as valid
10626                         scanned AP messages
10627
10628 2006-12-04  Dan Williams  <dcbw@redhat.com>
10629
10630         * src/supplicant-manager/nm-supplicant-interface.[ch]
10631                 - (nm_supplicant_interface_get_connection_state): new function
10632                 - define new supplicant connection states
10633                 - send a signal when the supplicant connection state changes
10634
10635 2006-12-03  Dan Williams  <dcbw@redhat.com>
10636
10637         * src/supplicant-manager/Makefile.am
10638           src/supplicant-manager/nm-supplicant-connection.h
10639           src/supplicant-manager/nm-supplicant-connection.c
10640           src/supplicant-manager/nm-supplicant-config.h
10641           src/supplicant-manager/nm-supplicant-config.c
10642           src/supplicant-manager/nm-supplicant-types.h
10643           src/supplicant-manager/nm-supplicant-interface.h
10644           src/supplicant-manager/nm-supplicant-interface.c
10645                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10646
10647 2006-12-03  Dan Williams  <dcbw@redhat.com>
10648
10649         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10650
10651         * po/POTFILES.in
10652           po/POTFILES.skip
10653                 - Move VPN-related translatables to .skip
10654
10655         * vpn-daemons/pptp/po/POTFILES.in
10656                 - Update with new translatables
10657
10658 2006-12-02  Dan Williams  <dcbw@redhat.com>
10659
10660         Patch from Christian Persch <chpe@gnome.org>
10661
10662         * gnome/applet/Makefile.am
10663           gnome/applet/applet-dbus-devices.c
10664           gnome/applet/applet-notifications.c
10665           gnome/applet/applet.c
10666           gnome/applet/applet.h
10667           gnome/applet/main.c
10668                 - Be a GtkStatusIcon on GTK+ >= 2.10
10669
10670 2006-12-02  Dan Williams  <dcbw@redhat.com>
10671
10672         * gnome/applet/applet.c
10673                 - (nma_update_info): fix two unecessary allocations
10674
10675 2006-12-02  Dan Williams  <dcbw@redhat.com>
10676
10677         Patch from Michael Biebl <biebl@teco.edu>
10678         * configure.in
10679           man/NetworkManager.1.in
10680           man/NetworkManagerDispatcher.1.in
10681           man/NetworkManager.8.in
10682           man/NetworkManagerDispatcher.8.in
10683                 - Add .SH NAME stanzas
10684                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10685
10686 2006-12-02  Dan Williams  <dcbw@redhat.com>
10687
10688         Patch from Christian Persch <chpe@gnome.org>
10689
10690         * configure.in
10691                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10692
10693 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10694
10695         Patch by Timo Hoenig <thoenig@suse.de>:
10696         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10697         DBUS-1.0.
10698
10699         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10700         we can't use the one from the main source directory.
10701
10702 2006-11-27  Dan Williams  <dcbw@redhat.com>
10703
10704         Patch from Christian Persch <chpe@gnome.org>
10705
10706         * gnome/applet/applet-dbus-devices.c
10707                 - (hal_info_product_cb): fix memleak; free duped string.
10708                         Gnome.org #379908
10709
10710 2006-11-27  Dan Williams  <dcbw@redhat.com>
10711
10712         Patch from Christian Persch <chpe@gnome.org>
10713
10714         * gnome/applet/menu-items.c
10715                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10716                         as gtk_progress_set_percentage is deprecated.  Should
10717                         work as far back as GTK+ 2.4.  Gnome.org #379780
10718
10719 2006-11-26  Dan Williams  <dcbw@redhat.com>
10720
10721         Scan using wpa_supplicant over DBus.
10722
10723         * src/nm-device-802-11-wireless.c
10724                 - remove wireless extensions netlink event handler bits
10725                         (wireless_event_helper, nm_device_802_11_wireless_event)
10726                 - remove wireless extensions scan event handler bits
10727                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10728                         hex2byte, hex2num, request_and_convert_scan_results,
10729                         free_process_scan_cb_data, scan_results_timeout,
10730                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10731                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10732                         and request scans from the supplicant interface rather than directly
10733                 - Move functionality of convert_scan_results() to cull_scan_list() and
10734                         supplicant_iface_scanned_ap_cb()
10735                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10736                         at the scan interval when the current scan has finished
10737                 - (supplicant_iface_state_cb): start scanning when the supplicant
10738                         interface enters the READY state, and stop scanning when it
10739                         enters the DOWN state
10740                 - (cull_scan_list): weed out old access points from the scan list
10741                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10742                         point into an NMAccessPoint and merge it into the device's scan list
10743
10744         * src/supplicant-manager/nm-supplicant-interface.c
10745           src/supplicant-manager/nm-supplicant-interface.h
10746                 - Add a new signal "scan-result" which is issued when the supplicant
10747                         notifies NM that a scan has completed
10748                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10749                         point found in the scan.  Called once for each access point that
10750                         the supplicant interface object receives from the supplicant as a
10751                         result of the "scanResults" method call
10752                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10753                         for the initial scan results
10754                 - (scan_request_cb): new function; send listeners the result
10755                         (success, error) of a wireless scan request
10756                 - (nm_supplicant_interface_request_scan): new function; ask the
10757                         supplicant to perform an immediate wireless scan
10758
10759 2006-11-25  Dan Williams  <dcbw@redhat.com>
10760
10761         * src/supplicant-manager/Makefile.am
10762                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10763                         add HAL cflags/includes and named-manager includes directory
10764
10765         * src/supplicant-manager/nm-supplicant-interface.h
10766                 - New state STARTING to handle transition from INIT to READY where
10767                         the addInterface pending call is still outstanding
10768
10769         * src/supplicant-manager/nm-supplicant-interface.c
10770                 - track pending calls differently since we may have more than one
10771                         going on at any given time
10772                 - request scan results from wpa_supplicant; but don't do it more often
10773                         than every 4 seconds.  Drivers that do background scanning
10774                         (like the 'ipw' drivers) send a continuous stream of scan completion
10775                         notifications, so we don't want to hammer the supplicant or dbus
10776                         with requests for all scan results every time we get a completion
10777                         notification.
10778
10779 2006-11-25  Dan Williams  <dcbw@redhat.com>
10780
10781         * src/supplicant-manager/nm-supplicant-types.h
10782                 - new file; move all supplicant manager object typedefs here for
10783                         #include sanity
10784
10785         * src/supplicant-manager/nm-supplicant-interface.c
10786           src/supplicant-manager/nm-supplicant-interface.h
10787                 - new file; an object that interfaces an NMDevice object to the
10788                         supplicant and handles signals from the supplicant.  This object
10789                         does all necessary DBus communication with wpa_supplicant.
10790
10791         * src/supplicant-manager/nm-supplicant-manager.c
10792           src/supplicant-manager/nm-supplicant-manager.h
10793                 - Actually do something.  Track the state of the wpa_supplicant service
10794                         and deal with its comings & goings.  Handle life events of
10795                         supplicant interfaces too.
10796                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10797
10798         * src/supplicant-manager/nm-supplicant-connection.h
10799                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10800
10801         * src/supplicant-manager/Makefile.am
10802                 - Add new files to build, and add libnm-util to includes
10803
10804         * src/nm-marshal.list
10805                 - New marshaler type: VOID:UINT,UINT
10806
10807         * src/nm-device-802-3-ethernet.c
10808                 - (real_init): grab a supplicant interface
10809                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10810                 - (supplicant_iface_state_cb): new function, stub for handling
10811                         supplicant interface state changes
10812
10813         * src/nm-device-802-11-wireless.c
10814                 - (real_init): grab a supplicant interface
10815                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10816                 - (supplicant_iface_state_cb): new function, stub for handling
10817                         supplicant interface state changes
10818
10819         * src/NetworkManager.c
10820                 - (main): create and keep the supplicant manager around for the lifetime
10821                         of NetworkManager
10822
10823         * src/Makefile.am
10824                 - Link to the supplicant manager sub-library and use the supplicant
10825                         manager includes
10826
10827 2006-11-25  Dan Williams  <dcbw@redhat.com>
10828
10829         Rework DBus manager signal handling to be more flexible.  Previously,
10830         only one signal handler could be registered for a particular interface.
10831         The DBus manager now reference counts DBus bus matches and allows multiple
10832         clients to register signal handlers for the same interface and sender.
10833
10834         * src/NetworkManager.c
10835                 - (main): track NMI signal handler ID and remove it when we quit
10836
10837         * src/NetworkManagerMain.h
10838                 - Keep track of NMI signal handler ID
10839
10840         * src/nm-dbus-manager.c
10841           src/nm-dbus-manager.h
10842                 - rework signal handling; each signal handler references one signal
10843                         match, but a signal match may be referenced by one or more
10844                         signal handlers.  Matches are refcounted and are destroyed when the
10845                         last signal handler that references the match is removed.  This is
10846                         necessary because two signal handlers may end up requiring the same
10847                         dbus bus match, so the match must live until the last signal handler
10848                         is destroyed (for example, with the wpa_supplicant network interface
10849                         dbus interface).
10850
10851         * src/dhcp-manager/nm-dhcp-manager.c
10852                 - (nm_dhcp_manager_new): track DHCP signal handler id
10853                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10854
10855         * src/vpn-manager/nm-vpn-service.c
10856                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10857                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10858
10859 2006-11-25  Dan Williams  <dcbw@redhat.com>
10860
10861         Suggested by Helmut Schaa <hschaa@suse.de>
10862
10863         * src/vpn-daemons/nm-vpn-service.c
10864                 - (supplicant_child_setup): new function
10865                 - (supplicant_exec): make child process use a new process group id
10866
10867         * src/nm-device-802-11-wireless.c
10868                 - (nm_vpn_service_child_setup): new function
10869                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10870                         process group id
10871
10872 2006-11-19  Dan Williams  <dcbw@redhat.com>
10873
10874         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10875         * gnome/vpn-properties/nm-vpn-properties.c
10876                 - clean up after renamed VPN connection
10877
10878 2006-11-19  Dan Williams  <dcbw@redhat.com>
10879
10880         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10881         * gnome/applet/applet-dbus-vpn.c
10882                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10883
10884         * gnome/vpn-properties/nm-vpn-properties.c
10885                 - (init_app): sort VPN connections
10886
10887 2006-11-09  Dan Williams  <dcbw@redhat.com>
10888
10889         * src/NetworkManagerAPList.c
10890                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10891                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10892                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10893                 broke hidden SSID matching.  Found by Bill Moss.
10894
10895 2006-10-25  Dan Williams  <dcbw@redhat.com>
10896
10897         * src/nm-dbus-nm.c
10898                 - (nm_dbus_nm_set_active_device): return an empty success message on
10899                         success, rather than falling through to the error case.
10900
10901 2006-10-25  Dan Williams  <dcbw@redhat.com>
10902
10903         * src/NetworkManagerUtils.c
10904                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10905                         "SCAN" command
10906
10907 2006-10-24  Dan Williams  <dcbw@redhat.com>
10908
10909         Reduce the number of times the Gnome applet wakes up, especially when
10910         it's doing absolutely nothing and is hidden.  Initial patch by
10911         Chris Aillon.
10912
10913         * gnome/applet/applet-dbus.c
10914                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10915                         kill the redraw timeout.  When NM starts up, start the redraw
10916                         timeout.  Also, if we get kicked off the bus for some reason,
10917                         start the reconnection timeout if one's not already running.
10918                 - (nma_dbus_init): better handling of error conditions, don't leak
10919                         a half-initialized dbus connection
10920                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10921                         the applet's data, just call nm_dbus_init_helper()
10922                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10923                         timeout that calls nma_dbus_connection_watcher()
10924                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10925                         reconnection timeout, and don't start the reconnection timeout
10926                         unconditionally anymore
10927
10928         * gnome/applet/applet-dbus.h
10929                 - Expose nma_start_dbus_connection_watch()
10930
10931         * gnome/applet/applet.c
10932                 - (nma_update_state): no longer static, called from applet-dbus.c for
10933                         immediate UI updates on certain events
10934                 - (nma_set_running): new function; take over setting applet->running,
10935                         when not running (ie, NM is not active), don't activate the redraw
10936                         timeout because we're not showing the applet anyway.  When we are
10937                         running (ie, NM is active), and only when we're running, start the
10938                         redraw timeout.
10939                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10940                         kill any reconnection timeout
10941                 - (nma_get_instance): move one-off dbus initialization code here since
10942                         nm_dbus_init_helper() gets called more than once, possibly by the
10943                         reconnection timeout function too.  And, when we start up, if we
10944                         can't get a connection to the bus, start the reconnection timeout.
10945                         But don't start the redraw timeout yet, only do that when we get
10946                         NM's state and find out if it's running or not.
10947
10948         * gnome/applet/applet.h
10949                 - Add the reconnection GSource ID
10950                 - Add prototypes for nma_set_running() and the no-longer-static
10951                         nma_update_state()
10952
10953 2006-10-24  Dan Williams  <dcbw@redhat.com>
10954
10955         * src/vpn-daemons/nm-dbus-vpnc.c
10956                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10957                         pending call tracker
10958                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10959                         pending call tracker; register one-vpn-connection update pending
10960                         call in pending call tracker
10961                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10962                         update pending call in pending call tracker
10963                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10964                         update pending call in pending call tracker; don't block waiting
10965                         for call to return
10966
10967 2006-10-19  Robert Love  <rml@novell.com>
10968
10969         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10970           refresh the cache.
10971
10972 2006-10-14  Dan Williams  <dcbw@redhat.com>
10973
10974         * src/dhcp-manager/nm-dhcp-manager.c
10975                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10976                 the dbus connection and the device object path rather than
10977                 constructing it inside both functions.  Saves a bit of memory
10978                 and clarifies a failure path.
10979                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10980                 and allocate device path here rather than each of the two
10981                 functions above.
10982
10983 2006-10-13  Dan Williams  <dcbw@redhat.com>
10984
10985         * src/NetworkManager.c
10986                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10987                 this somehow droppout in the refactor
10988
10989 2006-10-13  Dan Williams  <dcbw@redhat.com>
10990
10991         * Huge DBus refactor:
10992                 - Create a "DBus Manager" object which manages the connection and
10993                 sends signals on NameOwnerChanged and connection/disconnection events,
10994                 handles reconnection to the bus if NM gets kicked off, and abstracts
10995                 signal handling
10996                 - Remove DBusConnection members from places where they are no
10997                 longer needed due to the refactor, like the dbus-connection
10998                 property of the named manager, and from NMData
10999                 - Reformats a bunch of the code to gnome style
11000                 (8-space tabs, braces on same line as statement, 80-col width).
11001                 Consider it open season to reformat any bits to gnome style.
11002                 style that aren't already.
11003
11004 2006-10-13  Dan Williams  <dcbw@redhat.com>
11005
11006         * src/supplicant-manager/Makefile.am
11007                 - Add new files
11008
11009         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11010                 - Make it a minimal GObject
11011
11012         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11013                 - Verify settings destined for wpa_supplicant
11014
11015         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11016                 - Minimal GObject to track wpa_supplicant controlled device
11017                 connections
11018
11019 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11020
11021         * gnome/applet/applet.c: (nma_update_info),
11022         (nma_act_stage_to_pixbuf), (nma_update_state):
11023         Mark missing strings for translation. Fixes bug #343306.
11024
11025 2006-10-01  Dan Williams  <dcbw@redhat.com>
11026
11027         * src/vpn-manager/nm-vpn-manager.c
11028                 - (nm_vpn_manager_load_services): split and clean up
11029                 for readability and correctness.  Restrict VPN service
11030                 files to ending in ".name", as was meant from the
11031                 beginning (but not coded in).  Better error reporting.
11032
11033 2006-10-01  Dan Williams  <dcbw@redhat.com>
11034
11035         * utils/nm-utils.h
11036                 - Clean up formatting of debug/info/warning log messages
11037
11038 2006-09-27  Robert Love  <rml@novell.com>
11039
11040         Patch by Tambet Ingo <tambet@ximian.com>:
11041         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11042           actually work.
11043
11044 2006-09-07  Dan Williams <dcbw@redhat.com>
11045
11046         * test/Makefile.am
11047           test/libnm-util/Makefile.am
11048           test/nm-supplicant-test.c
11049                 - Add test program emulating the way NM drives wpa_supplicant
11050                 to help debug supplicant issues
11051
11052 2006-08-24  Dan Williams <dcbw@redhat.com>
11053
11054         * configure.in
11055           src/Makefile.am
11056           src/supplicant-manager/Makefile.am
11057           src/supplicant-manager/nm-supplicant-manager.c
11058           src/supplicant-manager/nm-supplicant-manager.h
11059                 - Add skeleton bits of the wpa_supplicant manager
11060
11061 2006-08-24  Dan Williams <dcbw@redhat.com>
11062
11063         Patch from Ed Catmur:
11064         * src/NetworkManagerUtils.c
11065                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11066                 if netmask is 0 (Gnome #352634)
11067
11068 2006-08-17  Robert Love  <rml@novell.com>
11069
11070         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11071           package is now DBUS-enabled and listens for the NM signals.
11072
11073 2006-08-14  Dan Williams  <dcbw@redhat.com>
11074
11075         * Patch from Christian Persch <chpe gnome org>
11076         * configure.in
11077           po/LINGUAS
11078           vpn-daemons/openvpn/po/LINGUAS
11079           vpn-daemons/openvpn/configure.in
11080           vpn-daemons/pptp/po/LINGUAS
11081           vpn-daemons/pptp/configure.in
11082           vpn-daemons/vpnc/po/LINGUAS
11083           vpn-daemons/vpnc/configure.in
11084                 - Convert to LINGUAS method so translators don't have to modify
11085                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11086                 0.35 or higher
11087
11088 2006-08-14  Dan Williams  <dcbw@redhat.com>
11089
11090         Patch from Alex Smith <alex.extreme2@gmail.com>
11091         * configure.in
11092           src/backends/Makefile.am
11093           src/backends/NetworkManagerFrugalware.c
11094                 - Add support for Frugalware
11095
11096 2006-08-13  Dan Williams  <dcbw@redhat.com>
11097
11098         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11099         * src/nm-device-802-11-wireless.c
11100                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11101                 Gnome #346875
11102
11103 2006-08-13  Dan Williams  <dcbw@redhat.com>
11104
11105         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11106         * src/nm-ap-security.c
11107           src/nm-ap-security.h
11108                 - Add authentication_required bits for subclasses to specify whether
11109                 or not real authentication is required for connections, i.e. whether
11110                 the AP rejects us when an encryption key is wrong or not.
11111
11112         * src/nm-ap-security-wep.c
11113           src/nm-ap-security-wpa-eap.c
11114           src/nm-ap-security-wpa-psk.c
11115           src/nm-ap-security-leap.c
11116                 - Implement authentication_required appropriately for each method
11117
11118         * src/nm-device-802-11-wireless.c
11119                 - Be smarter about when to request a key; for example, using a wrong key
11120                 in WEP shared key mode previously just timed out and did not request
11121                 a new key
11122
11123 2006-08-13  Dan Williams  <dcbw@redhat.com>
11124
11125         * gnome/libnm_glib/libnm_glib.c
11126                 - dbus_connection_disconnect() -> dbus_connection_close() for
11127                 dbus >= 0.90
11128
11129 2006-08-07  Dan Williams  <dcbw@redhat.com>
11130
11131         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11132         * src/NetworkManagerSystem.c
11133                 - Respect specified MTU.  Gnome #344967
11134
11135 2006-08-07  Dan Williams  <dcbw@redhat.com>
11136
11137         * src/vpn-manager/nm-vpn-service.c
11138                 - Simplify print_vpn_config() arguments
11139
11140         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11141         * src/vpn-manager/Makefile.am
11142           src/vpn-manager/nm-vpn-service.c
11143                 - Add new API for passing VPN config options as a dict. Gnome #344967
11144
11145 2006-08-06  Dan Williams  <dcbw@redhat.com>
11146
11147         * gnome/applet/applet-dbus-devices.c
11148           gnome/applet/applet-dbus-vpn.c
11149           gnome/applet/applet-dbus.c
11150           gnome/applet/applet-dbus.h
11151           src/nm-dbus-nmi.c
11152           utils/nm-utils.c
11153           utils/nm-utils.h
11154                 - Make pending call tracking code generic,
11155                 so we can use it in NM as well as the applet
11156
11157 2006-08-06  Dan Williams  <dcbw@redhat.com>
11158
11159         * src/nm-activation-request.c
11160                 - Refcount pending call objects
11161
11162 2006-08-06  Dan Williams  <dcbw@redhat.com>
11163
11164         Patch from Christan Chiesa <christanc@gmail.com>
11165         * configure.in
11166                 - Tell sha1.c to use bigendian mode on PPC
11167
11168 2006-08-04  Robert Love  <rml@novell.com>
11169
11170         Glib Memory Slices!
11171         * configure.in: Require glib 2.10 or later.
11172         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11173           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11174           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11175           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11176           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11177           Memory Slices are the greatest thing since bread slices.
11178         * src/NetworkManagerAP.c: Also, fix memory leak.
11179
11180 2006-08-01  Robert Love  <rml@novell.com>
11181
11182         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11183
11184 2006-07-31  Robert Love  <rml@novell.com>
11185
11186         * src/backends/interface_parser.c: Declarations must begin the block.
11187
11188 2006-07-24  Dan Williams  <dcbw@redhat.com>
11189
11190         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11191         * src/backends/Makefile.am
11192           src/backends/NetworkManagerArch.c
11193           src/backends/NetworkManagerDebian.c
11194           src/backends/NetworkManagerGeneric.c
11195           src/backends/NetworkManagerGeneric.h
11196           src/backends/NetworkManagerGentoo.c
11197           src/backends/NetworkManagerPaldo.c
11198           src/backends/NetworkManagerRedHat.c
11199           src/backends/NetworkManagerSlackware.c
11200           src/backends/NetworkManagerSuSE.c
11201                 - Genericize common backend functions
11202
11203 2006-07-18  Robert Love  <rml@novell.com>
11204
11205         * configure.in: Add "--with-notify" option to allow disabling of
11206           libnotify support.
11207
11208 2006-07-13  Dan Williams  <dcbw@redhat.com>
11209
11210         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11211         * gnome/applet/applet.glade
11212           gnome/applet/Makefile.am
11213           gnome/applet/nm-gconf-wso.c
11214           gnome/applet/nm-gconf-wso-leap.c
11215           gnome/applet/nm-gconf-wso-leap.h
11216           gnome/applet/wireless-security-manager.c
11217           gnome/applet/wso-leap.c
11218           gnome/applet/wso-leap.h
11219           include/NetworkManager.h
11220           libnm-util/dbus-helpers.c
11221           libnm-util/dbus-helpers.h
11222           src/Makefile.am
11223           src/NetworkManagerAP.c
11224           src/nm-ap-security.c
11225           src/nm-ap-security-leap.c
11226           src/nm-ap-security-leap.h
11227                 - Add LEAP authentication support
11228
11229 2006-07-13  Dan Williams  <dcbw@redhat.com>
11230
11231         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11232         * configure.in
11233           src/backends/NetworkManagerArch.c
11234           src/backends/NetworkManagerDebian.c
11235           src/backends/NetworkManagerGentoo.c
11236           src/backends/NetworkManagerPaldo.c
11237           src/backends/NetworkManagerRedHat.c
11238           src/backends/NetworkManagerSlackware.c
11239           src/backends/NetworkManagerSuSE.c
11240                 - Convert hardcoding of 'ip' path to configure-time
11241                         detected one
11242
11243 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11244
11245         * configure.in: added ru to ALL_LINGUAS
11246
11247 2006-07-10  Dan Williams  <dcbw@redhat.com>
11248
11249         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11250         * src/nm-device.c
11251                 - (real_act_stage3_ip_config_start): don't infinite loop when
11252                         dhcdbd isn't running (Gnome #346845)
11253
11254 2006-07-09  Dan Williams  <dcbw@redhat.com>
11255
11256         * gnome/applet/applet.c
11257                 - (nma_destroy): don't pass NULL to notify_notification_close
11258                         (RH #197917)
11259
11260 2006-07-09  Dan Williams  <dcbw@redhat.com>
11261
11262         * gnome/applet/applet.c
11263                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11264
11265 2006-07-04  Tor Krill  <tor@krill.nu>
11266
11267         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11268         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11269         (nm_system_restart_mdns_responder), (ArchReadConfig),
11270         (nm_system_device_get_system_config):
11271                 - Explicitly check for DHCP configuration
11272                 - Check if daemons are running before starting them
11273
11274 2006-06-25  Dan Williams  <dcbw@redhat.com>
11275
11276         * libnm-util/dbus-dict-helpers.[ch]
11277           test/libnm-util/test-dbus-dict-helpers.c
11278                 - Add string array support
11279
11280 2006-06-24  Dan Williams  <dcbw@redhat.com>
11281
11282         * src/dhcp-manager/nm-dhcp-manager.c
11283                 - (nm_dhcp_manager_process_signal): clean up spacing
11284
11285 2006-06-21  Dan Williams  <dcbw@redhat.com>
11286
11287         * src/nm-dbus-device.c
11288                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11289                         through dbus
11290
11291 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11292
11293         * configure.in: Added 'lv' to ALL_LINGUAS
11294
11295 2006-06-19  Dan Williams  <dcbw@redhat.com>
11296
11297         * src/NetworkManagerAP.c
11298                 - Clarify usage of user_created
11299
11300         * src/nm-ap-security-wep.c
11301           src/nm-ap-security-wpa-eap.c
11302           src/nm-ap-security-wpa-psk.c
11303           src/nm-ap-security.c
11304           src/nm-ap-security.h
11305                 - s/user_created/adhoc, because we really do mean adhoc
11306
11307         Patch from Bernard Blackham <bernard@blackham.com.au>
11308         * src/nm-device-802-11-wireless.c         
11309                 - (supplicant_send_network_config): instead of user_created,
11310                         use adhoc, and do AP_SCAN 2 for adhoc networks
11311
11312 2006-06-18  Robert Love  <rml@novell.com>
11313
11314         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11315           we have a value to set.  Gconf generates a warning if `val' is NULL.
11316         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11317           unless we actually received a valid private key file passphrase or
11318           password.  Otherwise, we don't know to later ask the applet to pull
11319           the key from the keyring.
11320
11321 2006-06-17  Dan Williams  <dcbw@redhat.com>
11322
11323         * libnm-util/dbus-dict-helpers.[ch]
11324           test/libnm-util/test-dbus-dict-helpers.c
11325                 - Fixes for zero-length byte arrays
11326                 - Replace return values of 0 with FALSE for clarity
11327                 - Test zero-length byte arrays
11328
11329 2006-06-17  Dan Williams  <dcbw@redhat.com>
11330
11331         * libnm-util/dbus-dict-helpers.[ch]
11332           test/libnm-util/test-dbus-dict-helpers.c
11333                 - Add helpers for byte arrays
11334                 - Rework bits of the testcase
11335
11336 2006-06-16  Dan Williams  <dcbw@redhat.com>
11337
11338         * libnm-util/Makefile.am
11339         * libnm-util/dbus-dict-helpers.[ch]
11340                 - Add some helpers to take the pain out of using dict types in
11341                         dbus.
11342
11343         * test/libnm-util/Makefile.am
11344         * test/libnm-util/test-dbus-dict-helpers.c
11345                 - Test cases for the dict helper functions
11346
11347 2006-06-15  Robert Love  <rml@novell.com>
11348
11349         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11350           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11351           if there is no key to pass.
11352         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11353           receiving a non-NULL key.
11354
11355 2006-06-14  Robert Love  <rml@novell.com>
11356
11357         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11358           copy the strings.
11359
11360
11361 2006-06-14  Dan Williams  <dcbw@redhat.com>
11362
11363         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11364         * src/nm-device-802-11-wireless.c
11365                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11366                         or ones where the driver is unknown
11367                 - (supplicant_exec): don't wait for supplicant startup here
11368                 - (supplicant_interface_init): finer grained polling for supplicant
11369                         startup
11370
11371 2006-06-13  Robert Love  <rml@novell.com>
11372
11373         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11374           if it is currently set to TRUE.  Otherwise, we will reset the value
11375           when we connect normally.
11376         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11377           the old BSSID is valid, too.  The recently added ESSID check may not be
11378           sufficient (we can remove it?).  What we really want to catch is the
11379           case of going from all-zeros to the BSSID of some other network, which
11380           happens on failure.
11381
11382 2006-06-09  Dan Williams  <dcbw@redhat.com>
11383
11384         * src/NetworkManagerSystem.[ch]
11385                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11386                         it was unused and pointless
11387                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11388                         fix for set_up_down_with_iface change
11389
11390         * src/vpn-manager/nm-vpn-connection.c
11391                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11392
11393         * src/backends/NetworkManagerPaldo.c
11394           src/backends/NetworkManagerRedHat.c
11395           src/backends/NetworkManagerSuSE.c
11396           src/backends/NetworkManagerArch.c
11397           src/backends/NetworkManagerDebian.c
11398           src/backends/NetworkManagerGentoo.c
11399                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11400                         appropriate
11401                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11402                         where appropriate
11403
11404 2006-06-09  Dan Williams  <dcbw@redhat.com>
11405
11406         Patch from Peter Jones:
11407         * src/nm-device-802-11-wireless.c
11408                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11409                         SSID hasn't changed from what we expect before automatically
11410                         updating the saved BSSID from a new AP
11411
11412 2006-06-08  Robert Love  <rml@novell.com>
11413
11414         Add 'fallback' support.  NetworkManager will attempt to brute-force
11415         connect to networks marked as fallback if there are no better wireless
11416         connections available.  This is useful as a method of last resort, to
11417         work around driver problems, and for use with hidden networks.
11418         * gnome/applet/applet-dbus-devices.c,
11419           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11420         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11421           pass it on via DBUS.
11422         * gnome/applet/applet.c: No fallback by default.
11423         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11424           Update other-network-dialog to add UI checkbox toggling fallback.
11425         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11426           propery from AP object.  Add "fallback" property to AP object.
11427         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11428         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11429         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11430           separate function.  Add get_best_fallback_ap() for returning an AP
11431           on which to attempt fallback.
11432         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11433         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11434
11435 2006-06-07  Robert Love  <rml@novell.com>
11436
11437         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11438           checked that the return type was GCONF_VALUE_STRING, not the correct
11439           GCONF_VALUE_BOOL, and thus it never worked.
11440         * src/NetworkManagerAPList.c: Before concluding that two networks are
11441           identical based on their BSSID, make sure that the BSSID in question
11442           is actually valid.  Specifically, an empty or all zero BSSID does not
11443           cut it.
11444         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11445           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11446           similar invariant clean up.
11447
11448 2006-06-02  Robert Love  <rml@novell.com>
11449
11450         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11451
11452 2006-05-28  Dan Williams  <dcbw@redhat.com>
11453
11454         * gnome/applet/applet.glade
11455           gnome/vpn-properties/nm-vpn-properties.glade
11456                 - Set window icons on dialogs  (Gnome.org #333420)
11457
11458 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11459
11460         * gnome/vpn-properties/nm-vpn-properties.glade:
11461         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11462         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11463         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11464                 - Make the VPN properties pages prettier and more HIG
11465                   compliant. Gnome Bug #336913.
11466
11467 2006-05-28  Dan Williams  <dcbw@redhat.com>
11468
11469         Patch from Christian Persch <chpe@gnome.org>
11470         * gnome/vpn-properties/nm-vpn-properties.c
11471         * gnome/vpn-properties/nm-vpn-properties.glade
11472                 - HIG-ification love  (Gnome.org #336846)
11473
11474 2006-05-28  Dan Williams  <dcbw@redhat.com>
11475
11476         Patch from Christian Persch <chpe@gnome.org>
11477         * configure.in
11478           gnome/vpn-properties/nm-vpn-properties.c
11479                 - (main): Fix option parsing.  Gnome.org #336847
11480
11481 2006-05-28  Dan Williams  <dcbw@redhat.com>
11482
11483         * gnome/vpn-properties/nm-vpn-properties.c
11484                 - (find_vpn_ui_by_service_name): protect against NULL service names
11485                 - (update_edit_del_sensitivity): protect against NULL service names
11486                         Gnome.org #341306
11487
11488 2006-05-28  Dan Williams  <dcbw@redhat.com>
11489
11490         Patch from Chris Fuller <crf@grandecom.net>:
11491         * src/nm-device-802-11-wireless.c
11492                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11493                         don't dispose of wireless-specific stuff unless it is actually
11494                         initialized.  Gnome.org #341263
11495
11496 2006-05-28  Dan Williams  <dcbw@redhat.com>
11497
11498         * src/NetworkManagerPolicy.c
11499                 - (nm_policy_device_change_check): don't switch devices if the "best"
11500                         AP is essentially the same as the current activation request, but
11501                         the current activation request isn't done activating yet.  Fixes
11502                         multiple requests for keyring password on startup for Gnome applet.
11503                         Gnome.org #341297
11504
11505 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11506
11507         * src/NetworkManager.c: use GOptions instead of getopt
11508         * configure.in: bump glib required version to >= 2.6 for GOption
11509           support
11510
11511 2006-05-25  Robert Love  <rml@novell.com>
11512
11513         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11514           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11515           instead of dumping ifdef's throughout the code.
11516         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11517           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11518           use nm_ioctl_info() in lieu.
11519
11520 2006-05-25  Robert Love  <rml@novell.com>
11521
11522         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11523         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11524           not using gcrypt.  Otherwise, we get a linker error.
11525
11526 2006-05-25  Robert Love  <rml@novell.com>
11527
11528         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11529         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11530           configure flag to disable building of the GNOME-based applet.
11531
11532 2006-05-25  Robert Love  <rml@novell.com>
11533
11534         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11535           parameter from link, because it shadows a global variable with some
11536           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11537           should never have exported to the entire system a common four letter
11538           word.  But we here at NetworkManager are team players.  Fixes
11539           GNOME bug #336532.
11540
11541 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11542
11543         * configure.in: Added mk.po, Macedonian translation.
11544
11545 2006-05-24  Robert Love  <rml@novell.com>
11546
11547         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11548           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11549           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11550
11551 2006-05-24  Robert Love  <rml@novell.com>
11552
11553         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11554           libnm-util/Makefile.am, src/Makefile.am,
11555           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11556           vpn-daemons/openvpn/properties/Makefile.am,
11557           vpn-daemons/pptp/auth-dialog/Makefile.am,
11558           vpn-daemons/pptp/properties/Makefile.am,
11559           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11560           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11561           user passed for --datadir, if anything, when setting the GNOME locale
11562           directory.  It should be a function of the specified datadir and not
11563           the prefix.
11564
11565 2006-05-24  Robert Love  <rml@novell.com>
11566
11567         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11568           src/NetworkManager.c: Take care to call bindtextdomain with the
11569           location of msgid files.
11570         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11571           files.
11572
11573 2006-05-22  Robert Love  <rml@novell.com>
11574
11575         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11576           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11577           99% of the time there is a real problem with wireless, and a
11578           seemingly successful connection via Zeroconf just confuses the user.
11579           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11580
11581 2006-05-22  Robert Love  <rml@novell.com>
11582
11583         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11584           autofs on interface up if NIS is configured.  On interface down, do
11585           nothing.
11586
11587 2006-05-22  Robert Love  <rml@novell.com>
11588
11589         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11590           to avoid calling g_object_unref() on stale pointers on error in
11591           nma_icons_free().  This happens because we short-circuit loaded the
11592           icons on the first failure but then free all icons.  Normally we have
11593           no issue because the icons were zero'ed out malloc, but we have stale
11594           pointer data after nma_icon_theme_changed().
11595         * gnome/applet/main.c: Return error code if nma_new() failed.
11596
11597 2060-05-21  Dan Williams  <dcbw@redhat.com>
11598
11599         * initscript/NetworkManager.in
11600                 - Ensure both dhcdbd and named are started before NM
11601
11602 2006-05-21  Dan Williams  <dcbw@redhat.com>
11603
11604         * configure.in
11605                 - Bump version to 0.7 to signify we are in 0.7 development
11606
11607 2006-05-21  Dan Williams  <dcbw@redhat.com>
11608
11609         Patch from Adam Schreiber <sadam@clemson.edu>
11610         * gnome/vpn-properties/nm-vpn-properties.c
11611                 - (main): correct Gnome program name  (gnome.org #342498)
11612
11613 2006-05-21  Dan Williams  <dcbw@redhat.com>
11614
11615         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11616
11617         * src/NetworkManagerDbus.[ch]
11618                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11619                         clarify that function's argument should be an escaped dbus object
11620                         path, and look for path segment end before returning a match
11621         * src/nm-dbus-nm.c:
11622                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11623
11624 2006-05-17  Robert Love  <rml@novell.com>
11625
11626         Functionality to differentiate Ad-Hoc networks from infrastructure
11627         networks in the applet, by displaying a special icon:
11628         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11629         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11630         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11631           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11632           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11633           networks, encrypted or not.
11634         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11635           accessor functions to get and set the mode of a given network,
11636           wireless_network_get_mode() and wireless_network_set_mode().
11637
11638 2006-05-17  Robert Love  <rml@novell.com>
11639
11640         Functionality to automatically add BSSIDs to the allowed-MAC list as
11641         one roams from access point to access point on a given network:
11642         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11643           helper function to compare two ether_addr structures and return TRUE
11644           if they contain the same MAC address.
11645         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11646           prototype.
11647         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11648           stored with the current AP.  If the BSSID has indeed changed, we
11649           send it out to the applet, allowing the allowed-MAC list to grow
11650           automatically in response to roaming.
11651
11652 2006-05-16  Robert Love  <rml@novell.com>
11653
11654         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11655           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11656
11657 2006-05-13  Dan Williams  <dcbw@redhat.com>
11658
11659         * src/nm-device-802-3-ethernet.c
11660                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11661                         carrier detect (Debian bug #366373)
11662
11663 2006-05-11  Dan Williams  <dcbw@redhat.com>
11664
11665         Patch from Michael Biebl <biebl@teco.edu>
11666         * src/backends/NetworkManagerDebian.c
11667                 - Debian backend fixups
11668
11669 2006-05-10  Robert Love  <rml@novell.com>
11670
11671         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11672
11673 2006-05-09  Robert Love  <rml@novell.com>
11674
11675         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11676           private certificate passphrase, if any, in the GNOME Keyring.
11677         * libnm-utils/dbus-helpers.c: Update.
11678
11679 2006-05-05  Dan Williams  <dcbw@redhat.com>
11680
11681         * src/nm-device-802-11-wireless.c
11682                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11683                         nm_device_802_11_wireless_disable_encryption() since that's all
11684                         we use it for anymore; we don't ever set WEP keys ourselves.
11685                 - (real_deactivate_quickly): reset SSID and encryption keys
11686                 - (real_deactivate): move SSID and encryption key reset to
11687                         real_deactivate_quickly(), which gets run before us anyway
11688
11689 2006-05-05  Robert Love  <rml@novell.com>
11690
11691         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11692           root has a wacky default of its own (or, more common, a user has a
11693           bad umask and uses su/sudo to restart NetworkManager).  Anything
11694           other than 0022 does not do what we want with, for example,
11695           resolv.conf.  This problem is amplified by our judicious use of
11696           fopen(), which uses mode 0666 -- implying that the only way to get
11697           the permissions we want is with a umask of 0022.
11698
11699 2006-05-05  Dan Williams  <dcbw@redhat.com>
11700
11701         * gnome/libnm_glib/libnm_glib.c
11702                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11703                         to reconnect; instead wait a bit more with each reconnect attempt
11704                         up to a max of one minute.
11705
11706 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11707
11708         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11709           the WirelessNetwork structure using the proper function instead of
11710           just casting it directly to (const char *) (gnome.org #336991)
11711
11712 2006-05-03  Robert Love  <rml@novell.com>
11713
11714         * src/backends/NetworkManagerSuSE.c: Respect the variable
11715           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11716           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11717           to dynamically update /etc/resolv.conf.
11718
11719 2006-05-02  Peter Jones  <pjones@redhat.com>
11720
11721         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11722
11723 2006-05-02  Robert Love  <rml@novell.com>
11724
11725         Patch by Timo Hoenig;
11726         * tests/nm-online.c: Print pretty status indicator as timeout winds
11727           down.  Also fix possible race between DBUS startup and failure
11728           return.
11729
11730 2006-05-01  Robert Love  <rml@novell.com>
11731
11732         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11733           empty, too.
11734
11735 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11736
11737         * src/nm-device.c (discover_device_type): Actually use the hal
11738         device type instead of ioctl poking
11739
11740 2006-04-26  Robert Love  <rml@novell.com>
11741
11742         * tests/nm-online.c: New file.  Simple utility that returns exit status
11743           noting whether the connection is offline or online.  If offline on
11744           start, it waits 30 seconds (or a command-line given value) for an
11745           online signal.  If it times out, it again returns offline.  This is
11746           useful for scripts that want to wait for network connections.
11747
11748 2006-04-25  Robert Love  <rml@novell.com>
11749
11750         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11751           key mode (the authentication algorithm), e.g. open or shared, when we
11752           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11753           only shared was broken.  If the user specified a shared key, set it
11754           explicitly, otherwise let wpa_supplicant go with the default.
11755
11756 2006-04-24  Dan Williams  <dcbw@redhat.com>
11757
11758         * src/nm-device-802-11-wireless.c
11759                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11760
11761 2006-04-24  Dan Williams  <dcbw@redhat.com>
11762
11763         Commit the async scanning patch
11764
11765         * src/nm-device-802-11-wireless.c
11766                 - get rid of scan_mutex
11767                 - (wireless_event_helper): act on wireless scan events
11768                 - (real_start): schedule a pending scan
11769                 - (link_to_specific_ap): fake the link to the AP during a scan
11770                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11771                         strength during scans
11772                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11773                         nm_device_set_bitrate): unused with new scanning code, disable
11774                 - (nm_device_wireless_schedule_scan): removed
11775                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11776                 - (request_and_convert_scan_results): new function; retrieve scan
11777                         results from the driver and schedule the processing function
11778                 - (scan_results_timeout): timeout triggered when card doesn't send
11779                         a scan results wireless event during a certain interval
11780                 - (schedule_scan_results_timeout): new function; schedule the scan
11781                         results timeout
11782                 - (cancel_scan_results_timeout): new function; cancel the scan
11783                         results timeout
11784                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11785                         to do the scanning.  Otherwise, just request a scan but don't
11786                         grab results here; instead schedule a timeout for scan results and
11787                         let netlink notify us of scan completion events
11788                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11789                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11790                 - (supplicant_status_cb): ignore disconnect events while scanning
11791                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11792                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11793                         timeouts
11794                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11795
11796 2006-04-24  Dan Williams  <dcbw@redhat.com>
11797
11798         * gnome/applet/applet-dbus.c
11799                 - Disable the pending call debug stuff, seems under control now
11800
11801 2006-04-20  Robert Love  <rml@novell.com>
11802
11803         Fix bug where hidden ESSID's would not show up in the applet, even
11804         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11805         because nm_policy_device_list_update_from_allowed_list() would merge
11806         the data, putting a name to the hidden networks, but never notify NMI
11807         of the changes.  Simple fix is to invoke the function
11808         nm_dbus_signal_wireless_network_change() if we make a mapping.
11809         * src/NetworkManagerAPList.c: Call the function
11810           nm_dbus_signal_wireless_network_change() if we made a successful
11811           BSSID to ESSID mapping, notifying the applet of the "new" network.
11812         * src/NetworkManagerAPList.h: Update the prototypes for both
11813           nm_ap_list_copy_essids_by_address() and
11814           nm_ap_list_copy_one_essid_by_address().
11815
11816 2006-04-20  Robert Love  <rml@novell.com>
11817
11818         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11819           not set.  Just return zero.
11820
11821 2006-04-20  Robert Love  <rml@novell.com>
11822
11823         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11824           only one copy of nm-vpn-properties is running at a time via the 'ol
11825           X selection trick.  This prevents the user from opening two "VPN
11826           Connections" windows from within the applet, which leads to mass
11827           hysteria.
11828         * clipboard.c: New file, implementing simple X selection logic.
11829         * clipboard.h: New file.
11830         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11831
11832 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11833
11834         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11835         * configure.in
11836           initscript/Gentoo/Makefile.am
11837           initscript/Gentoo/NetworkManagerDispatcher.in
11838                 - New script
11839         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11840           Gentopia
11841
11842 2006-04-16  Dan Williams  <dcbw@redhat.com>
11843
11844         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11845         * configure.in
11846           initscript/Slackware/Makefile.am
11847           initscript/Slackware/rc.networkmanager-dispatcher.in
11848           initscript/Slackware/rc.networkmanager.in
11849                 - Update slackware initscripts
11850
11851 2006-04-10  Robert Love  <rml@novell.com>
11852
11853         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11854           the "delete_event" signal on the druid's parent window and handle it
11855           our way, lest using the WM to close the druid results in a series of
11856           bloody and ultimately lethal errors.
11857
11858 2006-04-10  Robert Love  <rml@novell.com>
11859
11860         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11861           'Back' too or else the 'Forward' option is initially disabled despite
11862           valid input.
11863
11864 2006-04-06  Robert Love  <rml@novell.com>
11865
11866         Fix bad but simple bug where an active modem connection did not update
11867         NM's connection state, breaking any app that did online/offline:
11868         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11869           represented whether a dial up connection is active, or not.
11870         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11871           to modem activation and deactivation.
11872         * src/NetworkManagerDbus.c: When asked our state, do not return
11873           disconnected if the modem is active.
11874
11875 2006-04-04  Robert Love  <rml@novell.com>
11876
11877         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11878           applet.  It just confuses the crap out of people and does not make a
11879           lot of sense, as the daemon still runs.
11880
11881 2006-04-02  Tor Krill  <tor@krill.nu>
11882
11883         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11884           in start of service.
11885         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11886           get Archlinux backend up to date.
11887
11888 2006-03-29  Robert Love  <rml@novell.com>
11889
11890         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11891         to add support for per-route MSS and improve support for per-interface
11892         MTU:
11893         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11894           optionally take an MSS parameter and set it for the given route.
11895           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11896           NMIP4Config's stored MSS, if any.
11897         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11898           the interface's MTU and the route's MSS, respectively.  Add functions
11899           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11900           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11901           MSS.
11902         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11903           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11904           nm_ip4_config_set_mss.
11905         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11906           VPN daemon.
11907         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11908           Change the retval of nm_system_get_mtu to guint32.
11909         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11910           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11911           servers can specify MTU's, we should set it here if the MTU was not
11912           provided.
11913
11914 2006-03-27  Jürg Billeter  <j@bitron.ch>
11915
11916         * configure.in:
11917         * initscript/Makefile.am:
11918         * initscript/paldo/Makefile.am:
11919         * initscript/paldo/NetworkManager.in:
11920         * initscript/paldo/NetworkManagerDispatcher.in:
11921         * src/backends/Makefile.am:
11922         * src/backends/NetworkManagerPaldo.c:
11923                 - Add paldo support
11924
11925 2006-03-27  Dan Williams  <dcbw@redhat.com>
11926
11927         Patch from Christian Persch <chpe@gnome.org>
11928         * gnome/applet/applet.glade
11929                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11930
11931 2006-03-27  Dan Williams  <dcbw@redhat.com>
11932
11933         Patch from Diffe <diffie@blazebox.homeip.net>
11934         * src/backends/NetworkManagerSlackware.c
11935                 - Don't restart howl, since it's been replaced by Avahi
11936                         in most distributions
11937
11938 2006-03-27  Dan Williams  <dcbw@redhat.com>
11939
11940         Patch from Tor Krill <bugzilla@krill.nu>
11941         * configure.in
11942           initscript/Makefile.am
11943           src/backends/Makefile.am
11944           src/backends/NetworkManagerArch.c
11945           initscript/Arch/Makefile.am
11946           initscript/Arch/networkmanager-dispatcher.in
11947           initscript/Arch/networkmanager.in
11948                 - Add Arch Linux support, fixes gnome.org #335147
11949
11950 2006-03-27  Dan Williams  <dcbw@redhat.com>
11951
11952         Patch from Diffe <diffie@blazebox.homeip.net>
11953      * initscript/Slackware/rc.networkmanager
11954         - update, fixed gnome.org #333368
11955
11956 2006-03-27  Robert Love  <rml@novell.com>
11957
11958         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11959           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11960
11961 2006-03-27  Robert Love  <rml@novell.com>
11962
11963         Patch by Jürg Billeter <j@bitron.ch>:
11964         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11965           systems.
11966         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11967           as we prefer glibc over kernel headers, if possible.
11968
11969 2006-03-27  Robert Love  <rml@novell.com>
11970
11971         Patch by Jon Escombe <list@dresco.co.uk>:
11972         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11973         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11974           fail, don't bail out.  We don't expect all of the various WPA-EAP
11975           values to be present.
11976         * src/nm-ap-security.c: We need to match all capabilities for each
11977           encryption type, not any one of them.
11978
11979 2006-03-27  Robert Love  <rml@novell.com>
11980
11981         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11982           restart, not reload, ypbind.  Unfortunately there is no superior
11983           solution.
11984
11985 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11986
11987         * gnome/applet/applet-notifications.c:
11988         When displaying a notification, make sure to get rid of the
11989         previous notification so as to not have competing bubbles,
11990         and stop leaking the old one.
11991
11992         * gnome/applet/applet.c:
11993         * gnome/applet/applet.h:
11994         Add a new 'notification' member to the applet, and zero it out
11995         and free it appropriately.
11996
11997 2006-03-23  Robert Love  <rml@novell.com>
11998
11999         Patch by j <j@bootlab.org>:
12000         * gnome/applet/applet.glade: Don't set the invisible_char property,
12001           which simply overrides the GTK default.  By and by, this behavior
12002           ought to be fixed in Glade.
12003
12004 2006-03-22  Robert Love  <rml@novell.com>
12005
12006         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12007
12008 2006-03-22  Robert Love  <rml@novell.com>
12009
12010         Bug fix by Timo Hoenig <thoenig@suse.de>:
12011         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12012           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12013           and the applet going AWOL.
12014
12015 2006-03-22  Robert Love  <rml@novell.com>
12016
12017         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12018           preprocessor define and use it instead of open-coded the DHCP
12019           timeout, which is currently 25 seconds, everywhere.
12020
12021 2006-03-22  Robert Love  <rml@novell.com>
12022
12023         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12024         key exchange via WPA, ostensibly providing good security without
12025         requiring hardware that supports full WPA.  Also, add UI elements to
12026         allow the user to select the pairwise & group cipher for WPA Enterprise
12027         networks, too:
12028         * gnome/applet/applet.glade: Update glade file.
12029         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12030           key type, too, to and from gconf.
12031         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12032           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12033           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12034           the capabilities match.
12035         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12036           prototype.
12037         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12038           serialize from UI to DBUS.
12039         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12040           one element.
12041         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12042           nmu_security_serialize_wpa_eap_with_cipher(), and
12043           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12044           serialize/deserialize the key type via DBUS as the new third DBUS
12045           parameter.
12046         * libnm-util/dbus-helpers.h: Update prototypes.
12047         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12048           too.  If the key type is WEP104, do Dynamic WEP, which means
12049           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12050           pairwise and group ciphers (fixes a FIXME).
12051
12052 2006-03-21  Robert Love  <rml@novell.com>
12053
12054         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12055           nm_system_get_mtu(), which returns a user-provided or system-mandated
12056           MTU value for a given device, if any, or zero if no such value
12057           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12058           if we have a provided value.
12059         * src/nm-device.c: Set the MTU of devices.
12060         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12061         * src/backends/NetworkManagerDebian.c,
12062           src/backends/NetworkManagerGentoo.c,
12063           src/backends/NetworkManagerRedHat.c,
12064           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12065
12066 2006-03-21  Robert Love  <rml@novell.com>
12067
12068         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12069           configuration file.
12070
12071 2006-03-17  Robert Love  <rml@novell.com>
12072
12073         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12074           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12075           it, in case it is not running in the first place.  We just want its
12076           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12077
12078 2006-03-15  Robert Love  <rml@novell.com>
12079
12080         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12081           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12082           label "WEP 40/128-bit" is inconsistent because the physical key size
12083           is 40 or 104-bits, to which a 24-bit initialisation vector is
12084           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12085           to read "40/104" or "64/128".  I do not care much which, but most
12086           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12087           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12088           WEP passphrase support only handles 128-bit keys, and any future
12089           64-bit passphrase support will require a new option (no way to auto-
12090           detect the target key size), explicitly label our passphrase support
12091           "WEP 128-bit Passphrase".
12092
12093 2006-03-15  Robert Love  <rml@novell.com>
12094
12095         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12096           the system init scripts (or some other mechanism) starting it (or a
12097           compatible DBUS service) before NetworkManager runs.  This means that
12098           distributions might need to update their init scripts.  This fixes
12099           possible races and is quite a bit cleaner.
12100         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12101           starting the NetworkManager daemon.
12102
12103
12104 2006-03-14  Robert Love  <rml@novell.com>
12105
12106         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12107           before adding anything.
12108
12109 2006-03-13  Robert Love  <rml@novell.com>
12110
12111         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12112           widgets, too, if they exist, in case the user hit the back button.
12113           Fixes a bug where the details page contains the widgets of multiple
12114           VPN modules (Novell bug #157048).
12115
12116 2006-03-13  Robert Love  <rml@novell.com>
12117
12118         Patch by Timo Hoenig <thoenig@suse.de>:
12119         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12120           daemon survive DBUS restarts, too.
12121
12122 2006-03-10  Robert Love  <rml@novell.com>
12123
12124         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12125           passphrase or key.
12126         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12127           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12128           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12129           in response to "toggled" signal on new toggle.
12130
12131 2006-03-10  Robert Love  <rml@novell.com>
12132
12133         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12134           serialization if strings are NULL, lest DBUS get angry.
12135
12136 2006-03-10  Robert Love  <rml@novell.com>
12137
12138         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12139
12140 2006-03-09  Robert Love  <rml@novell.com>
12141
12142         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12143           configurations.
12144
12145 2006-03-09  Dan Williams  <dcbw@redhat.com>
12146
12147         Track pending call requests in the applet, and report how many are
12148         outstanding, and how long each completed one takes.
12149         
12150         * gnome/applet/applet-dbus-devices.c
12151           gnome/applet/applet-dbus-vpn.c
12152                 - Track pending calls
12153
12154         * gnome/applet/applet-dbus.[ch]
12155                 - Remove some unused enums
12156                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12157                         new functions to track dbus pending calls and spit out some
12158                         statistics about them
12159
12160 2006-03-09  Robert Love  <rml@novell.com>
12161
12162         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12163           nm_ap_set_timestamp() take the second and micro-second parameters as
12164           direct arguments, which avoids both a dynamic memory allocation and a
12165           structure-to-structure copy!  Add a new interface, the aptly named
12166           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12167           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12168           the return from nm_ap_get_timestamp().  New users should use the new
12169           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12170           the extreme benefit to performance.
12171         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12172           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12173
12174 2006-03-08  Robert Love  <rml@novell.com>
12175
12176         * gnome/applet/applet.glade: Hide the password entry text with
12177           asterisks.
12178
12179 2006-03-08  Robert Love  <rml@novell.com>
12180
12181         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12182           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12183           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12184           a second argument, NMData.
12185         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12186         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12187           config files as trusted.
12188
12189 2006-03-06  Robert Love  <rml@novell.com>
12190
12191         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12192         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12193           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12194           Rivera, detect if the applet was auto-started.  If so, ask the user
12195           if he or she would like to stop automatically running the applet on
12196           login.  If so, disable autostart.
12197
12198 2006-03-06  Robert Love  <rml@novell.com>
12199
12200         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12201           directory in CFLAGS so developers can actually use NetworkManager.h.
12202
12203 2006-03-06  Robert Love  <rml@novell.com>
12204
12205         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12206           open-coded integer constants.  Add state_to_string() to map a given
12207           state to a textual description, and provide that when notifying of
12208           state change.
12209         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12210           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12211           this header directly, but it is currently not installed on most
12212           systems.
12213
12214 2006-03-05  Dan Williams  <dcbw@redhat.com>
12215
12216         Process netlink messages in device subclasses rather than in
12217         NetworkManager.c.  Also add support for recognizing Wireless Events.
12218         
12219         * configure.in
12220                 - Find GLIB_GENMARSHAL
12221
12222         * src/Makefile.am
12223                 - Since we're marshalling custom types for wireless event signals,
12224                         we get to create our own marshallers using GLIB_GENMARSHAL
12225
12226         * src/NetworkManager.c
12227                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12228                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12229                         cut down somewhat.  We no longer process signals here.
12230                 - (nm_data_new): create the netlink monitor here, and remove a
12231                         useless call to nm_policy_schedule_device_change_check()
12232                 - (nm_data_free): get rid of the netlink monitor here
12233                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12234                 - (main): don't create the netlink monitor here, let nm_data_new
12235                         do that.  Call nm_policy_schedule_device_change_check() right
12236                         before we jump to the mainloop to figure out which device
12237                         to use first
12238
12239         * src/NetworkManagerSystem.[ch]
12240                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12241                         convert back and forth from interface names to interface
12242                         indexes
12243
12244         * src/nm-device-802-11-wireless.c
12245                 - (real_init): connect to wireless-event signals from the netlink
12246                         monitor object
12247                 - (nm_device_802_11_wireless_event): new function, schedule handler
12248                         for wireless event signals from the netlink monitor object.  We
12249                         want the handler to run in the device's context
12250                 - (wireless_event_helper): handle wireless-event signals from netlink
12251                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12252                         signal handler
12253
12254         * src/nm-device-802-11-wireless.h
12255                 - remove unused prototype for nm_device_802_11_wireless_new
12256
12257         * src/nm-device-802-3-ethernet.c
12258                 - (real_init): new function; set up signal handlers for link events
12259                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12260                         handler for netlink link activated events on device's main loop
12261                 - (link_activated_helper): when we get a link activated event, set
12262                         the device's link to be active
12263                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12264                         handler for netlink link deactivated events on device's main loop
12265                 - (link_deactivated_helper): when we get a link deactivated event, set
12266                         the device's link to be inactive
12267                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12268                         dispose
12269
12270         * src/nm-device-802-3-ethernet.h
12271                 - remove unused prototype for nm_device_802_3_ethernet_new
12272
12273         * src/nm-device.[ch]
12274                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12275                         but locks the device list
12276                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12277
12278         * src/nm-netlink-monitor.[ch]
12279                 - (nm_netlink_monitor_class_install_signals): New signal
12280                         "wireless-event"
12281                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12282                         at the device list
12283                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12284
12285         * src/nm-marshal-main.c
12286                 - Include generated nm-marshal.c and nm-marshal.h
12287
12288         * src/nm-marshal.list
12289                 - List of custom marshal functions
12290
12291 2006-03-05  Dan Williams  <dcbw@redhat.com>
12292
12293         * gnome/applet/applet-notifications.h
12294                 - Protect prototype of nma_send_event_notification() because it
12295                         includes libnotify-specific types
12296                 - Include libnotify/libnotify.h too, since we technically need it
12297
12298         * gnome/applet/applet.c
12299                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12300                 - (nma_show_vpn_login_banner_dialog): add some error checking
12301
12302 2006-03-04  Dan Williams  <dcbw@redhat.com>
12303
12304         Clean up activation cancellation.  Should be a lot faster now.  Observed
12305         an issue with wireless devices between stage 2 and 3 of activation, where
12306         activation would be cancelled, but the device thread wouldn't notice until
12307         the supplicant association timed out.  Reorganize activation such that
12308         a cancellation handler gets immediately scheduled in the device's thread,
12309         and devices have a chance to perform any custom cleanup too.
12310
12311         * src/nm-device.[ch]
12312                 - (activation_cancel_handler): new device-type-specific function
12313                         for cleaning up device-type-specific stuff on cancellation
12314                 - (cancel_activation): removed
12315                 - (nm_device_activation_cancel): subsume functionality of
12316                         real_cancel_activation, but instead of doing anything, punt
12317                         operation to a handler that's run in device-thread context
12318                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12319                         a warning message
12320                 - (activation_handle_cancel_helper): cancellation handler run in
12321                         device-thread context, calls device-type-specific cancelation,
12322                         then tears down the activation request
12323                 - (real_activation_cancel_handler): generic cancellation handler,
12324                         deals with cancelling any in-process DHCP request
12325                 - (nm_device_activate_stage1_device_prepare,
12326                    nm_device_activate_stage2_device_config,
12327                    nm_device_activate_stage3_ip_config_start,
12328                    nm_device_activate_stage4_ip_config_get,
12329                    nm_device_activate_stage4_ip_config_timeout,
12330                    nm_device_activate_stage5_ip_commit): don't call
12331                         nm_device_schedule_activation_handle_cancel() any more, since
12332                         cancellation will have been already scheduled for us by
12333                         nm_device_activation_cancel().  Just exit the function and
12334                         assume that the cancel handler will be called next.
12335
12336         * src/nm-device-802-3-ethernet.c
12337                 - (real_act_stage2_config): remove; didn't do anything anyway
12338
12339         * src/nm-device-802-11-wireless.c
12340                 - (supplicant_status_cb): ensure we don't do anything if the activation
12341                         got cancelled
12342                 - (real_activation_cancel_handler): implement; cancel user key request
12343                         on activation cancellation
12344
12345 2006-03-04  Dan Williams  <dcbw@redhat.com>
12346
12347         * src/nm-device-802-11-wireless.c
12348                 - (supplicant_send_network_config): assume that drivers that don't
12349                         support WPA pretty much suck, and can't handle NM scanning
12350                         along with wpa_supplicant.
12351
12352 2006-03-03  Robert Love  <rml@novell.com>
12353
12354         * configure.in: Bump version to 0.6.0.
12355         * NEWS: Update.
12356
12357 2006-03-03  Robert Love  <rml@novell.com>
12358
12359         * configure.in: Require DBUS 0.60 or later.
12360
12361 2006-03-03  Dan Williams  <dcbw@redhat.com>
12362
12363         Fix a crash if an "Other wireless network" was chosen, failed, then
12364         chosen again from the applet's menu.  If the other network wasn't
12365         noticed in a scan, it wouldn't have any capabilities, but would still
12366         be listed because the user forced the network.  To fix this, we set
12367         sensible capabilities on the forced network, which will get overwritten
12368         with the correct ones if the network shows up later in a scan.
12369         
12370         * src/nm-ap-security.h
12371                 - Add a new "get_default_capabilities_func" member to the
12372                         NMAPSecurity class
12373
12374         * src/nm-ap-security.c
12375                 - (nm_ap_security_get_default_capabilities): new function
12376
12377         * src/nm-ap-security.c
12378           src/nm-ap-security-wep.c
12379           src/nm-ap-security-wpa-psk.c
12380           src/nm-ap-security-wpa-eap.c
12381                 - Implement get_default_capabilities_func() for all, which
12382                         uses the information contained in a specific NMAPSecurity
12383                         object to determine default AP capabilites necessary
12384                         to support that object
12385
12386         As a secondary measure, we now prune artificial access points that fail
12387         to be activated right away.  The thing failed, and we have no scan data for
12388         it, so it's pretty much useless since security information is only saved
12389         in the applets when a connection is successful.
12390
12391         * src/NetworkManagerAPList.c
12392                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12393                         not artificial.  If we see it, it's no longer a figment of the
12394                         user's imagination :)
12395
12396         * src/NetworkManagerPolicy.c
12397                 - (nm_policy_activation_failed): send along the failed AP if we
12398                         have it
12399
12400         * src/nm-device-802-11-wireless.c
12401                 - (real_activation_failure_handler): remove artificial APs from
12402                         the device list, because activation failed
12403
12404 2006-03-02  Robert Love  <rml@novell.com>
12405
12406         Add support for retrieving both the per-device speed and the
12407         per-network maximum supported rate.  Then change the getProperties
12408         DBUS API for both networks and devices to report this informaiton.
12409         Finally, display the information via both nm-applet and nm-tool:
12410         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12411           and set it.
12412         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12413           Information' dialog.
12414         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12415         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12416           network_device_get_speed() and network_device_set_speed() for
12417           retrieving and setting, respectively, a network device's current
12418           speed.
12419         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12420         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12421           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12422           not matter (yet) what the units are, because we only feed it its own
12423           output.  Implement SIOCGIRATE and set the per-network maximum
12424           supported rate during scanning.
12425         * src/nm-device-802-11-wireless.h: Export the function
12426           nm_device_802_11_wireless_get_bitrate().
12427         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12428           function nm_device_802_3_ethernet_get_speed() for returning an
12429           802.3's current speed, in Mb/s.
12430         * test/nm-tool.c: Display the per-device current speed, if available,
12431           and the per-network maximum rate.
12432
12433 2006-03-02  Dan Williams  <dcbw@redhat.com>
12434
12435         * src/nm-device-802-11-wireless.c
12436                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12437                         card when it gets initialized.  Since devices don't get added to
12438                         the scan list until they are initialized, this function wasn't
12439                         setting the intitial scan interval correctly, and was leaving
12440                         it at 0.  This caused cards to get many scan requests in a short
12441                         amount of time when they were initialized
12442
12443 2006-03-02  Robert Love  <rml@novell.com>
12444
12445         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12446           active device.  But do not do what we used to do and override the
12447           state, which caused the dreaded icon race of '05.
12448
12449 2006-03-02  Robert Love  <rml@novell.com>
12450
12451         Commit Dan's update of my previous commit:
12452         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12453           set_mode() function itself does the check.  But do only set the
12454           frequency if in Ad-Hoc mode.
12455
12456 2006-03-02  Robert Love  <rml@novell.com>
12457
12458         Patch by Brian Magnuson <magnuson@rcn.com>:
12459         * src/nm-device-802-11-wireless.c: During scanning, only set the
12460           wireless mode to infrastructure if it is not currently in
12461           infrastructure mode.  For some driver, setting the mode is a costly
12462           operation, apparently.
12463
12464 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12465
12466         * Makefile.am: use the correct dir for autostart mechanism.
12467
12468 2006-02-28  Dan Williams  <dcbw@redhat.com>
12469
12470         Patch from Brian Magnuson <magnuson@rcn.com>
12471         * gnome/applet/applet.c
12472                 - (nma_show_vpn_failure_dialog): fix errors left over from
12473                         libnotify support changes
12474
12475 2006-02-28  Dan Williams  <dcbw@redhat.com>
12476
12477         * src/vpn-manager/nm-vpn-act-request.[ch]
12478                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12479                         just one value
12480                 - (nm_vpn_act_request_is_failed): new function; return whether or
12481                         not the vpn activation request has failed
12482
12483         * src/vpn-manager/nm-vpn-manager.c 
12484                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12485                         daemon to kill the connection when the activation request fails.
12486                         Fixes issue where NM would get confused if the VPN activation
12487                         request timed out, and would not allow further VPN connections
12488                         on that service.
12489
12490 2006-02-28  Dan Williams  <dcbw@redhat.com>
12491
12492         * gnome/applet/applet.c
12493                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12494                         overlapping connection requests, disable all VPN menu items
12495                         but the active VPN connection
12496
12497 2006-02-28  Dan Williams  <dcbw@redhat.com>
12498
12499         * src/vpn-manager/nm-vpn-connection.c
12500                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12501                         called g_object_unref() on the connection's parent device
12502                         when it should have been ref-ed instead.  Fixes crash with
12503                         repeated vpn connect requests
12504
12505 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12506
12507         * gnome/applet/applet.glade:
12508         Mark a few strings non-translatable, since they shouldn't be.
12509
12510 2006-02-28  Dan Williams  <dcbw@redhat.com>
12511
12512         * src/vpn-manager/nm-vpn-service.c
12513                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12514                         already running, don't blindly ask it to connect, but wait until
12515                         it's in the STOPPED state first.  Fixes an assertion when user
12516                         starts a second vpn connection without stopping the first.
12517                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12518                         dbus service exists before continuing with the connection
12519                         process, and reduce latency while waiting for it to become
12520                         available
12521                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12522                         waiting for the vpn service daemon to become available
12523                 - General log message cleanups; show progress via "Stage x of 4"
12524                         rather than not telling anyone how many stages there are
12525
12526 2006-02-28  Robert Love  <rml@novell.com>
12527
12528         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12529         * src/backends/NetworkManagerSuSE.c: Implement the interface
12530           nm_system_should_modify_resolv_conf() for SUSE.
12531         * src/backends/NetworkManagerDebian.c,
12532           src/backends/NetworkManagerGentoo.c,
12533           src/backends/NetworkManagerRedHat.c,
12534           src/backends/NetworkManagerSlackware.c: Add stub.
12535         * src/named-manager/Makefile.am: Grab includes from src.
12536         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12537           automatic updating of resolv.conf.  This is useful for testing,
12538           broken static configurations, and administrator lock-down.
12539
12540 2006-02-28  Dan Williams  <dcbw@redhat.com>
12541
12542         * src/nm-device-802-11-wireless.c
12543                 - Move all the wpa_supplicant-related management stuff into its
12544                         own struct, just for oranization's sake
12545                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12546                         to a GIOChannel/GSource
12547                 - (supplicant_log_stdout): new function; grab output from the
12548                         wpa_supplicant stdout pipe and write it to our logs.
12549
12550 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12551
12552         * src/nm-device-802-11-wireless.c:
12553         Err, fix thinko in my previous commit.
12554
12555 2006-02-28  Robert Love  <rml@novell.com>
12556
12557         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12558
12559 2006-02-28  Robert Love  <rml@novell.com>
12560
12561         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12562           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12563           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12564           deserializers are responsible for freeing the returned DBUS strings.
12565
12566 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12567
12568         * src/nm-device-802-11-wireless.c:
12569         The scan list is being pruned prematurely.  We should prune after
12570         the device has gone MIA for three scans, not one.  Split out the
12571         interval to realtime seconds function to better serve this.
12572
12573 2006-02-27  Robert Love  <rml@novell.com>
12574
12575         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12576           Open the pid file O_TRUNC, so if it already exists we truncate it to
12577           zero length.  Also, be more verbose about warnings generated during
12578           writing out the pid file.  Finally, always write out the pid file if
12579           in daemon mode.  Use "--pid-file" to override the default.
12580
12581 2006-02-27  Robert Love  <rml@novell.com>
12582
12583         Patch by R. Vinay <rvinay@novell.com>:
12584         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12585           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12586           Novell bug #153628).
12587           
12588 2006-02-27  Robert Love  <rml@novell.com>
12589
12590         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12591           entry so user can hit <ENTER> after entering passphrase (Novell bug
12592           #153738).
12593
12594 2006-02-27  Dan Williams  <dcbw@redhat.com>
12595
12596         * gnome/applet/*
12597                 - Mass search/replace of:
12598                         nmwa -> nma
12599                         NMWirelessApplet -> NMApplet
12600                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12601                    (it ain't just for wireless anymore, ma!)
12602                 - Fix duplicate function name printing when using nm_warning
12603                 - wireless-applet.glade -> applet.glade
12604
12605 2006-02-27  Dan Williams  <dcbw@redhat.com>
12606
12607         * dispatcher-daemon/NetworkManagerDispatcher.c
12608                 - Accept --pid-file with a path to a pidfile, write it out on
12609                         startup, and delete it on shutdown
12610
12611         * src/NetworkManager.c
12612                 - Accept --pid-file with a path to a pidfile, write it out on
12613                         startup, and delete it on shutdown
12614                 - Move nm_print_usage() lower
12615
12616         * initscripts/RedHat/NetworkManager.in
12617                 - Use new --pid-file option
12618                 - Fix service stopping to wait a bit for NM to quit
12619
12620         * initscripts/RedHat/NetworkManagerDispatcher.in
12621                 - Use new --pid-file option
12622
12623 2006-02-26  Dan Williams  <dcbw@redhat.com>
12624
12625         * src/Makefile.am
12626                 - make and install nm-crash-logger
12627
12628         * src/nm-logging.[ch]
12629                 - New files; consolidate logging and crash handling
12630
12631         * src/nm-crash-logger.c
12632           src/gdb-cmd
12633                 - Standalong crashlogger for NM, grab a backtrace
12634                         using GDB
12635
12636         * src/NetworkManager.[ch]
12637                 - Remove signal handling and put it into nm-logging.c
12638
12639 2006-02-26  Dan Williams  <dcbw@redhat.com>
12640
12641         * configure.in
12642           gnome/applet/Makefile.am
12643                 - Conditionalize all the notify stuff
12644
12645         Merge most of Chris Aillon's notification patch:
12646         
12647         * gnome/applet/applet-notifications.[ch]
12648                 - New files; show a notification
12649         
12650         * gnome/applet/applet-dbus-devices.[ch]
12651                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12652                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12653                         new functions, do the right thing when a device change occurs
12654
12655         * gnome/applet/applet-dbus.c
12656                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12657                         signals, so we can handle them specially
12658
12659         * gnome/applet/applet.[ch]
12660                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12661                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12662                 - (nmwa_notify_state): remove
12663                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12664                         notification work is now done when the appropriate dbus signals
12665                         are received.
12666                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12667                         defer execution of the notification/dialog stuff.  That was an
12668                         artifact of the previous multi-threaded nature of the applet
12669                         and is now pointless.
12670                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12671                         no longer needed.  Function folded into applet-notifications.c
12672
12673         * src/NetworkManagerPolicy.c
12674                 - (nm_policy_activation_finish): send the AP along with the device
12675                         status change signal, if the connection is wireless.  Should
12676                         fix the race where applet would show a connection to "unknown"
12677
12678 2006-02-25  Robert Love  <rml@novell.com>
12679
12680         Add WPA Enterprise support:
12681         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12682           nm-gconf-wso-wpa-eap.h.
12683         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12684           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12685           serialization and deserialization.
12686         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12687           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12688           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12689         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12690           settings related to WPA Enterprise.
12691         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12692           instantiate WPA Enterprise wireless-security-option.
12693         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12694           Implement WPA Enterprise wireless-security-option object.
12695         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12696           defines.  Cleanup.
12697         * libnm-util/cipher-wpa-psk-hex.c,
12698           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12699         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12700           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12701           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12702           including the cipher to DBUS method, and
12703           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12704           to output.
12705         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12706           nm-ap-security-wpa-eap.h
12707         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12708           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12709         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12710           files.  Implement NMAPSecurityWPA_EAP object.
12711         * src/nm-ap-security-wpa-psk.c: Cleanup.
12712         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12713           an NMAPSecurityWPA_EAP object via the method
12714           nm_ap_security_wpa_eap_new_deserialize().
12715         * src/nm-dbus-nm.c: Cleanup.
12716         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12717           WPA Enterprise support.
12718
12719 2006-02-24  Robert Love  <rml@novell.com>
12720
12721         Patch from Timo Hoenig <thoenig@suse.de>:
12722         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12723
12724 2006-02-24  Robert Love  <rml@novell.com>
12725
12726         Patch from Dan Winship <danw@novell.com>:
12727         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12728           area to transparent.
12729
12730 2006-02-21  Dan Williams  <dcbw@redhat.com>
12731
12732         * gnome/applet/applet.[ch]
12733           gnome/applet/applet-dbus.c
12734                 - Implement notification support for VPN messages too
12735
12736 2006-02-21  Dan Williams  <dcbw@redhat.com>
12737
12738         * gnome/applet/applet-dbus-info.c
12739                 - Clean up warning messages to not double-print the function
12740
12741 2006-02-21  Dan Williams  <dcbw@redhat.com>
12742
12743         * gnome/applet/applet-compat.c
12744                 - (convert_one_entry): accept entries without a key_type and
12745                         convert them to unencrypted networks
12746
12747 2006-02-21  Dan Williams  <dcbw@redhat.com>
12748
12749         * gnome/libnm_glib/libnm_glib.c
12750                 - Use __func__ everywhere we can
12751                 - Code cleanups
12752                 - Use dbus pending calls rather than blocking
12753                 - Reduce busywaits for our thread to start and stop
12754                         (gnome.org #330562)
12755                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12756                         stomp on others using the default shared dbus connection.
12757                         Fixes #rh177546# and gnome.org #326572
12758
12759 2006-02-21  Dan Williams  <dcbw@redhat.com>
12760
12761         Patch from Rodney Dawes <dobey@novell.com>
12762         * configure.in
12763           gnome/applet/Makefile.am
12764           gnome/applet/applet.c
12765                 - Add libnotify support if '--enable-notify=yes' is passed
12766                   at configure time
12767
12768 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12769
12770         * configure.in (ALL_LINGUAS): ko added. (Korean)
12771
12772 2006-02-15  Robert Love  <rml@novell.com>
12773
12774         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12775           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12776           and WPA_SUPPLICANT_CONTROL_SOCKET.
12777         
12778 2006-02-15  Robert Love  <rml@novell.com>
12779
12780         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12781           information about what connection stage we are at, provide the total
12782           number of stages, e.g. "Stage 2 of 5", so users know how far along
12783           they are if they experience problems.
12784
12785 2006-02-15  Robert Love  <rml@novell.com>
12786
12787         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12788           define to $sysconfdir.
12789         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12790           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12791           type of VPN and then editing another results in a mangled dialog
12792           box containing the widgets from both VPNs (fixes Novell #150854).
12793           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12794
12795 2006-02-14  Robert Love  <rml@novell.com>
12796
12797         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12798           syslog's file descriptor.
12799
12800 2006-02-14  Robert Love  <rml@novell.com>
12801
12802         Fix bug around since the change to "deal with APs changing settings on
12803         us," checked in on the fifth of February in the year of the dog, 
12804         wherein connecting to non-broadcast encrypted networks always fails
12805         because nm_ap_get_encrypted() always returns FALSE, even when the user
12806         provided a key, because the newly-created fake AP does not have any
12807         capabilities set, which is a sypmtom of security settings not matching
12808         capabilities (Novell bug #150784):
12809         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12810           nm_ap_add_capabilities_from_security(), which sets the given AP's
12811           capabilities off the given security settings.  Also improve our
12812           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12813           NM_AUTH_CIPHER_AUTO.
12814         * src/nm-device-802-11-wireless.c: Call the function
12815           nm_ap_add_capabilities_from_security() to ensure that capabilities
12816           match newly updated security settings.
12817
12818 2006-02-14  Robert Love  <rml@novell.com>
12819
12820         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12821           error as a string, not an integer, if possible; do not print the
12822           function name twice; always give the interface, if possible; misc.
12823           cleanup.
12824
12825 2006-02-12  Dan Williams  <dcbw@redhat.com>
12826
12827         Patch from Tom Parker <palfrey@tevp.net>
12828         * src/NetworkManagerSystem.h
12829                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12830                         no longer used
12831
12832         * src/backends/NetworkManagerDebian.c
12833                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12834                         unused variables
12835
12836 2006-02-12  Dan Williams  <dcbw@redhat.com>
12837
12838         * vpn-daemons/openvpn/intltool-extract.in
12839           vpn-daemons/openvpn/intltool-merge.in
12840           vpn-daemons/openvpn/intltool-update.in
12841           vpn-daemons/pptp/intltool-extract.in
12842           vpn-daemons/pptp/intltool-merge.in
12843           vpn-daemons/pptp/intltool-update.in
12844                 - Remove from CVS, they should get created by intltoolize,
12845                         shouldn't they?
12846
12847 2006-02-12  Dan Williams  <dcbw@redhat.com>
12848
12849         * vpn-daemons/pptp/src/pppd/patchlevel.h
12850         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12851                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12852                         Makefile-defined VERSION
12853
12854 2006-02-09  Dan Williams  <dcbw@redhat.com>
12855
12856         Patch from: Vinay A R <rvinay@novell.com>
12857         * src/vpn-manager/nm-vpn-act-request.[ch]
12858                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12859                         IPSec VPNs require them for std gateway.
12860                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12861                         and 'user_routes_count'
12862                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12863                         defined routes  from NMVPNActRequest object, returns the string
12864                         array of routes.
12865
12866         * src/vpn-manager/nm-vpn-manager.[ch]
12867                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12868                         for 'user_routes' and 'user_routes_count'
12869         
12870         * src/vpn-manager/nm-dbus-vpn.c
12871                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12872                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12873         
12874         * src/vpn-manager/nm-vpn-service.c
12875                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12876                         the vpn daemon
12877
12878         Modifications by Dan:
12879         * src/vpn-manager/nm-vpn-service.c
12880                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12881                         arrays into dbus
12882
12883         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12884         * vpn-daemons/pptp/src/nm-pptp-service.c
12885         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12886                 - Grab user routes from dbus message
12887                 - Free all string arrays we got from dbus
12888
12889 2006-02-07  Robert Love  <rml@novell.com>
12890
12891         Patch by Stefan Seyfried <seife@suse.de>:
12892         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12893
12894 2006-02-06  Robert Love  <rml@novell.com>
12895
12896         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12897
12898 2006-02-06  Robert Love  <rml@novell.com>
12899
12900         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12901           test ">=" is never false.  If no newline is found, we loop forever.
12902           We can just check for ">" because the following if() will see the
12903           zero-th argument if the while() gets that far.
12904
12905 2006-02-05  Dan Williams  <dcbw@redhat.com>
12906
12907         Refine handling of non-broadcast networks.
12908
12909         * src/NetworkManagerAPList.c
12910                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12911                         property from scanned AP to the AP from the device list
12912
12913         * src/nm-device-802-11-wireless.c
12914                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12915                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12916                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12917                         networks since those don't have APs.
12918                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12919                         AP as non-SSID-broadcasting
12920                 - (process_scan_results): don't handle non-SSID-broadcasting here
12921
12922 2006-02-05  Dan Williams  <dcbw@redhat.com>
12923
12924         * src/nm-device-802-11-wireless.c
12925                 - (get_supplicant_timeout): new function; return
12926                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12927                         14 channels.  These are likely a/b/g cards, like Atheros, and
12928                         slow as hell to scan.
12929                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12930                         get_supplicant_timeout()
12931
12932 2006-02-05  Dan Williams  <dcbw@redhat.com>
12933
12934         * src/dhcp-manager/nm-dhcp-manager.c
12935                 - Loose a commit race with Robert; make sure size check
12936                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12937
12938 2006-02-05  Robert Love  <rml@novell.com>
12939
12940         Patch by Christoph Brill <chrisbrill@gmx.net>:
12941         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12942           with DHCP_SERVICE_NAME.
12943
12944 2006-02-05  Dan Williams  <dcbw@redhat.com>
12945
12946         Remove anything having to do with device_setup_func from the
12947         AP security objects, since it's no longer used.
12948
12949         * src/nm-ap-security.h
12950                 - Kill device_setup_func and nm_ap_security_device_setup()
12951
12952         * src/nm-ap-security-wep.c
12953           src/nm-ap-security-wpa-psk.c
12954                 - (real_device_setup): remove
12955
12956         * src/nm-ap-security.c
12957                 - (real_device_setup): remove
12958                 - (nm_ap_security_device_setup): remove
12959
12960         * src/nm-device-802-11-wireless.[ch]
12961                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12962                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12963                         and done by wpa_supplicant now anyway
12964
12965 2006-02-05  Dan Williams  <dcbw@redhat.com>
12966
12967         * src/nm-device-802-11-wireless.c
12968                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12969                         settings on us.  Previously NM would loop asking for the
12970                         key but getting the same one back.  Now, if the NMI-supplied
12971                         cipher doesn't overlap with the scanned AP capabilities,
12972                         we request a completely new key from the user.
12973
12974 2006-02-05  Dan Williams  <dcbw@redhat.com>
12975
12976         * src/NetworkManagerUtils.c
12977                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12978                         Handle newline killing better
12979
12980 2006-02-05  Dan Williams  <dcbw@redhat.com>
12981
12982         * gnome/applet/nm-gconf-wso.c
12983                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12984                         of unencrypted access point security info.
12985
12986 2006-02-03  Robert Love  <rml@novell.com>
12987
12988         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12989           user's encryption key, so we print the err_msg_cmd not the command,
12990           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12991           sense.
12992
12993 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12994
12995         * initscript/RedHat/NetworkManagerDispatcher.in:
12996         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12997         Patch from Dan Walsh <dwalsh@redhat.com>
12998
12999 2006-02-03  Robert Love  <rml@novell.com>
13000
13001         * dispatcher-daemon/NetworkManagerDispatcher.c,
13002           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13003           but use the sysconfdir.
13004
13005 2006-02-03  Robert Love  <rml@novell.com>
13006
13007         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13008           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13009           'char *'.
13010         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13011           nm_ip4_config_get_hostname() and
13012           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13013         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13014           leak g_strdup() result.
13015
13016 2006-02-03  Robert Love  <rml@novell.com>
13017
13018         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13019           broadcast == TRUE.  Also, copy broadcast and artificial properties
13020           from source network to destination in nm_ap_copy().
13021         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13022           since we now default new networks to non-hidden.
13023
13024 2006-02-03  Dan Williams  <dcbw@redhat.com>
13025
13026         * gnome/applet/main.c
13027                 - (main): change the NEVER->ALWAYS so we start at the
13028                         beginning of the session, if being session-managed
13029
13030 2006-02-03  Dan Williams  <dcbw@redhat.com>
13031
13032         * gnome/applet/main.c
13033                 - (main): in a variation on Robert's patch, change
13034                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13035                         he wants.
13036
13037 2006-02-02  Robert Love  <rml@novell.com>
13038
13039         * src/Makefile.am: If we aren't going to create the run directory at,
13040           uh, run-time, create it during install.  Then users just doing
13041           'make install' are cool, too.  While we are here, create the
13042           dispatcher.d directory, too.
13043         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13044           the exact run directory.
13045         * Makefile.am: Install nm-applet.desktop.
13046
13047 2006-02-02  Robert Love  <rml@novell.com>
13048
13049         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13050           structure, which denotes whether or not the AP is hidden.  This is a
13051           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13052           can show up in the scan list.  Add nm_ap_get_broadcast() and
13053           nm_ap_set_broadcast() accessor interfaces.
13054         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13055           nm_ap_set_broadcast().
13056         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13057           "getProperties" method, which denotes whether or not the given
13058           network is hidden.
13059         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13060           an artificial network.  Set broadcast to TRUE when scanning returns
13061           an ESSID and FALSE when not.
13062         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13063           from "getProperties" method on a network.  Possible TODO is to
13064           somehow display this.
13065         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13066
13067 2006-02-02  Dan Williams  <dcbw@redhat.com>
13068
13069         * src/nm-device-802-11-wireless.c
13070                 - (supplicant_interface_init): don't try to create
13071                         /var/run/NetworkManager, since that should be done by
13072                         the distro package.  Causes problems for stuff like SELinux
13073
13074 2006-02-02  Robert Love  <rml@novell.com>
13075
13076         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13077         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13078           Check for and handle empty string for iface.
13079
13080 2006-02-01  Robert Love  <rml@novell.com>
13081
13082         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13083           manpage.
13084
13085 2006-01-31  Dan Williams  <dcbw@redhat.com>
13086
13087         * nm-applet.desktop
13088                 - Add --sm-disable to Exec arguments, presuming that when
13089                         using autostart, we don't want session management
13090
13091 2006-01-31  Robert Love  <rml@novell.com>
13092
13093         * src/NetworkManagerAP.c: Add two new manufacturer default network
13094           names: linksys-a and linksys-g.  These are found (at least) on the
13095           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13096           own ESSID.
13097
13098 2006-01-31  Robert Love  <rml@novell.com>
13099
13100         * src/NetworkManagerAP.c: Optimize the function
13101           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13102           machine code.  This is the first in a series of code tweaks aiming to
13103           generate better machine code and make NetworkManager all the better.
13104           Just kidding.  Who has time to go through the assembly generated for
13105           every function?  I certainly don't.  I have a wife, a kid, a job,
13106           a mortgage, a mistress.  But this function was so bad, I was called
13107           to arms.  Like the book.
13108
13109 2006-01-31  Robert Love  <rml@novell.com>
13110
13111         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13112           AP is not broadcasting, to scan with probe request frames.  Required
13113           for non-broadcast networks.
13114
13115 2006-01-31  Robert Love  <rml@novell.com>
13116
13117         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13118           preprocessor define (still 20s).  Fix message text in nm_info()
13119           s/too too/took too/.
13120
13121 2006-01-30  Dan Williams  <dcbw@redhat.com>
13122
13123         * src/nm-device-802-11-wireless.c
13124                 - (supplicant_monitor_start): increase connect/auth timeout to
13125                         20 seconds from 10 seconds
13126
13127 2006-01-30  Dan Williams  <dcbw@redhat.com>
13128
13129         * src/Makefile.am
13130                 - Define LOCALSTATEDIR
13131
13132         * src/nm-device-802-11-wireless.c
13133                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13134                         socket where we want it to
13135
13136         * src/wpa_ctrl.[ch]
13137                 - (wpa_ctrl_open): accept location to put local control socket
13138
13139 2006-01-30  Robert Love  <rml@novell.com>
13140
13141         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13142           get_ip4_string() for "domain_name".
13143
13144 2006-01-30  Robert Love  <rml@novell.com>
13145
13146         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13147           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13148           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13149           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13150           support for "Automatic" pairwise and group cipher configuration by
13151           letting wpa_supplicant handle the details.  Add UI elements, new
13152           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13153           charm.  Note this does more than add a nice feature, it fixes a bug.
13154           Apparently, some people have AP's where the pairwise cipher does not
13155           match the group cipher.  Insane, but true.
13156
13157 2006-01-30  Dan Williams  <dcbw@redhat.com>
13158
13159         * gnome/applet/applet-dbus-devices.c
13160                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13161                         functions, grab device driver name from NetworkManager
13162                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13163
13164         * gnome/applet/applet.c
13165                 - (nmwa_update_info): show driver name in Connection Information
13166                         dialog
13167
13168         * gnome/applet/nm-device.[ch]
13169                 - (network_device_get_driver, network_device_set_driver): add
13170                         accessors for driver name
13171
13172         * gnome/applet/wireless-applet.glade
13173                 - Add line for driver name to Connection Information dialog
13174
13175         * src/nm-dbus-device.c
13176                 - (nm_dbus_device_get_driver): new function to return driver name
13177                 - (nm_dbus_device_methods): hook up driver name function to dbus
13178
13179         * test/nm-tool.c
13180                 - (get_driver_name): new function
13181                 - (detail_device): grab and show driver name
13182
13183 2006-01-30  Robert Love  <rml@novell.com>
13184
13185         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13186           does not parse the markup if it is not part of the format.
13187
13188 2006-01-30  Robert Love  <rml@novell.com>
13189
13190         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13191           FALSE, we have no security options for this dialog, so we throw up
13192           an error dialog instead of a broken passphrase dialog.  Fixes
13193           Novell #138404.
13194         * gnome/applet/wireless-security-manager.c,
13195           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13196           does not add any security options, not even NONE, print a warning
13197           and return FALSE.  This let's functions constructing a dialog bail
13198           out if the device's capabilities and the network's requirements have
13199           zero overlap.
13200
13201 2006-01-27  Robert Love  <rml@novell.com>
13202
13203         * configure.in: Require wpa_supplicant.  Detect location of binary and
13204           use it.  Override with "--with-wpa_supplicant=foo".
13205         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13206           path to wpa_supplicant but use the auto-detected or user-provided
13207           value from configure.
13208
13209 2006-01-27  Robert Love  <rml@novell.com>
13210
13211         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13212           but the DHCP server did not return a hostname, try to look up our
13213           name via DNS and set the system hostname to that.
13214
13215 2006-01-27  Dan Williams  <dcbw@redhat.com>
13216
13217         * src/backends/NetworkManagerRedHat.c
13218                 - Add NM_CONTROLLED system network script support for RH/Fedora
13219
13220 2006-01-27  Dan Williams  <dcbw@redhat.com>
13221
13222         * src/backends/NetworkManagerGentoo.c
13223                 - (nm_system_device_get_disabled): add missing function.
13224                         Gnome BZ #328780
13225
13226 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13227
13228         * configure.in: Added vi in ALL_LINGUAS line.
13229         
13230 2006-01-26  Robert Love  <rml@novell.com>
13231
13232         * src/Makefile.am, src/kernel-types.h: Now that two different source
13233           files are feeling the crack-addled leakage of kernel types such as
13234           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13235           types in user-space -- define a header and include it as needed.
13236         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13237         * src/nm-device-802-3-ethernet.h: Remove defines.
13238         * src/wpa.c: Remove defines and include kernel-types.h.
13239
13240 2006-01-26  Robert Love  <rml@novell.com>
13241
13242         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13243           work.
13244
13245 2006-01-26  Robert Love  <rml@novell.com>
13246
13247         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13248         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13249           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13250           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13251           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13252           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13253           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13254           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13255           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13256           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13257           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13258           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13259           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13260           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13261           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13262           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13263           Kill unused variables, labels, and static functions.  Don't pass
13264           string literals as the format string for printf-like functions.
13265
13266 2006-01-25  Dan Williams  <dcbw@redhat.com>
13267
13268         * gnome/applet/wireless-applet.glade
13269                 - Remove WPA2 Checkbox
13270
13271         * gnome/applet/wireless-security-manager.c
13272                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13273                         This means the Wireless Security menu now has two WPA options,
13274                         one for "WPA Personal" and one for "WPA2 Personal"
13275
13276         * gnome/applet/wso-wpa-psk.[ch]
13277                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13278                         'wpa2' argument to determine WPA version to use
13279                 - (append_dbus_params_func): pass stored WPA version to cipher
13280                         rather than using the (removed) checkbox
13281
13282 2006-01-24  Robert Love  <rml@novell.com>
13283
13284         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13285           before we g_strdup(), not the ultimate string.
13286
13287 2006-01-23  Dan Williams  <dcbw@redhat.com>
13288
13289         * src/NetworkManagerAP.[ch]
13290                 - (nm_ap_new_from_ap): copy original essid too
13291                 - (nm_ap_unref): free original essid
13292                 - (nm_ap_get_orig_essid): new function
13293                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13294                         but keep original essid around too
13295
13296         * src/nm-device-802-11-wireless.c
13297                 - (supplicant_send_network_config): send wpa_supplicant the
13298                         _original_ essid, and not as a string, but in hex.  Should
13299                         allow us to connect to more APs that use wierd character
13300                         encodings for their essids
13301
13302         * utils/nm-utils.[ch]
13303                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13304                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13305                         use the current locale as a hint for what encoding the essid
13306                         might be in.  Obviously not 100% accurate, but the idea here is
13307                         that if a user's locale is ex. ja_JP, they are more likely than
13308                         not to be in Japan, where access points will likely be in some
13309                         Japanese encoding.
13310
13311 2006-01-23  Dan Williams  <dcbw@redhat.com>
13312
13313         * libnm-util/cipher-private.h
13314           libnm-util/cipher.c
13315           libnm-util/cipher.h
13316                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13317
13318 2006-01-23  Robert Love  <rml@novell.com>
13319
13320         Patch by Timo Hoenig <thoenig@suse.de>:
13321         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13322           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13323           by DHCP and pass it to the backends, allowing distribution-specific
13324           behavior with respect to the DHCP-supplied hostname (if nothing else,
13325           some distributions might not want to set the hostname).
13326         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13327           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13328           Also update our NIS behavior.
13329         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13330           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13331           Add stub functions.
13332
13333 2006-01-23  Robert Love  <rml@novell.com>
13334
13335         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13336           gnome-session does autostart.  TODO: We need to install this to
13337           $prefix/share/autostart/.
13338
13339 2006-01-22  Dan Williams  <dcbw@redhat.com>
13340
13341         * src/NetworkManagerAP.[ch]
13342           src/nm-dbus-nmi.c
13343           src/nm-device-802-11-wireless.c         
13344                 - Make nm_ap_get_essid return "const char *"
13345
13346 2006-01-22  Dan Williams  <dcbw@redhat.com>
13347
13348         * src/NetworkManagerAP.[ch]
13349                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13350
13351         * src/NetworkManagerAPList.[ch]
13352                 - (nm_ap_list_diff): removed
13353                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13354                         deal with access points changing essids on us
13355
13356         * src/nm-device-802-11-wireless.c
13357                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13358                         src/NetworkManagerAPList.c
13359                 - (real_can_interrupt_activation): new function; allow interruption
13360                         of device activation if we are waiting for a network key
13361
13362         * src/NetworkManagerPolicy.c
13363                 - (nm_policy_device_change_check): allow interruption of currently
13364                         activating devices if the device allows it.  Previous behavior
13365                         would refuse to activate a just-plugged wired device if a
13366                         wireless device was waiting for a key.
13367
13368         * src/nm-device.[ch]
13369                 - (nm_device_can_interrupt_activation): new function; ask devices
13370                         whether their activation can be interrupted
13371
13372 2006-01-20  Robert Love  <rml@novell.com>
13373
13374         * Makefile.am, configure.in: Add new man subdirectory.
13375         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13376           man/Makefile.am: Add man pages for NetworkManager and its
13377           crime-solving bumbling buddy, NetworkManagerDispatcher.
13378         * man/.cvsignore: Add.
13379         * initscript/Debian/NetworkManager,
13380           initscript/Gentoo/NetworkManager.in,
13381           initscript/RedHat/NetworkManager.in,
13382           initscript/RedHat/NetworkManagerDispatcher.in,
13383           initscript/SUSE/networkmanager-dispatcher.in,
13384           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13385
13386 2006-01-20  Robert Love  <rml@novell.com>
13387
13388         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13389           instead of queuing.  This prevents the running of multiple NM
13390           daemons concurrently, which does not work whatsoever and results in
13391           neither daemon working correctly.  Also, we don't handle queuing and
13392           name-owner-changes, anyhow.
13393
13394 2006-01-20  Robert Love  <rml@novell.com>
13395
13396         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13397         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13398           to sbin, not bin.
13399
13400 2006-01-19  Robert Love  <rml@novell.com>
13401
13402         * configure.in: Require hal 0.5.0 or later.
13403
13404 2006-01-18  Robert Love  <rml@novell.com>
13405
13406         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13407           Allow backends to flag a device (in whatever distro-dependent way
13408           they so desire) as disabled.  NM will ignore any such device.
13409         * src/backends/NetworkManagerDebian.c,
13410           src/backends/NetworkManagerRedHat.c,
13411           src/backends/NetworkManagerSlackware.c: Add stub function
13412           nm_system_device_get_disabled() that always returns FALSE (enabled).
13413         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13414           SUSE-specific configuration structure.  Fill it in from the
13415           NM_CONTROLLED variable in the system networking scripts.  If this var
13416           exists and is "no", we ignore the device.
13417
13418 2006-01-17  Robert Love  <rml@novell.com>
13419
13420         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13421           identical for NM.  For a full discussion, see the thread at
13422           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13423
13424 2006-01-17  Dan Williams  <dcbw@redhat.com>
13425
13426         * src/nm-device.c
13427                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13428                         function.  Fixes crash when wired DHCP fails.
13429
13430 2006-01-16  Robert Love  <rml@novell.com>
13431
13432         * src/Makefile.am: Don't install NMLoadModules
13433         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13434           from src/ to test/ as no one uses it anymore.  Note that I would be
13435           fine with removing it altogether.
13436
13437 2006-01-16  Robert Love  <rml@novell.com>
13438
13439         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13440           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13441           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13442           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13443           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13444           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13445           declarations, ever.
13446         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13447           NM_STATE_DISCONNECTED is zero).
13448
13449 2006-01-16  Robert Love  <rml@novell.com>
13450
13451         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13452           uninitialized parameter and buffer overflow.  Novell #143496.
13453
13454 2006-01-16  Dan Williams  <dcbw@redhat.com>
13455
13456         Apply the PtP Address bits of a patch from Tim Niemueller
13457
13458         * src/nm-ip4-config.[ch]
13459                 - Add ip4_ptp_address member to object
13460                 - (nm_ip4_config_copy): copy ptp address too
13461                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13462                         new functions
13463                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13464                         rather than local tunnel ip address
13465
13466         * src/vpn-manager/nm-vpn-service.c
13467                 - (print_vpn_config): update for PtP address
13468                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13469                         DBusMessageIters in preparation for getting routes from the VPN
13470                         service daemons too
13471
13472         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13473                 - (send_config_info): update for PtP address, clean up code
13474                 - (main): update for PtP address, clean up code, fix typo
13475
13476         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13477                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13478
13479         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13480                 - (pptp_ip_up): update for PtP address
13481
13482         * vpn-daemons/pptp/src/nm-pptp-service.c
13483                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13484
13485         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13486                 - (print_vpn_config): update for PtP address
13487                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13488
13489 2006-01-16  Dan Williams  <dcbw@redhat.com>
13490
13491         * gnome/applet/applet.c
13492                 - (nmwa_add_networks_helper): don't indicate an active network
13493                         if NM is disconnected or asleep
13494
13495 2006-01-16  Dan Williams  <dcbw@redhat.com>
13496
13497         * src/NetworkManagerPolicy.c
13498                 - (nm_policy_device_change_check): switch devices if we lose the link
13499                         on an ethernet device. 
13500
13501 2006-01-16  Dan Williams  <dcbw@redhat.com>
13502
13503         * gnome/applet/wso-wpa-psk-hex.[ch]
13504                 - Renamed -> wso-wpa-psk.[ch]
13505
13506         * gnome/applet/wso-wpa-psk.[ch]
13507                 - New files
13508
13509         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13510                 - Removed, rolled into wso-wpa-psk.[ch]
13511
13512         * gnome/applet/Makefile.am
13513                 - Updated for above changes
13514
13515         * gnome/applet/wireless-applet.glade
13516                 - Consolidate WPA-PSK options into one notebook
13517                         widget, and make dialogs invisible by default
13518                         to fix screen oddities
13519
13520         * gnome/applet/wireless-security-manager.c
13521                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13522                         than both the old hex & passphrase ones
13523
13524 2006-01-16  Dan Williams  <dcbw@redhat.com>
13525
13526         * gnome/applet/other-network-dialog.c
13527                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13528
13529 2006-01-16  Dan Williams  <dcbw@redhat.com>
13530
13531         * gnome/applet/applet.c
13532                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13533                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13534                         prevention to realize window before trying to get server
13535                         time
13536
13537         * gnome/applet/other-network-dialog.c
13538                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13539                         prevention to realize window before trying to get server
13540                         time
13541
13542         * gnome/applet/passphrase-dialog.c
13543                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13544                         prevention to realize window before trying to get server
13545                         time
13546
13547 2006-01-16  Robert Love  <rml@novell.com>
13548
13549         Patch from Timo Hoenig  <thoenig@suse.de:
13550         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13551           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13552           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13553           libnm-util/dbus-helpers.h: add checks whether headers are used
13554           within a C++ build.
13555
13556 2006-01-16  Dan Williams  <dcbw@redhat.com>
13557
13558         * gnome/applet/wireless-security-option.c
13559                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13560
13561 2006-01-16  Dan Williams  <dcbw@redhat.com>
13562
13563         * libnm-util/cipher-wpa-psk-passphrase.c
13564                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13565                         be 8 - 63 characters inclusive
13566
13567 2006-01-16  Dan Williams  <dcbw@redhat.com>
13568
13569         * src/nm-dbus-nm.c
13570                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13571
13572 2006-01-13  Robert Love  <rml@novell.com>
13573
13574         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13575         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13576           modules that do not use an interface.
13577
13578 2006-01-13  Dan Williams  <dcbw@redhat.com>
13579
13580         * src/nm-device.c
13581           src/nm-device.h
13582                 - Allow subclasses to implement deactivate_quickly()
13583                 - (nm_device_deactivate_quickly): call subclass
13584                         deactivate_quickly() methods
13585                 - (nm_device_set_active_link): small cleanups, and don't
13586                         deactivate the device right away because we risk a deadlock
13587                         when called from device thread, waiting for the device
13588                         thread to cancel activation
13589
13590         * src/nm-device-802-11-wireless.c
13591                 - (real_deactivate_quickly): new function
13592                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13593                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13594                         so that we kill the supplicant when we sleep too
13595                 - (supplicant_interface_init): work around naive naming attempts of
13596                         wpa_ctrl when naming sockets
13597
13598 2006-01-13  Dan Williams  <dcbw@redhat.com>
13599
13600         * src/nm-device-802-11-wireless.c
13601                 - (supplicant_cleanup): delete old device control sockets too
13602                 - (supplicant_get_device_socket_path): new function to consolidate
13603                         locations that need a path to a device's control socket
13604
13605 2006-01-12  Robert Love  <rml@novell.com>
13606
13607         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13608           description so that the description is unique for each
13609           pair (device,provider).  Fixes Novell #142773.
13610
13611 2006-01-12  Dan Williams  <dcbw@redhat.com>
13612
13613         * src/nm-device-802-11-wireless.c
13614                 - (supplicant_exec): ensure GError is correctly initialized
13615                         Reported by Diego González (gnome.org #326708)
13616
13617 2006-01-11  Robert Love  <rml@novell.com>
13618
13619         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13620           define if_mii(), open code the same results, and do so without any
13621           type punning.
13622
13623 2006-01-11  Robert Love  <rml@novell.com>
13624
13625         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13626           that wso_foo_new() returned non-NULL.  Instead, only append the new
13627           wso to wsm->options if the wso is non-NULL.  The crux is that we
13628           assume that the relevant key types are implied by WEP and WPA as
13629           appropriate.  To be sure, they should be, but we should not expect
13630           drivers to not be oozing piles of wolf fecal matter.
13631
13632 2006-01-11  Robert Love  <rml@novell.com>
13633
13634         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13635         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13636           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13637           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13638           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13639           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13640           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13641         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13642           comparing values within DBL_EPSILON.  Also fix shadowed variable
13643           usage.
13644
13645 2006-01-11  Dan Williams  <dcbw@redhat.com>
13646
13647         Add options for WPA2 and WPA1+CCMP (AES).
13648
13649         * gnome/applet/wireless-applet.glade
13650                 - Add UI bits for WPA+CCMP
13651
13652         * gnome/applet/other-network-dialog.c
13653                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13654                         and don't allow creation of WPA2 Ad-Hoc networks since
13655                         wpa_supplicant doesn't support them
13656
13657         * gnome/applet/wireless-security-manager.c
13658                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13659                         on to the specific wireless security option being created
13660
13661         * gnome/applet/wireless-security-option.[ch]
13662                 - (wso_wpa_create_key_type_model): new utility function to create
13663                         the model required for WPA Key Type combo box
13664
13665         * gnome/applet/wso-private.h
13666           gnome/applet/wireless-security-option.h
13667                 - Move private function prototypes into wso-private.h
13668
13669         * gnome/applet/wso-wpa-psk-hex.[ch]
13670           gnome/applet/wso-wpa-psk-passphrase.[ch]
13671                 - (append_dbus_params_func): get WPA version from checkbox and pass
13672                         it to the dbus serialization helper
13673                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13674                         key type combo changes
13675                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13676                         model and options
13677
13678         * libnm-util/cipher-wpa-psk-hex.c
13679           libnm-util/cipher-wpa-psk-passphrase.c
13680                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13681                         new function; allow the cipher to be changed after object creation
13682
13683         * src/nm-ap-security-wpa-psk.c
13684                 - (set_description): Do WPA2 descriptions too
13685
13686         * src/nm-ap-security.c
13687                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13688
13689 2006-01-11  Robert Love  <rml@novell.com>
13690
13691         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13692           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13693           from the ifreq structure in lieu of an open coded solution.  Removes
13694           a life-threatening type-punning.
13695         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13696           types, ever, whatsoever, baby.
13697
13698 2006-01-11  Robert Love  <rml@novell.com>
13699
13700         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13701           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13702           assignments to applet->nm_state into a new nmwa_set_state() function
13703           for both cleanliness and to help debugging.
13704
13705 2006-01-10  Robert Love  <rml@novell.com>
13706
13707         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13708           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13709           seconds, exclusive.  That is, we want to sleep x seconds such that
13710           1 < x < 2.
13711
13712 2006-01-10  Robert Love  <rml@novell.com>
13713
13714         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13715           the attr fields according to the example in the email available at
13716           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13717           Conversely, we do have to free 'name', so we do so, fixing a leak.
13718
13719 2006-01-10  Robert Love  <rml@novell.com>
13720
13721         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13722           sure that we close the socket!
13723
13724 2006-01-10  Robert Love  <rml@novell.com>
13725
13726         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13727           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13728           src/nm-device.c: Fix a FIXME!  Reimplement the function
13729           nm_device_update_hw_address() in device subclass variants,
13730           nm_device_802_3_ethernet_set_address() and
13731           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13732           This fixes the existing bug where MAC addresses are all zeros.
13733
13734 2006-01-10  Robert Love  <rml@novell.com>
13735
13736         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13737           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13738           option to give users ability to globally disconnect and put NM to
13739           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13740           clean disconnect.
13741
13742 2006-01-09  Robert Love  <rml@novell.com>
13743
13744         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13745           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13746           User-space does not supply these types, so we have to define them
13747           ourselves.  The relevant kernel maintainer refused to accept a patch
13748           switching these headers to the proper C99 types.
13749
13750 2006-01-09  Dan Williams  <dcbw@redhat.com>
13751
13752         Apply Robert's 'tray icon redo' patch with fixes
13753         * gnome/applet/applet.c
13754           gnome/applet/applet.h
13755                 - Instead of using a menu bar + menu item, simulate menu
13756                         behavior using a popup menu.  Highlight the area around
13757                         the icon more like a menu too, by playing with the
13758                         applet's size requisition
13759
13760 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13761         * libnm-util/dbus-helpers.c
13762           libnm-util/dbus-helpers.h
13763                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13764                         to 'exception_namespace' (:namespace is a keyword in
13765                         C++)
13766
13767 2006-01-09  Dan Williams  <dcbw@redhat.com>
13768
13769         * src/NetworkManagerPolicy.c
13770                 - (nm_policy_device_change_check): don't autoswitch away from
13771                         Ad-Hoc networks, since there's really no concept of
13772                         "link"
13773
13774         * src/nm-dbus-nm.c
13775                 - (nm_dbus_nm_create_wireless_network): mark created networks
13776                         as Ad-Hoc networks
13777
13778         * src/nm-device-802-11-wireless.c
13779                 - (real_activation_success_handler): add user-created Ad-Hoc
13780                         networks to the device's scan list
13781
13782 2006-01-08  Dan Williams  <dcbw@redhat.com>
13783
13784         We now require a patch for wpa_supplicant to support Ad-Hoc
13785         networks:
13786           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13787
13788         * src/nm-device-802-11-wireless.c
13789                 - (supplicant_send_network_config): turn off wpa_supplicant's
13790                         scanning.  Fixes Ad-Hoc networks.
13791
13792 2006-01-08  Dan Williams  <dcbw@redhat.com>
13793
13794         * src/nm-ap-security.c
13795           src/nm-ap-security.h
13796                 - Add a user_created argument to the write_supplicant_config
13797                         functions
13798
13799         * src/nm-ap-security-wep.c
13800           src/nm-ap-security-wpa-psk.c
13801           src/nm-device-802-11-wireless.c
13802                 - Make Ad-Hoc mode somewhat work, at least write the
13803                         correct options to wpa_supplicant
13804
13805 2006-01-08  Dan Williams  <dcbw@redhat.com>
13806
13807         * src/nm-device-802-11-wireless.c
13808                 - Remove unused code from the old device activation path
13809
13810 2006-01-08  Dan Williams  <dcbw@redhat.com>
13811
13812         * libnm-util/dbus-helpers.c
13813                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13814                         dbus when key == NULL
13815
13816 2006-01-08  Dan Williams  <dcbw@redhat.com>
13817
13818         * gnome/applet/nm-gconf-wso-wpa-psk.c
13819                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13820                         correct arguments to nmu_security_deserialize_wpa_psk()
13821
13822         * src/nm-ap-security-wpa-psk.c
13823                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13824                         arguments to nmu_security_deserialize_wpa_psk()
13825
13826 2006-01-08  Dan Williams  <dcbw@redhat.com>
13827
13828         * gnome/applet/wso-wpa-psk-hex.c
13829           gnome/applet/wso-wpa-psk-passphrase.c
13830                 - Hook up the append_dbus_params_func() function
13831
13832 2006-01-08  Dan Williams  <dcbw@redhat.com>
13833
13834         * src/nm-device-802-11-wireless.c
13835                 - (get_wireless_capabilities): correctly detect driver WPA
13836                         capabilities
13837
13838 2006-01-08  Dan Williams  <dcbw@redhat.com>
13839
13840         * gnome/applet/Makefile.am
13841           gnome/applet/wso-wpa-psk-hex.c
13842           gnome/applet/wso-wpa-psk-hex.h
13843                 - New files, implement WPA-PSK Hex key input
13844
13845         * gnome/applet/wireless-applet.glade
13846                 - Change existing wpa-psk stuff to wpa-psk-hex
13847                 - Add new widgets for wpa-psk-passphrase
13848
13849         * gnome/applet/wireless-security-manager.c
13850                 - (wsm_set_capabilities): enable WPA options
13851
13852         * gnome/applet/wso-wpa-psk-passphrase.c
13853                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13854                         for WPA-PSK passphrase
13855
13856 2006-01-08  Dan Williams  <dcbw@redhat.com>
13857
13858         * include/NetworkManager.h
13859                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13860                         applet/info-daemons
13861
13862         * gnome/applet/passphrase-dialog.c
13863                 - Use the constant.  Fixes a bug where the arguments to
13864                         dbus_message_new_error() were incorrect
13865
13866         * src/nm-dbus-nmi.c
13867                 - Use the constant
13868
13869 2006-01-07  Dan Williams  <dcbw@redhat.com>
13870
13871         * src/nm-device-802-11-wireless.c
13872                 - Add a link timeout so we allow the supplicant time to
13873                         reassociate if it can, before we deactivate the card
13874                 - Fix up link status and link updating so things work better
13875
13876 2006-01-07  Dan Williams  <dcbw@redhat.com>
13877
13878         * src/nm-device-802-11-wireless.c
13879                 - Switch over to using wpa_supplicant
13880                 - Add a timeout of 10s for association of the supplicant
13881                 - Start the monitor callback of the supplicant
13882
13883 2006-01-07  Dan Williams  <dcbw@redhat.com>
13884
13885         * src/NetworkManagerUtils.c
13886                 - (nm_utils_supplicant_request,
13887                   nm_utils_supplicant_request_with_check):
13888                         pass correct buffer length to wpa_ctrl_request()
13889
13890 2006-01-07  Dan Williams  <dcbw@redhat.com>
13891
13892         * src/nm-device-private.h
13893           src/nm-device.c
13894                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13895                         this function available to subclasses
13896
13897 2006-01-06  Robert Love  <rml@novell.com>
13898
13899         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13900           user plugging in a network cable signals their preference for to
13901           switch, unless the user explicitly selected a wireless network and
13902           therefore signaled their preference for said wireless network over
13903           wired.  In other words, do exactly what makes sense.
13904
13905 2006-01-06  Robert Love  <rml@novell.com>
13906
13907         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13908           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13909           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13910           showing up in my greps.
13911
13912 2006-01-06  Robert Love  <rml@novell.com>
13913
13914         * gnome/applet/applet-dbus-devices.c,
13915           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13916           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13917           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13918           New Network' both failed in the non-encrypted case because we were
13919           not appending the security options to the DBUS message.  And
13920           'Connect to Other' was also failing in the encrypted case because
13921           we were not incrementing to the next DBUS parameter.  All fixed.
13922           Thanks to dcdw for some debugging help.
13923
13924 2006-01-06  Robert Love  <rml@novell.com>
13925
13926         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13927           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13928           hangup code and add per-device hangup.  Tie last commit into the
13929           GNOME applet.  TODO:  Save, understand, and respond to the state of
13930           each dialup device.
13931
13932 2006-01-06  Robert Love  <rml@novell.com>
13933
13934         Patch by Timo Hoenig <thoenig@suse.de>:
13935         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13936           hangup specific dialup devices.
13937         * src/backends/NetworkManagerDebian.c,
13938           src/backends/NetworkManagerGentoo.c,
13939           src/backends/NetworkManagerRedHat.c,
13940           src/backends/NetworkManagerSlackware.c: Add stub backend.
13941         * src/backends/NetworkManagerRedHat.c,
13942           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13943           hangup specific dialup devices.
13944
13945 2006-01-04  Robert Love  <rml@novell.com>
13946
13947         * gnome/applet/applet-dbus-devices.c,
13948           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13949           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13950           connections.
13951
13952 2006-01-04  Dan Williams  <dcbw@redhat.com>
13953
13954         First dump of wpa_supplicant-related code.  It's not hooked up to
13955         anything yet though.  Thanks to Kay Sievers for
13956         wpa_supplicant_wrapper.c, which formed the basis for this work,
13957         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13958
13959         * src/Makefile.am
13960           src/wpa_ctrl.[ch]
13961                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13962
13963         * src/NetworkManagerUtils.[ch]
13964                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13965                         Add convenience functions for talking to wpa_supplicant
13966
13967         * src/nm-ap-security.[ch]
13968           src/nm-ap-security-wep.c
13969           src/nm-ap-security-wpa-psk.[ch]
13970                 - Update and implement real_write_supplicant_config functions
13971                         in all security types
13972                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13973                         nm-ap-security-wpa-psk.c
13974
13975         * src/nm-device-802-11-wireless.c
13976                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13977                    wpa_supplicant_start, wpa_supplicant_interface_init,
13978                    wpa_supplicant_send_network_config): add functions to talk to
13979                         wpa_supplicant and write network config to it
13980
13981 2006-01-04  Robert Love  <rml@novell.com>
13982
13983         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13984           values so that distribution-backends can differentiate between the
13985           various types (modem, ISDN, et cetera) of dialup device that they
13986           support.
13987         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13988           needed.
13989
13990 2006-01-03  Dan Williams  <dcbw@redhat.com>
13991
13992         * src/NetworkManagerPolicy.c
13993           src/nm-device.[ch]
13994           src/nm-device-802-11-wireless.c
13995                 - Move wireless-specific activation failure and success code
13996                         into wireless device class
13997
13998 2006-01-03  Robert Love  <rml@novell.com>
13999
14000         Patch by Preggna S:
14001         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14002           IPsec does not require that a VPN client be bound to an interface,
14003           due to the use of the in-kernel IPSec bits.  So make the tunnel
14004           device optional.
14005
14006 2006-01-03  Dan Williams  <dcbw@redhat.com>
14007
14008         * src/NetworkManagerAP.c
14009                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14010                         the WPA IE specifies that WEP is supported
14011
14012         * src/nm-device-802-11-wireless.c
14013                 - (process_scan_results): don't mark an AP as supporting WEP
14014                         if there's already other encryption capability info
14015
14016 2006-01-03  Dan Williams  <dcbw@redhat.com>
14017
14018         * src/dhcp-manager/nm-dhcp-manager.c
14019                 - Recognize activation cancellation when waiting for DHCP
14020                         configuration from dhcdbd
14021                 - Ignore non-dhcdbd messages
14022
14023         * src/nm-device.c
14024                 - (real_act_stage3_ip_config_start): return to correct behavior
14025                         of letting the dhcp-manager notify us of failure or
14026                         success rather than incorrectly doing that ourselves
14027                 - (nm_device_activate_stage4_ip_config_get): deal with
14028                         activation cancellation a bit earlier
14029
14030 2006-01-03  Dan Williams  <dcbw@redhat.com>
14031
14032         * src/nm-device-802-11-wireless.c
14033           src/nm-device.[ch]
14034                 - Add hooks to subclasses for stage3_ip_config_start and
14035                         stage4_ip_config_timeout
14036
14037         * src/nm-device-802-3-ethernet.c
14038                 - (real_get_generic_capabilities): make devices NM-supported
14039                         by default
14040
14041 2006-01-03  Robert Love  <rml@novell.com>
14042
14043         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14044           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14045           latter cannot differentiate between error and the address -1; misc.
14046           clean up.
14047
14048 2006-01-03  Dan Williams  <dcbw@redhat.com>
14049
14050         * src/NetworkManager.c
14051                 - Move link-checking/probing into the device subclasses
14052                         themselves
14053
14054         * src/nm-device.[ch]
14055           src/nm-device-802-11-wireless.c
14056           src/nm-device-802-3-ethernet.c
14057                 - Do periodic link checking in device subclasses rather
14058                         than being triggered from NetworkManager.c
14059                 - discover_wireless_capabilities -> get_wireless_capabilities
14060                 - discover_generic_capabilities -> get_generic_capabilities
14061                 - Device subclass activation routines now return a value of type
14062                         NMActStageReturn to indicate what step to perform next
14063                 - Devices now override stage4_get_ip4_config if they choose
14064
14065 2006-01-01  Dan Williams  <dcbw@redhat.com>
14066
14067         * src/nm-device-802-11-wireless.c
14068                 - (real_init): don't chain up to parent init because we don't
14069                         need to do that anymore
14070
14071         * src/nm-device.c
14072                 - (discover_device_type): fix arguments to ioctl() to correctly
14073                         pass interface name
14074                 - (nm_device_new): consolidate generic device initialization into
14075                         nm_device_new()
14076                 - (real_init): remove, consolidated to nm_device_new()
14077                 - (nm_device_deactivate, real_deactivate): consolidate
14078
14079 2006-01-01  Dan Williams  <dcbw@redhat.com>
14080
14081         * src/nm-activation-request.c
14082                 - Change dhcp_state member of the NMActRequest structure
14083                         from guint8 to guint32
14084
14085         * src/dhcp-manager/nm-dhcp-manager.[ch]
14086                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14087                         than guint8 to match the dbus argument.  Turns out we were
14088                         overwriting memory since we were passing in only a guint8
14089
14090 2005-12-31  Dan Williams  <dcbw@redhat.com>
14091
14092         * refactor NMDevice into a GObject-based framework with separate
14093                 objects for wired and wireless.  The following files are no
14094                 longer used but should stick around for a bit so we don't
14095                 loose code through the cracks:
14096                         NetworkManagerDevice.c
14097                         NetworkManagerDevice.h
14098                         NetworkManagerWireless.c
14099                         NetworkManagerWireless.h
14100
14101         The intent here is to allow each device type to manage its own
14102         connection & activation life-cycle, ie to allow wireless devices
14103         to interface with wpa_supplicant, etc.  There's a fair bit of
14104         encapsulation breakage right now that should gradually get pulled
14105         back into each device, along with things like periodic property
14106         updates and link probing.
14107
14108 2005-12-29  Dan Williams  <dcbw@redhat.com>
14109
14110         * include/NetworkManager.h
14111                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14112                         between networks that don't have any encryption at all
14113
14114 2005-12-29  Dan Williams  <dcbw@redhat.com>
14115
14116         * test/test-common.c
14117           test/test-common.h
14118           test/Makefile.am
14119                 - Move to a test-common subdirectory
14120
14121         * test/libnm-util/test-ciphers.c
14122                 - Move test data to test-inputs.h
14123                 - Test WPA ciphers too
14124
14125         * test/libnm-util/test-dbus-helpers.c
14126                 - Test serialization/deserialization of ciphers
14127
14128 2005-12-29  Dan Williams  <dcbw@redhat.com>
14129
14130         * gnome/applet/applet-dbus-devices.c
14131                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14132                         in dbus calls to NM
14133                 - Set capabilities on WirelessNetwork objects
14134                 - Receive and save type-specific device capabilities too
14135
14136         * gnome/applet/applet-dbus-info.c
14137           gnome/applet/applet-dbus.c
14138                 - Passphrase dialog no longer a singleton; new instance gets created
14139                         on each request.  Updates to deal with that.
14140
14141         * gnome/applet/applet.c
14142                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14143                         than single 'encrypted' flag
14144                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14145                         menu items
14146                 - Passphrase dialog updates per above
14147
14148         * gnome/applet/menu-items.c
14149                 - (network_menu_item_update): use AP capabilities to determine
14150                         encryption
14151
14152         * gnome/applet/nm-device.[ch]
14153                 - Add accessors for type-specific device capabilities
14154
14155         * gnome/applet/other-network-dialog.c
14156                 - Rework to respect device capabilities.  i.e., if the device doesn't
14157                         support WPA, remove that option from the security dropdown
14158
14159         * gnome/applet/passphrase-dialog.c
14160                 - Massive rework so that a new instance is created each time
14161                         it's used, to support wireless network capabilities
14162
14163         * gnome/applet/wireless-network.[ch]
14164                 - Add accessors and members for wireless network capabilities
14165
14166         * gnome/applet/wireless-security-manager.[ch]
14167                 - (wsm_set_capabilities): called after creation to set which
14168                         security options get shown to the user
14169
14170 2005-12-29  Dan Williams  <dcbw@redhat.com>
14171
14172         * libnm-util/cipher-wpa-psk-passphrase.c
14173                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14174                         like other ciphers
14175
14176 2005-12-23  Dan Williams  <dcbw@redhat.com>
14177
14178         * gnome/applet/applet-dbus-info.c
14179                 - (nmi_dbus_get_key_for_network): if there's no entry in
14180                         GConf for a network, assume we want a new key
14181                 - (nmi_save_network_info): serialize wireless security info
14182                         into GConf so its saved
14183
14184         * src/nm-dbus-nm.c
14185                 - Fix warning as we may not be passed security info when
14186                         connecting to a wireless network
14187
14188 2005-12-23  Dan Williams  <dcbw@redhat.com>
14189
14190         * gnome/applet/applet-compat.c
14191                 - Fix bugs in GConf entry conversion
14192
14193         * gnome/applet/applet-dbus-info.c
14194                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14195                         list being zero-length
14196
14197         * libnm-util/cipher-*
14198           libnm-util/dbus-helpers.c
14199                 - All ciphers must now return hashed keys as UTF-8 valid
14200                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14201                         through dbus as strings too.
14202                 - Consolidate various functions that do bin->hex and hex->bin
14203                         conversion into cipher.c
14204
14205         * src/nm-ap-security-wep.c
14206           src/nm-ap-security-wpa-psk.c
14207                 - Handle NULL keys since we may not know keys right away
14208
14209         * src/nm-dbus-nmi.c
14210                 - (nm_dbus_get_network_data_cb): actually advance to the start
14211                         of the wireless security info before we try to deserialize it
14212
14213         * libnm-util/test-ciphers.c
14214                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14215
14216 2005-12-22  Dan Williams  <dcbw@redhat.com>
14217
14218         * gnome/applet/applet-compat.[ch]
14219                 - Convert old-format GConf and keyring entries
14220                         when the applet starts up.
14221
14222         * gnome/applet/applet.c
14223                 - (nmwa_get_instance): Call the conversion function
14224                         on startup before dbus is initialized
14225
14226 2005-12-22  Dan Williams  <dcbw@redhat.com>
14227
14228         * gnome/applet/applet-dbus-info.c
14229                 - Remove nmi_dbus_create_error_message() in favor of
14230                         nmu_create_dbus_error_message()
14231                 - (nmi_dbus_get_network_properties): Error message cleanups
14232                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14233                         gconf key rather than 'addresses', since they really are BSSIDs
14234                 - (nmi_dbus_get_network_properties): Dispose of the security
14235                         object when we're done with it
14236
14237 2005-12-21  Dan Williams  <dcbw@redhat.com>
14238
14239         * Consolidate the info-daemon's "updateNetworkInfo" and
14240                 "addNetworkAddress" calls into just "updateNetworkInfo"
14241
14242 2005-12-21  Dan Williams  <dcbw@redhat.com>
14243
14244         * Make connection after key retrieval work again
14245
14246 2005-12-21  Dan Williams  <dcbw@redhat.com>
14247
14248         * gnome/applet/nm-gconf-wso*
14249                 - Make the serialize functions return gboolean
14250                         rather than int
14251
14252         * gnome/applet/nm-gconf-wso.c
14253                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14254                         parent class handling so we don't segfault
14255
14256         * src/NetworkManagerAP.[ch]
14257                 - (nm_ap_get_capabilities): new function, return capabilities
14258                         now that something can use them
14259                 - (nm_ap_set_encrypted): assume that an access point supports
14260                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14261                         we even tell whether it just supports WEP40?
14262
14263         * src/NetworkManagerDevice.c
14264                 - (ap_need_key): resurrect and update for the New World Order
14265                 - (nm_device_wireless_get_activation_ap): if we're not given
14266                         security info to use, create some based on access point
14267                         capabilities
14268
14269         * src/nm-ap-security-wep.c
14270                 - (nm_ap_security_wep_new_from_ap): create a new object
14271                         based on a certain access point's capabilities
14272
14273         * src/nm-ap-security.c
14274                 - (nm_ap_security_new_from_ap): delegate creation of a new
14275                         object based on access point capabilities to a subclass
14276                 - (nm_ap_security_copy_properties): don't segfault if we
14277                         don't have a key yet
14278
14279         * src/nm-dbus-nm.c
14280                 - (nm_dbus_nm_set_active_device): provide more informative
14281                         output when errors occur.  Also construct security info
14282                         for a given access point if we weren't given any
14283
14284 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14285
14286         * configure.in: Added Lithuanian to ALL_LINGUAS.
14287
14288 2005-12-21  Dan Williams  <dcbw@redhat.com>
14289
14290         * test/libnm-util
14291                 - Add some testcases for WEP ciphers
14292
14293 2005-12-17  Dan Williams  <dcbw@redhat.com>
14294
14295         * Fix bugs
14296
14297 2005-12-17  Dan Williams  <dcbw@redhat.com>
14298
14299         * include/NetworkManager.h
14300                 - Finally kill NMEncKeyType
14301
14302         * gnome/applet/applet-dbus-info.c
14303                 - (nmi_save_network_info): convert to NMGConfWSO
14304
14305         * gnome/applet/nm-gconf-wso-*.c
14306                 - Implement gconf serialization functions
14307
14308         * src/NetworkManagerPolicy.c
14309                 - (nm_policy_activation_finish): fix up meaning of
14310                         automatic/user_requested
14311
14312 2005-12-17  Dan Williams  <dcbw@redhat.com>
14313
14314         * gnome/applet/*
14315                 - More applet cleanups
14316                 - Use the dbus-method-dispatcher
14317
14318         * libnm-util/dbus-method-dispatcher.[ch]
14319                 - Generalize the implementation from NM in
14320                         NetworkManagerUtils.c
14321
14322 2005-12-16  Dan Williams  <dcbw@redhat.com>
14323
14324         * gnome/applet/*
14325                 - Fix up the passphrase dialog to use all the
14326                         WirelessSecurityOption stuff (untested)
14327
14328 2005-12-16  Dan Williams  <dcbw@redhat.com>
14329
14330         * Move nm_gconf_get_*_helper() functions to separate files,
14331                 gconf-helpers.c & gconf-helpers.h
14332
14333         * New NMGConfWSO objects for managing the gconf side of things.
14334                 Eventually these should be merged with the
14335                 WirelessSecurityOption objects and a common base (that can
14336                 serialize/deserialize from dbus & gconf) should be
14337                 refactored out, but for now they are separate.
14338
14339 2005-12-16  Robert Love  <rml@novell.com>
14340
14341         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14342           binaries unless they exist (nm_spawn_process() emits a warning if
14343           asked to spawn a non-existant process).
14344
14345 2005-12-16  Dan Williams  <dcbw@redhat.com>
14346
14347         * gnome/applet/applet-dbus-info.c
14348                 - Clean up lots of gconf-related code
14349
14350 2005-12-16  Robert Love  <rml@novell.com>
14351
14352         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14353
14354 2005-12-16  Dan Williams  <dcbw@redhat.com>
14355
14356         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14357
14358         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14359                 bits still to be done)
14360
14361 2005-12-16  Dan Williams  <dcbw@redhat.com>
14362
14363         * Finally move info-daemon related stuff out of
14364                 NetworkManagerDbus.c to nm-dbus-nmi.c
14365
14366 2005-12-16  Dan Williams  <dcbw@redhat.com>
14367
14368         * Kill auth_method for access points, since that's now done
14369                 by NMAPSecurity objects
14370
14371         * Add a copy-constructor of sorts to NMAPSecurity
14372                 (how do you do this properly in glib???)
14373
14374 2005-12-15  Dan Williams  <dcbw@redhat.com>
14375
14376         * Exorcise encryption key hashing on APs
14377         * Use libnm-util's serialization/deserialization in both the
14378                 applet and NM
14379         * Random other stuff
14380
14381 2005-12-15  Robert Love  <rml@novell.com>
14382
14383         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14384           is being added to the icon naming spec, so let's use that (Tango CVS
14385           has the icon).  Because it is new, however, we fall back to the
14386           current "gnome-lockscreen" if the new icon is not around, thus
14387           behavior is the same.
14388         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14389           factory junk.
14390
14391 2005-12-15  Robert Love  <rml@novell.com>
14392
14393         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14394           well, help to give.  Couple other misc. bits.
14395
14396 2005-12-15  Dan Williams  <dcbw@redhat.com>
14397
14398         * libnm-util/dbus-helpers.[ch]
14399                 - Make this the one-stop-shop for serializing/deserializing
14400                         AP & connection security settings over dbus.  Both NM
14401                         and applets should use this to ensure consistent dbus
14402                         API going forwared.
14403
14404 2005-12-15  Robert Love  <rml@novell.com>
14405
14406         Patch by Timo Hoenig  <thoenig@suse.de>:
14407         * src/NetworkManagerDbus.c
14408                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14409                         if HAL jumps off the system bus.  Otherwise libdbus
14410                         (dbus_connection_dispatch) will try to run the filter
14411                         function of our libhal context which is already freed.
14412
14413 2005-12-15  Alexander Shopov  <ash@contact.bg>
14414
14415         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14416
14417 2005-12-14  Dan Williams  <dcbw@redhat.com>
14418
14419         * include/NetworkManager.h
14420           src/NetworkManagerWireless.c
14421                 - Rearrange 802.11 wireless-specific capabilities again
14422
14423         * src/Makefile.am
14424                 - Forgot to add wpa.c/wpa.h to the makefiles
14425
14426         * src/NetworkManagerAP.[ch]
14427                 - Implement access point capabilities and parse the
14428                         WPA/RSN IEs into the capability bitfield
14429                 - Switch the "encrypted" attribute to utilize the bitfield
14430                         and capabilities rather than being independent
14431
14432         * src/NetworkManagerDevice.c
14433                 - (nm_device_wireless_get_activation_ap): break it horribly
14434                         until we can push NMAPSecurity objects into access point
14435                         objects and through the activation chain
14436                 - Stuff WPA & RSN IEs into AP capabilities
14437
14438         * src/nm-dbus-nm.c
14439                 - Take a shot at actually making setActiveDevice work
14440
14441         * src/wpa.[ch]
14442                 - Make the API a bit saner
14443
14444 2005-12-14  Dan Williams  <dcbw@redhat.com>
14445
14446         * include/NetworkManager.h
14447                 - Add 802.11-specific capability for 802.1x key
14448                         management
14449
14450         * src/wpa.[ch]
14451                 - Pull in WPA IE and RSN IE parsing code from
14452                         wpa_supplicant so we can determine access point
14453                         capabilities
14454                 - Move WPA-related constants here from NetworkManagerAP.h
14455                         and NetworkManagerDevice.c
14456
14457         * src/NetworkManagerDevice.c
14458           src/NetworkManagerAP.[ch]
14459                 - Use WPA-related constants from wpa.h
14460
14461 2005-12-14  Dan Williams  <dcbw@redhat.com>
14462
14463         * include/NetworkManager.h
14464                 - Update and split 802.11 wireless-specific capabilities from
14465                         generic device capabilities
14466
14467         * src/NetworkManagerDevice.c
14468           src/NetworkManagerDevicePrivate.h
14469                 - (nm_device_wireless_discover_capabilities): Move 802.11
14470                         wireless-specific capability checks to
14471                         NetworkManagerWireless.c
14472                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14473                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14474
14475         * src/NetworkManagerWireless.[ch]
14476                 - (nm_802_11_wireless_discover_capabilities): Check extended
14477                         802.11 wireless-specific capabilities of the driver
14478
14479 2005-12-14  Robert Love  <rml@novell.com>
14480
14481         Patch from Stefan Scheler <sscheler@suse.de>:
14482         * src/NetworkManagerDevice.c: call backend code to activate and
14483           deactivate NIS.
14484         * src/NetworkManagerSystem.h: add new NIS interfaces.
14485         * src/backends/NetworkManagerDebian.c,
14486           src/backends/NetworkManagerGentoo.c,
14487           src/backends/NetworkManagerRedHat.c,
14488           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14489           support.
14490         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14491
14492 2005-12-14  Dan Williams  <dcbw@redhat.com>
14493
14494         * src/nm-ap-security*.[ch]
14495                 - Add AP security abstractions to NetworkManager
14496
14497         * src/nm-dbus-device.c
14498                 - Begin to parse new format dbus messages from the applet
14499                         and construct an AP security object from the message
14500
14501         * libnm-util/dbus-helpers.c
14502                 - Use message iters so we can append the key as a fixed
14503                         array of bytes, which actually works rather than
14504                         using dbus_message_append_args() as we were before
14505
14506 2005-12-14  Dan Williams  <dcbw@redhat.com>
14507
14508         * src/NetworkManagerDbus.c
14509           gnome/applet/applet-dbus.c
14510                 - Fix up dbus service replacement options.  The applet
14511                         should allow replacement, NM itself should not.
14512
14513 2005-12-13  Robert Love  <rml@novell.com>
14514
14515         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14516           Instead, fail silently if config is NULL by not asserting and not
14517           returning FALSE.  Also, make sure we always fclose() the file.
14518
14519 2005-12-13  Robert Love  <rml@novell.com>
14520
14521         Patch by Stefan Scheler <sscheler@suse.de>:
14522         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14523            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14524            via DHCP.  Still need the backends to commit the NIS domain name and
14525            and servers to yp.conf as needed.
14526
14527 2005-12-13  Robert Love  <rml@novell.com>
14528
14529         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14530           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14531
14532 2005-12-13  Robert Love  <rml@novell.com>
14533
14534         * src/named-manager/nm-named-manager.c: Don't unref the config until
14535           after we call rewrite_resolv_conf(), because get_last_default_domain()
14536           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14537           `config != NULL' failed" assertion failures and "Could not commit DNS
14538           changes" warnings.
14539
14540 2005-12-12  Dan Williams  <dcbw@redhat.com>
14541
14542         * libnm-util/dbus-helpers.[ch]
14543           libnm-util/Makefile.am
14544                 - new helper calls to consolidate locations where
14545                         NM's setDevice method is called
14546
14547         * gnome/applet/applet-dbus-devices.c
14548           gnome/applet/wireless-security-option.c
14549           gnome/applet/wso-*
14550                 - Implement dbus message param append function for
14551                         all wireless security options
14552
14553 2005-12-12  Robert Love  <rml@novell.com>
14554
14555         * libnm-util/cipher-wep-passphrase.c,
14556           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14557           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14558           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14559           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14560           When handling keys, we don't care what the sign is.  The compiler
14561           guarantees us that we get our 8-bits, which is all we care about.
14562         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14563
14564 2005-12-12  Dan Williams  <dcbw@redhat.com>
14565
14566         * gnome/applet/applet-dbus-devices.[ch]
14567           gnome/applet/applet.c
14568           gnome/applet/other-network-dialog.c
14569           gnome/applet/wireless-security-manager.[ch]
14570           gnome/applet/wireless-security-option.[ch]
14571           gnome/applet/wso-*
14572                 - Push the wireless security options further into the applet
14573
14574 2005-12-12  Robert Love  <rml@novell.com>
14575
14576         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14577           return any name servers.  That is perfectly valid.  (Novell #134369).
14578
14579 2005-12-11  Dan Williams  <dcbw@redhat.com>
14580
14581         * gnome/applet/wso-*
14582           gnome/applet/wireless-security-option.*
14583           gnome/applet/Makefile.am
14584                 - split each security option out so we can eventually
14585                         have each one build up their own dbus message
14586                         arguments to send to NM
14587
14588 2005-12-11  Dan Williams  <dcbw@redhat.com>
14589
14590         * Make validation of the key work correctly
14591
14592 2005-12-11  Dan Williams  <dcbw@redhat.com>
14593
14594         * Hook more bits of the Other Network Dialog up to the
14595                 wireless security manager stuff, and restructure
14596                 bits of the dialog so there's less code.
14597
14598 2005-12-10  Dan Williams  <dcbw@redhat.com>
14599
14600         * gnome/applet/Makefile.am
14601                 - Add libnm-util to includes
14602                 - Add libnm-util to link list
14603                 - Add wireless-security-common.* to compile list
14604
14605         * gnome/applet/other-network-dialog.c
14606                 - Convert to using the WirelessSecurityManager code and
14607                         widgets
14608
14609         * gnome/applet/passphrase-dialog.c
14610                 - Comment out references to stuff in the glade file that
14611                         cause runtime errors until it can be fixed up
14612                         to use the WirelessSecurityManager code
14613
14614         * gnome/applet/wireless-applet.glade
14615                 - Rename some widgets
14616                 - Add widgets for the WirelessSecurityManager code
14617                 - Remove passphrase-related stuff since that's now
14618                         handled by the WirelessSecurityManager code
14619
14620 2005-12-10  Dan Williams  <dcbw@redhat.com>
14621
14622         * gnome/applet/applet-dbus-devices.c
14623                 - Print out error message details for dbus pending call callbacks
14624                 - Move nmwa_dbus_update_devices() up
14625
14626         * gnome/applet/applet-dbus-vpn.c
14627                 - Print out error message details for dbus pending call callbacks
14628
14629 2005-12-10  Dan Williams  <dcbw@redhat.com>
14630
14631         * libnm-util/*
14632                 - More fixups
14633                 - Remove cipher-manager.* because we don't need it
14634                 - Forgot to add gnome-keyring-md5 files to compile list
14635
14636 2005-12-09  Dan Williams  <dcbw@redhat.com>
14637
14638         * libnm-util/*
14639           configure.in
14640           Makefile.am
14641                 - Add a utility library for clients of NetworkManager.  It's
14642                         only targetted at applets for the moment, and contains
14643                         a generalized 802.11 cipher framework for different
14644                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14645
14646 2005-12-09  Robert Love  <rml@novell.com>
14647
14648         * src/NetworkManagerDevice.c: handle error better in
14649           nm_device_set_mode().
14650
14651 2005-12-08  Robert Love  <rml@novell.com>
14652
14653         * include/NetworkManager.h: add WPA capabilities constants
14654         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14655           or WPA2 and add the capabilities bits as appropriate.
14656
14657 2005-12-08  Robert Love  <rml@novell.com>
14658
14659         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14660           NetworkManagerDispatcher.
14661         * configure.in, initscript/SUSE/.cvsignore,
14662           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14663           initscript.
14664
14665 2005-12-08  Robert Love  <rml@novell.com>
14666
14667         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14668
14669 2005-12-08  Robert Love  <rml@novell.com>
14670
14671         * src/NetworkManagerDevice.c: We want to fall back on and default to
14672           IW_MODE_AUTO, not -1, which is more in line with our previous
14673           behavior.  Otherwise, we try to set the wireless mode to -1 in
14674           nm_device_set_mode().
14675
14676 2005-12-07  Robert Love  <rml@novell.com>
14677
14678         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14679           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14680           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14681           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14682           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14683           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14684           zero.
14685
14686 2005-12-07  Robert Love  <rml@novell.com>
14687
14688         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14689           supplied IP is invalid, fall back to DHCP.
14690
14691 2005-12-07  Dan Williams  <dcbw@redhat.com>
14692
14693         * Convert NETWORK_MODE_* constants to IW_MODE_*
14694         * Make all the get_mode/set_mode functions take and return 'int'
14695         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14696
14697 2005-12-07  Robert Love  <rml@novell.com>
14698
14699         * src/NetworkManagerDevice.c: strncpy() buffer check.
14700         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14701
14702 2005-12-06  Dan Williams  <dcbw@redhat.com>
14703
14704         * gnome/applet/applet-dbus.c
14705                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14706
14707         * gnome/applet/applet-dbus-vpn.c
14708                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14709                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14710                         to TRUE here if stage was ACTIVATED
14711
14712 2005-12-06  Dan Williams  <dcbw@redhat.com>
14713
14714         * Change nm_device_is_* functions to better names:
14715                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14716                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14717
14718 2005-12-06  Dan Williams  <dcbw@redhat.com>
14719
14720         * Change naming of NMDeviceType to something more sensible:
14721                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14722                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14723                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14724
14725 2005-12-06  Dan Williams  <dcbw@redhat.com>
14726
14727         * Move NetworkManager.h -> include/NetworkManager.h
14728         * Split out VPN stuff into include/NetworkManagerVPN.h
14729         * Fix up makefiles to include new location
14730         * Fix up sources to include NetworkManagerVPN.h
14731
14732 2005-12-06  Dan Williams  <dcbw@redhat.com>
14733
14734         Various changes in the applet to move VPN connection "state" -> "stage",
14735         which it actually is.  I'd like to change the signal as well when we
14736         break compat in the near future.
14737
14738 2005-12-06  Dan Williams  <dcbw@redhat.com>
14739
14740         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14741         * initscript/Slackware/rc.networkmanager
14742                 - Cosmetic fix
14743
14744         * src/backends/NetworkManagerSlackware.c
14745                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14746                         interfaces
14747
14748 2005-12-05  Robert Love  <rml@novell.com>
14749
14750         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14751           to free, particularly here as it just barfs.
14752
14753 2005-12-05  Dan Williams  <dcbw@redhat.com>
14754
14755         * gnome/applet/applet-dbus.c
14756                 - Work with dbus 0.6 too
14757
14758 2005-12-03  Dan Williams  <dcbw@redhat.com>
14759
14760         * src/NetworkManagerUtils.[ch]
14761           src/nm-ip4-config.c
14762                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14763                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14764
14765 2005-12-01  Robert Love  <rml@novell.com>
14766
14767         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14768           need a NULL for the '...' parameter, too, to fill the so-called
14769           sentinel.
14770
14771 2005-12-01  Robert Love  <rml@novell.com>
14772
14773         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14774           interface is already gone, so don't call rtnl_link_change() to down
14775           it (which will segfault, anyhow).
14776
14777 2005-11-22  Robert Love  <rml@novell.com>
14778
14779         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14780           gateway is not set, just print a little note.  Configurations without
14781           gateways are valid.
14782
14783 2005-11-22  Robert Love  <rml@novell.com>
14784
14785         * README: update
14786
14787 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14788
14789         * configure.in: Added Finnish translation to ALL_LINGUAS
14790
14791 2005-11-14  Robert Love  <rml@novell.com>
14792
14793         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14794           Niemueller <tim@niemueller.de>.
14795
14796 2005-11-08  Dan Williams  <dcbw@redhat.com>
14797
14798         Patch from Bill Moss <bmoss@clemson.edu>
14799         * src/NetworkManagerDevice.c
14800                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14801                         of nm_policy_schedule_activation_finish() to prevent a
14802                         race condition that causes the link to be dropped
14803
14804 2005-11-08  Dan Williams  <dcbw@redhat.com>
14805
14806         Patch from Bill Moss <bmoss@clemson.edu>
14807         * src/NetworkManagerAPList.c
14808           src/NetworkManagerDevice.c
14809           src/NetworkManagerDbus.c
14810                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14811                         we get more readable ether/mac addresses
14812
14813 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14814
14815         * gnome/applet/main.c: Don't set the restart command.  This fixes
14816         the issue where the restart command was getting copies of all its
14817         arguments for each time the applet was restarted.
14818
14819 2005-11-02  Robert Love  <rml@novell.com>
14820
14821         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14822           if the widget state differs from our saved state.  This ensures we
14823           do not enter an endless loop of death and destruction.  Also, this
14824           guarantees us that we enforce the widget state.
14825
14826 2005-11-02  Robert Love  <rml@novell.com>
14827
14828         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14829         * gnome/applet/applet-dbus-devices.c: invoke the new function
14830           nmwa_enable_wireless_set_active() to ensure that the state of the
14831           'Enable Wireless' checkbox matches the daemon's state.  This is a
14832           concern because the daemon remembers the state.
14833
14834 2005-11-02  Robert Love  <rml@novell.com>
14835
14836         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14837           Enabled", as checkboxes should be actions/commands not positive
14838           statements, otherwise they are confusing in the unselected case.  See
14839           examples in GNOME HIG, Chapter 6.
14840
14841 2005-11-02  Robert Love  <rml@novell.com>
14842
14843         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14844           show a list of wireless networks or the wireless devices or the
14845           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14846           a bad bug: If wireless is disabled and the user picks a wireless
14847           network, NM will switch to the network, only to immediately switch
14848           back, as wireless is disabled.  This also reassures people that NM
14849           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14850
14851 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14852
14853         * gnome/applet/applet.c:
14854         * gnome/applet/applet.h:
14855         Partial backout of Dan's timeout animation patch.
14856         Timeout IDs cannot legally be 0, so revert the code in place to handle
14857         a timeout ID of 0 to denote the timeout isn't running.
14858
14859 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14860
14861         * src/NetworkManagerPolicy.c:
14862         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14863
14864 2005-10-28  Robert Love  <rml@novell.com>
14865
14866         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14867           "Import Saved Configuration..." to make it clear that importing is
14868           not the next step, but an option.  As an aside, a nice TODO would be
14869           to move Importing out of the vpn-specific dialog and into the main
14870           property editor, as Importing goes with Adding, but that will require
14871           some rearchitecting of the VPN stuff I suspect.
14872
14873 2005-10-27  Dan Williams  <dcbw@redhat.com>
14874
14875         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14876         we should replace most of the distro-specific backend code
14877         with libnl stuff.
14878
14879         Get it here:  http://people.suug.ch/~tgr/libnl/
14880
14881         * configure.in
14882           src/Makefile.am
14883                 - Add checks for libnl pkgconfig file
14884                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14885
14886         * src/NetworkManagerSystem.c
14887           src/nm-ip4-config.[ch]
14888                 - Use libnl rather than ioctl() for most things
14889                 - Remove unused functions
14890
14891 2005-10-27  Robert Love  <rml@novell.com>
14892
14893         * src/backends/NetworkManagerSuSE.c: fix warning message text
14894
14895 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14896
14897         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14898
14899 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14900
14901         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14902         project page <http://www.gnome.org/projects/NetworkManager/>
14903
14904 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14905
14906         * gnome/applet.c: Also use translator credits if we don't have
14907         the new GtkAboutDialog (older versions of GTK+)
14908
14909 2005-10-26  Robert Love  <rml@novell.com>
14910
14911         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14912           failure; correct usage text for "--no-daemon"
14913
14914 2005-10-25  Dan Williams  <dcbw@redhat.com>
14915
14916         * src/NetworkManagerDevice.c
14917                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14918                         no scan results
14919                 - (free_process_scan_cb_data): unref the device when freeing results
14920                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14921                         so we don't unref the device underneath ourselves
14922
14923 2005-10-25  Dan Williams  <dcbw@redhat.com>
14924
14925         * Back out 2005-10-24 commit from Tor Krill.  Patch
14926                 causes nameservers never to be removed from named.
14927
14928 2005-10-24  Dan Williams  <dcbw@redhat.com>
14929
14930         Clean up wireless scanning and wireless link probing.
14931
14932         * src/NetworkManagerDevice.c
14933                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14934                         just see if there's an activation request on the device, and check the
14935                         current link against the activation request access point's ESSID.
14936                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14937                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14938                         don't call process_scan_results() on zero-length data
14939                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14940                         15 seconds (from 10)
14941
14942 2005-10-24  Dan Williams  <dcbw@redhat.com>
14943
14944         Cleanup some applet stuff:
14945
14946         - Animation timeouts.  If NM died while the applet was animating,
14947                 the applet would not hide itself.  This is now fixed.
14948
14949         - Remove some dead code
14950
14951         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14952                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14953
14954         - Track animation timeout using a gboolean rather than the timeout's
14955                 ID, since timeout IDs can legally be 0.
14956
14957 2005-10-24  Dan Williams  <dcbw@redhat.com>
14958
14959         * src/backends/interface_parser.c
14960                 - Add void to function declarations that need it
14961                         to match patch from Engin AYDOGAN
14962
14963         * src/backends/interface_parser.h
14964                 - Remove unused prototype for ifparser_interfaces()
14965
14966         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14967         * src/backends/interface_parser.h:
14968                 - Compile fixes for gcc 4.0.2 (add void)
14969
14970 2005-10-24  Dan Williams  <dcbw@redhat.com>
14971
14972         Patch from Tor Krill <tor@krill.nu>
14973         * src/named-manager/nm-named-manager.c
14974                 - Write more than just the first nameserver to /etc/resolv.conf
14975                 - Write out valid /etc/resolv.conf on exit
14976
14977 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14978
14979         * gnome/applet/applet-dbus-vpn.c:
14980         Get rid of spurious newlines in debug console output
14981
14982 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14983
14984         * src/backends/NetworkManagerGentoo.c:
14985         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14986
14987 2005-10-20  Robert Love  <rml@novell.com>
14988
14989         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14990           direct comparison of floating point values, which is never correct.
14991           Also some misc. cleanup.
14992
14993 2005-10-19  Robert Love  <rml@novell.com>
14994
14995         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14996
14997 2005-10-19  Robert Love  <rml@novell.com>
14998
14999         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15000           sensitivity of the buttons.  Specificaly, do the right thing if
15001           there are no entries.
15002
15003 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15004
15005         * configure.in: Update check for adequate wireless-tools
15006         with an AC_TRY_COMPILE for the new symbols we use.
15007
15008 2005-10-19  Dan Williams  <dcbw@redhat.com>
15009
15010         * src/NetworkManagerDevice.c
15011                 - (process_scan_results): don't drop the last (or only)
15012                         access point we see
15013
15014 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15015
15016         * src/backends/NetworkManagerSlackware.c:
15017         Patch from Nico <lordllucifer@gmail.com>
15018                 - Update the Slackware backend.
15019
15020 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15021
15022         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15023         if we've got GLib 2.8.0
15024
15025 2005-10-18  Robert Love  <rml@novell.com>
15026
15027         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15028           function nm_schedule_state_change_signal_broadcast() when we
15029           deactivate a device, too.
15030
15031 2005-10-18  Robert Love  <rml@novell.com>
15032
15033         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15034           be used uninitialized.
15035
15036 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15037
15038         * test/libnm_glib_test.c: Test unregistering, too.
15039
15040 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15041
15042         * configure.in: Bump to 0.5.0
15043
15044 2005-10-17  Dan Williams  <dcbw@redhat.com>
15045
15046         * NetworkManager.h
15047                 - Remove WPA-related constants so they aren't part of the
15048                         upcoming release.
15049
15050 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15051
15052         * gnome/applet/applet.c:
15053         * gnome/applet/applet.h:
15054         Desensitize the 'Connection Information' menu item when there is
15055         no active connection.
15056
15057 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15058
15059         * gnome/libnm_glib/libnm_glib.c:
15060         Make libnm_glib_unregister_callback () actually unregister the callback
15061
15062 2005-10-17  Robert Love  <rml@novell.com>
15063
15064         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15065           two seconds -- tries is updated every 1/10 of a second, not every
15066           second..
15067
15068 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15069
15070         * gnome/applet/applet-dbus-info.c:
15071         Let D-BUS know that we haven't handled a message when we haven't.
15072
15073 2005-10-17  Robert Love  <rml@novell.com>
15074
15075         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15076           in order to remain 64-bit clean.
15077
15078 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15079
15080         * gnome/applet/applet-dbus-info.c:
15081         Find network encryption keys asynchronously
15082
15083 2005-10-17  Robert Love  <rml@novell.com>
15084
15085         * src/backends/NetworkManagerDebian.c,
15086           src/backends/NetworkManagerRedHat,
15087           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15088           comment delimiter.
15089
15090 2005-10-17  Robert Love  <rml@novell.com>
15091
15092         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15093           "/etc"
15094
15095 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15096
15097         * src/NetworkManagerDevice.c: (process_scan_results)
15098         Fix logic that checks to see whether we have an ESSID.
15099
15100 2005-10-15  Dan Williams  <dcbw@redhat.com>
15101
15102         Move scanning code into NetworkManager rather than use iwlib's
15103         iw_scan() function, so that we can figure out AP capabilities.
15104
15105         * NetworkManager.h
15106                 - Add AP capability bits
15107
15108         * src/NetworkManagerAP.[ch]
15109                 - Add capability field to NMAccessPoint structure
15110                 - Add WPA & RSN Information Element fields and accessor
15111                         functions to NMAccessPoint
15112
15113         * src/NetworkManagerDevice.c
15114                 - Remove usage of iw_scan
15115                 - Add scanning code to NetworkManager rather than use
15116                         iw_scan() from iwlib
15117
15118         * src/NetworkManagerUtils.[ch]
15119                 - (nm_dispose_scan_results): remove, unused
15120
15121 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15122
15123         * gnome/libnm_glib/libnm_glib.c:
15124         * gnome/libnm_glib/libnm_glib.h:
15125         Use guint instead of gint for callback IDs.
15126
15127 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15128
15129         * gnome/applet/applet.c:
15130         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15131         every 1000ms.  It will unconditionally call nmwa_update_state which
15132         kills the existing animation timeout and registers a new one with a
15133         callback to draw a new frame every 100ms.  There are 11 connecting
15134         icon frames, so the last 2 frames kept getting dropped.  Only reset
15135         the animation timeout if we aren't animating.
15136
15137 2005-10-11  Dan Williams  <dcbw@redhat.com>
15138
15139         * gnome/applet/applet-dbus-devices.c
15140                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15141                         We want to grab the product & vendor from net.physical_dev
15142                         rather than info.parent.
15143
15144 2005-10-11  Dan Williams  <dcbw@redhat.com>
15145
15146         * src/NetworkManagerDevice.c
15147                 - Use the driver's WE version for scanning rather than
15148                         the WE version NM was compiled with.  Fixes random
15149                         crashes in iw_scan () in iwlib.
15150
15151 2005-10-10  Dan Williams  <dcbw@redhat.com>
15152
15153         * Remove nm_system_load_device_modules() from backend files
15154                 and from NetworkManager.c
15155
15156 2005-10-10  Dan Williams  <dcbw@redhat.com>
15157
15158         * src/NetworkManagerPolicy.c
15159                 - Fix some bugs introduced by the capabilities patch
15160
15161 2005-10-10  Dan Williams  <dcbw@redhat.com>
15162
15163         * gnome/applet/applet-dbus-info.c
15164                 - (nmi_dbus_get_network_key): hide the menu when putting up
15165                         the keyring dialog.  (not sure if the code is right...)
15166
15167 2005-10-09  Dan Williams  <dcbw@redhat.com>
15168
15169         Patch from Bill Moss <bmoss@clemson.edu>
15170         * src/NetworkManagerDevice.c
15171                 - (nm_device_set_user_key_for_network): don't try to set auth
15172                         mode on the AP from the allowed list if it's NULL
15173
15174 2005-10-09  Dan Williams  <dcbw@redhat.com>
15175
15176         * Replace the "driver support level" stuff with capabilities.  The
15177                 capability field is a bitfield that is more flexible than the
15178                 old driver support level thing.  It's mostly so we can easily
15179                 figure out what supports WPA and what doesn't, but should be
15180                 quite useful later.
15181
15182 2005-10-09  Dan Williams  <dcbw@redhat.com>
15183
15184         * test/nmtest.c
15185                 - Removed
15186
15187         * test/nm-tool.c
15188           test/Makefile.am
15189                 - Added new "nm-tool" tool that gives quite a bit more
15190                         information
15191
15192 2005-10-07  Robert Love  <rml@novell.com>
15193
15194         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15195           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15196           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15197           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15198           appropriate
15199
15200 2005-10-07  Robert Love  <rml@novell.com>
15201
15202         * configure.in: Change our compile flags for the betterment of mankind.
15203           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15204           prototype is very bad on 64-bit platforms as types default to int but
15205           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15206           "-Wmissing-declarations" to warn if we define an exported function
15207           but fail to put it in a header.
15208
15209 2005-10-07  Robert Love  <rml@novell.com>
15210
15211         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15212           by the name nm_update_device_wireless_timeouts() and once tried,
15213           without success, to steal my pet turtle.
15214
15215 2005-10-07  Robert Love  <rml@novell.com>
15216
15217         * Cleanup prototypes: put some functions in header files and mark
15218           others as 'static' -- feel free to invert
15219         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15220           nm_vpn_manager_vpn_connection_list_copy()
15221         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15222           nm_vpn_service_get_dbus_connection()
15223         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15224           nm_vpn_manager_vpn_connection_list_copy()
15225         * src/vpn-manager/nm-vpn-service.c: make
15226           nm_vpn_service_act_request_failed() and
15227           nm_vpn_service_stage2_daemon_wait() static
15228         * src/vpn-manager/nm-vpn-service.h: add prototype for
15229           nm_vpn_service_get_dbus_connection()
15230
15231 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15232
15233         * gnome/applet/applet.c:
15234         * gnome/applet/applet.h:
15235         * gnome/applet/icons/Makefile.am:
15236         Convey information about the current connection stage in the
15237         icons themselves instead of creating a separate progress bar.
15238
15239 2005-10-04  Robert Love  <rml@novell.com>
15240
15241         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15242           convert an ether_addr structure's MAC into a string, because the
15243           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15244           versus 07:3B:04, while the former will not.
15245
15246 2005-10-04  Robert Love  <rml@novell.com>
15247
15248         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15249           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15250           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15251           default route in the 'Connection Information' dialog, send primary
15252           and secondary name servers in in "getProperties" DBUS method, add
15253           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15254           secondary domain name servers are crucial pieces of information
15255           that a user might need in debugging a network problem.
15256
15257 2005-10-04  Robert Love  <rml@novell.com>
15258
15259         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15260           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15261           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15262           default route in the 'Connection Information' dialog, send default
15263           route in "getProperties" DBUS method, add network_device_set_route(),
15264           and network_device_get_route().  The Gateway is a crucial piece of
15265           connection-related information that a user might need in debugging a
15266           network problem.
15267
15268 2005-10-03  Robert Love  <rml@novell.com>
15269
15270         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15271           NULL.
15272
15273 2005-10-02  Dan Williams  <dcbw@redhat.com>
15274
15275         * Shorten time taken to sleep by fastpathing bits of device deactivation
15276                 necessary for sleep.
15277
15278         * Fix issue where deactivating a device might deactivate the active
15279                 VPN connection, even if the VPN was not using the device.
15280
15281 2005-10-02  Dan Williams  <dcbw@redhat.com>
15282
15283         * gnome/applet/applet.c
15284                 - Adjust signal strength -> icon mapping values slightly
15285                         (so that 51% signal doesn't show a 75% icon) by adding
15286                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15287                         shows 50% icon, etc.
15288
15289 2005-09-29  Robert Love  <rml@novell.com>
15290
15291         * src/NetworkManager.c: removed unused variable.
15292
15293 2005-09-28  Dan Williams  <dcbw@redhat.com>
15294
15295         Support for named + DBus, using Red Hat DBus patches for named.  You
15296         can find those patches here, with "dbus" in the patch's filename:
15297
15298                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15299
15300         Don't forget the named dbus service file either.
15301
15302         Instead of writing a config file and spawing a named process, NM will
15303         use an already-running dbus-enabled named if it finds one.  NM will
15304         update named's forwarder configuration on the fly using dbus.
15305
15306         If there is no dbus-enabled named running, NM will automatically fall
15307         back to writing the most-recent DNS server information to /etc/resolv.conf
15308         and calling nm_system_update_dns() to kick the system's resolver.
15309
15310         Accordingly, all named-related configure-time options have been removed.
15311
15312 2005-09-26  Robert Love  <rml@novell.com>
15313
15314         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15315           ISDN support!
15316         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15317           bug in error path if "ASKPASSWORD" is "no".
15318
15319 2005-09-26  Robert Love  <rml@novell.com>
15320
15321         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15322           comment in /etc/resolv.conf -- ';' is not.
15323
15324 2005-09-19  Dan Williams  <dcbw@redhat.com>
15325
15326         * src/backends/NetworkManagerRedHat.c:
15327         * src/backends/NetworkManagerDebian.c:
15328         * src/backends/NetworkManagerSlackware.c:
15329         * src/backends/NetworkManagerGentoo.c:
15330         * src/backends/NetworkManagerSUSE.c:
15331         Fix invocations of "/sbin/ip address" to use short form instead
15332
15333 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15334
15335         * src/nm-dbus-device.c: Don't assert when getting
15336         addresses of a not yet connected interface.
15337
15338         * gnome/applet/applet.c: Free icons if loading fails.
15339         Use translator-credits so translators can make themselves known.
15340
15341 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15342
15343         * src/NetworkManagerAP.c:
15344         * src/NetworkManagerAP.h:
15345         * src/NetworkManagerDevice.c:
15346         Set a blacklist for certain common manufacturer default ESSIDs:
15347         APs with these ESSIDs are extremely likely to be completely
15348         different networks: connecting to one should not make NM
15349         auto-connect to every other AP with the same default ESSID.
15350
15351 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15352
15353         * gnome/applet/wireless-applet.glade:
15354         The passphrase entry should also activate the default
15355
15356         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15357
15358         * gnome/applet/applet-dbus-devices.c:
15359         * gnome/applet/applet.c:
15360         * gnome/applet/nm-device.c:
15361         * gnome/applet/nm-device.h:
15362         * src/NetworkManagerUtils.c:
15363         * src/NetworkManagerUtils.h:
15364         * src/nm-dbus-device.c:
15365         I've got a fever, and the only cure for it is less ioctl.
15366         Make NM push IP data rather than make the applet open a socket
15367         to the device.
15368
15369 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15370
15371         * gnome/applet/applet.c:
15372         * gnome/applet/applet-dbus-devices.c:
15373         * gnome/applet/applet-dbus-info.c:
15374         * gnome/applet/passphrase-dialog.c:
15375         * gnome/libnm_glib/libnm_glib.c:
15376         * gnome/vpn-properties/nm-vpn-properties.c:
15377         * src/autoip.c:
15378         * src/backends/NetworkManagerRedHat.c:
15379         * src/named-manager/nm-named-manager.c:
15380         * src/NetworkManagerAPList.c:
15381         * src/NetworkManager.c:
15382         * src/NetworkManagerDbus.c:
15383         * src/NetworkManagerDevice.c:
15384         * src/NetworkManagerPolicy.c:
15385         * src/NetworkManagerSystem.c:
15386         * src/nm-dbus-device.c:
15387         * src/nm-dbus-nm.c:
15388         * src/vpn-manager/nm-vpn-manager.c:
15389         * src/vpn-manager/nm-vpn-service.c:
15390         * test/libnm_glib_test.c:
15391         * test/nminfotest.c:
15392         * test/nmtestdevices.c:
15393         Fix a bunch of 'unused variable' compiler warnings
15394
15395         * NetworkManager.h:
15396         * gnome/applet/applet-dbus-info.c:
15397         * gnome/applet/applet-dbus-info.h:
15398         * gnome/applet/applet.c:
15399         * gnome/applet/applet.h:
15400         * src/NetworkManager.c:
15401         * src/NetworkManagerDbus.c:
15402         * src/NetworkManagerDbus.h:
15403         * src/NetworkManagerDevice.c:
15404         * src/NetworkManagerDevice.h:
15405         * src/NetworkManagerMain.h:
15406         * src/NetworkManagerWireless.c:
15407         * src/NetworkManagerWireless.h:
15408         * src/nm-dbus-nm.c:
15409         Make NetworkManager be smart about how frequently to scan
15410         based on its current state.  Remove the UI for choosing when
15411         to scan.  Scanning still may disabled completely by the user
15412         via the "Wireless Enabled" menu item.
15413
15414 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15415
15416         * gnome/applet/applet.c:
15417         Also overlay the vpn connecting icons onto the wired icon,
15418         when appropriate.
15419
15420         * gnome/vpn-properties/nm-vpn-properties.glade:
15421         Clean up a few strings to use better grammar and proper casing.
15422
15423 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15424
15425         * gnome/applet/vpn-connection.c:
15426         * gnome/applet/vpn-connection.h:
15427         Add nmwa_vpn_connection_is_activating ()
15428
15429         * gnome/applet/applet.c:
15430         * gnome/applet/applet.h:
15431         * gnome/applet/icons/nm-vpn-connecting*.png:
15432         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15433         the user know something's happening between clicking the VPN item and it
15434         actually being connected.
15435
15436 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15437
15438         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15439         failure case as well.
15440
15441 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15442
15443         * gnome/panel/eggtrayicon.[ch]:
15444         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15445
15446 2005-09-07  Dan Williams  <dcbw@redhat.com>
15447
15448         Patch from Bill Moss <bmoss@clemson.edu>
15449         * src/applet-dbus.c
15450                 - (nmwa_dbus_filter): strip whitespace from beginning
15451                         and end of VPN login banner
15452
15453 2005-09-07  Dan Williams  <dcbw@redhat.com>
15454
15455         * The great VPN Manager rewrite of 2005
15456
15457 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15458
15459         * gnome/applet/menu-items.c:
15460         * gnome/applet/nm-device.c:
15461         * gnome/applet/wireless-network.c:
15462         * gnome/libnm_glib/libnm_glib.c:
15463         * src/NetworkManagerDbusUtils.c:
15464         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15465         g_malloc0 doesn't return NULL
15466
15467 2005-09-06  Dan Williams  <dcbw@redhat.com>
15468
15469         Patch from Tomislav Vujec <tvujec@redhat.com>
15470         * src/NetworkManagerDevice.c
15471                 - (nm_get_device_by_udi): don't return a device when we
15472                         actually didn't find what we were looking for
15473
15474 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15475
15476         * gnome/applet/applet-dbus-devices.c:
15477         * gnome/applet/applet-dbus-devices.h:
15478         * gnome/applet/applet-dbus.c:
15479         * src/NetworkManagerDbus.c:
15480         * src/NetworkManagerDbus.h:
15481         * src/NetworkManagerDevice.c:
15482         * src/nm-dbus-device.c:
15483         Make NM push updates about active device strength when it changes,
15484         rather than having the applet poll every 2s.
15485
15486 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15487
15488         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15489         network_device_set_strength
15490
15491 2005-09-04  Dan Williams  <dcbw@redhat.com>
15492
15493         Patch from Bill Nottingham <notting@redhat.com>
15494         * src/NetworkManagerDevice.c
15495                 - (nm_device_activation_cancel): reset the quit_activation flag
15496
15497 2005-09-04  Dan Williams  <dcbw@redhat.com>
15498
15499         * src/nm-activation-request.c
15500                 - (nm_act_request_unref): actually free the structure,
15501                         which we didn't seem to be doing before
15502
15503 2005-09-04  Dan Williams  <dcbw@redhat.com>
15504
15505         Patch from John Palmieri <johnp@redhat.com>
15506         * gnome/applet/applet-dbus-devices.c
15507                 - Fix up unreffing of DBusMessage objects
15508
15509 2005-09-04  Dan Williams  <dcbw@redhat.com>
15510
15511         Patch from John Palmieri <johnp@redhat.com>
15512         * gnome/applet/nm-device.c
15513                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15514
15515 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15516
15517         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15518
15519 2005-09-02  Bill Nottingham  <notting@redhat.com>
15520
15521         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15522
15523 2005-09-01  Dan Williams  <dcbw@redhat.com>
15524
15525         * src/NetworkManager.c
15526                 - (nm_remove_device_from_list): rename to nm_remove_device
15527                 - (nm_hal_device_removed): call nm_remove_device()
15528
15529         * src/NetworkManagerDevice.c
15530                 - Change the NMWirelessScanCB member 'reschedule' which
15531                         wasn't used to 'force' to indicate that we need to
15532                         force a scan when adding a device
15533
15534         * src/nm-dbus-nm.c
15535                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15536                         from the device list
15537                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15538
15539 2005-09-01  Robert Love  <rml@novell.com>
15540
15541         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15542           and the check "!iface" in the error case is probably never true.
15543
15544 2005-09-01  Dan Williams  <dcbw@redhat.com>
15545
15546         Patch from Bill Nottingham <notting@redhat.com>
15547         * src/backends/NetworkManagerRedHat.c
15548                 - Add initial dialup support to Red Hat/Fedora backend
15549
15550 2005-09-01  Dan Williams  <dcbw@redhat.com>
15551
15552         * gnome/applet/applet-dbus-devices.c
15553                 - Sort both wireless networks and devices again, which got
15554                         broken when removing threading
15555
15556 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15557
15558         * gnome/applet/applet.c:
15559         Only show the "Stop/Start All Wireless Devices" menuitem
15560         if we actually have wireless devices.
15561
15562         * gnome/applet/applet-dbus-info.c:
15563         * gnome/applet/applet.c:
15564         * gnome/applet/other-network-dialog.c:
15565         * gnome/applet/vpn-password-dialog.c:
15566         Drop the gtk_dialog_run () calls in favor of connecting to
15567         "response" signals, needed now that the applet is not threaded.
15568
15569 2005-08-31  Dan Williams  <dcbw@redhat.com>
15570
15571         Patch from Bill Moss <bmoss@clemson.edu>
15572         * src/NetworkManagerDevice.c
15573                 - (nm_device_wireless_scan): fix scan timeout values
15574
15575 2005-08-30  Dan Williams  <dcbw@redhat.com>
15576
15577         * gnome/applet/wireless-applet.glade
15578                 - HIG-ify the Other Wireless Networks dialog a bit more
15579                 - Fix some potential segfaults in the info dialog
15580
15581 2005-08-30  Dan Williams  <dcbw@redhat.com>
15582
15583         * gnome/applet/applet-dbus-devices.c
15584                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15585
15586 2005-08-30  Dan Williams  <dcbw@redhat.com>
15587
15588         * gnome/applet/applet-dbus.[ch]
15589                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15590                         they weren't being used anyway
15591
15592 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15593
15594         * test/nmtestdevices.c: (print_usage), (main):
15595         Check the number of arguments, and fix a typo
15596
15597 2005-08-29  Dan Williams  <dcbw@redhat.com>
15598
15599         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15600         * gnome/applet/applet.c
15601                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15602
15603 2005-08-29  Dan Williams  <dcbw@redhat.com>
15604
15605         * gnome/applet/*
15606                 - Don't use threads any more.  Anything that blocks
15607                         (like gtk_dialog_run()) will  have to get fixed up which
15608                         should happen quickly.  We really only had threads to make
15609                         the animation smooth, and when everything got converted over
15610                         to DBus Pending Calls, the need for threads kind of went away
15611
15612 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15613
15614         * gnome/applet/applet.c: Draw VPN connections as radio items
15615         since we don't yet support multiple VPNs.
15616         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15617         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15618
15619 2005-08-29  Dan Williams  <dcbw@redhat.com>
15620
15621         Patch from j@bootlab.org
15622         - Make --without-named work
15623         - Make --with-dhcdbd work correctly
15624
15625 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15626
15627         * configure.in: Added "ca" to ALL_LINGUAS.
15628
15629 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15630
15631         * Fix up VPN state handling between the applet and NetworkManager,
15632                 so that the applet doesn't show a VPN as connected when one
15633                 really is not
15634                         - The applet no longer has a pointer to the active VPN's
15635                                 name, but tracks each VPNs state individually
15636                         - NM no longer has a "getActiveVPNConnection" method
15637                         - NM no longer broadcasts the "VPNConnectionChange" signal
15638                         - NM now broadcasts a "VPNConnectionStateChange" signal
15639                                 whenever the state of a VPN changes
15640
15641 2005-08-26  Dan Williams <dcbw@redhat.com>
15642
15643         * gnome/applet/applet-dbus-devices.c
15644           gnome/applet/applet-dbus-vpn.c
15645                 - Remove calls to dbus_pending_call_ref() because we already
15646                         "own" the pending call
15647                 - Remove calls to dbus_pending_call_get_completed() because
15648                         when we are in the callback, the pending call is completed
15649                         by definition
15650
15651 2005-08-22  Dan Williams <dcbw@redhat.com>
15652
15653         Patch by Bill Moss <bmoss@clemson.edu>
15654         * src/dhcp-manager/nm-dhcp-manager.c
15655                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15656                         some time to send out a RELEASE if they like
15657
15658 2005-08-22  Dan Williams <dcbw@redhat.com>
15659
15660         Noticed by Bill Moss <bmoss@clemson.edu>
15661         * src/NetworkManagerDbus.c
15662                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15663                         instead of just cancelling its activation
15664
15665         * src/NetworkManagerDevice.c
15666                 - (nm_device_deactivate): some small cleanups
15667                 - (nm_device_set_user_key_for_network): deactivate the device
15668                         instead of just cancelling its activation
15669
15670 2005-08-22  Dan Williams <dcbw@redhat.com>
15671
15672         Noticed by Bill Moss <bmoss@clemson.edu>
15673         * src/NetworkManagerDevice.c
15674                 - (nm_device_wireless_scan): fix scan timeout, we were
15675                         waiting way too long for scans to complete
15676
15677 2005-08-22  Dan Williams <dcbw@redhat.com>
15678
15679         Patch from j@bootlab.org:
15680         * src/backends/NetworkManagerDebian.c
15681                 - Make the Debian backend work for static IP again
15682
15683 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15684
15685         * gnome/applet/other-network-dialog.c:
15686         The "Create New Network" and "Connect to Other Network"
15687         dialogs share alot of code, but shouldn't share a window
15688         title.  Give them different ones.
15689
15690         * gnome/applet/wireless-applet.glade:
15691         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15692         Some more minor UI tweaks.
15693
15694 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15695
15696         * gnome/applet/other-network-dialog.c:
15697         * gnome/applet/wireless-applet.glade:
15698         Also need mnemonic widgets, and underline enabled.
15699
15700 2005-08-19  Dan Williams <dcbw@redhat.com>
15701
15702         * vpn-daemons/vpnc/nm-vpnc-service.c
15703                 - (vpnc_watch_cb): remove no-longer-relevant comment
15704                 - (write_config_option): new function, helper to write
15705                         config options to vpnc's stdin
15706                 - (nm_vpnc_config_write): use the new helper, make the
15707                         code shorter
15708
15709 2005-08-19  Christopher Aillon <caillon@redhat.com>
15710
15711         * gnome/applet/passphrase-dialog.c:
15712         * gnome/applet/wireless-applet.glade:
15713         Make the passphrase dialog response based, and treat
15714         responses other than OK (such as Esc, [X]) as a cancel.
15715
15716 2005-08-18  Christopher Aillon <caillon@redhat.com>
15717
15718         * initscript/Gentoo/NetworkManager:
15719         * initscript/RedHat/NetworkManager:
15720         * initscript/RedHat/NetworkManagerDispatcher:
15721         * initscript/SUSE/networkmanager:
15722         CVS remove these in place of .in replacements
15723
15724         * configure.in:
15725         * initscript/Gentoo/NetworkManager.in:
15726         * initscript/RedHat/NetworkManager.in:
15727         * initscript/RedHat/NetworkManagerDispatcher.in:
15728         * initscript/SUSE/networkmanager.in:
15729         These scripts now are generated so they work still when
15730         NM is built using a bindir other than /usr/bin
15731
15732 2005-08-18  Dan Williams <dcbw@redhat.com>
15733
15734         * gnome/applet/main.c
15735                 - Revert previous change for --no-session since
15736                         --sm-disable does the same thing
15737
15738 2005-08-18  Dan Williams <dcbw@redhat.com>
15739
15740         * gnome/applet/applet-dbus-info.c
15741                 - (nmi_dbus_create_error_message): new function
15742                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15743                         functions.  Also don't check for both device _and_ network before
15744                         asking for a user's key, because we may not have gotten all our
15745                         networks back from NM quite yet (due to the dbus pending calls
15746                         coming in later).  Fixes a hang in NM/nm-applet.
15747
15748         * src/NetworkManagerDbus.c
15749                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15750                         slightly more sane manner, even though we are still broken for
15751                         certain other error conditions.
15752                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15753                         to the info-daemon too
15754
15755         * src/NetworkManagerDevice.c
15756                 - Fix some debug messages to be info messages instead
15757
15758 2005-08-18  Dan Williams <dcbw@redhat.com>
15759
15760         * gnome/applet/main.c
15761                 - Add new "--no-session" parameter that disables applet
15762                         session management, ie for testing
15763
15764 2005-08-18  Christopher Aillon <caillon@redhat.com>
15765
15766         * gnome/applet/other-network-dialog.c:
15767         * gnome/applet/wireless-applet.glade: More mnemonics
15768
15769 2005-08-17  Robert Love  <rml@novell.com>
15770
15771         * initscript/SUSE/networkmanager: update
15772
15773 2005-08-17  Dan Williams  <dcbw@redhat.com>
15774
15775         * Tag NM_0_4_1_RELEASE
15776
15777 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15778
15779         * gnome/applet/applet.c: More translatable string cleanup
15780
15781
15782 2005-08-17  Dan Williams  <dcbw@redhat.com>
15783
15784         * gnome/applet/applet-dbus-info.c
15785                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15786                         from the dbus message, which tells us to unconditionally
15787                         ask the user for a new key.  Otherwise, we pull the key from
15788                         the keyring and return it.  If we fail to get the key from the
15789                         keyring, we ask the user for a new key.
15790                 - (nmi_dbus_get_network_key): new function to grab the key for
15791                         an essid from the keyring.
15792                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15793                         Also, don't return any key in the dbus message.
15794
15795         * src/NetworkManagerDbus.[ch]
15796                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15797                         indicate that we unconditionally want a new key.  This function
15798                         is now also used to get keys from the info-daemon which are
15799                         pre-stored, not just for asking the user for a new key.  The
15800                         "new_key" parameter indicates whether or not we wish to ask the
15801                         user for a new key.
15802                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15803                         info-daemon in the return message, so use NULL instead.  The
15804                         key will be filled in at connect time by calling
15805                         nm_dbus_get_user_key_for_network()
15806
15807         * src/NetworkManagerDevice.c
15808                 - (nm_device_wireless_configure): update for "new_key" param to
15809                         nm_dbus_get_user_key_for_network().  We initially set new_key
15810                         to FALSE to see if we have a stored key in the info-daemon, but
15811                         if the connection is unsuccessful at this stage we request a
15812                         new one
15813
15814 2005-08-17  Dan Williams  <dcbw@redhat.com>
15815
15816         * gnome/applet/icons/nm-no-connection.png
15817           gnome/applet/icons/nm-device-wired.png
15818                 - Use Diana's new RJ45 connector icons
15819
15820 2005-08-17  Dan Williams  <dcbw@redhat.com>
15821
15822         * src/NetworkManagerPolicy.c
15823                 - (nm_policy_device_change_check): clarify switching rules if
15824                         both new and old devices are valid; mainly, don't switch
15825                         away from user-requested wireless connection back to a wired
15826                         one
15827
15828 2005-08-17  Dan Williams  <dcbw@redhat.com>
15829
15830         * gnome/applet/Makefile.am
15831                 - Relocate the applet to /usr/bin since it is no longer
15832                         executed by anything, but directly by the user
15833
15834 2005-08-17  Dan Williams  <dcbw@redhat.com>
15835
15836         Patch from Bill Moss <bmoss@clemson.edu>
15837
15838         * gnome/applet/applet-dbus-info.[ch]
15839                 - (nmi_save_network_info): save timestamp for network if it
15840                         was a change requested by the user
15841                 - (nmi_dbus_update_network_info): get user_requested from dbus
15842                         message and pass to nmi_save_network_info()
15843
15844         * gnome/applet/applet.c
15845                 - (nmwa_update_network_timestamp): remove
15846                 - (nmwa_menu_item_activate): don't set timestamp on networks
15847                         here, only after a successful connect in nmi_save_network_info()
15848
15849         * src/NetworkManagerDbus.[ch]
15850                 - (nm_dbus_update_network_info): pass user_requested into the 
15851                         dbus message
15852
15853         * src/NetworkManagerPolicy.c
15854                 - (nm_policy_activation_finish): pass user_requested to
15855                         nm_dbus_update_network_info()
15856
15857 2005-08-16  Robert Love  <rml@novell.com>
15858
15859         * gnome/applet/applet.c: Better "Dial Up" menu item.
15860
15861 2005-08-16  Robert Love  <rml@novell.com>
15862
15863         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15864           "Connection Information" menu item.
15865
15866 2005-08-16  Dan Williams  <dcbw@redhat.com>
15867
15868         Patch from j@bootlab.org
15869         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15870
15871         * configure.in: allow specifying the path to dhcdbd
15872
15873 2005-08-16  Robert Love  <rml@novell.com>
15874
15875         Patch from j@bootlab.org
15876         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15877           src/backends/interface_parser.h: Debian dialup support.
15878
15879 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15880
15881         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15882         * gnome/applet/applet.c: Add some mnemonics for VPNC
15883
15884         * vpn-daemons/.cvsignore: fix this up a little bit
15885
15886 2005-08-16  Robert Love  <rml@novell.com>
15887
15888         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15889           support.
15890
15891 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15892
15893         * gnome/applet/applet.c: Split markup out of translatable strings
15894         and clean up logic a little bit.  (fixes #309012)
15895
15896 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15897
15898         * gnome/vpn-properties/nm-vpn-properties.c:
15899         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15900         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15901         Makeshift fix to remove newlines from translatable strings.
15902         Note that we now return an allocated string, so callers of
15903         get_confirmation_details () must now call g_free () on the
15904         result. (fixes #309033).
15905
15906 2005-08-12  Robert Love  <rml@novell.com>
15907
15908         * gnome/applet/applet-dbus.c: remove newlines from translatable
15909           strings--not needed here anyway. (fix b.g.o #309011)
15910         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15911
15912 2005-08-11  Robert Love  <rml@novell.com>
15913
15914         * gnome/applet/applet.c: mark string as translatable.
15915
15916 2005-08-11  Robert Love  <rml@novell.com>
15917
15918         * initscript/SUSE/networkmanager: update.
15919
15920 2005-08-11  Dan Williams  <dcbw@redhat.com>
15921
15922         * src/nm-dhcp-manager.c
15923                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15924                         an gateway returned from DHCP, try to use the address of the DHCP
15925                         server as the gateway instead.  Found by Ralf Ertzinger.
15926
15927 2005-08-10  Robert Love  <rml@novell.com>
15928
15929         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15930           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15931
15932 2005-08-10  Dan Williams  <dcbw@redhat.com>
15933
15934         Patch from Bill Moss <bmoss@clemson.edu>
15935         * Consolidate writes of access point information updates to the info daemon
15936                 so that we only do it when the connection to the access point was
15937                 successful.  Also consolidates updates to GConf in the Gnome applet.
15938
15939         * src/nm-netlink-monitor.c
15940                 - Silence compile warning when calling g_object_new()
15941
15942 2005-08-08  Dan Williams  <dcbw@redhat.com>
15943
15944         Patch from Steev <steev@steev.net>:
15945         * src/backends/NetworkManagerGentoo.c
15946                 - Stub new dialup backend functions
15947
15948 2005-08-08  Dan Williams  <dcbw@redhat.com>
15949
15950         Patch from Colin Slater:
15951         * src/backends/NetworkManagerGentoo.c
15952                 - (nm_system_update_dns): Fix exit status check for restarting
15953                         nscd
15954
15955 2005-08-05  Robert Love  <rml@novell.com>
15956
15957         * NetworkManager.h,
15958           gnome/applet/applet-dbus-devices.c,
15959           gnome/applet/applet-dbus-devices.h,
15960           gnome/applet/applet-dbus.c,
15961           gnome/applet/applet.c,
15962           gnome/applet/applet.h,
15963           src/NetworkManager.c,
15964           src/NetworkManagerMain.h,
15965           src/NetworkManagerSystem.h,
15966           src/backends/NetworkManagerRedHat.c,
15967           src/backends/NetworkManagerSuSE.c,
15968           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15969
15970 2005-08-05  Robert Love  <rml@novell.com>
15971
15972         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15973           machine's hostname to make adhoc creation idiot-proof.
15974
15975 2005-08-04  Robert Love  <rml@novell.com>
15976
15977         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15978           freed.
15979
15980 2005-08-04  Dan Williams  <dcbw@redhat.com>
15981
15982         * gnome/applet/applet-dbus-info.c
15983           gnome/applet/applet-dbus-info.h
15984                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15985                         to store key, key type, and auth method rather than just auth method
15986                 - (nmi_dbus_update_network_info): new function
15987                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15988
15989         * gnome/applet/passphrase-dialog.c
15990                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15991                         of saving the info ourselves
15992
15993         * gnome/libnm_glib/libnm_glib.c
15994                 - Remove the stupid version check for dbus
15995
15996         * src/NetworkManagerAP.c
15997           src/NetworkManagerAP.h
15998                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15999
16000         * src/NetworkManagerDbus.c
16001           src/NetworkManagerDbus.h
16002                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16003                         more than just the auth method
16004
16005         * src/NetworkManagerDevice.c
16006                 - Update network info at the appropriate times
16007
16008 2005-07-29  Ray Strode  <rstrode@redhat.com>
16009
16010         * src/NetworkManager.c (nm_info_handler): don't use input as format
16011         string (Spotted by Ian Jackson).
16012
16013 2005-07-27  Dan Williams  <dcbw@redhat.com>
16014
16015         * src/nm-dbus-nm.c
16016           src/nm-dbus-net.c
16017                 - Random cleanups of spacing
16018
16019         * gnome/applet/applet.h
16020           gnome/applet/other-network-dialog.c
16021           gnome/applet/passphrase-dialog.c
16022                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16023
16024         Patch from Bill Moss:
16025                 - Make Other Wireless Networks work again with encryption keys
16026
16027 2005-07-26  Dan Williams  <dcbw@redhat.com>
16028
16029         Patch from Steev <steev@steev.net>:
16030         * src/backends/NetworkManagerGentoo.c
16031           src/backends/Makefile.am
16032                 - Fix up Gentoo backend
16033
16034 2005-07-26  Robert Love  <rml@novell.com>
16035
16036         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16037
16038 2005-07-25  Robert Love  <rml@novell.com>
16039
16040         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16041           in the same group as the wireless networks, since they are all
16042           mutually exclusive.
16043
16044 2005-07-24  Ray Strode  <rstrode@redhat.com>
16045
16046         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16047         remove unneeded NULL arg from g_object_new().  Any
16048         warnings caused by not having the extra NULL are just a
16049         result of a bug in glib 2.7.0 - 2.7.2.
16050
16051 2005-07-22  Robert Love  <rml@novell.com>
16052
16053         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16054
16055 2005-07-22  Robert Love  <rml@novell.com>
16056
16057         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16058           parameters (gcc 4.0.2 warning fix).
16059
16060 2005-07-18  Robert Love  <rml@novell.com>
16061
16062         Suggested by Aaron Bockover (abockover@novell.com)
16063         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16064           s/Ascii/ASCII
16065         * gnome/applet/passphrase-dialog.c: ditto
16066         * gnome/applet/wireless-applet.glade: ditto
16067
16068 2005-07-13  Dan Williams  <dcbw@redhat.com>
16069
16070         Patch from Ray Strode <halfline@gmail.com>
16071         * vpn-daemons/vpnc/nm-vpnc-service.c
16072                 - Don't let vpnc daemonize, fixes some races with PID file reading
16073
16074 2005-07-13  Dan Williams  <dcbw@redhat.com>
16075
16076         Patch from Ray Strode <halfline@gmail.com>
16077         * Random cleanups for strict CFLAGS
16078
16079 2005-07-07  Dan Williams  <dcbw@redhat.com>
16080
16081         Patch from Derek Atkins <warlord@MIT.EDU>
16082         * src/nm-dbus-net.c:
16083                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16084
16085 2005-07-07  Dan Williams  <dcbw@redhat.com>
16086
16087         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16088         * src/backends/NetworkManagerGentoo.c
16089                 - Gentoo backend Static IP nameserver fixes
16090                 - General Gentoo backend goodness
16091
16092 2005-07-07  Dan Williams  <dcbw@redhat.com>
16093
16094         Patch from Bastien Nocera:
16095         * gnome/applet/applet.c
16096                 - Fix up error reporting when icons or glade files are missing
16097
16098 2005-07-07  Robert Love  <rml@novell.com>
16099
16100         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16101           are not any VPN connections above it.
16102
16103 2005-07-07  Robert Love  <rml@novell.com>
16104
16105         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16106
16107 2005-07-05  Robert Love  <rml@novell.com>
16108
16109         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16110           zero.
16111
16112 2005-07-05  Robert Love  <rml@novell.com>
16113
16114         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16115           on wired or unencrypted wireless.
16116
16117 2005-07-01  Robert Love  <rml@novell.com>
16118
16119         * src/NetworkManagerSystem.c: Print the error via strerror().
16120
16121 2005-06-30  Robert Love  <rml@novell.com>
16122
16123         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16124           then exit if the glade file is not found.  currently the application
16125           just hangs.
16126
16127 2005-06-30  Robert Love  <rml@novell.com>
16128
16129         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16130           explicitly up all interfaces on wake from sleep.
16131
16132 2005-06-30  Robert Love  <rml@novell.com>
16133
16134         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16135           with information about the currently active connection.
16136         * gnome/applet/applet.h: (ditto)
16137         * gnome/applet/wireless-applet.glade: (ditto), new file
16138
16139 2005-06-30  Robert Love  <rml@novell.com>
16140
16141         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16142         * src/nm-dbus-nm.c: print when we sleep and wake up.
16143         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16144         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16145           in /sbin unless D-BUS is, folks).
16146         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16147
16148 2005-06-27  Robert Love  <rml@novell.com>
16149
16150         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16151           case.
16152
16153 2005-06-27  Robert Love  <rml@novell.com>
16154
16155         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16156           items radios.
16157
16158 2005-06-26  Robert Love  <rml@novell.com>
16159
16160         * src/NetworkManagerDevice.c: be specific about which device in
16161           nm_info() message.
16162
16163 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16164
16165         * src/nm-netlink-monitor.c: correct spelling error.
16166
16167 2005-06-23  Robert Love  <rml@novell.com>
16168
16169         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16170         * gnome/applet/passphrase-dialog.c: more of that keyring!
16171
16172 2005-06-23  Robert Love  <rml@novell.com>
16173
16174         * configure.in: remove extraneous GNOMEKEYRING directives.
16175         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16176         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16177         * gnome/applet/passphrase-dialog.c: whitespace.
16178
16179 2005-06-23  Robert Love  <rml@novell.com>
16180
16181         * src/NetworkManagerDevice.c: division in assignment was flipped.
16182
16183 2005-06-23  David Zeuthen  <david@fubar.dk>
16184
16185         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16186         signal to the child to indicate that we got what we wanted when we
16187         see two new-lines right after each other.
16188         (nmwa_vpn_request_password): Pass a structure with several members
16189         instead of just the passwords
16190
16191 2005-06-23  Dan Williams <dcbw@redhat.com>
16192
16193         * src/NetworkManager.c
16194           src/NetworkManagerMain.h
16195                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16196                 - (nm_hal_init): new function, init libhal context then add devices
16197                 - (nm_hal_deinit): new function, clean up libhal context
16198                 - (nm_data_free): Move Hal cleanup here
16199                 - (main): check whether Hal is running, and if so, get a list of
16200                         network devices from it
16201
16202         * src/NetworkManagerDbus.c
16203                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16204                         and when it appears, get a list of network devices from it.  If
16205                         Hal goes away, clean up the libhal context
16206
16207 2005-06-22  Robert Love  <rml@novell.com>
16208
16209         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16210           permissions of scripts before executing.
16211
16212 2005-06-21  Robert Love  <rml@novell.com>
16213
16214         * initscript/SUSE/networkmanager: update.
16215         * src/backends/NetworkManagerSuSE.c: cleanup.
16216
16217 2005-06-21  Robert Love <rml@novell.com>
16218
16219         * gnome/applet/applet.c: use menu mnemonics.
16220         * gnome/applet/menu-items.c: (ditto)
16221
16222 2005-06-21  Robert Love  <rml@novell.com>
16223
16224         * applet/applet-dbus-devices.c: mark non-static functions static.
16225         * applet/applet-dbus-vpn.c: (ditto)
16226         * applet/applet.c: (ditto)
16227         * applet/nm-device.h: (ditto)
16228         * applet/other-network-dialog.c: (ditto)
16229         * applet/passphrase-dialog.c: (ditto)
16230         * NetworkManager.c: (ditto)
16231         * NetworkManagerDbus.c: (ditto)
16232         * NetworkManagerDevice.c: (ditto)
16233         * NetworkManagerPolicy.c: (ditto)
16234         * NetworkManagerUtils.c: (ditto)
16235         * NetworkManagerWireless.c: (ditto)
16236         * NetworkManagerWireless.h: (ditto)
16237         * nm-netlink-monitor.c: (ditto)
16238         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16239         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16240         * autoip.c: include autoip.h.
16241         * autoip.h: new file.  define get_autoip().
16242         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16243         * NetworkManagerDbus.h: remove duplicate definitions.
16244
16245 2005-06-20  Robert Love  <rml@novell.com>
16246
16247         * Makefile.am: Add missing intltool-foo.in generated files to
16248           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16249           with the start of stuff to cleanup on 'distclea'.
16250         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16251           stuff right and 'distcheck' works.
16252         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16253           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16254           Makefile.am for each.  And systray/Makefile needs to be redone.
16255
16256 2005-06-19  Dan Williams <dcbw@redhat.com>
16257
16258         * src/NetworkManagerDevice.c
16259         - (nm_device_wireless_process_scan_results): scan every 20s when
16260           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16261
16262 2005-06-19  Dan Williams <dcbw@redhat.com>
16263
16264         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16265
16266 2005-06-18  Ray Strode <rstrode@redhat.com>
16267
16268         * src/nm-netlink-monitor.c 
16269         (nm_netlink_monitor_event_handler): check for the presence
16270         of either error condition not both. 
16271         
16272         (nm_netlink_monitor_error_handler): emit error signal if
16273         error occurs.
16274
16275         (nm_netlink_monitor_event_handler),
16276         (nm_netlink_monitor_error_handler),
16277         (nm_netlink_monitor_disconnect_handler): if an 
16278         assertion fails disconnect the event handler to prevent 
16279         infinite loops.
16280
16281         * src/nm-netlink-monitor.h: add new error condition
16282         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16283
16284 2005-06-18  Ray Strode <rstrode@redhat.com>
16285
16286         * src/nm-netlink-monitor.c 
16287         (nm_netlink_monitor_event_handler): remove bogus < 0
16288         check on unsigned value and return early if the kernel
16289         didn't send any bytes.
16290
16291 2005-06-17  Robert Love  <rml@novell.com>
16292
16293         * initscript/SUSE/networkmanager: Change the Provides and default
16294         run levels
16295
16296 2005-06-16  Dan Williams <dcbw@redhat.com>
16297
16298         Patch from Robert Love:
16299         * gnome/applet/applet.c
16300                 - Beautify some applet menu item names
16301
16302 2005-06-17  David Zeuthen  <davidz@redhat.com>
16303
16304         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16305         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16306         Also add new methods can_export, import_file and export.
16307
16308         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16309         to the main UI
16310
16311         * gnome/vpn-properties/nm-vpn-properties.c:
16312         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16313         nm-vpn-ui-interface.h.
16314         (update_edit_del_sensitivity): Also update "Export" sensitivity
16315         (add_vpn_connection): Also add new SVC_NAME column
16316         (import_settings): New function
16317         (retrieve_data_from_selected_connection): New function
16318         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16319         this function
16320         (export_cb): New function
16321         (init_app): Also setup the "export" widget
16322         (main): Support the --import-service and --import-file commandline
16323         arguments
16324
16325         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16326         D-BUS 0.34
16327
16328 2005-06-16  Dan Williams <dcbw@redhat.com>
16329
16330         Patch from Robert Love:
16331         * gnome/applet/menu-items.c
16332                 - (network_menu_item_new): pass -1 as wireless network
16333                         menu items height size request rather than ascent / 2
16334
16335 2005-06-16  Dan Williams <dcbw@redhat.com>
16336
16337         * Clean up wording in Wireless Scan Methods menu items and constants
16338
16339 2005-06-16  Robert Love  <rml@novell.com>
16340
16341         * po/POTFILES.in
16342                 - remove gtkcell* files
16343
16344 2005-06-15  Dan Williams <dcbw@redhat.com>
16345
16346         Patch from Robert Love: make the applet stetic
16347
16348         * gnome/applet/Makefile.am
16349                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16350
16351         * gnome/applet/gtkcellview.h
16352           gnome/applet/gtkcellview.c
16353           gnome/applet/gtkcellrendererprogress.h
16354           gnome/applet/gtkcellrendererprogress.c
16355                 - Removed
16356
16357         * gnome/applet/menu-items.c
16358                 - Progress bars are 5:1 size ratio
16359                 - Use GTK progress bars rather than internal ones
16360
16361 2005-06-15  Dan Williams <dcbw@redhat.com>
16362
16363         Patch from Robert Love:
16364         * initscript/SUSE/networkmanager
16365                 - Fix typo
16366
16367 2005-06-15  Dan Williams <dcbw@redhat.com>
16368
16369         * src/backends/NetworkManagerSuSE.c
16370           src/backends/NetworkManagerRedHat.c
16371           src/backends/NetworkManagerDebian.c
16372                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16373
16374 2005-06-15  Dan Williams <dcbw@redhat.com>
16375
16376         * src/backends/NetworkManagerDebian.c
16377                 - Add nm_system_device_get_use_dhcp() to debian backend
16378
16379         Patch from Kay Sievers:
16380         * src/backends/NetworkManagerSuSE.c
16381                 - Update debian backend for static IP nameservers
16382
16383         * src/NetworkManagerDevice.c
16384                 - Actually set the device to use static IP or DHCP rather
16385                         than always DHCP
16386
16387 2005-06-15  Dan Williams <dcbw@redhat.com>
16388
16389         Patch from Thom May:
16390         * src/backends/NetworkManagerDebian.c
16391                 - Update debian backend for static IP nameservers
16392
16393 2005-06-15  Dan Williams <dcbw@redhat.com>
16394
16395         Patches from Robert Love:
16396         * gnome/applet/wireless-applet.glade
16397                 - Tighten up wording
16398
16399         * src/NetworkManagerDevice.c
16400                 - Remove misplaced ';'
16401
16402         * configure.in
16403           initscript/Makefile.am
16404           initscript/SUSE/Makefile.am
16405           initscript/SUSE/networkmanager
16406                 - Add SUSE initscript
16407
16408 2005-06-12  David Zeuthen  <davidz@redhat.com>
16409
16410         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16411
16412         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16413
16414         * gnome/vpn-properties/nm-vpn-properties.c: New file
16415
16416         * gnome/vpn-properties/Makefile.am: New file
16417
16418         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16419         array of passwords
16420
16421         * src/vpn-manager/nm-vpn-manager.c
16422         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16423         instead of just a single one
16424
16425         * src/vpn-manager/nm-dbus-vpn.c:
16426         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16427         here
16428         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16429
16430         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16431         Change the interface here to give a list of passwords. Also, don't
16432         require username, but do require service
16433
16434         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16435         the binary for the auth-dialog and use that instead of putting up a
16436         dialog asking for a single password
16437
16438         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16439         however do remember the service
16440
16441         * gnome/applet/main.c (main): Setup i18n
16442
16443         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16444         connection to '%s'" to the tooltip if we are connected using VPN
16445         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16446         key to determine whether we the auth-dialog needs to
16447         reprompt. Also cope with the fact that the auth-dialog now returns
16448         an array of passwords.
16449         (nmwa_menu_configure_vpn_item_activate): New handler for
16450         "Configure VPN..." menu item
16451         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16452         (is_vpn_available): New function to determine if we got any
16453         NM-compatible VPN software installed
16454         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16455         items only if we have NM-compatible VPN software installed
16456         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16457         logic for detecting when VPN connections are removed
16458
16459         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16460         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16461         since these are defined elsewhere
16462
16463         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16464         function used to keep track of whether the last attempt succeded
16465         (nmwa_dbus_filter): Update last_attempt according to whether the
16466         VPN connection could be established or not
16467
16468         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16469         Change prototype to take an array of passwords, not just a single
16470         password
16471
16472         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16473         update service, not user
16474         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16475         dbus_active_vpn_name is not NULL before using it
16476         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16477         string array instead of assuming a single password
16478
16479         * gnome/applet/applet-dbus-info.c:
16480         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16481         user name; don't read from gconf
16482
16483         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16484         VPN_NAME_FILES_DIR
16485
16486         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16487
16488         * configure.in: Add checks for gmodule-2.0.
16489         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16490         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16491         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16492         for details
16493
16494         * vpn-daemons/Makefile.am: Removed
16495
16496         * vpn-daemons/README: New file to describe extensions points for VPN
16497         software
16498
16499 2005-06-10  Dan Williams <dcbw@redhat.com>
16500
16501         * src/backends/NetworkManagerRedHat.c
16502                 - (get_current_profile_name): new function, grab current network profile name from
16503                         /etc/sysconfig/network
16504                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16505                         update an IP4 Config structure's settings from it
16506                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16507                         get DNS info from current network profile
16508
16509 2005-06-09  Dan Williams <dcbw@redhat.com>
16510
16511         Patch from Robert Love:
16512         * src/NetworkManagerDevice.c
16513           src/NetworkManagerUtils.c
16514                 - 64-bit build fixes
16515
16516 2005-06-09  Dan Williams <dcbw@redhat.com>
16517
16518         Patch from Kay Sievers and Robert Love:
16519         * configure.in
16520           src/backends/Makefile.am
16521           src/backends/NetworkManagerSuSE.c
16522                 - Add SuSE support
16523
16524 2005-06-09  Dan Williams <dcbw@redhat.com>
16525
16526         * NetworkManager.h
16527                 - Add NMWirelessScanMethod enum for scan methods
16528
16529         * gnome/applet/applet-dbus-devices.c
16530                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16531                 - (nmwa_dbus_update_scanning_enabled): remove
16532                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16533                         since it got removed
16534                 - (nmwa_dbus_enable_scanning): remove
16535
16536         * gnome/applet/applet-dbus-info.c
16537                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16538                         update the wireless scanning method from NMI
16539                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16540                         method value to NetworkManager
16541                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16542
16543         * gnome/applet/applet-dbus-info.h
16544                 - Add prototype for nmi_dbus_signal_update_scan_method
16545
16546         * gnome/applet/applet.c
16547                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16548                         Wireless Scanning menu based on current wireless scan method
16549                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16550                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16551                         and update our menu items to make sure the right one is checked
16552                 - (nmwa_set_scanning_enabled_cb): remove
16553                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16554                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16555                         Scanning menu item
16556                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16557                         from GConf
16558                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16559                         so we get notified of preference values too
16560                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16561
16562         * gnome/applet/applet.h
16563                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16564                 - Add wireless scan method member to applet data
16565                 - Remove pause_scanning_item, add Wireless Scanning submenu
16566
16567         * src/NetworkManager.c
16568                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16569                 - (main): grab scanning method from NMI if we can
16570
16571         * src/NetworkManagerDbus.c
16572                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16573                         nm_dbus_update_wireless_scan_method()
16574                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16575                         from NMI
16576                 - (nm_dbus_nmi_is_running): redundant function, removed
16577                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16578                         when NMI comes back
16579
16580         * src/NetworkManagerDevice.c
16581                 - (nm_device_is_activated): return TRUE if the device is activated
16582                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16583                         and we are activated
16584
16585         * src/nm-dbus-nm.c
16586                 - (nm_dbus_nm_set_scanning_enabled): removed
16587                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16588                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16589
16590 2005-06-09  Dan Williams <dcbw@redhat.com>
16591
16592         * NetworkManager.h
16593           src/vpn-manager/nm-vpn-service.c
16594                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16595
16596 2005-05-27  Dan Williams <dcbw@redhat.com>
16597
16598         * vpn-daemons/vpnc/nm-vpnc-service.c
16599                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16600                         Should fix the bug where the VPN connection terminates the first time.
16601
16602 2005-05-20  Dan Williams <dcbw@redhat.com>
16603
16604         * NetworkManager.h
16605                 - Differentiate VPN config signals between bad VPN config options
16606                         and bad IP config
16607
16608         * gnome/applet/applet-dbus-info.h
16609                 - Add prototypes for wireless network and vpn connection update functions
16610
16611         * gnome/applet/applet-dbus.c
16612                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16613
16614         * gnome/applet/applet.c
16615                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16616                         error signals
16617                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16618                         propogation to NetworkManager
16619                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16620                         notify propogation to NetworkManager
16621
16622         * src/NetworkManagerDbus.c
16623                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16624                         are updating so a network can be removed from it if necessary
16625
16626         * src/vpn-manager/nm-vpn-manager.c
16627                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16628
16629         * vpn-daemons/vpnc/nm-vpnc-service.c
16630                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16631                 - (nm_vpnc_dbus_signal_launch_failed): remove
16632                 - (nm_vpnc_dbus_signal_connect_failed): remove
16633                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16634                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16635                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16636                         for new generalized error signal function, remove config file stuff
16637                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16638                         we can write configuration options to it
16639                 - (nm_vpnc_config_file_generate): removed
16640                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16641                 - (nm_vpnc_config_options_validate): validate the config options we receive
16642                         from NetworkManager to block potential exploits
16643                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16644                         starting vpnc
16645                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16646                         to NetworkManager
16647
16648 2005-05-16  Dan Williams  <dcbw@redhat.com>
16649
16650         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16651                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16652                         is not "connect"
16653
16654 2005-05-16  Dan Williams  <dcbw@redhat.com>
16655
16656         Patch from Tomislav Vujec <tvujec@redhat.com>
16657         * gnome/applet/applet-dbus-info.c
16658                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16659                         GConf and pass them to NetworkManager.  New key is 'routes' under
16660                         the VPN connection, and should be a string list
16661
16662         * src/NetworkManagerSystem.c
16663                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16664                         set them on the device when we set the rest of the VPN config.  Ensure
16665                         they are in the correct format since they are passed directly to the
16666                         command line.
16667
16668         * src/backends/NetworkManagerRedHat.c
16669           src/backends/NetworkManagerDebian.c
16670                 - (nm_system_device_add_route_via_device_with_iface): new function
16671
16672         * src/vpn-manager/nm-dbus-vpn.c
16673                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16674
16675         * src/vpn-manager/nm-vpn-manager.c
16676                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16677                         them into the IP4 config functions
16678
16679 2005-05-15  Dan Williams  <dcbw@redhat.com>
16680
16681         From Filip Miletic:
16682         * po/sr.po
16683           po/sr@Latn.po
16684           configure.in
16685                 - Serbian translation added
16686
16687 2005-05-15  Dan Williams  <dcbw@redhat.com>
16688
16689         * dispatcher-daemon/NetworkManagerDispatcher.c
16690                 - (main): sync arguments with NetworkManager and the applet, now use
16691                         "--no-daemon" rather than "daemon=no"
16692                 - (nmd_print_usage): Fix script path in usage message
16693
16694 2005-05-15  Dan Williams  <dcbw@redhat.com>
16695
16696         * src/NetworkManagerDevice.[ch]
16697           src/NetworkManagerPolicy.c
16698           src/NetworkManager.c
16699           src/nm-dbus-nm.c
16700                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16701                         longer send the DeviceNoLongerActive signal unconditionally, but only
16702                         when the device is actually active.
16703
16704         * dispatcher-daemon/NetworkManagerDispatcher.c
16705                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16706                         and simplify the logic
16707                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16708                         we free it later on
16709
16710         * initscript/RedHat/Makefile.am
16711           initscript/RedHat/NetworkManagerDispatcher
16712                 - Add initscript for NetworkManagerDispatcher
16713
16714
16715         Patch from Bill Moss:
16716         * dispatcher-daemon/NetworkManagerDispatcher.c
16717                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16718
16719         * src/NetworkManagerDbus.c
16720                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16721                         and DeviceNowActive gets signaled, then the device has a new IP address
16722                         anyway.  There's no need for a separate signal.
16723
16724         * src/NetworkManagerDevice.c
16725                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16726
16727         * src/NetworkManagerPolicy.c
16728                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16729                         activates successfully.  This kind of went missing when I reworked the
16730                         activation code.
16731
16732 2005-05-15  Dan Williams  <dcbw@redhat.com>
16733
16734         * configure.in
16735                 - Check for dhcdbd and error if its not found
16736
16737         * src/dhcp-manager/Makefile.am
16738           src/dhcp-manager/nm-dhcp-manager.c
16739                 - Use path to dhcdbd that configure found
16740
16741 2005-05-14  Dan Williams  <dcbw@redhat.com>
16742
16743         * gnome/applet/nm-device.c
16744                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16745                         sort wireless networks alphabetically
16746
16747         * gnome/applet/applet-dbus-devices.c
16748                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16749                         before copying them over to the GUI
16750
16751 2005-05-14  Dan Williams  <dcbw@redhat.com>
16752
16753         * src/NetworkManager.c
16754                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16755                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16756                         the device list, as does nm_get_active_device() which is called from
16757                         nm_vpn_manager_deactivate_vpn_connection().
16758
16759 2005-05-14  Dan Williams  <dcbw@redhat.com>
16760
16761         * NetworkManager.h
16762                 - Add signals for VPN Launch and Connect failures
16763
16764         * gnome/applet/applet-dbus.c
16765                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16766
16767         * gnome/applet/applet.c
16768                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16769                         function to handle all VPN failure messages
16770                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16771                         function to hanlde all VPN failure  messages
16772                 - (show_warning_dialog): work around focus-stealing prevention
16773
16774         * gnome/applet/other-network-dialog.c
16775           gnome/applet/passphrase-dialog.c
16776                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16777                         problem where it never enabled for ASCII Key and Hex Key types
16778
16779         * gnome/applet/wireless-applet.glade
16780                 - Add window title to Other Wireless Network Dialog
16781
16782         * src/vpn-manager/nm-dbus-vpn.c
16783                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16784                         function to handle all VPN failure messages
16785
16786         * src/vpn-manager/nm-vpn-manager.c
16787                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16788
16789         * vpn-daemons/vpnc/nm-vpnc-service.c
16790                 - (nm_vpnc_dbus_signal_launch_failed): new function
16791                 - (nm_vpnc_dbus_signal_connect_failed): new function
16792                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16793                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16794                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16795                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16796
16797 2005-05-11  Dan Williams  <dcbw@redhat.com>
16798
16799         * vpn-daemons/vpnc/nm-vpnc-service.c
16800                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16801                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16802                         file exists before trying to write it out.
16803
16804 2005-05-10  Dan Williams  <dcbw@redhat.com>
16805
16806     * gnome/applet/applet-dbus-device.c
16807         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16808             prevented just entering ESSID and leaving key and key type up to
16809             NetworkManager (which should have them already cached)
16810
16811 2005-05-08  Dan Williams  <dcbw@redhat.com>
16812
16813         * src/NetworkManagerPolicy.c
16814                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16815                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16816                         fix a situation where NM is told to terminate and the device stops activation,
16817                         but the main thread isn't aware of that because it would never have run
16818                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16819                         had already quit.
16820
16821         * src/NetworkManagerDevice.c
16822                 - (nm_device_probe_wired_link_state): cosmetic fixes
16823                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16824                         we've failed to activate or been canceled.
16825                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16826
16827 2005-05-08  Dan Williams  <dcbw@redhat.com>
16828
16829         * src/NetworkManagerWireless.c
16830                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16831                         value of WEXT quality structures, and add a debug message when we cannot
16832                         determine any quality % at all
16833
16834 2005-05-08  Dan Williams  <dcbw@redhat.com>
16835
16836         * src/dhcp-manager/nm-dhcp-manager.c
16837                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16838                         it goes down.
16839
16840 2005-05-06  Dan Williams  <dcbw@redhat.com>
16841
16842         * gnome/applet/applet-dbus-device.c
16843           gnome/applet/applet-dbus-info.c
16844           gnome/applet/applet-dbus.c
16845           gnome/applet/applet.c
16846           gnome/applet/applet.h
16847                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16848
16849         * gnome/applet/applet-dbus.c
16850                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16851                         so we notice when wired device's carriers come back on.  Should
16852                         fix issue with wired devices being grayed out even if the cable
16853                         is in, for devices that support carrier detection.
16854
16855         * gnome/applet/applet.c
16856                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16857                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16858                         tooltip message
16859                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16860                         Fix situation where applet wouldn't respond to menu selections
16861
16862         * src/NetworkManager.c
16863           src/NetworkManagerDevice.c
16864           src/NetworkManagerDbus.c
16865           src/NetworkManagerDbus.h
16866                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16867
16868         * src/NetworkManagerDbus.c
16869                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16870                         Remove, no longer used or relevant
16871                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16872                 - (nm_dbus_schedule_device_status_change_signal): add
16873
16874         * src/NetworkManagerDevice.c
16875                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16876                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16877                         ie don't deactivate them unless explicitly told to by the user.  Also send
16878                         CARRIER_OFF / CARRIER_ON signals when link changes
16879                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16880                         Don't print error message when device is no longer around
16881                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16882                         not just during activation
16883
16884         * src/NetworkManagerPolicy.c
16885                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16886                         auto-device-selection.
16887                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16888
16889         * src/NetworkManagerSystem.c
16890                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16891                         is no longer present (Bill Moss)
16892
16893         * src/backends/shvar.c
16894                 - (svOpenFile): Open read-only to make SELinux happy
16895
16896         * src/backends/NetworkManagerRedHat.c
16897                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16898                         the path to the ifcfg-* files
16899
16900 2005-05-05  Dan Williams  <dcbw@redhat.com>
16901
16902         * Expose activation stages to NetworkManager clients, like the applet
16903         * Add Diana's progress icons to the applet, cued off NM activation stage
16904         * Use more descriptive tooltips, cued off NM activation stage
16905
16906 2005-05-05  Ray Strode  <rstrode@redhat.com>
16907
16908         * src/nm-netlink-monitor.c:
16909                 - Use clear_event_source instead of g_nullify_pointer() again.
16910
16911 2005-05-05  Dan Williams  <dcbw@redhat.com>
16912
16913         * gnome/applet/main.c
16914                 - Fix session management so the applet is actually managed now
16915
16916         * gnome/applet/passphrase-dialog.c
16917                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16918
16919 2005-05-05  Dan Williams  <dcbw@redhat.com>
16920
16921         Patch from Bill Moss:
16922         * gnome/libnm_glib/libnm_glib.c
16923                 - Fix for dbus-0.33
16924
16925 2005-05-05  Dan Williams  <dcbw@redhat.com>
16926
16927         Suggestion from Bill Moss:
16928         * src/NetworkManagerSystem.c
16929                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16930
16931
16932         * src/NetworkManager.c
16933                 - (nm_data_free): move destruction of the various managers after
16934                         release of device list, because deactivating and freeing a device
16935                         requires at least the named manager
16936                 - (nm_poll_and_update_wireless_link_state):
16937                   (nm_device_link_activated):
16938                   (nm_device_link_deactivated):
16939                         don't grab the device list lock when actually updating device
16940                         link status or strength, since nm_device_set_link_active()
16941                         needs to call nm_get_active_device(), which also locks the device list.
16942
16943         * src/NetworkManagerDevice.c
16944                 - (nm_device_set_link_active): if a device's link switches from off->on,
16945                         and it's wired, and the active device is wireless (or there is no
16946                         active device), activate the new device whose link just came on
16947                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16948                         my only calling the link to the current ap "failed" when more than 2
16949                         consecutive link checks have failed
16950
16951 2005-05-04  Dan Williams  <dcbw@redhat.com>
16952
16953         * src/NetworkManagerDevice.c
16954                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16955                         but let link_to_specific_ap() do the locking where it needs
16956
16957         Patch from Bill Moss:
16958         * src/NetworkManagerSystem.c
16959                 - Set MTU of VPN devices to 1412
16960
16961 2005-05-04  Dan Williams  <dcbw@redhat.com>
16962
16963         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16964
16965         * Fix some holes in device activation and retaining the currently connected
16966                 access point
16967
16968 2005-05-03  Dan Williams  <dcbw@redhat.com>
16969
16970         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16971           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16972           means you need dhcdbd, which you can get here (get the latest one):
16973
16974                 http://people.redhat.com/jvdias/dhcdbd/
16975
16976           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16977           interface as dhcdbd.
16978
16979         * Rewrite device activation to facilitate the new DHCP infrastructure and
16980           future improvements.  Its now "activation request" based, ie there is a single
16981           activation request composed of the device, access point, and other info which
16982           follows the entire activation process.  There are 5 stages of the activation
16983           process which correspond to:
16984
16985                 1) Device preparation
16986                 2) Device configuration (bring it up, set ESSID/Key/etc)
16987                 3) IP Config Start (fire off DHCP if we're using it)
16988                 4) IP Config Get (grab config from DHCP or static config files)
16989                 5) IP Config Commit (set device's IP address, DNS, etc)
16990
16991           Note that there is no longer a "scanning" step, since the access point must
16992           be known _before_ activation starts.  If the access point drops out or does
16993           not exist for some reason, the entire activation process fails and must be
16994           restarted for a different access point or device.
16995
16996         Patch from Bill Moss:
16997         * gnome/applet/applet.c
16998                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16999
17000 2005-04-27  Dan Williams  <dcbw@redhat.com>
17001
17002         * gnome/applet/applet-dbus-vpn.c
17003           gnome/applet/applet.c
17004           gnome/applet/applet.h
17005                 - Fix up active VPN handling so that we reliably know when a VPN
17006                         connection has been deactivated
17007
17008         * src/vpn-manager/nm-vpn-manager.c
17009                 - Remove duplicate VPNConnectionChange signal
17010
17011 2005-04-27  Dan Williams  <dcbw@redhat.com>
17012
17013         Patch from Peter Jones:
17014         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17015
17016         Patch from Bill Moss:
17017         * src/NetworkManagerSystem.c
17018                 - Fix checking of return value from ioctl()
17019
17020 2005-04-27  Dan Williams  <dcbw@redhat.com>
17021
17022         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17023         * Warn and exit if icons cannot be found
17024
17025 2005-04-27  Dan Williams  <dcbw@redhat.com>
17026
17027         Patch from Tom Parker:
17028         * Update debian backend
17029
17030 2005-04-27  Dan Williams  <dcbw@redhat.com>
17031
17032         * Merge the applet and the info-daemon, and move the converged
17033                 applet under gnome/applet
17034         * Move libnm_glib to gnome/libnm_glib
17035         * Convert most dbus calls between the applet, info-daemon, and NM
17036                 into async calls
17037         * Fix a few things valgrind noticed
17038         * Make NM broadcast state more reliably
17039
17040 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17041
17042         * configure.in: Added ne in ALL_LINGUAS
17043
17044 2005-04-15  Dan Williams  <dcbw@redhat.com>
17045
17046         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17047                 code for dbus 0.2x versions
17048
17049 2005-04-15  Dan Williams  <dcbw@redhat.com>
17050
17051         Patches from Tom Parker:
17052         - Fix memleaks
17053         - Join with worker thread rather than polling for its exit
17054
17055         Patch from Bill Moss:
17056         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17057
17058 2005-04-15  Dan Williams  <dcbw@redhat.com>
17059
17060         - Fixes to pass 'make distcheck'
17061
17062 2005-04-15  Dan Williams  <dcbw@redhat.com>
17063
17064         Initial VPN Support
17065                 - supports 'vpnc'
17066                 - reworks device IP configuration, backend files have changed and will need
17067                         to be updated for all distributions.  I will try to do what I can for
17068                         them, but I cannot test them.
17069
17070         - Move named directory to src/named-manager
17071         - Make backends directory self-contained
17072
17073 2005-04-06  Dan Williams  <dcbw@redhat.com>
17074
17075         Add debug code for socket/file descriptor leaks.  We register every socket
17076         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17077         list of sockets that we forgot to close on shutdown.  This also consolidates
17078         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17079
17080 2005-04-06  Dan Williams  <dcbw@redhat.com>
17081
17082         * dhcpcd/dhcpcd.c
17083                 - (dhcp_interface_free): fix a file descriptor leak that may have
17084                         caused network drivers to not unload due to refcounts > 0
17085
17086 2005-04-04  Dan Williams  <dcbw@redhat.com>
17087
17088         * panel-applet/NMWirelessAppletDbus.c
17089                 - (nmwa_dbus_call_nm_method): remove some commented code
17090
17091         * src/NetworkManagerAPList.[ch]
17092                 - (nm_ap_list_remove_ap_by_essid): new function
17093
17094         * src/NetworkManagerDevice.c
17095                 - (nm_device_wireless_force_use): remove access points from the ignore list
17096                         when the user forces them
17097
17098         * src/nm-dbus-device.c
17099                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17100
17101 2005-04-04  Dan Williams  <dcbw@redhat.com>
17102
17103         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17104
17105 2005-04-04  Dan Williams  <dcbw@redhat.com>
17106
17107         * src/NetworkManagerDevice.c:
17108                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17109                         of only erroring after the second consecutive scan times out.  Also
17110                         don't exit when the card requires more time than we can give it, just
17111                         log the event and continue.
17112
17113 2005-04-01  Steve Murphy  <murf@e-tools.com>
17114
17115         * configure.in: Added "rw" to ALL_LINGUAS.
17116
17117 2005-04-01  Dan Williams <dcbw@redhat.com>
17118
17119         Perform scans during device activation, if needed.  Both activation 
17120         and scans run in the same GMainContext.  Therefore, if an access point
17121         is not found by the time the device starts activation, it will not
17122         be available until after activation.  We now try to scan during
17123         activation (in nm_wa_test) every 15s so that all available access
17124         points are more likely to be found and available for the activation
17125         procedure.
17126
17127         Also change nm_wireless_link_state_handle() to only update the "best"
17128         AP if we are not forcing a device and if we are not about to change
17129         state.  This attempts to work around a race when forcing a device,
17130         where the forced AP would get cleared out too soon by the link state
17131         checking timeout in the main thread, and the activation attempt with
17132         that AP would fail.
17133
17134 2005-04-01  Dan Williams <dcbw@redhat.com>
17135
17136         * po/POTFILES.in
17137                 - Update with new translatables
17138
17139 2005-03-31  Dan Williams <dcbw@redhat.com>
17140
17141         * panel-applet/NMWirelessAppletDbus.c
17142                 - Fix device names now that hal has changed device parenting for
17143                         network devices.
17144
17145 2005-03-31  Dan Williams <dcbw@redhat.com>
17146
17147         Tighten up handling of wireless devices that don't support wireless
17148         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17149         hadn't been doing pseudo-scanning for a while either and would just
17150         spin waiting for an access point.  They are now manual devices where
17151         the user must choose the access point from the menu every time.  All
17152         "allowed" access points are listed in the applet's menu regardless
17153         of whether or not they can be seen by the card, since it can't scan
17154         anyway.
17155
17156         * src/NetworkManager.c
17157                 - (nm_wireless_link_state_handle): new function, but only update
17158                         the "best" ap for non-scanning devices when its not activating,
17159                         and when no device is being forced on the card
17160                 - (nm_link_state_monitor): split wireless link state handling out
17161                         into separate function
17162
17163         * src/NetworkManagerDevice.c
17164                 - (nm_device_copy_allowed_to_dev_list): new function
17165                 - (nm_device_new): populate non-scanning cards' AP lists with
17166                         access points from the "allowed" list
17167                 - (nm_device_new): don't start a scanning timeout for devices that
17168                         can't scan
17169                 - (nm_device_activation_schedule_finish): new parameter, should be
17170                         the AP that failed to be connected to, pass it on to the
17171                         activation finish function in NetworkManagerPolicy.c
17172                 - (nm_device_activate_wireless): don't ever try to get a new AP
17173                         for non-scanning devices, just fail.  The user must choose
17174                         a new access point manually.
17175                 - (nm_device_activate): grab the AP that failed connection and
17176                         pass it on
17177                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17178                         a link to it, user must manually choose a new one
17179                 - (nm_device_do_pseudo_scan): remove function
17180                 - (nm_device_wireless_process_scan_results): remove bits for non-
17181                         scanning cards since they never get here
17182                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17183                         and fake the scan list for test devices a bit earlier
17184
17185         * src/NetworkManagerPolicy.c
17186                 - (nm_policy_activation_finish): use the failed_ap that we get
17187                         passed rather than getting the best_ap from the card, which
17188                         may have changed since we were scheduled
17189                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17190                         update their scan list directly from the allowed list when
17191                         we get updates to the allowed list from NetworkManagerInfo
17192
17193         * src/NetworkManagerPolicy.h
17194                 - New member for failed access point in NMActivationResult
17195
17196   -------------------------------------
17197
17198         Driver Notification patch: notifies the user when their driver
17199                 sucks.  Gives them the option to ignore further insertions
17200                 of the card that has the sucky driver.
17201
17202         * NetworkManager.h
17203                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17204                         enum and replace it with NO_CARRIER_DETECT and
17205                         NO_WIRELESS_SCAN
17206
17207         * panel-applet/NMWirelessApplet.[ch]
17208                 - Merge essid.glade -> wireless-applet.glade
17209                 - Implement the "Your driver sucks" notification dialog
17210
17211         * panel-applet/NMWirelessAppletDbus.c
17212                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17213                 - Grab hardware address for each device from NM too
17214                 - Check whether the driver for each device sucks or not whenever
17215                         a new device is noticed
17216
17217         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17218                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17219
17220         * src/NetworkManager.c
17221                 - Fix a double-unref on device removal
17222
17223         * src/NetworkManagerUtils.c
17224                 - Set appropriate driver support level on a device that doesn't
17225                         support scanning or carrier detection
17226
17227         * src/nm-dbus-device.c
17228                 - New "getHWAddress" dbus method on devices
17229                 - getSupportsCarrierDetect -> getDriverSupportLevel
17230
17231 2005-03-31  Dan Williams <dcbw@redhat.com>
17232
17233         * src/NetworkManagerDevice.c
17234                 - (nm_device_wireless_scan): Fix leak of scan results in some
17235                         instances
17236
17237 2005-03-29  Dan Williams <dcbw@redhat.com>
17238
17239         * src/NetworkManager.c
17240                 - (nm_poll_and_update_wireless_link_state): make code less indented
17241
17242         Patch from Bill Moss:
17243         * src/NetworkManager.c
17244                 - (nm_device_update_link_state): Update signal strength on wireless
17245                         devices every time we update link state too.
17246
17247 2005-03-29  Dan Williams <dcbw@redhat.com>
17248
17249         * src/NetworkManagerDevice.c
17250                 - (nm_device_set_essid): Work around Orinoco cards which need
17251                         extra time after setting the ESSID
17252
17253 2005-03-29  Dan Williams <dcbw@redhat.com>
17254
17255         * src/NetworkManagerDevice.c
17256                 - Merge one more bit of Peter Jones' completion patch
17257
17258 2005-03-29  Dan Williams <dcbw@redhat.com>
17259
17260         * src/NetworkManagerDevice.c
17261                 - (nm_device_force_use): Fix possible segfault
17262
17263 2005-03-29  Dan Williams <dcbw@redhat.com>
17264
17265         * src/NetworkManagerDevice.c
17266                 - Use iw_get_ext() where we should rather than iw_set_ext()
17267
17268 2005-03-29  Dan Williams <dcbw@redhat.com>
17269
17270         * src/NetworkManagerDevice.c
17271                 - (nm_device_set_up_down): remove check for unsupported devices
17272                         that caused NM to not bring devices up when they were
17273                         added to the device list.
17274
17275 2005-03-28  Dan Williams <dcbw@redhat.com>
17276
17277         * src/NetworkManagerDevice.c
17278                 - (mdio_read): Fix two bugs that caused all devices to fail
17279                         the MII carrier detection support checks
17280
17281 2005-03-26  Dan Williams <dcbw@redhat.com>
17282
17283         * src/NetworkManagerDevice.c
17284                 - (nm_device_wireless_scan): Remove duplicated scanning code
17285
17286 2005-03-25  Dan Williams <dcbw@redhat.com>
17287
17288         * panel-applet/NMWirelessApplet.c
17289                 - (nmwa_about_cb): Add some more contributors
17290                 - (nmwa_update_state): show the applet when there's no connection
17291                 - Enable the "Stop/Resume all wireless devices" option in the
17292                         context menu
17293                 - New "no connection" icon
17294
17295         * src/NetworkManager.c
17296                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17297                         wireless is disabled or we're asleep
17298
17299         * src/NetworkManagerDHCP.c
17300                 - Remove trailing "\n" on debug messages
17301
17302         * src/NetworkManagerDbus.c
17303                 - (nm_dbus_network_status_from_data): new state "asleep"
17304
17305         * src/NetworkManagerDevice.c
17306                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17307                         latency and wait times for most operations
17308                 - (nm_device_wireless_scan): Don't scan when asleep
17309
17310         * src/NetworkManagerPolicy.c
17311                 - (nm_policy_get_best_device): return no device when asleep
17312                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17313                         for all wireless devices on update, not just active device
17314
17315         * src/NetworkManagerUtils.c
17316                 - Merge Peter Jones' "completion" patch
17317
17318         * src/nm-dbus-nm.c
17319                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17320                         we're told to disable them
17321                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17322
17323         * utils/nm-utils.h
17324                 - New variants of the warn/info/error/debug print functions that can take
17325                         variables rather than static strings
17326
17327 2005-03-24  Dan Williams <dcbw@redhat.com>
17328
17329         * src/NetworkManagerUtils.c
17330                 - (nm_get_device_driver_name): driver names are now on the parents of
17331                         "Network Interface" objects, so look for them there
17332
17333 2005-03-24  Dan Williams <dcbw@redhat.com>
17334
17335         * test/nmtest.c
17336                 - Escape some forgotten object paths before we shove them through dbus
17337
17338 2005-03-24  Dan Williams <dcbw@redhat.com>
17339
17340         * dhcpcd/dhcpcd.[ch]
17341           src/NetworkManagerDHCP.c
17342                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17343                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17344
17345         * src/NetworkManagerDbus.c
17346                 - spacing cleanups
17347
17348         * src/nm-dbus-dhcp.c
17349                 - Make the API suck less.  There is now only 1 type of each function,
17350                         ie only "getInteger" and no longer also "getIntegerv".  All types
17351                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17352                         that will never have more than 1 element.  This should simplify
17353                         things greatly.
17354
17355         * test/nm-dhcp-opt-test.c
17356                 - Make the tool not segfault
17357                 - adapt to new DHCP Options API
17358
17359 2005-03-22  Dan Williams <dcbw@redhat.com>
17360
17361         * src/NetworkManager.c
17362                 - (nm_wired_link_deactivated): actually ignore netlink events from
17363                         wireless devices.
17364
17365 2005-03-22  Dan Williams <dcbw@redhat.com>
17366
17367         * src/NetworkManager.c
17368                 - (nm_wired_link_activated): actually ignore netlink events from
17369                         wireless devices.
17370
17371 2005-03-17  Dan Williams <dcbw@redhat.com>
17372
17373         Patch from Tom Parker:
17374         * src/nm-netlink-monitor.c
17375                 - Include unistd.h
17376         * info-daemon/NetworkManagerInfoDbus.c
17377                 - (nmi_dbus_update_network_auth_method): free GConf values
17378
17379         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17380         * src/NetworkManagerDevice.c
17381                 - (nm_device_set_wireless_config): wait for successful
17382                         association longer for some cards (Atheros a/b/g)
17383
17384 2005-03-15  Ray Strode  <rstrode@redhat.com>
17385
17386         * src/NetworkManager.c:
17387         (sigterm_pipe_handler):
17388         remove bogus FIXME
17389
17390 2005-03-15  Ray Strode  <rstrode@redhat.com>
17391
17392         * src/NetworkManagerDbus.c:
17393         Fix some sign weirdness that gcc4 doesn't like,
17394         and add a header file so PPC can hopefully find
17395         SIGTRAP
17396
17397 2005-03-14  Ray Strode  <rstrode@redhat.com>
17398         
17399         Fourth (probably working) cut at porting to
17400         dbus 0.30 api and new hal. This cut adds
17401         some new logging macros to make debugging
17402         easier.
17403
17404         * dispatcher-daemon/NetworkManagerDispatcher.c:
17405         * info-daemon/NetworkmanagerInfo.c:
17406         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17407         * info-daemon/NetworkManagerInfoVPN.c:
17408         * src/NetworkManager.c:
17409         * src/NetworkManagerAP.c:
17410         * src/NetworkManagerAPList.c:
17411         * src/NetworkManagerDHCP.c:
17412         * src/NetworkManagerDbus.c:
17413         * src/NetworkManagerDevice.c:
17414         * src/NetworkManagerPolicy.c:
17415         * src/NetworkManagerSystem.c:
17416         * src/NetworkManagerUtils.c:
17417         * src/NetworkManagerWireless.c:
17418         * src/autoip.c:
17419         * src/nm-dbus-nm.c:
17420         * src/backends/NetworkManagerDebian.c:
17421         * src/backends/NetworkManagerGentoo.c:
17422         * src/backends/NetworkManagerRedHat.c:
17423         * src/backends/NetworkManagerSlackware.c:
17424         use new logging macros.
17425
17426         * dispatcher-daemon/NetworkManagerDispatcher.c:
17427         (nmd_dbus_filter): s/dbus_free/g_free/
17428
17429         * info-daemon/Makefile.am: link in utils library.
17430         * info-daemon/NetworkmanagerInfo.c: use new logging 
17431         macros.
17432         (nmi_dbus_get_network): don't assume enumerations
17433         are 32-bit.
17434         (nmi_dbus_nmi_message_handler): don't free what 
17435         doesn't belong to us.
17436
17437         * libnm_glib/libnm_glib.c:
17438         (libnm_glib_get_nm_status): 
17439         (libnm_glib_init): don't free what doesn't
17440         belong to us.
17441         (libnm_glib_dbus): strdup result, so it doesn't get
17442         lost when message is unref'd.
17443
17444         * panel-applet/NMWirelessAppletDbus.c:
17445         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17446
17447         * src/NetworkManager.c:
17448         (nm_monitor_wired_link_state): request initial status 
17449         dump of all cards when we start up, instead of relying
17450         on /sys/.../carrier.
17451         (nm_info_handler), (nm_set_up_log_handlers): 
17452         log handlers to specify what syslog priorites 
17453         the logging macros default to.
17454
17455         * src/NetworkManagerAPList.c: 
17456         (nm_ap_list_populate_from_nmi):
17457         s/dbus_free_string_array/g_strfreev/
17458
17459         * src/NetworkManagerDbus.c:
17460         (nm_dbus_get_network_object):
17461         validate d-bus message argument types.
17462         Advance message iterator after reading argument,
17463         prepend instead of append to GSList.
17464
17465         * src/NetworkManagerDevice.c:
17466         (nm_device_probe_wired_link_status):
17467         remove redundant /sys in /sys path. remove wrong
17468         contents == NULL means has carrier assumption.
17469
17470         * src/nm-netlink-monitor.c 
17471         (nm_netlink_monitor_request_status): implement
17472         function to ask kernel to dump interface link
17473         status over netlink socket.
17474
17475         * test/*.c: s/dbus_free/g_free/
17476
17477         * utils/nm-utils.h:
17478         (nm_print_backtrace): new macro to print backtrace.
17479         (nm_get_timestamp): new macro to get sub-second precise
17480         unix timestamp.
17481         (nm_info), (nm_debug), (nm_warning), (nm_error):
17482         new logging functions. nm_info just prints,
17483         nm_debug includes timestamp and function,
17484         nm_warning includes function, nm_error includes
17485         backtrace and sigtrap.
17486
17487 2005-03-11  Ray Strode  <rstrode@redhat.com>
17488
17489         Third (unfinished, partially working) cut at porting to 
17490         dbus 0.30 api and new hal.
17491
17492         * info-daemon/NetworkManagerInfoDbus.c:
17493                 don't free null arrays.
17494
17495         * panel-applet/NMWirelessAppletDbus.c: 
17496         * src/nm-dbus-device.c:
17497         * src/nm-dbus-net.c: 
17498         * src/NetworkManagerDbus.c: more 
17499         STRING -> OBJECT_PATH fun
17500         * src/NetworkManagerDevice.c:
17501         * src/NetworkManagerDevice.h:
17502         (rename nm_device_get_link_active): rename to 
17503         nm_device_has_active_link
17504         (nm_device_wireless_link_active): rename to
17505         nm_device_probe_wireless_link_state
17506         (nm_device_wired_link_active): rename to
17507         nm_device_probe_wired_link_state.  Rewrite to
17508         use carrier file since hal doesn't maintain
17509         link state anymore.
17510         (nm_device_update_link_active): rename to
17511         nm_device_update_link_state
17512         * src/NetworkManagerPolicy.c 
17513           (nm_policy_activation_finish): check for NULL
17514           MAC address.
17515
17516         * src/Makefile.am:
17517         * src/NetworkManagerMain.h: 
17518         * src/NetworkManager.c:
17519         * src/nm-netlink-monitor.c:
17520         * src/nm-netlink-monitor.h: New class to support
17521         monitoring wired ethernet link status, since HAL
17522         doesn't export that information anymore.
17523
17524 2005-03-09  Ray Strode  <rstrode@redhat.com>
17525
17526         Second (unfinished, unworking) cut at porting to 
17527         dbus 0.30 api.
17528
17529         * dispatcher-daemon/NetworkManagerDispatcher.c:
17530         * info-daemon/NetworkManagerInfoDbus.c:
17531         * panel-applet/NMWirelessAppletDbus.c:
17532         * src/NetworkManagerDbusUtils.c:
17533         * src/NetworkManagerDbusUtils.h:
17534         * src/nm-dbus-device.c:
17535         * src/nm-dbus-nm.c:
17536         * test/nmtest.c: support dbus "object path" type
17537
17538         * configure.in: 
17539         * Makefile.am:
17540         * info-daemon/Makefile.am:
17541         * libnm_glib/Makefile.am:
17542         * panel-applet/Makefile.am:
17543         * dispatcher-daemon/Makefile.am
17544         * src/Makefile.am:
17545         * test/Makefile.am:
17546         * utils/Makefile.am: 
17547         * utils/nm-utils.c: 
17548         * utils/nm-utils.h: new utils static lib
17549
17550 2005-03-07  Ray Strode  <rstrode@redhat.com>
17551
17552         * info-daemon/NetworkManagerInfoDbus.c:
17553         * libnm_glib/libnm_glib.c:
17554         * panel-applet/NMWirelessAppletDbus.c:
17555         * src/NetworkManager.c:
17556         * src/NetworkManagerDbus.c:
17557         * src/NetworkManagerDevice.c:
17558         * src/NetworkManagerUtils.c:
17559         * src/nm-dbus-device.c:
17560         * src/nm-dbus-dhcp.c:
17561         * src/nm-dbus-net.c:
17562         * src/nm-dbus-nm.c:
17563         * test/nminfotest.c:
17564         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17565
17566 2005-03-04  Dan Williams  <dcbw@redhat.com>
17567
17568         * configure.in
17569                 - Mark HEAD as 0.4
17570
17571 2005-03-04  Dan Williams  <dcbw@redhat.com>
17572
17573         Patch from Peter Jones:
17574         - Make stuff work with gcc 4.0
17575
17576 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17577
17578         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17579
17580 2005-02-27  Jim Huang  <jserv@kaffe.org>
17581
17582         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17583
17584 2005-02-27  Dan Williams  <dcbw@redhat.com>
17585
17586         Patch from Bill Moss:
17587         * panel-applet/NMWirelessAppletDbus.c
17588                 - Make sure strength for current access point is up-to-date when we
17589                         update the gui data model
17590
17591 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17592
17593         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17594
17595 2005-02-27  Dan Williams  <dcbw@redhat.com>
17596
17597         * src/backends/NetworkManagerRedHat.c
17598                 - (nm_system_init): Kill any dhclient processes lying around as well
17599                         as stopping 'nifd' if its already been started.  NetworkManager
17600                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17601
17602 2005-02-27  Dan Williams  <dcbw@redhat.com>
17603
17604         * panel-applet/NMWirelessApplet.c
17605                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17606                         dbus data model, not the GUI data model twice.
17607
17608 2005-02-27  Dan Williams  <dcbw@redhat.com>
17609
17610         * panel-applet/NMWirelessApplet.[ch]
17611           panel-applet/NMWirelessAppletDbus.[ch]
17612                 - Move to incremental network updates.  Instead of blowing away our list
17613                         of devices every time we get a signal from NetworkManager, we now
17614                         incrementally add/remove networks when NetworkManager notifies us that
17615                         a new network has appeared or disappered.  Strength updates now happen
17616                         on-the-fly for each access point as well.  There are now two copies of
17617                         data from NetworkManager: one for the dbus side, and one for the gui side.
17618                         When the dbus side data is modified, it is copied over to the gui side
17619                         so we don't have to hold the data_mutex for long periods of time (and
17620                         therefore block animation of the applet's icon).
17621                 - Clean up some memleaks too
17622
17623         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17624                 - Minor code beautification
17625
17626         * src/NetworkManagerAPList.c
17627                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17628                         completely new and whether or not an existing one's strength was updated.
17629                         Try to fix multiple access points and signal strength by using the highest
17630                         signal strength in each scan for any given ESSID.
17631
17632         * src/NetworkManagerDbus.[ch]
17633                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17634                         wireless networks; now we have only WirelessNetworkUpdate which includes
17635                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17636                 - Kill usage of DbusMessageIter
17637
17638         * src/NetworkManagerDevice.c
17639                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17640                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17641                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17642                         currently associated with from the network list.
17643                 - Update for new signals during scan, send out Appeared, Disappeared, or
17644                         StrengthChanged when necessary.
17645
17646 2005-02-25  Dan Williams  <dcbw@redhat.com>
17647
17648         * README
17649                 - Line break the README
17650
17651 2005-02-25  Dan Williams  <dcbw@redhat.com>
17652
17653         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17654                 - Remove usage of gtk_window_set_default_size()
17655
17656         * panel-applet/essid.glade
17657                 - Stick default size here
17658                 - Add in random crap that current glade wants to add in now
17659
17660 2005-02-25  Dan Williams  <dcbw@redhat.com>
17661
17662         * src/backends/NetworkManagerRedHat.c
17663                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17664                         and that we actually tell nscd to reload the hosts cache when it changes
17665
17666 2005-02-25  Dan Williams  <dcbw@redhat.com>
17667
17668         * info-daemon/NetworkManagerInfoDbus.c
17669                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17670
17671         * test/nminfotest.c
17672                 - Whack usage of DbusMessageIter
17673                 - Clean up DbusError and DbusMessage handling and freeing
17674                 - Remove unused unregister handler
17675
17676         * test/nmtest.c
17677                 - Whack usage of DbusMessageIter
17678
17679         * test/nmtestdevices.c
17680                 - Whack usage of DbusMessageIter
17681
17682 2005-02-25  Dan Williams  <dcbw@redhat.com>
17683
17684         * NetworkManager.h
17685                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17686                         signal
17687
17688 2005-02-25  Dan Williams  <dcbw@redhat.com>
17689
17690         * named/nm-named-manager.c
17691                 - Ensure that pid and watch variables for child named process get cleared out
17692                         when the child goes away.
17693
17694 2005-02-22  Dan Williams  <dcbw@redhat.com>
17695
17696         * src/NetworkManagerPolicy.c
17697                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17698                         and NULL out data->active_device so that we have to choose another one.
17699                         This may make NetworkManager keep attempting to connect to a wired network
17700                         if it fails, but if it keeps failing the wired network has more problems than
17701                         just NetworkManager.
17702
17703         * src/backends/NetworkManagerRedHat.c
17704                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17705                         is already running
17706
17707         * named/nm-named-manager.c
17708                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17709                         named so that the distro can flush whatever name service caching
17710                         daemon it uses
17711
17712 2005-02-21  Dan Williams  <dcbw@redhat.com>
17713
17714         * src/NetworkManagerDHCP.[ch]
17715                 - (nm_device_dhcp_remove_timeouts): new function
17716
17717         * src/NetworkManagerDevice.c
17718                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17719                         remove the DHCP timeouts.
17720
17721 2005-02-21  Dan Williams  <dcbw@redhat.com>
17722
17723         * panel-applet/NMWirelessApplet.[ch]
17724           panel-applet/menu-info.[ch]
17725                 - Give the panel applet some major love: menu items are no longer
17726                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17727                         This allows the applet to actually reflect theme changes correctly,
17728                         since themeing of subclassed items in GTK _sucks_.
17729
17730 2005-02-18  Dan Williams  <dcbw@redhat.com>
17731
17732         * libnm_glib/libnm_glib.[ch]
17733           test/libnm_glib_test.c
17734                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17735                         and its data, and doesn't have to free the callback data anymore
17736
17737 2005-02-18  Dan Williams  <dcbw@redhat.com>
17738
17739         * panel-applet/NMWirelessApplet.c
17740                 - Revert 2005-02-18 William Jon McCann fix for standard
17741                         copyright string until it passes 'make distcheck'.
17742                         With standard copyright string, xgettext complains
17743                         about "Non-ASCII string at ...".
17744
17745 2005-02-18  Dan Williams  <dcbw@redhat.com>
17746
17747         * panel-applet/essid.glade
17748           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17749                 - Correct spelling of "adaptor"->"adapter"
17750
17751 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17752
17753         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17754         (nmwa_about_cb): Use standard copyright string.  Update comment
17755         text to reflect that it is a notification area applet.  Remove
17756         leading newline in authors list.
17757         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17758         instead of on parent menu item activation.  Fixes #167550.
17759
17760 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17761
17762         * panel-applet/essid.glade: Capitalize items as per HIG.
17763           Fixes #167632
17764
17765 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17766
17767         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17768         files for GTK 2.4 or lower, since now public in GTK 2.6.
17769
17770         * panel-applet/essid.glade: Don't specify window size.
17771         
17772 2005-02-17  Dan Williams  <dcbw@redhat.com>
17773
17774         Caught by Bill Moss:
17775         * dhcpcd/client.c
17776                 - Time remaining for DHCP transaction calculation was incorrectly
17777                         inside a #ifdef DEBUG
17778
17779 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17780
17781         * configure.in: Added fr (French) to ALL_LINGUAS.
17782
17783 2005-02-14  Dan Williams  <dcbw@redhat.com>
17784
17785         * src/NetworkManagerDHCP.c
17786                 - (set_domain_searches): Fix free of invalid pointer
17787
17788 2005-02-14  Dan Williams  <dcbw@redhat.com>
17789
17790         Patch from Peter Jones:
17791         * dhcpcd/client.c
17792                 - Ensure we return RET_DHCP_CEASED everywhere we should
17793         * dhcpcd/udpipgen.c
17794                 - Use faster TOS for IP packets
17795                 - Don't set ip_id since we're UDP
17796
17797         Patch from Tomislav Vujec:
17798         * src/nm-dbus-dhcp.c
17799           test/nm-dhcp-opt-test.c
17800                 - Clean up warnings to enable cvs tree compilation.
17801
17802 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17803
17804         * configure.in
17805           po/hr.po
17806                 - Add the Croatian locale.
17807
17808 2005-02-14  Colin Walters  <walters@verbum.org>
17809
17810         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17811         list of domains to search.
17812         
17813         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17814
17815 2005-02-13  Dan Williams  <dcbw@redhat.com>
17816
17817         * dhcpcd/client.c
17818                 - Debug output cleanups of DHCP option printing and parsing.
17819
17820 2005-02-13  Dan Williams  <dcbw@redhat.com>
17821
17822         Patch from Dan Reed:  DHCP options D-BUS API
17823                 Exposes the DHCP options that a device receives to clients over D-BUS.
17824
17825         * configure.in
17826                 - A few cleanups
17827
17828         * dhcpcd/client.h
17829                 - Correct names, option length, and types for DHCP options
17830
17831         * dhcpcd/dhcpcd.[ch]
17832                 - Clarify function names that access DHCP options & data
17833
17834         * src/NetworkManagerDHCP.c
17835                 - Use new DHCP data access functions
17836
17837         * src/NetworkManagerDbus.c
17838                 - Message handler for DHCP functions
17839
17840         * src/nm-dbus-dhcp.[ch] (new)
17841                 - DHCP dbus methods
17842
17843         * test/nm-dhcp-opt-test.c
17844                 - Test DHCP D-BUS API and return all present DHCP options
17845
17846 2005-02-12  Dan Williams  <dcbw@redhat.com>
17847
17848         * test/Makefile.am
17849           test/nmclienttest.c
17850           test/nmtest.c
17851                 - Move nmclienttest.c -> nmtest.c
17852
17853 2005-02-12  Dan Williams  <dcbw@redhat.com>
17854
17855         * dhcpcd/buildmsg.c
17856                 - Pad DHCP packets until they are at least 300 bytes in size.
17857
17858 2005-02-11  Dan Williams  <dcbw@redhat.com>
17859
17860         * dhcpcd/client.c
17861                 - (dhcp_init): only print out client ID and class ID if they are specified
17862
17863         * src/NetworkManagerDbus.[ch]
17864           src/nm-dbus-nm.[ch]
17865           src/nm-dbus-device.[ch]
17866           src/nm-dbus-net.[ch]
17867                 - Move NM, Device, and Net functions to separate files and use the
17868                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17869                         method dispatching
17870
17871         * src/NetworkManagerDbusUtils.c
17872                 - Add new validate_method called before each dispatch (if present)
17873                         that can validate the method call
17874
17875         * src/NetworkManagerWireless.c
17876                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17877                         levels never to be evaluated
17878
17879         Patch from j@bootlab.org
17880         * src/NetworkManagerDevice.c
17881                 - Add typedef for "u64"
17882
17883         * src/backends/NetworkManagerDebian.c
17884                 - Copy in Dave Woodhouse's fixes for IPv6
17885
17886 2005-02-11  Dan Williams  <dcbw@redhat.com>
17887
17888         Patch from Dave Woodhouse for IPv6:
17889         * src/NetworkManagerUtils.c
17890                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17891                         and multicast addresses
17892
17893         * src/NetworkManagerDevice.c
17894                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17895                         after bringing up a card.
17896
17897 2005-02-10  Dan Williams  <dcbw@redhat.com>
17898
17899         Patch from Dave Woodhouse:
17900         * src/NetworkManagerSystem.h
17901           src/backends/NetworkManagerDebian.c
17902           src/backends/NetworkManagerGentoo.c
17903           src/backends/NetworkManagerSlackware.c
17904                 - New nm_system_device_add_ip6_link_address() function to add link-local
17905                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17906
17907         * src/backends/NetworkManagerRedHat.c
17908                 - (nm_system_device_add_ip6_link_address): implement
17909                 - (nm_system_device_flush_addresses): revert to previous behavior of
17910                         flushing all addresses
17911
17912 2005-02-10  Dan Williams  <dcbw@redhat.com>
17913
17914         Patch from Tom Parker:
17915         * src/NetworkManagerDevice.c
17916                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17917                         mii.h headers are broken, and instead use our own typedefs
17918
17919 2005-02-10  Dan Williams  <dcbw@redhat.com>
17920
17921         * dhcpcd/buildmsg.c
17922                 - (fill_host_and_class_id): only fill in client and class IDs if
17923                         they are set by callers.
17924
17925         * dhcpcd/client.c
17926                 - (class_id_setup): don't autogenerate a class ID, only use one
17927                         we're given, if any.
17928                 - (client_id_setup): don't autogenerate a client ID, only use one
17929                         we're given, if any.
17930
17931         * dhcpcd/dhcpcd.c
17932                 - (dhcp_interface_init): ensure that client options are correctly
17933                         NULL terminated
17934
17935         * src/NetworkManagerDHCP.c
17936                 - (nm_device_dhcp_request): pass hostname to dhcp library
17937
17938 2005-02-10  Dan Williams  <dcbw@redhat.com>
17939
17940         * dhcpcd/client.c
17941                 - #rh147661# Don't send kernel version in DHCP requests
17942
17943         * src/NetworkManagerSystem.h
17944           src/backends/NetworkManagerDebian.c
17945           src/backends/NetworkManagerGentoo.c
17946           src/backends/NetworkManagerRedHat.c
17947           src/backends/NetworkManagerSlackware.c
17948                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17949                         functions, they are no longer used anyway
17950
17951         * src/backends/NetworkManagerRedHat.c
17952                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17953                         addresses in an attempt to keep IPv6 local-scope addresses around
17954
17955 2005-02-10  Dan Williams  <dcbw@redhat.com>
17956
17957         * src/NetworkManager.c
17958                 - (nm_create_device_and_add_to_list): change the add message slightly
17959
17960         * src/NetworkManagerUtils.c
17961                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17962                         Return driver name to calling function
17963                 - (nm_get_driver_support_level): print out the driver a device is using
17964                         during the support check
17965
17966         Patch from Dave Woodhouse:
17967         * dhcpcd/udpipgen.c
17968                 - (in_cksum): copy last byte of odd-sized packets into a
17969                         'u_short' rather than a 'u_char', should fix wrong checksums
17970                         on big-endian platforms
17971
17972 2005-02-09  Dan Williams  <dcbw@redhat.com>
17973
17974         * Clean up usage of GSList objects and looping through their members
17975         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17976                 now.
17977         * Fix problem where even if scanning was turned off, card would still
17978                 cycle through frequencies.
17979
17980 2005-02-08  Dan Williams  <dcbw@redhat.com>
17981
17982         * panel-applet/NMWirelessApplet.c
17983                 - Fix for gtk 2.4
17984
17985 2005-02-08  Dan Williams  <dcbw@redhat.com>
17986
17987         Patch from Bill Moss
17988         * panel-applet/NMWirelessApplet.c
17989                 - Restore correct ESSID in tooltips
17990
17991 2005-02-07  Dan Williams  <dcbw@redhat.com>
17992
17993         * panel-applet/NMWirelessApplet.[ch]
17994                 - Add a context menu that contains:
17995                         Pause/Resume Wireless Scanning
17996                         Stop/Start All Wireless Devices
17997                         About...
17998                 - Grab active device strength off active device,
17999                         not its network
18000
18001         * panel-applet/NMWirelessAppletDbus.[ch]
18002                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18003                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18004                 - Update active device strength every 2 seconds, not every 1 second
18005
18006         * panel-applet/menu-info.c
18007                 - Only disable wired devices in the menu when they support carrier detection,
18008                         and don't currently have a link.  Non-carrier-detect devices will always
18009                         remain choosable
18010
18011         * src/Makefile.am
18012           src/NetworkManagerDbusUtils.[ch]
18013                 - Add new new dbus utils sources
18014
18015         * src/NetworkManager.c
18016                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18017                         with the boolean parameter
18018                 - Set scanning_enabled & wireless_enabled to TRUE
18019
18020         * src/NetworkManagerDbus.c
18021                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18022                 - Implement scanning & wireless enable/disable calls
18023                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18024
18025         * src/NetworkManagerDevice.c
18026                 - New link detection stuff again...
18027                         o  Create device's mainloop earlier (but don't run it earlier)
18028                         o  Hook up new carrier-detect support stuff
18029                         o  Add in the ethtool & mii support detection code
18030                 - Don't scan if scanning is disabled
18031
18032         * src/NetworkManagerPolicy.c
18033                 - Never automatically choose a device that doesn't support carrier detection
18034                 - Don't automatically choose a wireless device if wireless is disabled
18035
18036 2005-02-07  Dan Williams  <dcbw@redhat.com>
18037
18038         * libnm_glib/libnm_glib.c
18039                 - Small cleanup in element list iteration
18040
18041 2005-02-07  Dan Williams  <dcbw@redhat.com>
18042
18043         * src/NetworkManagerWireless.c
18044                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18045                         to be in line with the WEXT quality specification
18046
18047 2005-02-02  Dan Williams  <dcbw@redhat.com>
18048
18049         Patch from Nathan Fredrickson <nathan@silverorange.com>
18050         * Fix up compile for deprecation of libgnomeui
18051                 - Switch to <glib/gi18n.h> from <libintl.h>
18052                 - Remove <libgnomeui/libgnomeui.h> includes
18053                 - Use gtk_window_set_default_icon_from_file() rather than
18054                         gnome_window_set_default_icon_from_file()
18055
18056         * named/nm-named-manager.c
18057                 - (generate_named_conf): Fix return-nothing in non-void
18058                         function
18059
18060 2005-02-02  Dan Williams  <dcbw@redhat.com>
18061
18062         * Clean up unused variables and the like
18063
18064 2005-02-02  Dan Williams  <dcbw@redhat.com>
18065
18066         * src/NetworkManagerAPList.c
18067                 - (nm_ap_list_merge_scanned_ap): merge strength too
18068
18069         * src/NetworkManagerUtils.c
18070                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18071                         of locking issues by printing out prettier information than g_mutex_lock
18072                 - Print out names of mutexes registered with nm_register_mutex_desc()
18073                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18074                         us to seemingly block here for too long
18075
18076         * src/NetworkManager.c
18077           src/NetworkManagerAPList.c
18078           src/NetworkManagerDevice.c
18079                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18080                         so we get better debug information printed
18081
18082         * src/NetworkManagerDbus.c
18083                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18084                         since it sometimes has locking side effects
18085                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18086                         from 10s
18087                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18088                         we don't need a switch.  This gets called often enough that we can't block
18089                         until the scan mutex is acquired, because we'll block on device activation
18090                         and a few other things, which hangs main thread for too long.
18091
18092         * src/NetworkManagerPolicy.c
18093                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18094                         nm_device_need_ap_switch() will be called               
18095
18096 2005-02-02  Dan Williams  <dcbw@redhat.com>
18097
18098         * panel-applet/NMWirelessApplet.c
18099                 - Display name of wireless network we are connecting to or connected to
18100                         in the tooltip of the applet
18101
18102 2005-02-02  Dan Williams  <dcbw@redhat.com>
18103
18104         * src/NetworkManagerDHCP.c
18105                 - Hopefully fix double-default-route problem by cleaning up the default
18106                         route added by DHCP code right before the DHCP transaction begins
18107
18108 2005-02-02  Dan Williams  <dcbw@redhat.com>
18109
18110         * named/nm-named-manager.c
18111                 - Write out valid resolv.conf when we exit
18112
18113 2005-02-01  Dan Williams  <dcbw@redhat.com>
18114
18115         Patch from Colin Walters:
18116         * named/nm-named-manager.c
18117                 - Make multi-domain search options work
18118
18119 2005-01-31  Dan Williams  <dcbw@redhat.com>
18120
18121         * info-daemon/NetworkManagerInfoDbus.c
18122                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18123
18124         * src/NetworkManagerDevice.c
18125                 - (nm_device_new): Don't store the entire range struct, use only what we need
18126                         (which is currently avg_quality, max_quality, and frequencies).  Also
18127                         zero device structure when we've free'd it to maybe expose errors down
18128                         the line.
18129                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18130                         quality data from the card since quality will be useless during a scan.
18131                         Call updated wireless qual-to-percent function with values stored in
18132                         nm_device_new() earlier.
18133                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18134                         nm_device_get_bad_crypt_packets())
18135                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18136                         nm_device_new()
18137                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18138                         list if available.  Problem was this: when the WEP key is wrong, NM will
18139                         try OS then SK modes, and then get stuck in SK mode after that.  This
18140                         should reset it.
18141                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18142                         function
18143
18144         * src/NetworkManagerWireless.c
18145                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18146                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18147                         if that's all present, otherwise fall back to signal-to-noise ratios.
18148
18149 2005-01-29  Dan Williams  <dcbw@redhat.com>
18150
18151         * initscript/RedHat/NetworkManager
18152                 - Don't spit out sysctl stuff to console
18153
18154         * libnm_glib/libnm_glib.c
18155                 - (libnm_glib_init): call dbus_g_thread_init()
18156
18157         * panel-applet/NMWirelessAppletDbus.c
18158                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18159
18160         * src/NetworkManager.c
18161                 - (main): call dbus_g_thread_init()
18162
18163         * src/NetworkManagerAPList.c
18164                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18165                         so we can actually see what's there in a normal syslog
18166
18167         * src/NetworkManagerDevice.c
18168                 - (nm_device_activate_wireless): print out the "waiting for access point"
18169                         message only once, then say what access point we actually got after
18170                         the wait.
18171                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18172                         function, wait until the scan is done.  Scans may change the ESSID of
18173                         the card, making this function think we need to switch access points
18174                 - (nm_device_wireless_process_scan_results): for artificial access points
18175                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18176                         prevents collisions with the scanning code, which may change the card's
18177                         ESSID and cause the access point to get dropped from the device's AP
18178                         list.  Also increase the keep-around time to 2m from 60s since the max
18179                         scan interval could be 60s in some cases.
18180
18181         * src/NetworkManagerPolicy.c
18182                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18183                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18184                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18185                         between NM and NMI.
18186
18187 2005-01-27  Dan Williams  <dcbw@redhat.com>
18188
18189         * info-daemon/NetworkManagerInfoDbus.c
18190                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18191                         GConf, make a minimal entry for it (essid & timestamp)
18192
18193         * src/NetworkManagerAPList.c
18194                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18195                         NetworkManagerInfo isn't running
18196
18197         * src/NetworkManagerDbus.[ch]
18198                 - (nm_dbus_nmi_is_running): new function
18199
18200         * src/NetworkManagerDevice.c
18201                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18202                         address to garbage.
18203
18204         * src/NetworkManagerPolicy.c
18205                 - (nm_policy_activation_finish): On successful activation, make sure
18206                         the "best" AP has a MAC address, and don't tell NMI to add the
18207                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18208                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18209                         access point after refreshing our allowed list if it doesn't already
18210                         have a "best" access point.
18211
18212 2005-01-25  Dan Williams  <dcbw@redhat.com>
18213
18214         * panel-applet/NMWirelessAppletDbus.c
18215                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18216                         so we check for NM_DBUS_SERVICE rather than not for it
18217
18218         * libnm_glib/libnm_glib.c
18219                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18220                         ServiceOwnerChanged signal
18221
18222 2005-01-25  Dan Williams  <dcbw@redhat.com>
18223
18224         * configure.in
18225                 - Check DBUS version in configure, and set the C macros
18226                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18227
18228         * info-daemon/NetworkManagerInfoDbus.c
18229                 - Remove #if 0-d section of code that quit NMI if NM went away.
18230
18231         * panel-applet/NMWirelessAppletDbus.c
18232                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18233
18234         * src/NetworkManager.c
18235           src/NetworkManagerMain.h
18236           src/NetworkManagerDbus.c
18237                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18238                 - Make updating of our Allowed Wireless Network lists from NMI
18239                         an idle function in the main thread now, with a high priority.
18240
18241 2005-01-24  Dan Williams  <dcbw@redhat.com>
18242
18243         * panel-applet/gtkcellview.[ch]
18244           panel-applet/menu-info.c
18245                 - Fix GTK version checks to be <= rather than <
18246
18247         * test/Makefile.am
18248                 - Include the libtool archive of libnm_glib rather than
18249                         trying to pull in the .so
18250
18251 2005-01-24  Dan Williams  <dcbw@redhat.com>
18252
18253         * src/NetworkManagerDevice.c
18254           src/NetworkManagerDevicePrivate.h
18255                 - Block nm_device_new() until our device's worker thread has had a
18256                         chance to start up.  Fixes a race between main thread and worker
18257                         thread starting that caused activation requests to get lost.
18258
18259 2005-01-24  Dan Williams  <dcbw@redhat.com>
18260
18261         * initscript/RedHat/NetworkManager
18262                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18263                         to add the NM startup script at priority 50, which was
18264                         way too early
18265
18266 2005-01-24  Colin Walters  <walters@redhat.com>
18267
18268         * named/named.conf: Use any port for query source instead of
18269         restricting to port 53.
18270
18271 2005-01-24  Dan Williams  <dcbw@redhat.com>
18272
18273         * initscript/RedHat/NetworkManager
18274                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18275                         to add the NM startup script at priority 50, which was
18276                         way too early
18277
18278 2005-01-24  Dan Williams  <dcbw@redhat.com>
18279
18280         Patch from Tom Parker <palfrey@tevp.net>
18281         * Fix up compile warnings & errors in the wireless applet
18282
18283 2005-01-24  Dan Williams  <dcbw@redhat.com>
18284
18285         * panel-applet/NMWirelessApplet.c
18286                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18287
18288 2005-01-24  Dan Williams  <dcbw@redhat.com>
18289
18290         * panel-applet/gtkcellview.[ch]
18291                 - Only compile these files for GTK 2.4 or lower, since 
18292                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18293                         when choosing "Other Wireless Networks" from the panel
18294                         applet menu
18295
18296 2005-01-21  Dan Williams  <dcbw@redhat.com>
18297
18298         * src/NetworkManager.c
18299                 - Daemonize earlier so that glib doesn't get confused (?)
18300
18301 2005-01-21  Dan Williams  <dcbw@redhat.com>
18302
18303         * panel-applet/NMWirelessApplet.[ch]
18304           panel-applet/NMWirelessAppletDbus.c
18305           panel-applet/menu-info.c
18306           src/NetworkManagerDevice.c
18307                 - Disable wired devices in the menu when they have no link.
18308
18309 2005-01-21  Dan Williams  <dcbw@redhat.com>
18310
18311         * Cache last-known-good wireless authentication method in
18312                 NetworkManagerInfo, and use that method first during
18313                 wireless device activation.  Should speed up devices that
18314                 need Shared Key authentication method since Open System is
18315                 now the default.
18316
18317         * Remove the hack to not do full activation on wired connections
18318                 that are active when we launch, it causes too many problems
18319                 with name resolution and was a hack in the first place.
18320
18321         * Re-work wireless device activation again somewhat to have a
18322                 clearer chain of events and to use last-known-good
18323                 authentication method of the access point.  Also provide
18324                 better status throughout activation to ensure the applet
18325                 can tell the user exactly what's going on.
18326
18327         * Remove the "find wireless network" code and now simply attempt
18328                 to activate with that access point.  This reduces the delay
18329                 between selecting "Other wireless Network" and actually
18330                 connecting to that network.
18331
18332         * Correctly stop the device's worker thread when its removed.
18333
18334 2005-01-21  Dan Williams  <dcbw@redhat.com>
18335
18336         * dhcpcd/client.c
18337                 - Clean up some of the debug messages
18338
18339 2005-01-21  Dan Williams  <dcbw@redhat.com>
18340
18341         * Add new icons, more frames of animation
18342         * Remove some hacks to get the panel applet to display correct
18343                 status, an NM update will soon follow that will fix the
18344                 real issue.
18345
18346 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18347
18348         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18349         the first include for working i18n. Also, don't include it in .h files
18350         * panel-applet/NMWirelessApplet.h: Same
18351         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18352         * panel-applet/menu-info.c: Same
18353
18354 2005-01-18  Dan Williams <dcbw@redhat.com>
18355
18356         * dhcpcd/client.c
18357                 - Remove some debug messages
18358                 - Wrap others in #ifdef DEBUG/#endif
18359
18360         * src/NetworkManager.c
18361                 - Remove some debug messages
18362                 - Clarify some debug messages
18363                 - Remove code related to old single-thread wireless scanning
18364
18365         * src/NetworkManagerAP.[ch]
18366                 - New AP property "last_seen" to track how recently an AP was
18367                         found in a scan
18368                 - Start using 'const' more in function arguments
18369
18370         * src/NetworkManagerAPList.[ch]
18371                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18372                         of an AP found in an AP list from a source AP, or if not found
18373                         in the list add the source AP
18374                 - (nm_ap_list_combine): remove, no longer needed
18375
18376         * src/NetworkManagerDevice.c
18377                 - Each device now has a "worker" thread from start to end of its life.
18378                         Scanning for wireless devices now happens in that thread,
18379                         not in a single "wireless scanning thread" for all devices as
18380                         previously.  Activation consists of adding an idle handler to the
18381                         thread's main loop/context, which gets run at the next available
18382                         opportunity.
18383                 - Wireless scanning is also simplified, there is now only one list of
18384                         access points per wireless device, and APs older than 60s are
18385                         removed from the list.  Previously, we kept results for the last
18386                         3 scans and merged whole lists, which was complicated.
18387                 - Cleaned up activation debug messages.
18388                 - Wireless activation and access-point search routines now use Open System
18389                         authentication before trying Shared Key.
18390                 - Removed some code in nm_device_update_best_ap() that could cause cards
18391                         to loose their link to the access point.
18392                 - Scanning now uses a backoff algorithm, where the inverval becomes
18393                         progressively longer between scans when the list of scanned access
18394                         points doesn't change.  A change will revert to the shortest scan
18395                         interval (20s).
18396
18397         * src/NetworkManagerWireless.[ch]
18398                 - Remove code related to old single-thread wireless scanning
18399
18400 2005-01-18  Colin Walters  <walters@redhat.com>
18401
18402         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18403         of older nameservers.
18404
18405 2005-01-18  Colin Walters  <walters@redhat.com>
18406
18407         * named/nm-named-manager.c (generate_named_conf): Many fixes
18408         to config file generation.
18409         (safer_kill): Remove, was too much trouble for little gain.
18410         (nm_named_manager_start): Run named as NM_NAMED_USER.
18411
18412         * configure.in: Add option --with-named-user.
18413
18414 2005-01-14  Colin Walters  <walters@redhat.com>
18415
18416         Patch from ed@catmur.co.uk (Ed Catmur)
18417
18418         * named/nm-named-manager.c: Add "context" property.
18419         Use it to add child watch source in specific GMainContext.
18420
18421         * src/NetworkManager.c (nm_data_new): Initialize
18422         named with correct main context.  Start named only
18423         after forking.
18424
18425 2005-01-14  Colin Walters  <walters@redhat.com>
18426
18427         * named/nm-named-manager.c (generate_named_conf): Write config
18428         and pid files into NM_NAMED_DATA_DIR; this allows things to
18429         work better with FC3 named SELinux policy.  Also fix up silly
18430         format error.
18431
18432         * configure.in: Add --with-named-dir option.
18433
18434 2005-01-14  Colin Walters  <walters@redhat.com>
18435
18436         * configure.in: Make named support require passing --with-named.
18437
18438         * named/nm-named-manager.c: Support writing resolv.conf directly
18439         without running named.
18440
18441 2005-01-13  Dan Williams <dcbw@redhat.com>
18442
18443         * named/nm-named-manager.c
18444                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18445
18446         * src/NetworkManagerDevice.c
18447                 - Rework wireless link detection code to be more reliable
18448
18449 2005-01-12  Dan Williams <dcbw@redhat.com>
18450
18451         * initscripts/RedHat/NetworkManager
18452                 - Change initial level to "-" rather than "345" so that
18453                         we don't activate ourselves by default on install
18454
18455 2005-01-12  Dan Williams <dcbw@redhat.com>
18456
18457         * libnm_glib/
18458                 - Client library for applications using glib
18459
18460         * configure.in
18461           various Makefiles
18462                 - Split NM_CFLAGS and NM_LIBS into separate variables
18463                         like DBUS_*, HAL_* and GLIB_*
18464
18465         * src/NetworkManager.c
18466           src/NetworkManagerMain.h
18467                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18468                         broadcast a status changed signal over DBUS from the main thread.
18469                         Still unused anywhere for the moment.
18470
18471         Patch from j@bootlab.org
18472         * panel_applet/NMWirelessAppletDbus.c
18473           src/NetworkManagerDbus.c
18474                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18475                         for the "getMode" method call
18476
18477 2005-01-10  Dan Williams <dcbw@redhat.com>
18478
18479         * src/NetworkManagerDevice.c
18480                 - Minor fixups & corrections to "auto" frequency mode, make it
18481                         less chatty with syslog
18482
18483 2005-01-10  Dan Williams <dcbw@redhat.com>
18484
18485         * src/NetworkManagerDevice.c
18486                 - Implement "auto" frequency/channel support, since cards like Atheros
18487                         can't use other frequencies at all when you've told it to use a
18488                         specific one, even for scanning.
18489                 - Grab the scan mutex around places where we can't tolerate wireless
18490                         settings changing underneath us, like nm_device_wireless_network_exists()
18491                         and nm_device_activate_wireless()
18492
18493         * src/NetworkManagerWireless.c
18494                 - Back scan interval off to 20s instead of 14s
18495
18496 2005-01-09  Dan Williams <dcbw@redhat.com>
18497
18498         * src/NetworkManagerDevice.c
18499                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18500                         already set.  Stops some drivers like Atmel from continually
18501                         reloading the firmware, which they do upon every configuration
18502                         change.
18503
18504 2005-01-09  Dan Williams <dcbw@redhat.com>
18505
18506         * dhcpcd/client.c
18507                 - Use correct timeout value
18508
18509         * info-daemon/NetworkManagerInfoDbus.c
18510           src/NetworkManagerDbus.c
18511                 - Consolidate communication between NM and NMI by doing only 1 dbus
18512                         method call to get Wireless Network info from NMI instead of 6
18513
18514         * src/NetworkManager.c
18515                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18516                         when we didn't have an AP to use, we'd wait for one forever without
18517                         quitting
18518
18519         * src/NetworkManagerDevice.c
18520                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18521                         activation, dhcp might not have started yet but we don't quit activation
18522                         before starting it, so the quit signal gets lost
18523
18524 2005-01-07  Dan Williams <dcbw@redhat.com>
18525
18526         * dhcpcd/client.c
18527                 - Rework the DHCP client code to be much less chatty when
18528                         it receives non-DHCP UDP packets during the DHCP run
18529                         (reported by and preliminary patches from Bill Moss)
18530
18531         * Move wireless scanning to a separate thread.  This thread forwards the
18532                 results to the main thread when done where they are integrated into
18533                 the device's access point lists.  This keeps the main thread (which
18534                 does all the DBUS communication) from being blocked for long periods
18535                 of time by wireless scanning.
18536
18537         * Make state modification an idle routine in the main loop, and trigger
18538                 state changes rather than polling for them.
18539
18540         * src/backends/NetworkManagerGentoo.c
18541                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18542
18543         * src/NetworkManagerDevice.c
18544                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18545                         router advertisements, causing problems and infinite loop
18546                         during "best" device determination due to link going up/down
18547                         (reported by Bill Moss)
18548
18549         Apply patch from Peter Jones
18550         * src/NetworkManagerDevice.c
18551                 - Shortcut for link-checking for ipw2x00 cards
18552                 - Split out association check into separate routine
18553
18554 2004-01-05  Colin Walters  <walters@redhat.com>
18555
18556         * named/named.conf: Add PID_FILE.
18557
18558         * named/nm-named-manager.c: Always generate a pid
18559         file, since older BIND versions don't support
18560         "pid-file none".
18561
18562 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18563
18564         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18565
18566 2004-12-22  Dan Williams <dcbw@redhat.com>
18567
18568         * src/NetworkManagerDevice.c
18569                 - Silently fail when setting bitrate doesn't work
18570
18571
18572         Patches from j@bootlab.org:
18573         * src/backends/NetworkManagerDebian
18574                 - Update backend to match functionality in RedHat backend
18575         * src/NetworkManagerDevice.c
18576                 - Take down then bring up wired devices after connection so
18577                 they send out ipv6 router advertisements
18578
18579 2004-12-21  Colin Walters  <walters@verbum.org>
18580
18581         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18582         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18583
18584 2004-12-21  Colin Walters  <walters@redhat.com>
18585
18586         * configure.in: Correct named detection.
18587
18588 2004-12-21  Colin Walters  <walters@redhat.com>
18589
18590         * src/NetworkManager.c (nm_data_new): Initialize named.
18591         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18592         the mainloop when these signals are received.
18593         (nm_data_free): Unref named.
18594         (sigterm_handler, sigterm_pipe_handler): New functions for
18595         exiting mainloop.
18596         
18597         * src/NetworkManagerMain.h (NMData): Add signal handling and
18598         nameserver bits.
18599
18600         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18601         unref.
18602
18603         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18604         set nameservers from DHCP response data.
18605         (set_domain_search): Set domain search from DHCP response.
18606         (nm_device_dhcp_configure): Invoke them.
18607
18608         * src/NetworkManagerSystem.c
18609         (nm_system_device_update_resolv_conf): Delete.  Deleting
18610         code is totally sweet.
18611
18612         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18613
18614         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18615         implements an object which controls a nameserver.  Currently
18616         uses bind 9.
18617
18618         * configure.in: Check for named.
18619
18620         * Makefile.am (SUBDIRS): Add named dir.
18621
18622         * named/named.conf: New template config file.
18623
18624 2004-12-20  Colin Walters  <walters@redhat.com>
18625
18626         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18627         instead of '='.
18628
18629 2004-12-17  Dan Williams  <dcbw@redhat.com>
18630
18631         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18632                 link-local addresses instead of doing DHCP.
18633
18634         * In the panel applet, there's a new "Create new Wireless Network..." item
18635
18636         * The panel applet also sticks around now even if NetworkManager dies, but
18637                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18638                 a bug, I'll fix that later.
18639
18640         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18641                 lookups after a switch rather than actually doing them.
18642
18643         * Clean up some of those warnings in nm_ap_list_* functions
18644
18645         * Delay between scans changed to 15s instead of 10s
18646
18647 2004-12-15  Dan Williams  <dcbw@redhat.com>
18648
18649         Patch from Tom Parker
18650         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18651                 address
18652
18653         * Longer pause after setting ESSID on cards that support a larger number
18654                 of channels to give the card time to find the right channel
18655
18656         * Add system hook to restart mDNSResponder (or whatever the local implementation
18657                 of Multicast DNS is) when we activate interfaces
18658
18659 2004-12-15  Dan Williams  <dcbw@redhat.com>
18660
18661         * Rework the DHCP code again to revert to sending full ethernet frames
18662                 rather then relying on the kernel to do the right thing with our
18663                 packets.
18664
18665 2004-12-06  Dan Williams  <dcbw@redhat.com>
18666
18667         * dhcpcd/client.c
18668                 - Fix some minor errors in dhcp_handle_transaction() that caused
18669                         unexpected early timeouts of DHCP transactions
18670
18671         * dhcpcd/client.h
18672                 - DHCP retransmit time from 4s -> 5s
18673
18674 2004-12-05  Dan Williams  <dcbw@redhat.com>
18675
18676         * Major rework of the DHCP code, taking some cues from pump.  We don't
18677                 write raw Ethernet packets anymore, which simplifies the code quite
18678                 a bit.  The new code should be more robust, not hang in recvfrom()
18679                 as much, and generally work better.  This also means that we need
18680                 to force HAL/dbus to use a created GMainContext rather than the
18681                 default context, since having the DHCP renew/rebind thread using
18682                 its own GMainContext seemed to give dbus a fit.  There is also more
18683                 debugging information printed from the DHCP loop to help with future
18684                 problems.
18685
18686         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18687                 assume that the default gateway should be the DHCP server.
18688
18689         Patch from Matthew Schick <matt oss-institute org>
18690         * src/backends/NetworkManagerGentoo.c
18691                 - Fix compilation error due to missing "ip4_broadcast"
18692
18693 2004-12-03  Dan Williams  <dcbw@redhat.com>
18694
18695         * initscript/Makefile.am
18696         * initscript/Debian/NetworkManager
18697         * initscript/Gentoo/NetworkManager
18698         * initscript/RedHat/NetworkManager
18699         * initscript/NMLaunchHelper.c
18700                 - Remove NMLaunchHelper, if you need to wait until the network
18701                         comes up, use the dead code from CVS.
18702
18703 2004-12-01  Colin Walters  <walters@redhat.com>
18704         
18705         * configure.in: Suck in gcc warnings code from Rhythmbox,
18706         but use fewer default flags, and in particular add -Wno-unused,
18707         since the codebase has a lot of unused variables.
18708
18709         * test/nmtestdevices.c (create_device): 
18710         * test/nminfotest.c (get_network_string_property) 
18711         (get_networks_of_type): 
18712         * test/nmclienttest.c (main): 
18713         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18714         * initscript/NMLaunchHelper.c (get_nm_status): 
18715         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18716         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18717         Fix declarations after statements.
18718
18719 2004-12-01  Colin Walters  <walters@redhat.com>
18720
18721         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18722         (nmi_dbus_get_vpn_userpass): New method.
18723         (nmi_dbus_nmi_message_handler): Invoke it.
18724
18725         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18726
18727         * info-daemon/NetworkManagerInfoVPN.h,
18728         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18729         to requests for VPN passwords.
18730
18731         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18732
18733 2004-12-01  Colin Walters  <walters@redhat.com>
18734
18735         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18736         includes.
18737
18738 2004-12-01  Colin Walters  <walters@redhat.com>
18739
18740         * panel-applet/NMWirelessAppletDbus.c
18741         (nmwa_dbus_update_active_device_strength): Fix missing
18742         return value.
18743
18744 2004-12-01  Colin Walters  <walters@redhat.com>
18745
18746         * panel-applet/NMWirelessApplet.c: Add missing include.
18747
18748 2004-12-01  Colin Walters  <walters@redhat.com>
18749
18750         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18751         Remove useless CLAMP (); the value is unsigned, and the case tests
18752         qual->qual < 100, so the value must always be between 0 and 100.
18753
18754 2004-12-01  Colin Walters  <walters@redhat.com>
18755
18756         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18757
18758 2004-11-22  Colin Walters  <walters@verbum.org>
18759
18760         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18761         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18762         which is essentially a noop since nscd caches hosts on disk too.
18763         
18764 2004-11-22  Colin Walters  <walters@redhat.com>
18765
18766         * src/Makefile.am (NetworkManager_SOURCES): Add
18767         NetworkManagerDevicePrivate.h.
18768
18769 2004-11-22  Dan Williams <dcbw@redhat.com>
18770
18771         * src/NetworkManagerDevicePrivate.h
18772                 - Split out the NMDevice struct to a different file so that stuff like
18773                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18774
18775         * dhcpcd/client.c
18776                 - fprintf->syslog
18777                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18778                         need to cancel the dhcp request during the send and recv
18779
18780         * dhcpcd/client.h
18781                 - Move the DHCP option enum to dhcpcd.h
18782
18783         * src/NetworkManagerDHCP.c
18784                 - Split out the actual IP/netmask/etc setting code
18785                 - New Renew/Rebind functions
18786                 - New timer setup function for renew/rebind operations
18787
18788         * src/NetworkManagerDevice.c
18789                 - For device activation, if we are using DHCP then keep the activation thread
18790                         alive until device deactivation.  We need to renew/rebind the DHCP address
18791                         after the T1 (renew) and T2 (rebind) times have expired.
18792                 - Increase some timeouts after bringing wireless cards up/down
18793
18794 2004-11-17  Dan Williams <dcbw@redhat.com>
18795
18796         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18797                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18798                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18799                 show known access points that don't broadcast their ESSID in the menus without
18800                 any user intervention whatsoever.
18801
18802         * info-daemon/NetworkManagerInfoDbus.c
18803                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18804                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18805
18806         * src/NetworkManagerAP.[ch]
18807                 - Add a "user_addresses" data member to the NMAccessPoint structure
18808                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18809                         the user_addresses data member
18810
18811         * src/NetworkManagerAPList.c
18812                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18813                         the AP's reported address
18814                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18815
18816         * src/NetworkManagerDHCP.c
18817                 - Increase DHCP timeout from 25s -> 30s
18818
18819         * src/NetworkManagerDbus.[ch]
18820                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18821                         user addresses
18822
18823         * src/NetworkManagerDevice.c
18824                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18825                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18826                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18827                         So, we take the card down to clear it out.
18828                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18829                         too, since that's where the user_addresses are
18830
18831         * src/NetworkManagerPolicy.c
18832                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18833                         that wireless networks' user_addresses list upon successful activation
18834
18835 2004-11-16  Dan Williams <dcbw@redhat.com>
18836
18837         * src/NetworkManagerDevice.[ch]
18838                 - (nm_device_clear_activation_fail): new function
18839
18840         * src/NetworkManagerPolicy.c
18841                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18842                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18843
18844 2004-11-16  Dan Williams <dcbw@redhat.com>
18845
18846         * src/NetworkManagerDevice.c
18847                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18848                         leak the structure, better updating of now_scanning status
18849                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18850
18851 2004-11-15  Dan Williams <dcbw@redhat.com>
18852
18853         Major rework of link detection code.  We now use DHCP
18854         as part of the link detection which proves to be much more robust,
18855         and also supports Open System authentication for wireless networks.
18856
18857         We no longer use external DHCP client programs.  Instead, we use 
18858         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18859         which was written by:
18860                 Yoichi Hariguchi <yoichi@fore.com>
18861                 Sergei Viznyuk <sv@phystech.com>
18862                 http://www.phystech.com/download/
18863         It resides in the "dhcpcd" directory and was refactored into a general
18864         purpose DHCP client library by me.
18865
18866         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18867         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18868
18869 2004-11-15  Dan Williams <dcbw@redhat.com>
18870
18871         Patch from Tom Parker <palfrey@tevp.net>:
18872
18873         * src/NetworkManagerDevice.c
18874                 - Less output to console when no access
18875                         points are found during a scan
18876
18877 2004-11-15  Dan Williams <dcbw@redhat.com>
18878
18879         Patch from Tom Parker <palfrey@tevp.net>:
18880
18881         * src/backends/interface_parser.c
18882                 - Use g_strdup ()
18883                 - Check for inp == NULL
18884                 - use syslog ()
18885
18886 2004-11-13  Colin Walters  <walters@redhat.com>
18887
18888         Patch from Tom Parker <palfrey@tevp.net>:
18889
18890         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18891         
18892         * src/backends/NetworkManagerRedHat.c: Switch to
18893         including shvar.h instead of shvar.c.
18894
18895         * src/backends/NetworkManagerDebian.c: Don't include
18896         interface_parser.c in source file.
18897
18898         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18899         and interface_parser.[ch].
18900         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18901         Include shvar.c and shvar.h here.
18902         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18903         interface_parser.c and interface_parser.h here.
18904
18905 2004-11-12  Colin Walters  <walters@redhat.com>
18906
18907         * configure.in: Strip out TARGET_DISTRO and
18908         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18909         conditionals.
18910
18911         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18912         (libnmbackend_la_SOURCES): Use Automake conditionals
18913         to add distro-specific files.
18914
18915         * initscript/Makefile.am (SUBDIRS): Update to
18916         use conditionals.
18917
18918 2004-11-12  Colin Walters  <walters@redhat.com>
18919
18920         Patches from j bootlab org
18921
18922         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18923         Add interface_parser.[ch].
18924
18925         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18926         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18927
18928 2004-11-12  Colin Walters  <walters@redhat.com>
18929
18930         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18931         call to nmi_dbus_is_running too, not necessary anymore.
18932         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18933         pick up exit().
18934
18935 2004-11-11  Colin Walters  <walters@verbum.org>
18936
18937         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18938         Delete.
18939         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18940         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18941         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18942         This avoids a race condition that made it pretty easily
18943         possible to get two NetworkManagerInfo daemons running.
18944
18945 2004-11-11  Colin Walters  <walters@verbum.org>
18946         
18947         * src/NetworkManager.c (main): Use daemon(3).
18948
18949         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18950
18951         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18952
18953 2004-11-10 Dan Williams <dcbw@redhat.com>
18954
18955         Patches from j bootlab org
18956         * src/NetworkManagerDevice.c
18957                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18958                         whether the card has a link or not, some cards are slow
18959                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18960
18961         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18962                 - Disable the "Login" button on the passphrase dialog until the user
18963                         enters a valid passphrase or key
18964
18965         Patches from Tom Parker <palfrey tevp net>
18966         * src/backends/NetworkManagerDebian.c
18967                 - Add static IP support to the debian backend
18968
18969         * src/backends/interface_parser.[ch]
18970                 - Parse debian interface config files
18971
18972 2004-11-08 Dan Williams <dcbw@redhat.com>
18973
18974         * src/NetworkManagerDevice.c
18975                 - Some random fprintf->syslog conversions
18976                 - (nm_device_wireless_network_exists): double-check for network
18977                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18978
18979         * src/NetworkManagerWireless.[ch]
18980                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18981                         so that the binary->ascii conversion works (if unsigned, the bitshift
18982                         will fill with zeros, which is what's required).  Also mask bitshift
18983                         result with 0xF for futher assurance.
18984
18985 2004-11-06 Dan Williams <dcbw@redhat.com>
18986
18987         * src/NetworkManagerUtils.c
18988                 - (nm_get_wireless_driver_support_level): default to
18989                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18990                         flip this when changing from whitelist->blacklist of
18991                         wireless drivers
18992
18993 2004-11-05 Dan Williams <dcbw@redhat.com>
18994
18995         Patch from Robert Paskowitz:
18996         * src/backends/NetworkManagerGentoo.c
18997                 - Update static IP config code
18998
18999 2004-11-05 Dan Williams <dcbw@redhat.com>
19000
19001         * info-daemon/NetworkManagerInfoDbus.c
19002           src/NetworkManagerDbus.[ch]
19003           src/NetworkManagerDevice.c
19004                 - Keep track of the # of attempts to get the WEP key
19005                         from the user and pass that along to the info daemon
19006
19007 2004-11-05 Dan Williams <dcbw@redhat.com>
19008
19009         * src/NetworkManagerUtils.c
19010                 - Blacklist wireless cards rather than whitelisting them.
19011                 - Grab driver name from HAL rather than trying to find it
19012                         ourselves.
19013
19014 2004-11-03 Dan Williams <dcbw@redhat.com>
19015
19016         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19017                 - Disable OK button until valid data is entered
19018                         for encryption stuff too
19019
19020         * panel-applet/NMWirelessApplet.c
19021                 - Report card strength for current AP if the card
19022                         doesn't report strength data for scanned access
19023                         points
19024
19025         * src/NetworkManagerDevice.c
19026                 - Smooth out cards reported quality, Atmel card was
19027                         intermittently reporting no quality data but soon
19028                         recovers
19029
19030         * src/NetworkManagerWireless.c
19031                 - Better quality data percentage calculation.  Atmel
19032                         cards (mine at least) seem to report the quality
19033                         in percentage format already, so honor that
19034
19035         Patch from <j@bootlab.org>
19036         * NetworkManager.h
19037           info-daemon/NetworkManagerInfoPassphraseDialog.c
19038           info-daemon/passphrase.glade
19039           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19040           panel-applet/essid.glade
19041           src/NetworkManagerAP.c
19042           src/NetworkManagerDevice.c
19043           src/NetworkManagerWireless.[ch]
19044                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19045
19046 2004-11-03 Dan Williams <dcbw@redhat.com>
19047
19048         * src/NetworkManagerDevice.[ch]
19049                 - (nm_device_set_enc_key): Add parameter to set Authentication
19050                         Mode (Open System, Shared Key, or None).  We're still using
19051                         Shared Key for now though.
19052
19053 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19054
19055         * panel-applet/menu-info.c: change from bold text to light
19056         colored, may cause problems with some themes, i've tested a lot
19057         and they seem fine. 
19058
19059         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19060
19061 2004-11-01  Colin Walters  <walters@verbum.org>
19062
19063         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19064         (nm_wireless_128bit_key_from_passphrase): Add const.
19065
19066         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19067         (nm_ap_set_enc_key_source): Add const.
19068         
19069 2004-11-01  Colin Walters  <walters@verbum.org>
19070
19071         * .cvsignore: Update.
19072
19073 2004-10-29 Dan Williams <dcbw@redhat.com>
19074
19075         * src/NetworkManagerDevice.c
19076                 - (nm_device_wireless_network_exists): Actually use the encryption
19077                         key we got from the applet when attempting to find a wireless network
19078                 - Don't bring devices down so much since on some cards it triggers
19079                         firmware hotplugs each time
19080
19081         * src/NetworkManagerDbus.c
19082                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19083                         from the caller
19084
19085 2004-10-29 Dan Williams <dcbw@redhat.com>
19086
19087         * src/NetworkManager.c
19088                 - (nm_hal_device_property_modified): unlock a locked active
19089                         wireless device when a wired connection gets a link.
19090                         (Means you'll switch to wired whenever you plug in no
19091                         matter what).
19092
19093 2004-10-29 Dan Williams <dcbw@redhat.com>
19094
19095         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19096                 - New files, implement the "Other wireless network" dialog
19097
19098         * panel-applet/NMWirelessApplet.c
19099                 - Move "other wireless network" dialog to separate file
19100
19101         * panel-applet/NMWirelessAppletDbus.[ch]
19102                 - Take key and key_type paramaters for the set_device function
19103
19104         * panel-applet/essid.glade
19105                 - Add UI bits for encryption settings
19106
19107         * src/NetworkManagerDbus.c
19108                 - Retrieve key and key_type params for "setActiveDevice" method call
19109                         and pass them on
19110                 - unref AP returned from nm_device_get_best_ap() when needed
19111
19112         * src/NetworkManagerDevice.c
19113                 - (nm_device_get_best_ap): ref the ap before returning it
19114                 - unref AP returned from nm_device_get_best_ap() when needed
19115                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19116                         need to call nm_device_get_best_ap() here, it was pretty much
19117                         redundant anyway
19118                 - (AP_NEED_KEY): break second link check condition out into separate
19119                         function, and fix segfault when ap->enc_key_source was NULL
19120                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19121                         pass them along to nm_device_wireless_network_exists().  If the
19122                         network does exist, set the passed-in key+key_type on the AP
19123
19124         * src/NetworkManagerPolicy.c
19125                 - unref AP returned from nm_device_get_best_ap() when needed
19126
19127 2004-10-28 Dan Williams <dcbw@redhat.com>
19128
19129         * src/NetworkManagerUtils.c
19130                 - (nm_spawn_process): Fix a potential dereference of NULL
19131
19132         Patches from Peter Jones:
19133
19134         * src/NetworkManagerDevice.c
19135                 - (nm_device_test_wireless_extensions): Better check for
19136                         wireless devices
19137
19138         * src/NetworkManagerUtils.c
19139                 - (nm_spawn_process): Pass in valid stdout and stderr so
19140                         executed programs don't randomly SIGPIPE and fail
19141                 - (nm_get_wired_driver_support_level): quash hal warning
19142                         when checking for USB ethernet device
19143
19144 2004-10-27 Dan Williams <dcbw@redhat.com>
19145
19146         * info-daemon/NetworkManagerInfo.c
19147           info-daemon/NetworkManagerInfoDbus.c
19148           info-daemon/NetworkManagerInfoPassphraseDialog.c
19149           panel-applet/NMWirelessApplet.c
19150                 - Properly escape gconf keys
19151
19152         * src/NetworkManager.c
19153                 - remove unused variables
19154
19155         * src/NetworkManagerAP.c
19156                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19157                         refcount since it got set in nm_ap_new()
19158
19159         * src/NetworkManagerAPList.c
19160                 - (nm_ap_list_combine): Give up ownership of newly created
19161                         access points to the ap list, fixes memleak
19162
19163         * src/NetworkManagerDevice.c
19164                 - Remove cached_ap_list4 member since its not really needed
19165                 - (nm_device_wireless_network_exists): Try to get correct
19166                         encryption status of a found AP if its already in our
19167                         device list
19168                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19169                         memory allocs/deallocs a bit clearer and shorter-lived
19170
19171 2004-10-26 Ray Strode <rstrode@redhat.com>
19172
19173         * panel-applet/NMWirelessApplet.c:
19174           (custom_essid_item_selected):  kill some compiler
19175         warnings 
19176
19177 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19178
19179         * info-daemon/NetworkManagerInfoDbus.c
19180                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19181                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19182
19183 2004-10-23 Dan Williams <dcbw@redhat.com>
19184
19185         * info-daemon/NetworkManagerInfoDbus.c
19186                 - Trap the "DeviceActivationFailed" signal
19187
19188         * docs/NetworkManager DBUS API.txt
19189                 - Add "DeviceActivationFailed" signal
19190
19191         * panel-applet/NMWirelessAppletDbus.c
19192                 - Quash the "NetworkManager service not available" message
19193
19194         * src/NetworkManagerDbus.[ch]
19195                 - Add the "DeviceActivationFailed" signal
19196
19197         * src/NetworkManagerDevice.c
19198                 - Add support for activation_failed flag
19199                 - Fix deadlock where activation thread didn't clean itself up, making
19200                         main thread still believe it was alive forever (didn't reset activation
19201                         flags like activating, just_activated, etc when IP configuration
19202                         failed)
19203
19204         * src/NetworkManagerPolicy.c
19205                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19206                         for wireless networks, try to fall back to some other access point
19207
19208 2004-10-23 Dan Williams <dcbw@redhat.com>
19209
19210         * panel-applet/NMWirelessApplet.[ch]
19211                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19212                         to the applet object, so we can get tooltips
19213                 - Add tooltips (RH #136866)
19214
19215         * src/NetworkManagerDevice.c
19216                 - When trying to find a wireless network, try to connect with encryption
19217                         turned on first, so that we can more accurately detect whether or not
19218                         we need to use encryption for the actual association later on
19219
19220 2004-10-21 Dan Williams <dcbw@redhat.com>
19221
19222         * Add some support for telling NetworkManagerInfo to tell the user
19223                 that they are using a device that's not fully supported
19224
19225         * Fix some assertions in debug messages due to null access point args
19226
19227 2004-10-21 Dan Williams <dcbw@redhat.com>
19228
19229         * src/NetworkManagerDevice.c
19230                 - Don't try to activate/bring up/down unsupported
19231                         devices
19232
19233         * src/NetworkManagerUtils.c
19234                 - Fix case of PCI ID checks for driver support levels
19235
19236 2004-10-21 Dan Williams <dcbw@redhat.com>
19237
19238         * NetworkManager.h
19239                 - New file, now contains commonly used structures and bits
19240                         for the dbus API of NetworkManager
19241
19242         * Makefile.am
19243                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19244
19245         * src/NetworkManager.h
19246                 - Rename -> src/NetworkManagerMain.c
19247
19248         * Various fixups all around to use NetworkManager.h and new
19249                 src/NetworkManagerMain.h, remove redundant bits that got
19250                 moved into NetworkManager.h
19251
19252         * src/NetworkManagerDevice.[ch]
19253           src/NetworkManagerUtils.[ch]
19254           src/NetworkManagerPolicy.c
19255           src/NetworkManagerDbus.c
19256                 - Whitelist wireless drivers, and blacklist some wired
19257                         drivers.  Also blacklist cipsec and ethernet-over-usb
19258                         devices at this time (RH #135722, RH #135648)
19259                 - Don't leak unsupported devices out over dbus, or allow
19260                         them to be set as the active device.  Skip over them
19261                         during automatic device picking
19262
19263         * test/nmclienttest.c
19264                 - Clean up the dbus code a lot
19265
19266 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19267
19268         * configure.in: post release bump.
19269
19270 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19271
19272         * configure.in:
19273         * NEWS: Released NetworkManager-0.3.1
19274
19275 2004-10-18 Dan Williams <dcbw@redhat.com>
19276
19277         Patches from Thom May:
19278         * test/nmtestdevices.c
19279                 - Include <string.h>
19280         * src/backends/NetworkManagerDebian.c:
19281                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19282                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19283                         Move to using g_strdup_printf rather than arbitrary buffers
19284                 - (nm_system_device_setup_static_ip4_config) Implement function.
19285                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19286
19287 2004-10-17 Dan Williams <dcbw@redhat.com>
19288
19289         * info-daemon/NetworkManagerInfoDbus.c
19290                 - Display name of network in the "network not found" dialog
19291
19292         * panel-applet/NMWirelessAppletDbus.c
19293                 - (nmwa_dbus_call_nm_method): new function replaces all other
19294                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19295                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19296                         consolidated into nmwa_dbus_get_object_name()
19297
19298 2004-10-15 Dan Williams <dcbw@redhat.com>
19299
19300         * src/NetworkManagerDbus.c
19301           info-daemon/NetworkManagerInfoDbus.c
19302                 - Display an error dialog when the user tries to use an
19303                         "Other wireless network" that's not found.
19304
19305 2004-10-15 Dan Williams <dcbw@redhat.com>
19306
19307         * panel-applet/NMWirelessApplet.[ch]
19308                 - Fix up corner cases in applet state, making it
19309                         look more responsive.  Change state to "connecting" when
19310                         the user is forcing a device too.
19311
19312 2004-10-15 Dan Williams <dcbw@redhat.com>
19313
19314         * src/NetworkManagerAPList.c
19315                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19316
19317         * src/NetworkManagerDbus.c
19318                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19319
19320         * src/NetworkManagerDevice.c
19321                 - Disown APs after the device's AP list takes ownership
19322
19323 2004-10-15 Dan Williams <dcbw@redhat.com>
19324
19325         * panel-applet/NMWirelessApplet.c
19326                 - Update our applet state from the GUI thread
19327
19328         * panel-applet/NMWirelessAppletDbus.c
19329                 - Greatly simplify the locking to make the GUI thread
19330                         smoother.  Update a private copy of the device list
19331                         and active device and only when done talking to
19332                         NetworkManager turn it over to the GUI thread.
19333
19334 2004-10-15 Dan Williams <dcbw@redhat.com>
19335
19336         * src/NetworkManagerAP.[ch]
19337                 - Add "artificial" get/set functions, set for APs that
19338                         aren't discovered as part of a scan but instead
19339                         discovered by force-setting the ESSID
19340
19341         * src/NetworkManagerDevice.[ch]
19342                 - (nm_device_wireless_network_exists): pass back whether
19343                         or not the discovered AP was encrypted.  Also, try
19344                         falling back to encrypted mode on the card if unencrypted
19345                         association doesn't work
19346                 - (nm_device_find_and_use_essid): If the network requested
19347                         did in fact exists, but it wasn't in our scan list, add
19348                         an "artificial" entry for it.  Some Cisco cards don't
19349                         see non-ESSID-broadcasting APs in their scan but can still
19350                         associate with them if you know the ESSID, this works around
19351                         that behavior
19352                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19353                         to scan if the card is currently associated with that AP
19354
19355 2004-10-15 Dan Williams <dcbw@redhat.com>
19356
19357         ---- We have a website ----
19358         http://people.redhat.com/dcbw/NetworkManager
19359
19360         Patch from Robert Paskowitz:
19361         * src/NetworkManager.c
19362                 - (main): Make sure we are run as root
19363         * src/NetworkManagerDevice.c
19364                 - Fix type in ad-hoc setting function
19365
19366         Patch from Thom May:
19367         * src/backends/NetworkManagerDebian.c
19368                 - Make Debian backend compile again
19369
19370 2004-10-14 Dan Williams <dcbw@redhat.com>
19371
19372         * Tagged NetworkManager-0_3
19373
19374 2004-10-14 Dan Williams <dcbw@redhat.com>
19375
19376         Patch from Robert Paskowitz:
19377         * NEWS
19378           src/NetworkManagerDevice.[ch]
19379           src/backends/NetworkManagerDebian.c
19380           src/backends/NetworkManagerGentoo.c
19381           src/backends/NetworkManagerRedHat.c
19382           src/backends/NetworkManagerSlackware.c
19383                 - Add support for grabbing and using a broadcast address
19384                         from system config files
19385                 - Some Gentoo backend fixes for grabbing network config
19386                 - Fix LOG_WARN->LOG_WARNING
19387
19388 2004-10-14 Dan Williams <dcbw@redhat.com>
19389
19390         * NEWS: a few small fixes in the credits
19391
19392 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19393
19394         * NEWS: prep for release.
19395
19396 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19397
19398         * panel-applet/NMWirelessAppletDbus.c
19399         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19400
19401 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19402
19403         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19404         applet->state == APPLET_STATE_NO_NM animation.
19405
19406         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19407         set the text correctly.
19408
19409 2004-10-14 Dan Williams <dcbw@redhat.com>
19410
19411         * src/NetworkManager.c
19412                 - Only accept and manager 802.3 and 802.11 devices
19413
19414         * src/NetworkManagerDbus.[ch]
19415                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19416                         logic into NetworkManagerDevice.c
19417                 - (nm_dbus_network_status_from_data): new function
19418                 - (nm_dbus_signal_network_status_change): new function, unused for now
19419                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19420
19421         * src/NetworkManagerDevice.[ch]
19422                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19423                         a random ESSID.
19424
19425 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19426
19427         * info-daemon/NetworkManagerInfo.c 
19428                 - (main): Added session management
19429
19430 2004-10-14 Dan Williams <dcbw@redhat.com>
19431
19432         * panel-applet/NMWirelessAppletDbus.[ch]
19433                 - Expose network_device_[un]ref()
19434                 - Expose wireless_network_[un]ref()
19435                 - (wireless_network_new_with_essid): new function, create and return
19436                         a wireless network with a particular essid
19437
19438         * panel-applet/NMWirelessApplet.c
19439                 - Hook up the "other network" dialog to do something
19440
19441 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19442
19443         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19444         doesn't work yet, but it looks okay.
19445
19446         * panel-applet/icons/*png: Resize to 22x22 and install in the
19447         right place.
19448
19449 2004-10-13 Dan Williams <dcbw@redhat.com>
19450
19451         * panel-applet/NMWirelessApplet.c
19452                 - Add function to print out applet_state in a readable
19453                         manner
19454
19455         * src/NetworkManager.c
19456                 - (main): Don't segfault when nm_dbus_init() fails, we had
19457                         a left-over call to hal_shutdown() into which we passed NULL
19458
19459         * src/NetworkManagerAP.c
19460                 - (nm_ap_set_essid): Allow NULL essids
19461
19462         * src/NetworkManagerAPList.[ch]
19463                 - More use of nm_ap_list_[un]lock ()
19464                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19465                         network/essid, just return nothing.  Also skip over NULL
19466                         essid access points in the list when searching
19467                 - (nm_ap_list_get_ap_by_address): new function
19468                 - (nm_ap_list_update_network): set the access point's key source to
19469                         NULL when the key returned from NetworkManagerInfo is NULL or
19470                         of 0 length
19471                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19472                         copy timestamp over too
19473                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19474                         find the correct ESSID for a blank-essid access point by searching
19475                         through another list and matching access point MAC addresses
19476                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19477
19478         * src/NetworkManagerDbus.c
19479                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19480                         may specify.  This is mainly for access points that don't
19481                         broadcast their essid.  So if the user tells us to associate with
19482                         some random ESSID that's not in our access point list, we find
19483                         out if the access point does in fact exist (by attempting association
19484                         and then matching that access point's MAC address with the essid the
19485                         user gave us) and then we switch to it.
19486                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19487                         to the returned list of networks for the "getNetworks" method
19488
19489         * src/NetworkManagerDevice.[ch]
19490                 - Extra debugging info for link detection
19491                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19492                         based on MAC address
19493                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19494                 - (nm_device_wireless_network_exists): new function, find out whether
19495                         a random ESSID exists by attempting to associate with it
19496                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19497                         device list as long as they have an AP MAC address we can use.
19498                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19499                         devices too.  Lets the applet update more frequently.
19500
19501         * src/backends/NetworkManagerGentoo.c
19502                 - Patch from: Robert Paskowitz
19503                         - Update backend code for Gentoo
19504                         - Implement nm_system_device_update_config_info ()
19505
19506         * test/nmclienttest.c
19507                 - (set_network_device): new function, takes a command-line argument
19508                         and tells NetworkManager to use that wireless network
19509
19510 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19511
19512         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19513         if the notification icon crashes 5 times within 5 seconds of each respawn 
19514
19515 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19516
19517         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19518         g_print.
19519
19520 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19521
19522         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19523
19524         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19525         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19526         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19527         Change the name of the icons.
19528
19529         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19530         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19531         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19532         (nm_menu_wireless_expose_event): Really bad hack to get the style
19533         to draw in the right color.
19534
19535 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19536
19537         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19538         Notification if it crashes
19539
19540 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19541
19542         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19543         (nmwa_dbus_get_string): remove unused functions
19544
19545         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19546         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19547         remove unused functions
19548
19549         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19550
19551 2004-10-12 Dan Williams <dcbw@redhat.com>
19552
19553         * panel-applet/NMWirelessAppletDbus.c
19554                 - New functions:
19555                         wireless_network_new
19556                         wireless_network_copy
19557                         network_device_new
19558                         network_device_copy
19559
19560         * src/NetworkManagerDevice.[ch]
19561                 - New functions:
19562                         nm_device_set_mode_managed
19563                         nm_device_set_mode_adhoc
19564                 - Use these functions where appropriate
19565                 - When creating a new wireless device, force the card
19566                         to managed/Infrastructure mode as soon as possible
19567
19568 2004-10-12 Dan Williams <dcbw@redhat.com>
19569
19570         * src/NetworkManagerDevice.c
19571                 - Force wireless cards into Infrastructure mode before we use them
19572
19573 2004-10-12 Dan Williams <dcbw@redhat.com>
19574
19575         * TODO
19576                 - Remove bit about static IP address support
19577
19578         * src/NetworkManagerUtils.c
19579                 - (nm_spawn_process): Add some error reporting
19580
19581         * src/NetworkManagerDevice.c
19582                 - (nm_device_activation_configure_ip): hook up to the static config
19583                         routines in the backends
19584
19585         * src/backends/NetworkManagerRedHat.c
19586                 - (nm_system_device_update_config_info): use shvar.c routines to
19587                         parse the config file iformation, not our own
19588                 - (nm_system_device_setup_static_ip4_config): new function, based
19589                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19590                         with a static IP address and gateway
19591
19592         * src/backends/shvar.[ch]
19593                 - Parser (filched from initscripts package) for ifcfg-* files
19594
19595         * src/backends/NetworkManagerSystem.h
19596           src/backends/NetworkManagerGentoo.c
19597           src/backends/NetworkManagerDebian.c
19598           src/backends/NetworkManagerSlackware.c
19599                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19600
19601 2004-10-11 Dan Williams <dcbw@redhat.com>
19602
19603         * TODO
19604                 - Remove bit about more robust AP diffing since I just implemented it
19605
19606 2004-10-11 Dan Williams <dcbw@redhat.com>
19607
19608         * src/NetworkManagerAP.c
19609                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19610                         enough RAM to allocate new AP structures, but return NULL instead
19611
19612         * src/NetworkManagerAPList.[ch]
19613                 - (nm_ap_list_is_empty): new function
19614                 - (nm_ap_list_combine): new function, combine two access point lists
19615                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19616                         into another
19617
19618         * src/NetworkManagerDevice.[ch]
19619                 - Rename some functions to be clearer:
19620                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19621                         nm_device_just_activated     -> nm_device_is_just_activated
19622                         nm_device_activating         -> nm_device_is_activating
19623                         nm_device_now_scanning       -> nm_device_is_scanning
19624                 - Cache the last 4 scans so that the access point list is more stable.
19625                         We combine the lastest two scans and use that as the AP list,
19626                         and diff that combined list against the combination of the earliest
19627                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19628
19629 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19630
19631         * info-daemon/NWManagerInfo.h
19632                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19633
19634         * info-daemon/NWManagerInfoDbus.c
19635                 - (shutdown_callback): new function
19636                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19637                         if NetworkManager goes away.  Kill the timeout
19638                         if NetworkManager restarts before the 30 seconds
19639                         are up.
19640                 - (nmi_dbus_service_init): 
19641                         - call gtk_main_quit if NetworkManager is not running
19642                         - add filters to monitor dbus service creations and
19643                                 deletions
19644         
19645 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19646
19647         * panel-applet/NMWirelessApplet.c
19648                 - (nmwa_update_state): Hide notification icon if we are only
19649                         showing one wired card and no wireless interfaces 
19650                         (Red Hat Bug #134895)
19651
19652         * panel-applet/NMWirelessAppletDbus.c
19653                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19654
19655         * info-daemon/NWManagerInfo.c
19656                 - (main): Terminated the notification_icon_cmd array with a NULL
19657
19658 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19659
19660         * configure.in (ALL_LINGUAS): Added de (German).
19661
19662 2004-10-08 Dan Williams <dcbw@redaht.com>
19663
19664         * src/NetworkManagerDevice.c
19665                 - Be a bit more robust about link checking, ie make sure that
19666                         the WEP key we were given actually has some data in it
19667
19668 2004-10-08 Dan Williams <dcbw@redhat.com>
19669
19670         * info-daemon/NetworkManagerInfo.c (main):
19671                 - Initialize GError object to NULL
19672
19673 2004-10-08 Dan Williams <dcbw@redhat.com>
19674
19675         * panel-applet/NMWirelessAppletDbus.c
19676                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19677
19678 2004-10-08 Dan Williams <dcbw@redhat.com>
19679
19680         * info-daemon/NetworkManagerInfo.[ch]
19681           info-dameon/NetworkManagerInfoDbus.[ch]
19682           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19683                 - Preserve original label text in the passphrase dialog so that
19684                         it actually gets updated with the new network name the next
19685                         time around.  Previously, we were overwriting it so you'd get
19686                         the wrong network name to enter a key for
19687                 - Add a "Key Type" combo to the passphrase dialog, user selects
19688                         encryption key type now, type is stored in GConf too
19689                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19690
19691         * src/NetworkManagerAP.[ch]
19692                 - Remove all the encyption method magic.  It's now set by the user
19693                         and NetworkManager retrieves the type of encryption key from
19694                         NetworkManagerInfo
19695
19696         * src/NetworkManagerAPList.[ch]
19697           src/NetworkManagerDbus.[ch]
19698                 - Adjust to new way of setting encryption key and method
19699                 - Pull encryption method down from NMI along with key
19700
19701         * src/NetworkManagerDevice.[ch]
19702                 - Removed encryption method fallback magic as the method is now
19703                         determined by the user.  This greatly simplifies the connection
19704                         logic.
19705                 - More robust connection/link logic.  Besides removing the encryption
19706                         method fallback magic, check whether or not the card is receiving
19707                         invalidly encrypted packets, which usually indicates that we have
19708                         a bad WEP key set.
19709                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19710
19711         * test/nminfotest.c
19712                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19713
19714 2004-10-07 Dan Williams <dcbw@redhat.com>
19715
19716         * info-daemon/NetworkManagerInfo.conf
19717                 - Allow root user to run NMI too
19718
19719 2004-10-06 Dan Williams <dcbw@redhat.com>
19720
19721         * src/NetworkManagerDevice.[ch]
19722           src/NetworkManagerDbus.c
19723           doc/NetworkManager DBUS API.txt
19724                 - Add a new status tag "scanning", which is set when there
19725                         is no active network connection, but NetworkManager is
19726                         looking for an access point to associate with
19727
19728         * panel-applet/main.c
19729                 - Cast the applet appropriately for gtk_widget_show_all ()
19730
19731 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19732
19733         * panel-applet/eggtrayicon.[ch]:
19734         * panel-applet/main.c: Add missing file
19735
19736 2004-10-04 Dan Williams <dcbw@redhat.com>
19737
19738         * src/NetworkManagerDevice.[ch]
19739                 - Add a slightly more robust method of determining if the WEP key
19740                         is correct or not, by checking the WEP-discarded packet count
19741                         on the card
19742
19743         * info-daemon/NetworkManagerInfo.c
19744                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19745                         un-escape values we pull out rather than escaping them
19746
19747 2004-10-03  Marcel Telka  <marcel@telka.sk>
19748
19749         * configure.in (ALL_LINGUAS): Added sk.
19750
19751 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19752
19753         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19754         and feel.  We should be back to working, and have a good, clean
19755         look.
19756
19757 2004-09-30 Dan Williams <dcbw@redhat.com>
19758
19759         * info-daemon/NetworkManagerInfo.c
19760           info-daemon/NetworkManagerInfoDbus.c
19761           test/nminfotest.c
19762                 - Escape ESSIDs in gconf
19763
19764         * src/NetworkManagerDevice.c
19765                 - Fix pseudo-scanning to use netowrk list from info daemon
19766
19767 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19768
19769         * configure.in: Add a temporary --enable-notification-icon.  This
19770         will prolly go away.
19771
19772         * info-daemon/Makefile.am:
19773         * info-daemon/NetworkManagerInfo.c:
19774         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19775
19776         * panel-applet/Makefile.am:
19777         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19778         * panel-applet/NMWirelessApplet.h:
19779
19780 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19781
19782         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19783         before 'select custom ESSID'.
19784
19785         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19786         fully complete, but syncing in prep for merge.
19787
19788         * panel-applet/icons/*png: New images
19789
19790 2004-09-28 Dan Williams <dcbw@redhat.com>
19791
19792         * src/NetworkManager.c
19793           src/NetworkManagerDevice.c
19794           src/NetworkManagerPolicy.c
19795                 - Don't blow away an active wired connection on startup
19796
19797 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19798
19799         Changes from J5
19800         
19801         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19802
19803         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19804         syslog output
19805
19806 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19807
19808         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19809         have a wireless card.
19810
19811 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19812
19813         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19814         Also, get the right device strings.
19815
19816 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19817
19818         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19819         the logic to make this right.
19820
19821         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19822         devices so that wired networks are always first.
19823
19824 2004-09-22    <clarkbw@cvs.gnome.org>
19825
19826         * initscript/Debian/.cvsignore:
19827         * initscript/Slackware/.cvsignore:
19828         Added new cvsignores for Makefile, Makefile.in
19829         
19830         * test/.cvsignore:
19831         Added nmtestdevices
19832         
19833         * src/NetworkManagerDevice.c: 
19834         * src/NetworkManager.c: 
19835         Updated the wireless/wired HAL device strings from net.ethernet to
19836         net.80203 or net.80211 depending on wired or wireless respectively
19837         
19838         * examples/python/NetworkManager.py: 
19839         s/Quality/Strength/
19840
19841         * examples/python/systray/network_tray.py:
19842         Lots of little changes and fixes.  been rotting for a while so I
19843         figured I'd finally sync them all with CVS
19844
19845 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19846
19847         * configure.in: Add graphics
19848
19849         * panel-applet/Makefile.am: Add graphics
19850
19851         * panel-applet/icons/*: Add graphics
19852
19853         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19854         the icons fully lined up.
19855
19856         * panel-applet/menu-info.c: 
19857         * panel-applet/menu-info.h: Add another menu type.
19858
19859 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19860
19861         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19862
19863         * panel-applet/menu-item.[ch]: Wireless menu item.
19864
19865 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19866
19867         * info-daemon/NetworkManagerInfo.conf
19868                 - Created a more robust security policy for the DBus service
19869                         - everything is denied by default
19870                         - root can own and send to the service
19871                         - users logged in at the console can send to the service
19872
19873 2004-09-13  Dan Williams <dcbw@redhat.com>
19874
19875         * src/NetworkManagerDevice.c
19876                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19877                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19878                         the latter
19879
19880 2004-09-13  Dan Williams <dcbw@redhat.com>
19881
19882         * TODO: fix typo
19883
19884         * docs/NetworkManager DBUS API.txt
19885                 - Update for new signal strength changes
19886
19887         * panel-applet/NMWirelessApplet.c
19888                 - Make panel icon show strength of the current connection
19889                 - Cleanups and memleak fixes
19890
19891         * panel-applet/NMWirelessApplet.h
19892                 - Add data members for signal strength on devices and networks
19893
19894         * panel-applet/NMWirelessAppletDbus.c
19895                 - Free more DBusErrors
19896                 - Update for new signal strength changes
19897                 - Make devices and networks more like real objects, use ref/unref methods
19898                 - Actually unlock the mutex when updating the active device
19899
19900         * src/NetworkManagerAP.c
19901                 - Change AP functions and data members from "quality"->"strength"
19902
19903         * src/NetworkManagerDbus.c
19904                 - Kill "getMaxQuality" and "getQuality" methods
19905                 - Add "getStrength" methods for Networks and Devices
19906
19907         * src/NetworkManagerDevice.[ch]
19908                 - Add accessors for device strength
19909                 - Add functions to update strength for a device.  Note that not all drivers
19910                         actually support signal strength for scanned access points (Atmel drivers
19911                         being one)
19912                 - Calculate signal strength for each AP during scan
19913
19914         * src/NetworkManagerWireless.[ch]
19915                 - Add function to return signal strength % from a device and a raw quality struct
19916
19917         * test/nmclienttest.c
19918                 - Update for new signal strength changes
19919
19920 2004-09-11  Dan Williams <dcbw@redhat.com>
19921
19922         * src/NetworkManager.c
19923                 - Fix race condition between initscripts and NM on card insertion
19924                         which could cause a card to keep an IP address and routes around
19925                         even when it was not the active device
19926
19927         * src/NetworkManagerDbus.c
19928                 - Fix compile errors, free more DBusErrors
19929
19930 2004-09-11  Dan Williams <dcbw@redhat.com>
19931
19932         * docs/NetworkManager DBUS API.txt
19933                 - Add an explanation of NM's API
19934
19935         * src/NetworkManagerDbus.c
19936                 - Free some more DBusErrors if needed
19937
19938 2004-09-11  Dan Williams <dcbw@redhat.com>
19939
19940         * panel-applet/NMWirelessApplet.c
19941           panel-applet/NMWirelessAppletDbus.c
19942                 - Start using NetworkDevice/WirelessNetwork structures in more places
19943                 - Update for unified device/network forcing in NetworkManager
19944
19945         * src/NetworkManager.c
19946                 - some code consolidation
19947
19948         * src/NetworkManagerDbus.c
19949                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19950                         or two arguments:  the first is the NM ID of the device to switch to,
19951                         and the second (optional) argument is the ESSID of a wireless network
19952                         to use as well.
19953                 - Get rid of "setNetwork" method due to above change
19954
19955         * src/NetworkManagerDevice.c
19956                 - (nm_device_new): perform scan and update best AP on device creation
19957                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19958                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19959                         spin waiting for cancellation to finish before returning
19960
19961         * src/NetworkManagerPolicy.c
19962                 - Changes here clarify the situations in which a device switch occurs, and 
19963                         make sure to keep using a forced device and network if the user gives
19964                         us one
19965                 - Remove old unused code
19966
19967 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19968
19969         * configure.in: Added Danish (da) to ALL_LINGUAS.
19970
19971 2004-09-09  Dan Williams <dcbw@redhat.com>
19972
19973         * panel-applet/NMWirelessAppletDbus.c
19974                 - Pull fresh devices and networks from NM when wireless networks
19975                         change.  Provides faster feedback of a forced wireless network
19976
19977         * src/NetworkManagerDbus.c
19978                 - Return error when "getMaxQuality" is called on a wired device
19979                 - Make best_ap freezing actually work again, and signal cancellation
19980                         of activation if there's already a device activation when the user
19981                         freezes the best_ap
19982
19983         * src/NetworkManagerDevice.c
19984                 - Don't clear out the best_ap for wireless devices when the link goes
19985                         down, that's done elsewhere
19986                 - Kill any dhcp daemons when cancelling device activation since they
19987                         may be stuck waiting for a DHCP address, and since we're cancelling
19988                         activation we don't care about that anymore
19989
19990         * src/NetworkManagerPolicy.c
19991                 - Make sure to unref the device we ref earlier (we refed it to make sure
19992                         it stuck around during device activation and such)
19993                 - If we were going to change the best device, but its activating currently
19994                         (and therefore the change didn't occur due to the check earlier)
19995                         we mark the state changed to we come back to it later when device
19996                         activation has canceled and its no longer activating
19997
19998         * src/backends/NetworkManagerRedHat.c
19999                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20000
20001 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20002
20003         * info-daemon/passphrase.glade: 
20004         set passphrase input to activates_default : True
20005
20006         * examples/python/systray/network_tray.py
20007         (network_tray.sort_networks):
20008
20009         Added support for having wireless always scanning
20010
20011 2004-09-09  Dan Williams <dcbw@redhat.com>
20012
20013         NOTE: this commit changes the behavior of wireless devices in
20014         NetworkManager.  They are now up all the time, scanning all
20015         the time.  Only the active device has an IP address and routing
20016         information set up however.  Also, NetworkManager will no longer
20017         opportunistically switch wireless networks when a better one
20018         comes in range, it will remain associated with one wireless network
20019         until that one drops out.
20020
20021         * panel-applet/NMWirelessApplet.c
20022           panel-applet/NMWirelessAppletDbus.c
20023                 - List all wireless cards and their respective networks
20024
20025         * src/NMLoadModules
20026                 - Use full path to /sbin/ip
20027
20028         * src/NetworkManager.c
20029                 - Keep wireless devices up all the time so they can scan
20030
20031         * src/NetworkManagerDbus.c
20032                 - On a WirelessNetworkUpdate signal from NMI, don't update
20033                         the "best" AP
20034
20035         * src/NetworkManagerDevice.c
20036                 - (nm_device_set_link_active): clear out the best ap for
20037                         wireless devices when the link is set to FALSE
20038                 - Scan on all wireless cards, all the time
20039                 - (nm_device_activation_worker): split out the wireless card
20040                         link-waiting code to a separate function
20041                 - Keep wireless cards up even if device activation fails
20042                 - Don't update the "best" ap as much
20043
20044         * src/NetworkManagerPolicy.c
20045                 - Don't update the best ap when checking if its frozen,
20046                         let link checking clear out a frozen best ap for us
20047
20048         * src/NetworkManagerWireless.c
20049                 - Scan on all wireless cards, all the time
20050
20051 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20052
20053         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20054
20055 2004-09-09  Ankit Patel <ankit@redhat.com>
20056
20057         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20058
20059 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20060
20061         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20062
20063 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20064
20065         * examples/python/NetworkManager.py: 
20066         added CONNECTED, CONNECTING, and DISCONNECTED states
20067         added methods to return number of devices of a single type
20068
20069         * examples/python/systray/network_tray.py: 
20070         did some tweaks to get the menu looking near what it is supposed
20071         to look like.  Also did a Airo card hack to make it show the
20072         correct AP quality
20073
20074 2004-09-08  Dan Williams <dcbw@redhat.com>
20075
20076         * panel-applet/no-networkmanager.png
20077           panel-applet/Makefile.am
20078           panel-applet/NMWirelessApplet.c
20079                 - Add a "NetworkManager not running" icon and use it
20080                 - Use new consolidated GConf keys rather than Preferred/Trusted
20081
20082         * TODO: update
20083
20084         * info-daemon/NetworkManagerInfo.c
20085           info-daemon/NetworkManagerInfoDbus.[ch]
20086           info-daemon/NetworkManagerInfoPassphraseDialog.c
20087                 - There are now no longer two separate lists of wireless networks,
20088                         but one list where each network is "trusted" or not trusted
20089                 - Add a "getNetworkTrusted" dbus method
20090                 - "WirelessNetworkUpdate" signal now sent rather than
20091                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20092                 - Start freeing some dbus errors (not completed yet)
20093
20094         * info-daemon/passphrase.glade
20095                 - Remove the "don't show" hints for pager and taskbar
20096                 - Add a title since its going to be in the taskbar
20097
20098         * src/NetworkManager.[ch]
20099           src/NetworkManagerAPList.[ch]
20100                 - There are now no longer two separate lists of wireless networks,
20101                         but one list where each network is "trusted" or not trusted
20102
20103         * src/NetworkManagerAP.[ch]
20104                 - Add get/set "trusted" accessors and data bit
20105
20106         * src/NetworkManagerDbus.[ch]
20107                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20108                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20109
20110         * src/NetworkManagerDevice.[ch]
20111                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20112                 - (nm_device_new): Get device config from backend when initializing devices
20113                 - (nm_device_activation_worker): Split out device configuration on
20114                         activation to deal with static/dynamic IP differences, and try encryption
20115                         fallbacks on a device if the encryption method for the best AP is not good
20116                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20117                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20118
20119         * src/NetworkManagerWireless.c
20120                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20121
20122         * src/backends/NetworkManagerRedHat.c
20123           src/backends/NetworkManagerSystem.h
20124                 - (nm_system_device_update_config_info): Add function to get device configuration
20125                         from system data in ifcfg-* files
20126
20127         * src/backends/NetworkManagerDebian.c
20128           src/backends/NetworkManagerGentoo.c
20129           src/backends/NetworkManagerSlackware.c
20130                 - Add stub functions for getting device configuration
20131
20132 2004-09-07  Dan Williams <dcbw@redhat.com>
20133
20134         * src/backends/NetworkManagerRedhat.c
20135           src/backends/NetworkManagerSlackware.c
20136                 - Use full path to /sbin/ip everywhere
20137
20138 2004-09-07  Dan Williams <dcbw@redhat.com>
20139
20140         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20141
20142         * configure.in
20143           initscript/Makefile.am
20144           initscript/Slackware/Makfile.am
20145           initscript/Slackware/rc.networkmanager
20146           src/Makefile.am
20147           src/backends/NetworkManagerSlackware.c
20148                 - Add Slackware support
20149
20150 2004-09-07  Dan Williams <dcbw@redhat.com>
20151
20152         Patches below from:
20153                 <j@bootlab.org>
20154                 Mark Roach <mrroach@okmaybe.com>
20155                 Thom May <thom@debian.org>
20156
20157         * configure.in
20158           initscript/Debian/NetworkManager
20159           initscript/Debian/Makefile.am
20160                 - Initscript for Debian
20161
20162         * src/backends/NetworkManagerDebian.c
20163                 - Add missing system init function to allow compilation
20164                         on Debian
20165
20166 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20167
20168         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20169
20170 2004-09-03  Akagic Amila <bono@linux.org.ba>
20171
20172         * configure.in: Added 'bs' to ALL_LINGUAS.
20173
20174 2004-09-02  Colin Walters  <walters@verbum.org>
20175
20176         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20177         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20178         g_strdup_printf instead of arbitrarily sized buffers.
20179
20180 2004-09-01  Colin Walters  <walters@verbum.org>
20181
20182         * NetworkManager.pc.in: New file.
20183
20184         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20185
20186 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20187         
20188         * configure.in: Punjabi(pa) is added to po/.
20189
20190 2004-08-31  Dan Williams <dcbw@redhat.com>
20191
20192         * Remove 'debug' extern global from all files since we now
20193                 use syslog()
20194
20195         * src/NetworkManager.[ch]
20196                 - Break out routine that get the net.interface property from HAL,
20197                         removing that logic from nm_create_device_and_add_to_list()
20198                 - (nm_create_device_and_add_to_list): make this a bit more general so
20199                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20200                         the create of test devices.
20201                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20202                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20203                         which makes NetworkManager listen for dbus commands to create test
20204                         devices, which have no backing hardware.  Use when you're on a plane
20205                         for example, and/or forgot your wireless card at home.  Test devices
20206                         _cannot_ be created unless NM is started with --enable-test-devices.
20207
20208         * src/NetworkManagerDbus.[ch]
20209                 - New "getLinkActive" method for devices
20210                 - New "setLinkActive" method for devices (only works on test devices)
20211                 - New "createTestDevice" method on NetworkManager object to create a test
20212                         device of a specified type (ie wired, wireless).  UDI is created from
20213                         scratch, as is the interface name.  Only works when NM is started with
20214                         --enable-test-devices switch.
20215                 - New "removeTestDevice" method on NetworkManager object which removes a
20216                         test device.  Only works when NM is started with --enable-test-devices
20217
20218         * src/NetworkManagerDevice.[ch]
20219                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20220                         whether a device is a test device or not, and what its link status is.
20221                 - Deal with test devices in most functions.  For those that work directly on hardware
20222                         special-case test devices.
20223                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20224                         command-line.
20225                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20226                         checking to separate functions to facilitate test device link checking.
20227                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20228                         don't make a distinction between System Authentication and Encryption
20229                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20230                         on the card.  We don't deal with Shared Key auth yet.
20231                 - (nm_device_activation_worker): split the activation cancel check logic out into
20232                         a separate routine nm_device_activation_cancel_if_needed()
20233                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20234                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20235                         a list of fake access points that they can "see"
20236                 - (nm_device_is_test_device): return whether or not a device is a test device
20237
20238         * src/NetworkManagerPolicy.c
20239                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20240                         previously if you "locked"/forced NM to use a wireless device but then
20241                         selected a wireless network for NM to use, it would switch to a wired device.
20242                         So, if the active device is wireless and it has a "forced" best AP, use it
20243                         if the "forced" best AP is still valid
20244                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20245                         there were no usable network devices, or the last one was removed
20246
20247         * src/backends/NetworkManager*.c
20248                 - Deal with test devices, mostly just return success for operations like getting
20249                         a DHCP address
20250
20251         * test/nmtestdevices.c
20252                 - Test tool to create/remove/link-switch test devices
20253
20254 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20255
20256         * examples/python/NetworkManager.py: 
20257         added convience functions has_wired_device and has_wireless_device
20258
20259         * examples/python/systray/network_tray.py: 
20260         cleaned up a bunch of cruft, added support for listing wireless
20261         networks just like the real applet.  This is probably all I'm
20262         going to work on this applet from now on.
20263         TODO: add support for actually changing networks and devices
20264
20265         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20266         changed "nm.networks" into a dict from a list so I can store all
20267         the cool information about networks in there
20268
20269         * examples/python/systray/network_tray.py: 
20270         Added nice message when you try to run without running make first
20271
20272         * examples/python/NetworkManager.py: 
20273         Bug fixes to the code so we get all the device information
20274         that we need in get_device()
20275         
20276         * examples/python/NMTester.py: 
20277         Fixed _print_device_list to print_device_list
20278
20279 2004-08-29  Seth Nickell  <seth@gnome.org>
20280
20281         * configure.in:
20282
20283         Actually properly setup the Debian backend in configure.
20284         
20285 2004-08-29  Colin Walters  <walters@verbum.org>
20286
20287         * test/nminfotest.c: Include string.h and stdlib.h.
20288         (get_network_string_property, get_networks_of_type): Return NULL.
20289
20290         * test/nmclienttest.c (get_device_name, get_active_device): Return
20291         NULL.
20292
20293         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20294         use strlen, fgets always NULL-terminates the string.
20295
20296         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20297         dbus_message_get_member): Remove /* in comment.
20298
20299         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20300
20301         * src/NetworkManager.c (quit): Unused, delete.
20302         (nm_data_free): Cast arg to GFunc.
20303
20304         * panel-applet/NMWirelessAppletDbus.c: Need to include
20305         string.h, and dbus-glib-lowlevel.h (the latter is needed
20306         for dbus_connection_setup_with_g_main at present).
20307         (nmwa_dbus_update_wireless_network_list): Parenthesize
20308         assignment in conditional.
20309         (nmwa_dbus_worker): Return NULL.
20310
20311         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20312         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20313         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20314         (nmwa_populate_menu): Return NULL on failure, instead of just
20315         return;
20316
20317         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20318
20319         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20320         variables.
20321
20322         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20323         delete.
20324         
20325 2004-08-29  Colin Walters  <walters@verbum.org>
20326
20327         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20328         a GTimeVal instead of time_t.  This is easier to work with,
20329         since time_t may be a long or double, we don't know.
20330
20331         * src/NetworkManagerDbus.h: Update prototype.
20332         
20333         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20334         instead of time_t.
20335         (nm_ap_get_timestamp): Update to return GTimeVal.
20336         (nm_ap_set_timestamp): Update to take GTimeVal.
20337         
20338         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20339         to handle GTimeVal.
20340
20341         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20342         GTimeVal change.
20343         (nm_ap_list_print_members): Fix warnings in printf format.
20344
20345 2004-08-29  Colin Walters  <walters@verbum.org>
20346         
20347         * panel-applet/NMWirelessApplet.c: Include config.h.
20348
20349 2004-08-29  Colin Walters  <walters@verbum.org>
20350
20351         * configure.in: Generate config.h.
20352
20353         * configure.in: Dump dependency on OpenSSL; we can't
20354         use it since this package is GPL:
20355         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20356         Instead, check for libgcrypt, use it if available,
20357         otherwise use included MD5 code.
20358
20359         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20360         Suck in from gnome-keyring, munge a bit.
20361         
20362         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20363         gnome-keyring-md5.h gnome-keyring-md5.c.
20364         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20365
20366         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20367         libgcrypt or included gnome-keyring md5 bits.
20368         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20369
20370 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20371
20372         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20373
20374 2004-08-27  Bryan Clark  <bclark@redhat.com>
20375
20376         * examples/python/systray/Makefile: 
20377
20378         Updated the clean section
20379         
20380         * examples/python/systray/trayiconmodule.c: 
20381         * examples/python/systray/trayicon.override: 
20382         * examples/python/systray/network_tray.py: 
20383         * examples/python/systray/eggtrayicon.h: 
20384         * examples/python/systray/eggtrayicon.c: 
20385         * examples/python/systray/Makefile: 
20386         * examples/python/README: 
20387         * examples/python/NetworkManager.py: 
20388         * examples/python/NMTester.py: 
20389
20390         Initial commit of these python example files
20391
20392 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20393
20394         * panel-applet/NMWirelessApplet.c
20395                 - Make current device bold
20396                 - Show more user-friendly device name if we got one from hal
20397
20398         * panel-applet/NMWirelessAppletDbus.c
20399                 - Grab "info.product" key from hal for network devices
20400                 - Cache the current active device
20401
20402 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20403
20404         * configure.in: Added en_CA to ALL_LINGUAS.
20405
20406 2004-08-27  Christian Rose  <menthos@menthos.com>
20407
20408         * configure.in: Added "sv" to ALL_LINGUAS.
20409
20410 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20411
20412         * Tag NetworkManager-0.2
20413
20414 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20415
20416         * initscripts/Makefile.am
20417         * configure.in: Make pass distcheck
20418
20419         * po/ChangeLog: added
20420
20421 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20422
20423         * panel-applet/NMWirelessApplet.c
20424                 - Remove debugging code
20425                 - Enable device switching from menus
20426
20427         * panel-applet/NMWirelessAppletDbus.[ch]
20428                 - Method for asking NM to switch devices
20429
20430         * src/NetworkManagerDevice.c
20431                 - Set dev->activating earlier, avoids race between
20432                         the dbus signal of "DeviceActivating" and setting
20433                         dev->activating (which is what NM's "status" method call
20434                         looks at)
20435
20436 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20437
20438         * panel-applet/NMWirelessApplet.[ch]
20439                 - Rework menu code to add devices to menu, and to show
20440                         signal strength for each access point.  Code cleanups
20441                         too.
20442
20443         * panel-applet/NMWirelessAppletDbus.c
20444                 - Grab network devices from NetworkManager too
20445                 - Grab quality information from NM for wireless networks
20446
20447         * src/NetworkManagerDbus.[ch]
20448                 - Add dbus methods for getting the HAL UDI from a device and
20449                         for getting its base quality, if its wireless
20450                 - Consolidate some functions (wireless network notifications,
20451                         device notifications)
20452                 - Add method for requesting NM to use a particular device
20453
20454         * src/NetworkManager.c
20455                 - Change for function consolidations from NetworkManagerDbus.c
20456                 - Implement active device locking and user-requested devices
20457                         (ie, tell NM to use a particular device instead of the one
20458                         it autochose)
20459
20460         * src/NetworkManagerDevice.c
20461                 - Add method for getting the base quality of a device, if its
20462                         wireless
20463                 - Grab device base quailty info from iwlib during scans
20464
20465         * src/NetworkManagerPolicy.c
20466                 - Use a user-requested device rather than the auto-chosen device
20467                         if we are told to
20468
20469 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20470
20471         * Makefile.am: add po as a supdir
20472
20473         * autogen.sh: use gnome-autogen.sh
20474
20475         * initscript/Gentoo/.cvsignore:
20476         * initscript/RedHat/.cvsignore: Shut up cvs
20477
20478         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20479
20480         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20481         (nmwa_fill): Use gettext.
20482
20483         * configure.in: add gettext support
20484         * po/.cvsignore:
20485         * po/NetworkManager.pot:
20486         * po/POTFILES.in:
20487
20488 2004-08-26  Seth Nickell  <seth@gnome.org>
20489
20490         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20491         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20492         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20493         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20494         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20495         * panel-applet/NMWirelessApplet.h:
20496
20497         Use a menu bar instead of a button for the main clickable
20498         thingy.
20499         
20500 2004-08-25  Dan Williams <dcbw@redhat.com>
20501
20502         * src/NetworkManagerDevice.c
20503                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20504                         turning encryption off, because the Cisco driver doesn't associate
20505                         with WEP-enabled access points unless we are in "open"
20506
20507 2004-08-25  Dan Williams <dcbw@redhat.com>
20508
20509         * src/NetworkManagerWireless.c
20510                 - Don't try to defererence blank passphrases
20511
20512 2004-08-25  Dan Williams <dcbw@redhat.com>
20513
20514         * panel-applet/NMWirelessApplet.c
20515                 - Rebuild the menu whenever a user clicks
20516
20517 2004-08-25  Dan Williams <dcbw@redhat.com>
20518
20519         * panel-applet/NMWirelessApplet.c
20520                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20521                         when NM isn't around or when its not connected
20522
20523         * src/NetworkManagerDevice.c
20524                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20525                         canceled.
20526
20527 2004-08-25  Dan Williams <dcbw@redhat.com>
20528
20529         * panel-applet/NMWirelessAppletDbus.c
20530                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20531                         for getting encryption, and don't stop on "val" once we've gotten it
20532                         from NetworkManager.  Short form:  encryption should now show up.
20533
20534 2004-08-25  Dan Williams <dcbw@redhat.com>
20535
20536         * panel-applet/NMWirelessApplet.c
20537                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20538                         network to associate with
20539
20540 2004-08-25  Dan Williams <dcbw@redhat.com>
20541
20542         * panel-applet/*
20543                 - Rework the panel applet to do all DBUS communication in a separate
20544                         thread
20545
20546 2004-08-25  Dan Williams <dcbw@redhat.com>
20547
20548         * info-daemon/NetworkManagerInfo.[ch]
20549                 - Remove "get_next_priority" function
20550
20551         * info-daemon/NetworkManagerInfoDbus.[ch]
20552                 - Convert "priority" functions to "timestamp"
20553
20554 2004-08-25  Dan Williams <dcbw@redhat.com>
20555
20556         * src/NetworkManagerAP.[ch]
20557                 - Add a "enc_method_good" member and accessors to an Access Point
20558                         to signal when we've found the correct encryption method
20559                         for an access point
20560                 - Add a "timestamp" member and accessors, remove "priority" member
20561                         and accessors (use timestamps instead)
20562                 - Rename "wep_key"->"enc_key"
20563                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20564                         for a specified encryption method using the access points
20565                         source encryption key/passphrase
20566
20567         * src/NetworkManagerAPList.c
20568                 - When updating a network with dbus, grab timestamp now instead of
20569                         priority
20570
20571         * src/NetworkManagerDBus.[ch]
20572                 - Add signal for "DeviceActivating"
20573                 - Switch priority->timestamp
20574
20575         * src/NetworkManagerDevice.c
20576                 - Change references of "wep_key" -> "enc_key" or "key"
20577                 - Signal DeviceActivating when starting activation
20578                 - When activating a wireless device, if the access point we are connecting
20579                         to is encrypted, and we have a source key, try to generate a mangled
20580                         key and use that (ie, generate real WEP key from a passphrase)
20581                 - Rework device activation to fallback to other encryption methods if
20582                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20583                         first, then if that doesn't work fall back to direct hex key).
20584                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20585                         priority.  We now prefer the latest access point used, rather than using
20586                         a priority scheme
20587                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20588                         points we've just discovered, and merge in correct info from the global
20589                         access point lists
20590
20591 2004-08-25  Seth Nickell  <seth@gnome.org>
20592
20593         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20594         Debian support.
20595         
20596         * src/Makefile.am:
20597         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20598         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20599         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20600         (nm_system_delete_default_route),
20601         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20602         (nm_system_load_device_modules):
20603
20604 2004-08-24  Dan Willemsen <dan@willemsen.us>
20605
20606         * src/NetworkManager.c
20607           src/backends/NetworkManagerGentoo.c
20608           src/backends/NetworkManagerRedHat.c
20609           src/backends/NetworkManagerSystem.h
20610                 - Implement preliminary Gentoo support, adding a
20611                         nm_system_init function to the backend specification
20612
20613         * configure.in
20614                 - Distribution auto-detection, lowercase any user-fed
20615                         distribution names
20616
20617         * initscript/.cvsignore
20618           initscript/Makefile.am
20619           initscript/RedHat/Makefile.am
20620           initscript/RedHat/NetworkManager
20621           initscript/Gentoo/Makefile.am
20622           initscript/Gentoo/NetworkManager
20623                 - Refactored initscript code separately for each
20624                         distribution
20625
20626 2004-08-23  Dan Williams <dcbw@redhat.com>
20627
20628         * configure.in
20629           src/Makefile.am
20630           src/NetworkManagerDevice.c
20631           src/NetworkManager.c
20632           src/NetworkManagerUtils.[ch]
20633           src/backends/NetworkManagerSystem.h
20634           src/backends/NetworkManagerRedHat.c
20635           src/backends/NetworkManagerGentoo.c
20636                 - Refactor system-specific code into separate backends for
20637                         each distribution
20638
20639 2004-08-23  Dan Willemsen <dan@willemsen.us>
20640
20641         * dispatcher-daemon/NetworkManagerDispatcher.c
20642           info-daemon/NetworkManagerInfo.[ch]
20643           info-daemon/NetworkManagerInfoDbus.c
20644           info-daemon/NetworkManagerInfoPassphraseDialog.c
20645           src/NetworkManager.c
20646           src/NetworkManagerAP.c
20647           src/NetworkManagerAPList.c
20648           src/NetworkManagerDbus.c
20649           src/NetworkManagerDevice.c
20650           src/NetworkManagerPolicy.c
20651           src/NetworkManagerUtils.[ch]
20652           src/NetworkManagerWireless.c
20653                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20654
20655         * src/NetworkManager.c
20656                 - Fixed usage wording for --no-daemon
20657
20658 2004-08-23  Dan Williams <dcbw@redhat.com>
20659
20660         * panel-applet/NMWirelessApplet.c
20661                 - Update our state every second to get more responsive panel icon
20662                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20663                         was causing our marching ants status blips to never move when
20664                         looking for a wireless network
20665
20666         * src/NetworkManagerDevice.c
20667                 - (nm_device_activation_begin): return if activation has already begun
20668                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20669                         trusted/preferred network into the device's access point when the
20670                         scan list is processed
20671
20672 2004-08-23  Dan Williams <dcbw@redhat.com>
20673
20674         * initscript/NetworkManager
20675                 - Use NMLaunchHelper rather than sleeping
20676
20677         * initscript/NMLaunchHelper.c
20678           Makefile.am
20679                 - Add helper program that exits only when NM activates a device,
20680                         or 10 seconds have passed, whichever happens first.  This
20681                         stops the boot processes until we have a network connection,
20682                         which NM can't do because it daemonizes and brings the connection
20683                         up in the background.  Allows stuff like NFS to not die.
20684
20685 2004-08-20  Dan Williams <dcbw@redhat.com>
20686
20687         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20688                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20689                         for a network, set the essid as well since it may not exist yet
20690                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20691                         since WEP keys/passphrases are long and prone to entry-error
20692
20693         * panel-applet/Makefile.am
20694           panel-applet/wired.png
20695                 - Add (pulled from system-config-network temporarily)
20696
20697         * panel-applet/NMWirelessApplet.[ch]
20698                 - Show wired picture when a wired connection is used
20699                 - Rename wireless icon enums, adding WIRELESS
20700
20701         * src/NetworkManagerDevice.c
20702                 - (nm_device_activate_wireless): unset encryption before bringing
20703                         down the card and setting the essid
20704                 - (nm_device_activatin_worker): request a key from the user if the
20705                         AP we are connecting to is encrypted but we don't have a key
20706                         for it yet
20707                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20708                         strcmp() that prevented a user-entered key from actually getting
20709                         used
20710
20711 2004-08-16  Dan Williams <dcbw@redhat.com>
20712
20713         * initscript/NetworkManager
20714                 - Check for /sbin/ip
20715                 - Do sysctl magic that network service does
20716                 - sleep 4s after start to allow network time to come up [hack]
20717
20718         * src/Makefile.am
20719           src/NMLoadModules
20720                 - Load all network device kernel modules (hal doesn't know devices
20721                         are ethernet until the module is loaded, and therefore we don't know)
20722
20723         * src/NetworkManager.c
20724                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20725                         network devices, and bring up the loopback device explicitly
20726
20727         * src/NetworkManagerUtils.[ch]
20728                 - (nm_enable_loopback): new function
20729
20730 2004-08-13  Dan Williams <dcbw@redhat.com>
20731
20732         * configure.in
20733           panel-applet/Makefile.am
20734                 - Fix up cleanfiles and server_DATA/server_in_files
20735
20736         * README
20737                 - Update with some comments on theory of operation
20738
20739         * CONTRIBUTING
20740           Makefile.am
20741                 - Add CONTRIBUTING
20742
20743 2004-08-12  Dan Williams <dcbw@redhat.com>
20744
20745         * info-daemon/passphrase.glade
20746                 - Set window title to " "
20747
20748         * panel-applet/Makefile.am
20749           panel-applet/keyring.png
20750                 - Deliver to correct place
20751
20752         * panel-applet/NMWirelessApplet.[ch]
20753                 - Add comments
20754                 - Remove applet->have_active_device as its no longer used
20755                 - (nmwa_load_theme): load keyring.png too
20756                 - (error_dialog): remove
20757                 - (show_warning_dialog): subsume functionality of error dialog too
20758                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20759                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20760                         the networks menu
20761                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20762                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20763                         and when we get broadcasts of changed wireless access points only, not when the
20764                         user clicks on the button to display the menu (too long of a wait)
20765                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20766                         networks that are encrypted
20767                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20768                         menu item with g_object_set_data()
20769
20770         * panel-applet/NMWirelessAppletDbus.[ch]
20771                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20772                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20773                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20774                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20775                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20776                         activation/deactivation signals and rebuild the menu when they happen
20777
20778         * src/NetworkManager.c
20779                 - (main): use new nm_spawn_process() rather than system()
20780
20781         * src/NetworkManagerDbus.c
20782                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20783                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20784                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20785                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20786                         to freeze the best_ap.
20787
20788         * src/NetworkManagerDevice.[ch]
20789                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20790                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20791                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20792                         ap list
20793
20794         * src/NetworkManagerUtils.[ch]
20795                 - (nm_spawn_process): add replacement for system() usage
20796
20797 2004-08-11  Dan Williams <dcbw@redhat.com>
20798
20799         * panel-applet/NMWirelessApplet.[ch]
20800                 - Fix up copyright and credits to include Bastien and Eskil,
20801                         who created the gnome-applets wireless applet, from whose
20802                         skeleton this one was created
20803                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20804                         pixmap to draw is computed during nmwa_update_state()
20805                 - Applet now shows itself all the time due to panel packing issues
20806                         which caused the applet to previously never come back after hiding.
20807                         When a wired device is the active device, the applet shows "not connected"
20808
20809         * panel-applet/NMWirelessAppletDbus.[ch]
20810                 - Clean up error messages and show what function they are from
20811                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20812                 - Add new device type getters, and a status getter
20813
20814         * src/NetworkManagerDbus.c
20815                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20816                         network is actually in the device's ap list
20817                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20818
20819         * src/NetworkManagerDevice.c
20820                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20821                         card
20822
20823         * test/nmclienttest.c
20824                 - Report status of NetworkManager too
20825
20826 2004-08-11  Dan Williams <dcbw@redhat.com>
20827
20828         * info-daemon/NetworkManagerInfo.c:
20829                 - (main): clean up Seth's code style
20830
20831         * info-daemon/NetworkManagerInfoDbus.c:
20832                 - Use the more aptly-named path/service/interface constants from NetworkManager
20833                 - Don't return empty strings ("") as object paths ever, instead return errors
20834
20835         * panel-applet/NMWirelessApplet.c:
20836                 - Clean up Seth's code style
20837
20838         * src/NetworkManager.[ch]
20839                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20840                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20841
20842         * src/NetworkManagerAPList.[ch]
20843                 - Move Iter struct right above the iter functions to preserve opacity
20844                 - (nm_ap_list_remove_ap): implement
20845                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20846                         remove AP if NetworkManagerInfo doesn't know anything about it
20847                 - (nm_ap_list_diff): user NMAPList iterators
20848                 - (nm_ap_list_print_members): implement debugging function
20849
20850         * src/NetworkManagerDbus.[ch]
20851                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20852                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20853                         and move the actual key setting stuff into NetworkManagerDevice.c
20854                 - (nm_dbus_get_network_priority): return -1 now on errors
20855                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20856                         get lost, and force the active device to update its "best" ap when AP lists change
20857                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20858                         method call due to pending_device member removal
20859
20860         * src/NetworkManagerDevice.[ch]
20861                 - Move NMDevice structure to the top
20862                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20863                 - Remove Pending Action stuff from everywhere
20864                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20865                         activation for us.  This thread blocks until all conditions for activation have
20866                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20867                         then setup up the interface and runs dhclient.  We have to do this because there
20868                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20869                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20870                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20871                         can tell nm_device_activation_worker() that we've got a key
20872                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20873                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20874                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20875                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20876
20877         * src/NetworkManagerPolicy.c
20878                 - Remove anything to do with pending_device
20879                 - Adjust device activation to deal with activation-in-worker-thread
20880
20881         * src/NetworkManagerUtils.c
20882                 - Clean up locking debugging a bit
20883
20884         * src/NetworkManagerWireless.[ch]
20885                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20886                         was badly named and is better as a device function
20887
20888         * panel-applet/.cvsignore: add
20889
20890 2004-08-09  Seth Nickell  <seth@gnome.org>
20891
20892         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20893         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20894         (nmwa_new):
20895         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20896
20897         Don't load the menus until clicked on (also removes a call outside
20898         normal code paths at first load).
20899
20900         Hide applet when NM is not present.
20901         
20902         Improve printf debugging stuff.
20903         
20904 2004-08-09  Dan Williams <dcbw@redhat.com>
20905
20906         * dispatcher-daemon/NetworkManagerDispatcher.c:
20907                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20908                 - Use constants for NetworkManager interface, service, and path
20909
20910 2004-08-09  Dan Williams <dcbw@redhat.com>
20911
20912         * src/NetworkManagerDbus.c:
20913                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20914                         instead return an error message
20915                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20916                         on a wired device.  Also never return an empty object path, instead return an error message
20917
20918 2004-08-06  Seth Nickell  <seth@gnome.org>
20919
20920         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20921
20922         Check the error code when getting a connection.
20923         
20924         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20925
20926         Check if the NM service exists when initializing (rather than
20927         assuming it does not).
20928         
20929         * src/NetworkManagerDbus.c: (nm_dbus_init):
20930
20931         Don't acquire the well-known service name until we have
20932         registered object/path handlers and can actually receive
20933         calls.
20934         
20935 2004-08-06  Dan Williams <dcbw@redhat.com>
20936
20937         * panel-applet/*
20938                 - Add panel applet
20939
20940         * src/NetworkManagerPolicy.c
20941           src/NetworkManager.c
20942                 - Get access point lists from NetworkManagerInfo on-demand,
20943                         and look for ServiceCreate/ServiceDeleted signals to see when
20944                         we should query NMI for lists
20945         * src/NetworkManagerAPList.c
20946                 - Make sure to init the list's mutex
20947                 - Convert traversals of the list over to the list iter functions
20948
20949         * src/NetworkManagerDbus.[ch]
20950                 - Use more aptly-named path/service/interface constants
20951                 - Treat both active and pending devices the same for "getActiveDevice"
20952                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20953
20954         * src/NetworkManagerDevice.c
20955                 - Honor "ignored" network list when picking best ap to use
20956
20957 2004-08-06  Seth Nickell  <seth@gnome.org>
20958
20959         * aclocal.m4:
20960
20961         Autogenerated, remove from CVS.
20962         
20963         * autogen.sh:
20964
20965         Don't hardcode automake version.
20966         
20967         * configure.in:
20968         * info-daemon/Makefile.am:
20969         * info-daemon/NetworkManagerInfo.c: (main):
20970
20971         Use GnomeProgram et al. for doing session management.
20972         Use popt stuff for argument parsing rather than doing
20973         it manugally.
20974         
20975 2004-08-05  Dan Williams <dcbw@redhat.com>
20976
20977         * test/nminfotest.c
20978                 - Update to new NMI dbus API, check different network types
20979
20980         * info-daemon/NetworkManagerInfoDbus.c
20981                 - Update to new NM dbus API, ie network type sent in query message
20982
20983 2004-08-05  Dan Williams <dcbw@redhat.com>
20984
20985         * An assload of changes
20986
20987 2004-08-02  Dan Williams <dcbw@redhat.com>
20988
20989         * TODO
20990                 - new task: proper logging support
20991
20992         * info-daemon/NetworkManagerInfo.c
20993                 - Correct spelling of "canceled"
20994                 - Correct casting of objects for g_signal_connect()
20995
20996         * info-daemon/NetworkManagerInfoDbus.c
20997                 - Add defines for NetworkManager namespace and object path, and use them
20998                 - Add filter function to trap new signals from NetworkManager:
20999                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21000
21001         * info-daemon/passphrase.glade
21002                 - Change name of "ok" button to "Login to Network..."
21003                 - Mark invisible
21004
21005         * src/NetworkManager.c
21006                 - Code and debug message cleanups
21007                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21008                 - (nm_add_initial_devices) Check returned string array of devices
21009                         and don't try to add devices if array is NULL
21010                 - (main) Initialize libhal a bit later, make code a bit clearer
21011
21012         * src/NetworkManagerAP.[ch]
21013                 - New accessor and data member "matched": used to speed up AP list
21014                         diffing
21015                 - New accessor and data member "enc_method": will be used during key
21016                         fallback to cache which passphrase->key conversion actually works
21017                         so we don't have to do it every time
21018
21019         * src/NetworkManagerAPList.[ch]
21020                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21021                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21022                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21023                         dbus in response to those differences
21024
21025         * src/NetworkManagerDbus.[ch]
21026                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21027                         make an object path for that access point (NOTE that we don't yet check to
21028                         make sure that access point is actually in the device's AP list yet)
21029                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21030                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21031                         New: signal appearance/disappearance of wireless networks
21032                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21033                         key entry
21034
21035         * src/NetworkManagerDevice.[ch]
21036                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21037                 - (nm_device_ap_list_get) New: return the AP list (static function)
21038                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21039                         new one resulting from the scan with the old one
21040
21041         * src/NetworkManagerWireless.c
21042                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21043
21044         * test/nminfotest.c
21045                 - #define object paths and namespaces and use the #defines rather than static strings
21046                 - Test out user-key functionality of NetworkManagerInfo too
21047
21048 2004-07-29  Dan Williams <dcbw@redhat.com>
21049
21050         * info-daemon/NetworkManagerInfoDbus.c
21051           src/NetworkManagerDbus.c
21052                 - Update to current DBus (ie don't use decomposed paths when registering
21053                         object paths/fallbacks)
21054
21055 2004-07-27  Dan Williams <dcbw@redhat.com>
21056
21057         * Remove various Makefile.in files
21058
21059         * TODO
21060                 - Add some more items
21061
21062         * configure.in
21063                 - Add checks for OpenSSL/md5 headers and libs
21064
21065         * src/Makefile.am
21066                 - Use OpenSSL CFLAGS
21067
21068         * src/NetworkManagerAP.[ch]
21069                 - Remove 'stamp' functions, replace with 'invalid' functions
21070                         to support user cancelling WEP key entry
21071
21072         * src/NetworkManagerDbus.c
21073                 - Remove 'stamp' return functions
21074                 - Treat returned user key as a passphrase and convert to a WEP key,
21075                         but don't actually use the WEP key yet.  We use the returned user
21076                         key as a hexadecimal WEP key until we can figure out a UI for
21077                         passphrase-vs-hex key
21078
21079         * src/NetworkManagerWireless.[ch]
21080                 - Add passphrase-to-128bit-key function
21081
21082 2004-07-27  Dan Williams <dcbw@redhat.com>
21083
21084         * TODO
21085                 - Add a couple of items
21086
21087 2004-07-27  Dan Williams <dcbw@redhat.com>
21088
21089         * info-daemon/NetworkManagerInfo.c
21090                 - Update allowed network's GConf key when user enters a WEP key explicitly
21091
21092         * info-daemon/NetworkManagerDbus.c
21093                 - Fix some comments
21094                 - nmi_dbus_get_allowed_networks(): kill warning
21095
21096 2004-07-27  Dan Williams <dcbw@redhat.com>
21097
21098         * initscript/Makefile.in
21099                 - Remove
21100
21101         * initscript/Makefile.am
21102                 - Add correct rules to install the init.d initscript
21103
21104         * info-daemon/NetworkManagerInfoDbus.c
21105                 - Remove debug fprintf
21106
21107         * src/NetworkManagerDbus.[ch]
21108                 - Remove debug fprintfs
21109                 - Add macros for NetworkManagerInfo object path/namespace
21110                 - Use said macros instead of constant strings
21111
21112 2004-07-27  Dan Williams <dcbw@redhat.com>
21113
21114         * initscript/.cvsignore
21115                 - Add
21116
21117         * info-daemon/Makefile.am
21118                 - Install .glade files and keyring.png
21119                 - Fix stupid omission of a \ that caused half the flags not to be
21120                         passed to gcc
21121
21122         * info-daemon/NetworkManagerInfo.c
21123                 - gtk_signal_connect->g_signal_connect
21124                 - Alert NetworkManagerInfo to new glade file location
21125
21126 2004-07-27  Dan Williams <dcbw@redhat.com>
21127
21128         * test/nmclienttest.c
21129           test/nminfotest.c
21130                 - Add missing <dbus/dbus.h> headers
21131                 - Add GPL message at top
21132
21133 2004-07-27  Dan Williams <dcbw@redhat.com>
21134
21135         * src/NetworkManagerAPList.[ch]
21136           src/Makefile.am
21137                 - Add.  Deal with allowed network list additions, deletions, and updates
21138
21139         * dispatcher-daemon/NetworkManagerDispatcher.c
21140                 - Add missing <dbus/dbus.h> header
21141
21142         * info-daemon/NetworkManagerInfo.[ch]
21143                 - Add missing <dbus/dbus.h> header
21144                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21145                         network change
21146                 - Better error checking
21147
21148         * info-daemon/NetworkManagerInfoDbus.[ch]
21149                 - Add missing <dbus/dbus.h> header
21150                 - Convert to using dbus_message_append_args/dbus_message_get_args
21151                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21152                         that an allowed network changed.  We don't want to signal on individual
21153                         keys _inside_ an allowed network really, just want NM to query the info
21154                         daemon for updated info on all keys.
21155                 - Better error checking
21156
21157         * src/NetworkManager.[ch]
21158                 - Add missing <dbus/dbus.h> header
21159                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21160                 - Zero out NMData structure on free
21161                 - No longer use a thread for allowed_ap_list updating, instead its now done
21162                         through dbus queries against NetworkManagerInfo
21163                 - Populate allowed_ap_list initially before adding existing network devices
21164                         to the device list, so wireless devices can get their "best" AP
21165
21166         * src/NetworkManagerDbus.[ch]
21167                 - Convert to using dbus_message_append_args/dbus_message_get_args
21168                 - Better error checking
21169                 - Implement Allowed Network info functions to request allowed network
21170                         info from NetworkManagerInfo
21171                 - Implement the filter function to process signals from NetworkManagerInfo
21172                         about changing allowed networks
21173
21174         * src/NetworkManagerDevice.c
21175                 - Fix file descriptor leak in nm_device_update_ip4_address()
21176
21177 2004-07-27  Dan Williams <dcbw@redhat.com>
21178
21179         * .cvsignore
21180           src/.cvsignore
21181           test/.cvsignore
21182           dispatcher-daemon/.cvsignore
21183           info-daemon/.cvsignore
21184                 - Add .cvsignore files to reduce noise when diffing
21185
21186 2004-07-24  Dan Williams <dcbw@redhat.com>
21187
21188         * src/NetworkManager.[ch]
21189           src/NetworkManagerDbus.[ch]
21190           src/NetworkManagerDevice.[ch]
21191           src/NetworkManagerPolicy.c
21192           src/NetworkManagerWireless.[ch]
21193                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21194                 - Pass the NMData application data structure through all calls
21195                         that need it so we can get rid of nm_get_global_data()
21196                 - Change deallocation of the allowed_ap_list GSList in preparation
21197                         for not completely clearing it every time we get an update,
21198                         but instead getting incremental updates via GConf/dbus
21199
21200 2004-07-22  Dan Williams <dcbw@redhat.com>
21201
21202         * configure.in
21203                 - Add checks for GConf libs & headers & flags
21204
21205         * info-daemon/Makefile.am
21206                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21207
21208         * info-daemon/NetworkManagerInfo.[ch]
21209                 - Don't use gquarks for data storage, just use normal data storage
21210                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21211
21212         * info-daemon/NetworkManagerDbus.[ch]
21213                 - Add method call for getting allowed networks
21214                 - Add method calls for getting an allowed network's essid, priority, and key
21215                 - Hook the method calls up to GConf
21216                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21217                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21218                 
21219         * src/NetworkManagerDbus.[ch]
21220                 - Switch for enumeration of networks to using essid instead
21221
21222         * test/Makefile.am
21223           test/nminfotest.c
21224                 - Add test program for NetworkManagerInfo
21225
21226 2004-07-19  Dan Williams <dcbw@redhat.com>
21227
21228         * src/NetworkManagerDbus.c
21229                 - Switch from indexed device paths to names.  Less code, more efficient.
21230                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21231
21232 2004-07-19  Dan Williams <dcbw@redhat.com>
21233
21234         * dispatcher-daemon/NetworkManagerDispatcher.c
21235                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21236
21237 2004-07-19  Dan Williams <dcbw@redhat.com>
21238
21239         * Makefile.am
21240                 - Add info-daemon directory
21241
21242         * configure.in
21243                 - Check for glade libs and headers
21244                 - Add info-daemon directory
21245
21246         * src/NetworkManagerAP.c
21247                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21248                         copied over to the new AP.
21249
21250         * src/NetworkManagerDbus.c
21251           src/NetworkManagerDbus.h
21252                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21253                 - Remove nm_dbus_signal_need_key_for_network()
21254                 - Add disabled code for asynchronous user wep key callbacks
21255                 - Add functions for getting, setting, and cancelling user key operations
21256                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21257                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21258
21259         * src/NetworkManagerDevice.c
21260           src/NetworkManagerDevice.h
21261                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21262                         logic is in device activation now
21263                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21264                         key is wrong) trigger get-user-key pending action
21265                 - Implement get-user-key pending action stuff, tie to dbus messages
21266                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21267                 - Add nm_device_ap_list_get_ap_by_essid()
21268                 - Instead of copying "best" access points, ref them instead so that the key we set
21269                         sticks around
21270
21271         * src/NetworkManagerPolicy.c
21272                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21273                 - Don't cancel pending actions on a device if its the same device as last iteration
21274                 - Only promote pending_device->active_device if activation was successfull
21275
21276         * src/Makefile.am
21277                 - Rename nmclienttest->nmtest
21278
21279         * info-daemon/Makefile.am
21280           info-daemon/NetworkManagerInfo.c
21281           info-daemon/NetworkManagerInfo.h
21282           info-daemon/NetworkManagerInfoDbus.c
21283           info-daemon/NetworkManagerInfoDbus.h
21284           info-daemon/passphrase.glade
21285           info-daemon/NetworkManagerInfo.conf
21286           info-daemon/keyring.png
21287                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21288                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21289                         lists to NetworkManager by proxying user's GConf
21290           
21291
21292 2004-07-15  Dan Williams <dcbw@redhat.com>
21293
21294         * src/Makefile.am
21295                 - Turn on warnings
21296
21297         * src/NetworkManager.c
21298                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21299                         that doing the deactivation ourselves
21300                 - Cancel an pending actions on a device if its being removed
21301                 - Break up link state checking a bit, make non-active wireless cards
21302                         deactivated to save power
21303                 - Remove unused variables
21304
21305         * src/NetworkManager.h
21306                 - Add support for "pending" device
21307
21308         * src/NetworkManagerAP.h
21309           src/NetworkManagerAP.c
21310                 - Add support for determining whether and AP has encryption enabled or not
21311                 - AP address is now "struct ether_addr" rather than a string
21312
21313         * src/NetworkManagerDbus.h
21314           src/NetworkManagerDbus.c
21315                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21316                 - Changes for AP address from struct ether_addr->string
21317
21318         * src/NetworkManagerDevice.h
21319           src/NetworkManagerDevice.c
21320                 - Remove unused variables, fix warnings
21321                 - Add support for Pending Actions (things that block a device from being "active"
21322                         until they are completed).
21323                 - First pending action:  Get a WEP key from the user
21324                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21325                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21326                 - Update wireless link checking to try to determine if the AP we are associated
21327                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21328                         trigger the GetUserKey pending action on the device
21329                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21330                         up in that case, otherwise we can't scan or link-check on it
21331                 - Add IP address change notifications at appropriate points (still needs some work)
21332                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21333
21334         * src/NetworkManagerPolicy.h
21335           src/NetworkManagerPolicy.c
21336                 - Split out "best" access point determiniation into separate function
21337                 - Make device activation 2-stage:  first the device is pending, then
21338                         in the next iteration through it becomes "active" unless it has
21339                         pending actions
21340
21341         * src/NetworkManagerUtils.h
21342           src/NetworkManagerUtils.c
21343                 - Clean up unused variables and warnings
21344                 - Wrap our debug macros in {} to prevent possible confusion
21345
21346         * src/NetworkManagerWireless.c
21347                 - Forgot to return current best priority, which lead to last available AP always
21348                         being chosen no matter what its priority was.  Corrected.
21349
21350 2004-07-15  Dan Williams <dcbw@redhat.com>
21351
21352         * dispatcher-daemon/Makefile.am
21353                 - Turn on warnings
21354
21355         * dispatcher-daemon/NetworkManagerDispatcher.c
21356                 - Remove unused variables due to warnings
21357                 - Fix some comments
21358                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21359
21360 2004-07-06  Dan Williams <dcbw@redhat.com>
21361
21362         * src/NetworkManager.c
21363                 - Add IPv4 address update for active device during link state check
21364                 - Don't allow wireless cards to be powered up when they are not the
21365                         active device
21366
21367         * src/NetworkManagerDbus.c
21368           src/NetworkManagerDbus.h
21369                 - Add DBUS IPv4 address change signal
21370                 - Add DBUS IPv4 address get method for devices
21371
21372         * src/NetworkManagerDevice.c
21373                 - Make setting the WEP key actually work
21374                 - Move IP address get/set/update stuff here, per-device
21375                 - Power down/bring down wireless device when deactivated
21376                 - For scanning wireless devices, if first scan returned ENODATA, try again
21377
21378         * src/NetworkManagerPolicy.c
21379                 - Only set the WEP key for an allowed access point if there is one.
21380                         We were setting it to be blank if one wasn't specified.
21381
21382         * src/NetworkManagerUtils.h
21383           src/NetworkManagerUtils.c
21384                 - Move the IP address stuff to NetworkManagerDevice.c
21385
21386         * dispatcher-daemon/NetworkManagerDispatcher.c
21387                 - Add device IPv4 address change notification stuff
21388
21389 2004-07-05  Dan Williams <dcbw@redhat.com>
21390
21391         * dispatcher-daemon/NetworkManagerDispatcher.c
21392                 - A bit more descriptive state message
21393                 - Don't segfault when reading directory
21394
21395         * src/NetworkManager.h
21396                 - Remove NMData desired_ap member, its now
21397                         per-device rather than global
21398
21399         * src/NetworkManager.c
21400                 - Remove references to desired_ap
21401                 - Move the allowed AP list refresh stuff into a thread
21402
21403         * src/NetworkManagerDevice.c
21404           src/NetworkManagerDevice.h
21405                 - Each wireless device now has a "best ap"
21406                 - Make device activate/deactivate functions per-device
21407                 - Make wireless scanning per-device
21408                 - Add IPv4 address discover functions, stub IPv6 ones
21409                 - Move ethernet address validation functions to NetworkManagerUtils.c
21410                 - Add wireless access point accessor function
21411                 - Get/Set functions for "best ap"
21412
21413         * src/NetworkManagerPolicy.c
21414                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21415                 - Deal with per-device "best ap" rather than data->desired_apa
21416                 - Implement allowed access point worker thread
21417                 - Add nm_policy_essid_is_allowed() function
21418
21419         * src/NetworkManagerUtils.c
21420           src/NetworkManagerUtils.h
21421                 - Add nm_ethernet_address_is_valid() function
21422                 - Add IPv4/IPv6 address get functions
21423
21424         * src/NetworkManagerWireless.c
21425           src/NetworkManagerWireless.h
21426                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21427
21428 2004-06-29  Dan Williams <dcbw@redhat.com>
21429
21430         * dispatcher-daemon/NetworkManagerDispatcher.c
21431                 - Implement script callout functionality
21432
21433 2004-06-24  Dan Williams <dcbw@redhat.com>
21434
21435         * NetworkManager.c
21436             - Spacing cleanups
21437             - Flush device routes and ip addresses when added to the device list
21438
21439         * NetworkManagerDbus.c
21440             - Spacing cleanups
21441             - Add missing returns in the two signal functions
21442         
21443         * NetworkManagerPolicy.c
21444             - Spacing and variable cleanups
21445
21446 2004-06-24  Dan Williams <dcbw@redhat.com>
21447
21448         * Makefile.am
21449           Makefile.in
21450           configure.in
21451           dispatcher-daemon/Makefile.am
21452           dispatcher-daemon/Makefile.in
21453           dispatcher-daemon/NetworkManagerDispatcher.c
21454             - Add a daemon that receives signals from NetworkManager
21455                         and will (eventually) call scripts in /etc/somewhere
21456                         when devices go up or down.
21457         
21458         * NetworkManager.c
21459             - Spacing cleanups
21460             - Flush device routes and ip addresses when added to the device list
21461
21462         * NetworkManagerDbus.c
21463             - Spacing cleanups
21464             - Add missing returns in the two signal functions
21465         
21466         * NetworkManagerPolicy.c
21467             - Spacing and variable cleanups
21468             - Rename nm_policy_switch_interface->nm_policy_switch_device
21469             - nm_policy_switch_device():
21470                                 Use kill (pid) instead of system ("kill <pid>")
21471             - nm_state_modification_monitor():
21472                                 Add wireless essid to output of debug statements
21473                                 Correct typo in device compare to switch or not (should be !=)
21474                                 Don't sleep after sending "no longer active" signal, was useless
21475
21476 2004-06-24  Dan Williams <dcbw@redhat.com>
21477
21478         * Initial import