2008-10-30 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-30  Dan Williams  <dcbw@redhat.com>
2
3         * libnm-util/libnm-util.ver
4           libnm-util/nm-setting-wireless-security.c
5           libnm-util/nm-setting-wireless-security.h
6                 - Make properties private and add accessor functions
7
8         * libnm-util/nm-setting-wireless.c
9           src/NetworkManagerAP.c
10           src/nm-device-wifi.c
11           src/supplicant-manager/nm-supplicant-config.c
12           system-settings/plugins/ifcfg-fedora/reader.c
13           system-settings/plugins/ifcfg-suse/parser.c
14                 - Use wireless security accessors
15
16 2008-10-30  Dan Williams  <dcbw@redhat.com>
17
18         * src/nm-device-ethernet.c
19           src/nm-device-wifi.c
20           src/nm-device.c
21           src/ppp-manager/nm-ppp-manager.c
22                 - Harmonize return checking of ioctl
23
24         * system-settings/plugins/ifcfg-fedora/reader.c
25                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
26
27 2008-10-30  Dan Williams  <dcbw@redhat.com>
28
29         * src/ppp-manager/nm-ppp-manager.c
30                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
31                         ppp_generic module to create it (bgo #533064)
32
33 2008-10-30  Dan Williams  <dcbw@redhat.com>
34
35         Patch from Alexander Sack <asac@canonical.com>
36
37         Fix "ppp connections don't honour ip4 connection settings"
38
39         * src/nm-device-ethernet.c
40                 - (real_act_stage4_get_ip4_config): merge ip4config settings
41                         with results from ppp manager
42
43         * src/nm-serial-device.c
44                 - (real_act_stage4_get_ip4_config): merge ip4config settings
45                         with results from ppp manager
46
47 2008-10-29  Dan Williams  <dcbw@redhat.com>
48
49         * libnm-util/libnm-util.ver
50           libnm-util/nm-setting-ip4-config.c
51           libnm-util/nm-setting-ip4-config.h
52                 - Make properties private and add accessor functions
53
54         * callouts/nm-dispatcher-action.c
55           libnm-glib/libnm-glib-test.c
56           libnm-util/nm-utils.c
57           src/NetworkManagerPolicy.c
58           src/NetworkManagerSystem.c
59           src/NetworkManagerUtils.c
60           src/dhcp-manager/nm-dhcp-dhclient.c
61           src/dhcp-manager/nm-dhcp-manager.c
62           src/dnsmasq-manager/nm-dnsmasq-manager.c
63           src/nm-device-wifi.c
64           src/nm-device.c
65           src/nm-hso-gsm-device.c
66           src/nm-ip4-config.c
67           src/nm-ip4-config.h
68           src/ppp-manager/nm-ppp-manager.c
69           src/vpn-manager/nm-vpn-connection.c
70           system-settings/plugins/ifcfg-fedora/reader.c
71           system-settings/plugins/ifcfg-suse/parser.c
72           system-settings/plugins/ifcfg-suse/plugin.c
73           system-settings/plugins/ifupdown/parser.c
74           test/nm-tool.c
75           vpn-daemons/vpnc/properties/nm-vpnc.c
76                 - Use IP4 accessor functions
77
78 2008-10-29  Tambet Ingo  <tambet@gmail.com>
79
80         Half of it by Dan Williams <dcbw@redhat.com>
81
82         * libnm-util/libnm-util.ver
83         libnm-util/nm-setting-vpn.c
84         libnm-util/nm-setting-vpn.h
85                 - Make properties private and add accessor functions.
86
87         * src/vpn-manager/nm-vpn-connection.c
88         src/vpn-manager/nm-vpn-manager.c
89         system-settings/plugins/keyfile/reader.c
90         vpn-daemons/openvpn/properties/auth-helpers.c
91         vpn-daemons/openvpn/properties/import-export.c
92         vpn-daemons/openvpn/properties/nm-openvpn.c
93         vpn-daemons/openvpn/src/nm-openvpn-service.c
94         vpn-daemons/pptp/auth-dialog/main.c
95         vpn-daemons/pptp/properties/advanced-dialog.c
96         vpn-daemons/pptp/properties/nm-pptp.c
97         vpn-daemons/pptp/src/nm-pptp-service.c
98         vpn-daemons/vpnc/properties/nm-vpnc.c
99         vpn-daemons/vpnc/src/nm-vpnc-service.c
100                 - Use VPN setting accessors.
101
102 2008-10-28  Dan Williams  <dcbw@redhat.com>
103
104         Patch from Tambet Ingo <tambet@gmail.com>
105
106         * libnm-util/libnm-util.ver
107           libnm-util/nm-setting-wireless.c
108           libnm-util/nm-setting-wireless.h
109                 - Make properties private and add accessor functions
110
111         * src/NetworkManagerAP.c
112           src/nm-device-wifi.c
113           src/nm-manager.c
114           src/supplicant-manager/nm-supplicant-config.c
115           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
116           system-settings/plugins/ifcfg-fedora/reader.c
117           system-settings/plugins/ifcfg-suse/parser.c
118           system-settings/plugins/ifupdown/parser.c
119                 - Use wireless setting accessors
120
121 2008-10-27  Dan Williams  <dcbw@redhat.com>
122
123         Patch from Tambet Ingo <tambet@gmail.com>
124
125         * libnm-util/libnm-util.ver
126           libnm-util/nm-setting-ppp.c
127           libnm-util/nm-setting-ppp.h
128                 - Make properties private and add accessor functions
129
130         * src/ppp-manager/nm-ppp-manager.c
131                 - Use ppp setting accessors
132
133 2008-10-27  Dan Williams  <dcbw@redhat.com>
134
135         Patch from Tambet Ingo <tambet@gmail.com>
136
137         * libnm-util/nm-setting.h
138           libnm-util/nm-setting.c
139                 - Make properties private and add accessor functions
140
141         * libnm-util/nm-connection.c
142           libnm-util/nm-setting-8021x.c
143           libnm-util/nm-setting-cdma.c
144           libnm-util/nm-setting-connection.c
145           libnm-util/nm-setting-gsm.c
146           libnm-util/nm-setting-ip4-config.c
147           libnm-util/nm-setting-ip6-config.c
148           libnm-util/nm-setting-ppp.c
149           libnm-util/nm-setting-pppoe.c
150           libnm-util/nm-setting-serial.c
151           libnm-util/nm-setting-template.c
152           libnm-util/nm-setting-vpn.c
153           libnm-util/nm-setting-wired.c
154           libnm-util/nm-setting-wireless-security.c
155           libnm-util/nm-setting-wireless.c
156           system-settings/plugins/keyfile/reader.c
157           system-settings/plugins/keyfile/writer.c
158                 - Use setting accessors
159
160 2008-10-27  Dan Williams  <dcbw@redhat.com>
161
162         * libnm-util/libnm-util.ver
163           libnm-util/nm-setting-connection.c
164           libnm-util/nm-setting-connection.h
165                 - Add a 'read-only' property that indicates the connection cannot be
166                         modified
167
168         * system-settings/plugins/ifcfg-fedora/reader.c
169           system-settings/plugins/ifcfg-suse/parser.c
170           system-settings/plugins/ifupdown/parser.c
171                 - These plugins are read-only at the moment
172
173         * system-settings/plugins/keyfile/reader.c
174           system-settings/plugins/keyfile/writer.c
175                 - Read-only shouldn't get saved out to files or read in from them
176
177 2008-10-27  Tambet Ingo  <tambet@gmail.com>
178
179         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
180         correct speed reporting for fast devices (kernel >= 2.6.27).
181
182 2008-10-26  Dan Williams  <dcbw@redhat.com>
183
184         Attempt to compensate for modems that don't enable full AT parsing before
185         the PIN has been entered.
186
187         * src/nm-gsm-device.c
188                 - (init_modem): accept different init strings
189                 - (init_done): try different init strings on failure
190                 - (check_pin_done): on PIN success, do full modem init
191
192 2008-10-26  Dan Williams  <dcbw@redhat.com>
193
194         Patch from Tambet Ingo <tambet@gmail.com>
195
196         * libnm-util/libnm-util.ver
197           libnm-util/nm-setting-connection.c
198           libnm-util/nm-setting-connection.h
199                 - Make properties private and add accessor functions
200
201         * src/NetworkManagerPolicy.c
202           src/nm-cdma-device.c
203           src/nm-device-ethernet.c
204           src/nm-device-interface.c
205           src/nm-device-wifi.c
206           src/nm-gsm-device.c
207           src/nm-manager.c
208           src/ppp-manager/nm-ppp-manager.c
209           src/vpn-manager/nm-vpn-connection.c
210           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
211           system-settings/plugins/ifcfg-fedora/plugin.c
212           system-settings/plugins/ifcfg-fedora/reader.c
213           system-settings/plugins/ifcfg-suse/parser.c
214           system-settings/plugins/ifupdown/parser.c
215           system-settings/plugins/keyfile/nm-keyfile-connection.c
216           system-settings/plugins/keyfile/plugin.c
217           system-settings/plugins/keyfile/writer.c
218           system-settings/src/main.c
219                 - Use those accessors
220
221 2008-10-26  Dan Williams  <dcbw@redhat.com>
222
223         Patch from Tambet Ingo <tambet@gmail.com>
224
225         * libnm-util/libnm-util.ver
226           libnm-util/nm-setting-gsm.c
227           libnm-util/nm-setting-gsm.h
228                 - Make properties private and add accessor functions
229
230         * src/nm-gsm-device.c
231           src/nm-hso-gsm-device.c
232           src/ppp-manager/nm-ppp-manager.c
233                 - Use those accessors
234
235 2008-10-26  Dan Williams  <dcbw@redhat.com>
236
237         Patch from Tambet Ingo <tambet@gmail.com>
238
239         * libnm-util/libnm-util.ver
240           libnm-util/nm-setting-cdma.c
241           libnm-util/nm-setting-cdma.h
242                 - Make properties private and add accessor functions
243
244         * src/nm-cdma-device.c
245           src/ppp-manager/nm-ppp-manager.c
246                 - Use those accessors
247
248 2008-10-26  Dan Williams  <dcbw@redhat.com>
249
250         Patch from Tambet Ingo <tambet@gmail.com>
251
252         * libnm-util/libnm-util.ver
253           libnm-util/nm-setting-pppoe.c
254           libnm-util/nm-setting-pppoe.h
255                 - Make properties private and add accessor functions
256
257         * src/nm-device-ethernet.c
258           src/ppp-manager/nm-ppp-manager.c
259                 - Use those accessors
260
261 2008-10-26  Dan Williams  <dcbw@redhat.com>
262
263         Patch from Tambet Ingo <tambet@gmail.com>
264
265         * libnm-util/libnm-util.ver
266           libnm-util/nm-setting-wired.c
267           libnm-util/nm-setting-wired.h
268                 - Make properties private and add accessor functions
269
270         * src/nm-device-ethernet.c
271           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
272           system-settings/plugins/ifcfg-suse/parser.c
273           system-settings/src/main.c
274                 - Use those accessors
275
276 2008-10-26  Dan Williams  <dcbw@redhat.com>
277
278         Patch from Tambet Ingo <tambet@gmail.com>
279
280         * libnm-util/libnm-util.ver
281           libnm-util/nm-setting-serial.c
282           libnm-util/nm-setting-serial.h
283           src/nm-serial-device.c
284                 - Make properties private and use accessors instead
285
286 2008-10-26  Dan Williams  <dcbw@redhat.com>
287
288         * src/supplicant-manager/nm-supplicant-interface.c
289           src/supplicant-manager/nm-supplicant-interface.h
290           src/supplicant-manager/nm-supplicant-manager.c
291           src/supplicant-manager/nm-supplicant-manager.h
292                 - Add state-to-string conversion functions
293
294         * src/nm-device-wifi.c
295           src/nm-device-ethernet.c
296                 - Normalize state info logging and use strings instead of numbers
297
298 2008-10-26  Dan Williams  <dcbw@redhat.com>
299
300         * src/NetworkManagerPolicy.c
301                 - (update_routing_and_dns): ignore host routes when determining whether
302                         a VPN connection should own the default route (bgo #552594)
303
304 2008-10-24  Dan Williams  <dcbw@redhat.com>
305
306         * src/nm-gsm-device.c
307                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
308
309 2008-10-23  Dan Williams  <dcbw@redhat.com>
310
311         * src/ppp-manager/nm-ppp-manager.c
312                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
313                         add really important stuff to the command line to ensure that NM
314                         overrides /etc/ppp/options (bgo #556781)
315
316 2008-10-22  Dan Williams  <dcbw@redhat.com>
317
318         * src/NetworkManagerSystem.c
319           src/nm-device.c
320                 - Use the device's IP interface where appropriate (Per Hallsmark)
321
322 2008-10-22  Dan Williams  <dcbw@redhat.com>
323
324         * src/nm-gsm-device.c
325                 - (schedule_automatic_registration_again): use a short timeout here
326                         instead of an idle handler to avoid using too much CPU polling for
327                         something we should be waiting a bit for anyway
328
329 2008-10-22  Dan Williams  <dcbw@redhat.com>
330
331         * include/NetworkManager.h
332           introspection/nm-device.xml
333                 - Add device state change reason for carrier changes
334
335         * src/nm-device-ethernet.c
336                 - (set_carrier): use the carrier change reason when changing device
337                         state in response to carrier changes
338
339 2008-10-21  Dan Williams  <dcbw@redhat.com>
340
341         * src/NetworkManagerPolicy.c
342                 - (update_etc_hosts): don't leak errors, and ensure that
343                         g_file_set_contents() gets a valid error placeholder (rh #461933)
344
345 2008-10-21  Dan Williams  <dcbw@redhat.com>
346
347         * src/nm-manager.c
348                 - (free_get_settings_info): don't use the DBusGProxy which could be
349                         disposed of by the time the function is called
350                 - (internal_new_connection_cb): save connection scope
351                 - (connection_get_settings_cb): don't replace a connection unless it's
352                         actually different from the existing one; fixes an issue where
353                         killing the settings service wouldn't deactivate an active connection
354                         provided by that settings service, because it was using a connection
355                         that had already been replaced in the system or user hash
356
357 2008-10-21  Dan Williams  <dcbw@redhat.com>
358
359         * src/NetworkManager.c
360                 - (main): keep the DHCP manager around since it's a singleton; fixes
361                         a use-after-free exposed by r4196 since the DHCP manager singleton
362                         variable isn't cleared when the DHCP manager object is finalized
363
364 2008-10-20  Dan Williams  <dcbw@redhat.com>
365
366         * libnm-util/nm-setting-wireless-security.c
367                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
368
369 2008-10-20  Dan Williams  <dcbw@redhat.com>
370
371         * src/supplicant-manager/nm-supplicant-config.c
372                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
373
374 2008-10-20  Dan Williams  <dcbw@redhat.com>
375
376         * src/dhcp-manager/nm-dhcp-manager.c
377                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
378                         manager object already refs it once
379                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
380                         also get cleaned up by nm_dhcp_device_destroy() to prevent
381                         double-frees
382
383 2008-10-20  Dan Williams  <dcbw@redhat.com>
384
385         * src/nm-manager.c
386                 - (initial_get_connections): use private dbus manager, don't keep
387                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
388                         manager object.
389
390 2008-10-18  Dan Williams  <dcbw@redhat.com>
391
392         * libnm-glib/nm-settings.c
393           libnm-glib/nm-settings.h
394                 - Rename the "get_secrets" virtual function "service_get_secrets" to
395                         clarify when it's used; NMExportedConnetion is a base-class for both
396                         the client and service side, which is sort of confusing, and
397                         get_secrets only makes sense on the service side.
398
399         * libnm-glib/nm-dbus-connection.c
400                 - (get_secrets): remove, unused, and clients need to do extra work to
401                         get secrets anyway since the call can block on the remote side
402
403         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
404           system-settings/plugins/keyfile/nm-keyfile-connection.c
405                 - Fix up for get_secrets -> service_get_secrets
406
407 2008-10-16  Dan Williams  <dcbw@redhat.com>
408
409         * src/nm-device-wifi.c
410                 - (constructor): correctly determine encryption capabilities
411
412 2008-10-15  Dan Williams  <dcbw@redhat.com>
413
414         * src/nm-device-wifi.c
415                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
416                         (Johannes Berg)
417
418 2008-10-15  Dan Williams  <dcbw@redhat.com>
419
420         * src/NetworkManagerSystem.c
421                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
422                         if the ip4_dest is in a smaller subnet contained within a subnet
423                         the machine is currently on, the destination is in the same subnet
424                 - (nm_system_device_set_ip4_route): move subnet checks to callers
425                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
426                         subnet as the parent device, and if so, don't add the direct
427                         host route via the parent device's gateway (bgo #481620)
428                 - (nm_system_apply_ip4_config): check whether the route to be added
429                         is contained within a subnet the device is already on
430
431 2008-10-11  Dan Williams  <dcbw@redhat.com>
432
433         * include/NetworkManager.h
434           introspection/nm-device.xml
435           include/NetworkManagerVPN.h
436                 - Add a few more state reasons for the device deactivated state
437
438         * src/nm-device-interface.c
439           src/nm-device-interface.h
440                 - (nm_device_interface_deactivate): add a 'reason' argument
441
442         * src/nm-device.c
443           src/nm-device.h
444                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
445                 - (nm_device_state_changed): pass the state change reason to
446                         nm_device_take_down()
447                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
448                         to the state change function
449
450         * src/nm-manager.c
451           src/nm-manager.h
452                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
453                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
454                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
455                         something reasonable along to VPN deactivation
456
457         * src/vpn-manager/nm-vpn-manager.c
458           src/vpn-manager/nm-vpn-manager.h
459                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
460                         pass that along to nm_vpn_connection_disconnect()
461
462 2008-10-11  Dan Williams  <dcbw@redhat.com>
463
464         * src/nm-device-wifi.c
465                 - (can_scan): remove old madwifi hack for not scanning while connected
466
467 2008-10-11  Dan Williams  <dcbw@redhat.com>
468
469         Add support for VPN subnet gateways (bgo #549196)
470
471         * include/NetworkManager.h
472                 - Add key for internal VPN subnet gateway
473
474         * src/vpn-manager/nm-vpn-connection.c
475                 - (ip_address_to_string): return a const from a static buffer so we
476                         don't leak a lot of strings
477                 - (print_vpn_config): print internal VPN gateway as well
478                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
479                         VPN service too
480                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
481
482         * src/NetworkManagerSystem.c
483           src/NetworkManagerSystem.h
484                 - (nm_system_device_replace_default_ip4_route): split into two, one for
485                         VPN connections and one for normal devices
486                 - (replace_default_ip4_route): break out route stuff into its own function
487                 - (nm_system_replace_default_ip4_route_vpn,
488                    nm_system_replace_default_ip4_route): simplify by having two cases,
489                         one for VPNs and one for normal devices
490
491         * src/NetworkManagerPolicy.c
492                 - (update_routing_and_dns): simplify, use split default route replacement
493                         functions
494
495 2008-10-10  Dan Williams  <dcbw@redhat.com>
496
497         Rework default route handling to consolidate decisions in the policy,
498         and to take active VPN connections into account when changing the default
499         route (bgo #545912)
500
501         * src/NetworkManager.c
502                 - (main): pass the vpn_manager to the policy so it knows about active
503                         VPN connections; clean up the named manager which wasn't done before
504
505         * src/NetworkManagerPolicy.c
506           src/NetworkManagerPolicy.h
507                 - (nm_policy_new): get a clue about the vpn_manager
508                 - (update_default_route): remove, fold into update_routing_and_dns()
509                 - (update_routing_and_dns): handle active VPN connections too; an
510                         active VPN connection becomes the default route if it does not have
511                         server-specified or user-specified custom routes.  Otherwise, the
512                         best active device gets the default route
513                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
514                    nm_policy_destroy): track VPN connection activation and deactivation
515                         and update the default route when appropriate
516
517         * src/NetworkManagerSystem.c
518           src/NetworkManagerSystem.h
519                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
520                         in the VPN connection itself
521                 - (nm_system_vpn_device_set_from_ip4_config,
522                    nm_system_device_set_from_ip4_config): merge together to make
523                         nm_system_apply_ip4_config()
524                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
525                         via the parent device
526                 - (nm_system_apply_ip4_config): simplify
527                 - (add_ip4_route_to_gateway): new function; add a direct route to the
528                         gateway if needed
529                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
530                         route stuff out into add_ip4_route_to_gateway() for clarity
531
532         * src/nm-device.c
533                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
534
535         * src/vpn-manager/nm-vpn-connection.c
536           src/vpn-manager/nm-vpn-connection.h
537                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
538                    nm_vpn_connection_get_parent_device): add
539                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
540                         device explicit
541                 - (connection_state_changed): update the named manager now that
542                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
543                         useful on errors
544
545         * src/vpn-manager/nm-vpn-manager.c
546           src/vpn-manager/nm-vpn-manager.h
547                 - Add a 'connection-activated' signal
548                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
549                         policy to find out about active VPN connections
550
551 2008-10-10  Tambet Ingo  <tambet@gmail.com>
552
553         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
554         a daemon to prevent NM logging spew on console on startup and shutdown (due
555         to dependency loop between NM and syslog).
556
557 2008-10-10  Alexander Sack  <asac@ubuntu.com>
558
559         Implement managed mode. We bind devices configured in /etc/network/interfaces
560         to their connections by updating wired/wireless setting with the
561         mac address of the device.
562
563         * system-settings/plugins/ifupdown/plugin.c
564                 - (get_net_address_for_udi): implement function to retrieve MAC
565                         address of udi from hal in GByteArray format
566                 - (bind_device_to_connection): bind mac address of device to
567                         wired/wireless system connection
568                 - (hal_device_added_cb): call bind_device_to_connection for
569                         system connections with a matching interface.name
570                 - (hal_device_added_cb): ensure that all code paths
571                         properly free the "iface" string.
572
573 2008-10-10  Alexander Sack  <asac@ubuntu.com>
574
575         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
576         mode of the ifupdown system config plugin.
577
578         * system-settings/plugins/ifupdown/plugin.c
579                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
580                         private unmanage_well_known state field accordingly
581
582 2008-10-10  Alexander Sack  <asac@ubuntu.com>
583
584         Implement unmanaged mode that will prevent all devices in the
585         well_known_udis set from being touched by NetworkManager
586
587         * system-settings/plugins/ifupdown/plugin.c
588                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
589                         unmanage_well_known field used to turn on/off unmanaged
590                         mode
591                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
592                         signal when well_known_udis get added/removed
593                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
594                         if we are in unmanaged mode
595
596 2008-10-10  Alexander Sack  <asac@ubuntu.com>
597
598         Add support to track network devices that have a configuration
599         with a matching interface.name in /etc/network/interfaces
600
601         * system-settings/plugins/ifupdown/plugin.c
602                 - (typedef struct SCPluginIfupdownPrivate): add hash table
603                         to track |well_known_udis|
604                 - (get_iface_for_udi): helper function to get interface.name
605                         for a udi
606                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
607                         that add and remove devices to and from the well_known_udis
608                         set depending on whether their |interface.name| matches
609                         any interface definition in /etc/network/interfaces
610                 - (SCPluginIfupdown_init): connect callbacks from above with
611                         hal_mgr and setup well_known_udis hashtable
612                 - (GObject__dispose): destroy well_known_udis hashtable
613                 - (hal_device_added_cb2): implement wrapper callback with GFunc
614                         signature. user_data is supposed to be a triple (hal_mgr,
615                         config and devtype)
616                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
617                         startup and call hal_device_added_cb2
618
619 2008-10-10  Alexander Sack  <asac@ubuntu.com>
620
621         Remove implementation for not used NMSystemConfigInterface callback functions
622         in ifupdown plugin
623
624         * system-settings/plugins/ifupdown/plugin.c
625                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
626                 - (SCPluginIfupdown_connection_added): removed
627
628 2008-10-08  Dan Williams  <dcbw@redhat.com>
629
630         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
631
632         * src/NetworkManagerUtils.c
633                 - (nm_utils_call_dispatcher): add a 'hostname' action
634
635         * src/NetworkManagerPolicy.c
636                 - (set_system_hostname): dispatch hostname changes
637
638         * callouts/nm-dispatcher-action.c
639                 - (nm_dispatcher_action): handle 'hostname' actions
640
641 2008-10-08  Dan Williams  <dcbw@redhat.com>
642
643         * src/NetworkManagerSystem.c
644                 - (find_route): ref the route so it doesn't get destroyed when the cache
645                         is cleared
646                 - (nm_system_device_set_priority): unref the route here after it's done
647                         being used
648
649 2008-10-08  Dan Williams  <dcbw@redhat.com>
650
651         * src/nm-serial-device.c
652                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
653
654 2008-10-08  Tambet Ingo  <tambet@gmail.com>
655
656         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
657         connection with new settings before saving it.
658
659 2008-10-06  Dan Williams  <dcbw@redhat.com>
660
661         * src/nm-ip4-config.c
662           src/nm-ip4-config.h
663                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
664
665         * src/nm-device-interface.c
666                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
667                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
668                         by using '/' for the object path
669
670         * src/nm-device.c
671                 - (src/nm-device.c): marshal missing/unexported ip4-config through
672                         dbus as '/' since dbus-glib can't handle NULL objects nor can
673                         dbus handle NULL object paths
674
675 2008-10-03  Alexander Sack  <asac@ubuntu.com>
676
677         Implement system hostname support for debian/ubuntu
678
679         * system-settings/plugins/ifupdown/plugin.c
680                 - (GObject__get_property): extend announced capabilities; add
681                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
682                 - (GObject__set_property,write_system_hostname): implement
683                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
684                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
685                    update_system_hostname, get_hostname):
686                         implement hostname property that watches and
687                         parses /etc/hostname
688
689 2008-10-03  Alexander Sack  <asac@ubuntu.com>
690
691         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
692           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
693           system-settings/plugins/ifcfg-fedora/Makefile.am
694           system-settings/src/nm-inotify-helper.c
695           system-settings/src/nm-inotify-helper.h
696           src/Makefile.am
697                 - Move ifcfg-fedora inotify helpers to the system settings service so
698                         they are available to all plugins
699
700 2008-10-03  Alexander Sack  <asac@ubuntu.com>
701
702         Implement support for wep-tx-keyidx in ifupdown system
703         config plugin.
704
705         * system-settings/plugins/ifupdown/parser.c
706                 - (update_wireless_security_setting_from_if_block): introduce
707                         free_type_mapping func table; rename a few local
708                         variables to improve readability; add wpa security mapping
709                         for wep-tx-keyidx property
710                 - (string_to_gpointerint): new function used for the auto_type_mapping
711                         of new wep-tx-keyidx property
712                 - (slist_free_all): free func used for mapped slist types
713
714 2008-10-03  Alexander Sack  <asac@ubuntu.com>
715
716         * system-settings/src/main.c:
717                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
718                         always used as the hash key; fixes a crash when removing wired
719                         devices
720
721 2008-10-02  Dan Williams  <dcbw@redhat.com>
722
723         * src/nm-gsm-device.c
724                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
725                         pass the required GSM secret along via user_data rather than keeping
726                         it around in the private data where it sometimes didn't get cleared
727                 - (real_get_ppp_name): implement using the GSM username
728
729 2008-10-02  Dan Williams  <dcbw@redhat.com>
730
731         * src/ppp-manager/nm-ppp-manager.c
732           src/ppp-manager/nm-ppp-manager.h
733                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
734                         the settings daemon for completely new ones
735                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
736                         local PPP peer name; allow PPP debuging by launching NM with
737                         the environment variable NM_PPP_DEBUG defined
738                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
739                         create_pppd_cmd_line()
740
741         * src/nm-serial-device.c
742           src/nm-serial-device.h
743                 - New 'get_ppp_name' function for subclasses to implement to return the
744                         local PPP peer name
745                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
746                         and pass that name to the PPP manager
747
748         * src/nm-device-ethernet.c
749                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
750                         the local peer name
751
752         * src/nm-cdma-device.c
753                 - (real_get_ppp_name): implement using the CDMA username
754
755 2008-10-02  Dan Williams  <dcbw@redhat.com>
756
757         Patch from Alexander Sack <asac ubuntu com>
758
759         * system-settings/plugins/ifupdown/parser.c
760                 - Implement more graceful ip4 config parsing for cases where
761                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
762                   by using default values
763
764 2008-10-02  Dan Williams  <dcbw@redhat.com>
765
766         * src/NetworkManagerPolicy.c
767                 - (device_state_changed): when marking a connection invalid, clear its
768                         secrets too so that fresh secrets get requested the next time
769
770 2008-10-01  Dan Williams  <dcbw@redhat.com>
771
772         * system-settings/src/dbus-settings.c
773                 - (nm_sysconfig_settings_init): cache system hostname on startup as
774                         a fallback if no plugin provides a hostname
775                 - (get_property): fall back to cached hostname if no plugin provides
776                         a hostname
777
778 2008-10-01  Dan Williams  <dcbw@redhat.com>
779
780         Fix setting value comparison issue that caused some settings to look the
781         same when they were really different (rh #464417)
782
783         * libnm-util/nm-param-spec-specialized.c
784                 - (type_is_fixed_size): return fundamental size of the fixed type too
785                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
786                         in the comparison so that the _entire_ fixed type collection gets
787                         compared rather than just the first 'len1' bytes
788
789 2008-09-30  Dan Williams  <dcbw@redhat.com>
790
791         * src/NetworkManagerPolicy.c
792                 - (lookup_thread_worker): don't store the idle handler ID becuase the
793                         idle handler could have already run and freed the LookupThread
794                         structure
795
796 2008-09-30  Tambet Ingo  <tambet@gmail.com>
797
798         * src/nm-device.c (nm_device_get_priority): Implement.
799         (nm_device_set_ip4_config): Send the device priority to system ip4 
800         config setter.
801
802         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
803         Add priority argument and if it's >= 0, set the priority of the network
804         route added automatically by netlink (or kernel?).
805         (nm_system_device_set_priority): Implement.
806
807         * src/NetworkManagerPolicy.c (get_best_device): Use 
808         nm_device_get_priority() instead of home-grown version. Revert the
809         meaning, best priority is the lowest one.
810
811 2008-09-29  Dan Williams  <dcbw@redhat.com>
812
813         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
814         when it returns EAGAIN (rh #362421)
815
816         * src/nm-device-wifi.c
817                 - (wireless_get_range): try GIWRANGE a few times until the card responds
818                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
819
820 2008-09-28  Dan Williams  <dcbw@redhat.com>
821
822         * src/nm-serial-device.c
823           src/nm-serial-device.h
824                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
825                         cleaned at the right times when subclasses close the serial port too
826                 - (nm_serial_device_send_command): use a default send delay; don't
827                         spin forever on EAGAIN
828                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
829                         remove, no longer used
830                 - (find_response): return the matched response if any
831                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
832                         while doing so
833                 - (wait_for_reply_done): pass the matched response to the callback
834                 - (wait_for_reply_got_data): save the matched response; simplify timeout
835                         handling
836                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
837                         const since they never get modified
838                 - (cleanup_device): split out common cleanup stuff to a new function
839                 - (real_deactivate_quickly, finalize): use cleanup_device()
840
841         * src/nm-gsm-device.c
842                 - (modem_get_reply): remove, unused
843                 - (set_apn): give the card a bit more time to respond
844                 - (manual_registration_again, schedule_manual_registration_again,
845                    manual_registration_response, manual_registration): handle manual
846                         registration timeouts better by retrying registration a few times
847                         because cards are a bit slow after CFUN=1
848                 - (automatic_registration_get_network, get_network_response): use
849                         modem_wait_for_reply() because it interacts better with the serial
850                         buffer and does more intelligent matching; need to wait for 'OK'
851                         rather than just matching terminators
852                 - (schedule_automatic_registration_again,
853                    automatic_registration_response, automatic_registration): retry
854                         registration a few times on timeout or "searching" because cards
855                         take a bit to find a network after being powered up with CFUN=1
856                 - (power_up_response, power_up, init_full_done, enter_pin,
857                    check_pin_done): power up the card with CFUN=1 before trying to
858                         register with the network
859                 - (init_modem_full, init_modem): use more standard 3G init strings
860
861         * src/nm-hso-gsm-device.c
862                 - (modem_get_reply): remove, unused
863                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
864                         modem_wait_for_reply() to match actual responses instead of single
865                         termination characters; it doesn't leave stuff in the serial buffer
866                         that might confuse later calls
867                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
868                         to ensure that the call is really disconnected and not leave extra
869                         stuff in the serial buffer
870
871         * src/nm-cdma-device.c
872                 - (power_up_response, power_up, init_done): try Sierra-style modem
873                         power up before attempting to connect
874
875 2008-09-27  Dan Williams  <dcbw@redhat.com>
876
877         * libnm-util/nm-setting-gsm.c
878                 - (verify): verify GSM network ID
879
880 2008-09-25  Dan Williams  <dcbw@redhat.com>
881
882         * libnm-util/nm-setting-gsm.c
883           libnm-util/nm-setting-gsm.h
884                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
885                         technology terms (bgo #551361)
886
887 2008-09-25  Dan Williams  <dcbw@redhat.com>
888
889         Fix bgo #549401 (inspired by patch from Alexander Sack)
890
891         * src/nm-device-ethernet.c
892                 - (finish_supplicant_task): clean up scheduled tasks and free memory
893                 - (remove_supplicant_interface_error_handler): remove the supplicant
894                         error idle callback too
895                 - (supplicant_interface_release): rename from supplicant_interface_clean
896                         to match nm-device-wifi.c; clean up supplicant interface-related
897                         state tasks when the supplicant interface is disposed of
898                 - (schedule_state_handler): add scheduled tasks to a list so they can
899                         be cleaned up later
900                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
901                    supplicant_iface_connection_state_cb_handler): use
902                         finish_supplicant_task() to clean up each completed task
903                 - (supplicant_iface_connection_error_cb_handler,
904                    supplicant_connection_timeout_cb): clear source id when the task is
905                         complete
906                 - (supplicant_iface_connection_error_cb): save scheduled task id for
907                         later cleanup
908                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
909                         tasks
910
911         * src/nm-device-wifi.c
912                 - (finish_supplicant_task): clean up scheduled tasks and free memory
913                 - (remove_supplicant_interface_error_handler): remove the supplicant
914                         error idle callback too
915                 - (supplicant_interface_release): clean up supplicant interface-related
916                         state tasks when the supplicant interface is disposed of
917                 - (schedule_state_handler): add scheduled tasks to a list so they can
918                         be cleaned up later
919                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
920                    supplicant_iface_connection_state_cb_handler): use
921                         finish_supplicant_task() to clean up each completed task
922                 - (supplicant_iface_connection_error_cb_handler): clear source id when
923                         the task is complete
924                 - (supplicant_iface_connection_error_cb): save scheduled task id for
925                         later cleanup
926                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
927
928 2008-09-24  Tambet Ingo  <tambet@gmail.com>
929
930         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
931         method and get/set hostname property.
932
933 2008-09-24  Tambet Ingo  <tambet@gmail.com>
934
935         * src/supplicant-manager/nm-supplicant-interface.c
936         (nm_supplicant_interface_disconnect): Don't increment the reference 
937         count when disconnecting. The problem is on shutdown, when the replies
938         to these commands do not arrive before NM exits, resulting on never
939         calling supplicant interface's dispose(), which removes the interface
940         from supplicant.
941
942 2008-09-24  Tambet Ingo  <tambet@gmail.com>
943
944         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
945         all the public function arguments.
946
947 2008-09-22  Tambet Ingo  <tambet@gmail.com>
948
949         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
950         "Failure" signal from VPN plugins, store the failure reason, and
951         use it when the state is changed to failure.
952
953         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
954         description.
955
956         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
957         reason to the end of the list to not break the API.
958         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
959         so it can be shared by plugins and daemon.
960
961 2008-09-18  Dan Williams  <dcbw@redhat.com>
962
963         Patch from Alexander Sack <asac@ubuntu.com>
964
965         * configure.in
966           system-settings/plugins/Makefile.am
967           system-settings/plugins/ifupdown/Makefile.am
968           system-settings/plugins/ifupdown/interface_parser.c
969           system-settings/plugins/ifupdown/interface_parser.h
970           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
971           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
972           system-settings/plugins/ifupdown/parser.c
973           system-settings/plugins/ifupdown/parser.h
974           system-settings/plugins/ifupdown/plugin.c
975           system-settings/plugins/ifupdown/plugin.h
976                 - Implement a Debian/Ubuntu legacy network configuration plugin
977                         (gnome.org #551941)
978
979 2008-09-18  Dan Williams  <dcbw@redhat.com>
980
981         Implement support for honoring configured and automatic hostnames, and for
982         setting the configured hostname.
983
984         * introspection/nm-ip4-config.xml
985           src/nm-ip4-config.c
986           src/nm-ip4-config.h
987           src/dhcp-manager/nm-dhcp-manager.c
988                 - Remove useless hostname property; it's not really part of the IPv4
989                         config
990
991         * introspection/nm-settings-system.xml
992           libnm-glib/nm-dbus-settings-system.c
993           libnm-glib/nm-dbus-settings-system.h
994                 - Add SetHostname() call to system settings D-Bus interface
995                 - Add Hostname property to system settings D-Bus interface
996                 - (nm_dbus_settings_system_save_hostname,
997                    nm_dbus_settings_system_get_hostname): implement
998
999         * src/nm-device.c
1000           src/nm-device.h
1001                 - (nm_device_get_dhcp4_config): implement
1002
1003         * src/nm-manager.c
1004           src/nm-manager.h
1005                 - Fetch and track system settings service hostname changes, and proxy
1006                         the changes via a GObject property of the manager
1007
1008         * system-settings/src/nm-system-config-interface.c
1009           system-settings/src/nm-system-config-interface.h
1010                 - Replace nm_system_config_interface_supports_add() with a capabilities
1011                         bitfield
1012
1013         * system-settings/src/nm-system-config-error.c
1014           system-settings/src/nm-system-config-error.h
1015                 - Add additional errors
1016
1017         * system-settings/src/dbus-settings.c
1018           system-settings/src/dbus-settings.h
1019                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1020                         property; first plugin returning a hostname wins
1021                 - (impl_settings_add_connection): use plugin capabilities instead of
1022                         nm_system_config_interface_supports_add()
1023                 - (impl_settings_save_hostname): implement hostname saving
1024
1025         * src/NetworkManagerPolicy.c
1026                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1027                    lookup_thread_die): implement an asynchronous hostname lookup thread
1028                         which given an IPv4 address tries to look up the hostname for that
1029                         address with reverse DNS
1030                 - (get_best_device): split out best device code from
1031                         update_routing_and_dns()
1032                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1033                         to preserve the 127.0.0.1 reverse mapping that so many things require
1034                 - (set_system_hostname): set a given hostname
1035                 - (update_system_hostname): implement hostname policy; a configured
1036                         hostname (from the system settings service) is used if available,
1037                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1038                         If there was no automatically determined hostname, reverse DNS of
1039                         the best device's IP address will be used, and as a last resort the
1040                         hostname 'localhost.localdomain' is set.
1041                 - (update_routing_and_dns): use get_best_device(); update the system
1042                         hostname when the network config changes
1043                 - (hostname_changed): update system hostname if the system settings
1044                         service signals a hostname change
1045                 - (nm_policy_new): list for system settings service hostname changes
1046                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1047                         gets told to die
1048
1049         * system-settings/plugins/keyfile/plugin.c
1050           system-settings/plugins/ifcfg-suse/plugin.c
1051                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1052                         capabilities properties
1053
1054         * system-settings/plugins/ifcfg-fedora/shvar.c
1055                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1056                         writes out /etc/sysconfig/network now
1057
1058         * system-settings/plugins/ifcfg-fedora/plugin.c
1059                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1060                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1061                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1062                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1063                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1064                         hostname get/set and capabilities get
1065
1066 2008-09-18  Dan Williams  <dcbw@redhat.com>
1067
1068         * libnm-util/nm-setting-wireless.c
1069                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1070                         group ciphers if the wireless-security setting explicitly specified
1071                         them, effectively making the default be "all ciphers"  (idea from
1072                         Alexander Sack)
1073
1074 2008-09-15  Dan Williams  <dcbw@redhat.com>
1075
1076         Patch from Alexander Sack <asac@ubuntu.com>
1077
1078         * src/named-manager/nm-named-manager.c
1079                 - (dispatch_resolvconf): respect resolvconf exit code
1080
1081 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1082
1083         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1084         again. Add some debugging.
1085
1086 2008-09-11  Dan Williams  <dcbw@redhat.com>
1087
1088         * system-settings/plugins/keyfile/plugin.c
1089                 - (update_connection_settings): update connection manually, since
1090                         nm_exported_connection_update() does authentication
1091                 - (dir_changed): update_connection_settings() doesn't need to return
1092                         an error
1093
1094 2008-09-09  Dan Williams  <dcbw@redhat.com>
1095
1096         * libnm-glib/nm-vpn-plugin-ui-interface.c
1097           libnm-glib/nm-vpn-plugin-ui-interface.h
1098           libnm-glib/libnm_glib_vpn.ver
1099                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1100                         should clean up resources related to the connection (like keyring
1101                         secrets)
1102                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1103                         should save user-scope secrets (like to the keyring)
1104
1105 2008-09-08  Dan Williams  <dcbw@redhat.com>
1106
1107         Patch from Alexander Sack <asac@ubuntu.com>
1108
1109         * libnm-util/crypto_gnutls.c
1110           libnm-util/crypto_nss.c
1111                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1112
1113         * libnm-util/nm-utils.c
1114           libnm-util/nm-utils.h
1115           libnm-util/libnm-util.ver
1116                 - (nm_utils_init): initialize libnm-util
1117                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1118
1119         * libnm-util/nm-setting-8021x.c
1120                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1121
1122 2008-09-05  Dan Williams  <dcbw@redhat.com>
1123
1124         Patch from Roy Marples <roy@marples.name> and others
1125
1126         * configure.in
1127           src/named-manager/nm-named-manager.c
1128                 - Add support for resolvconf; use --with-resolvconf at configure time
1129                         to enable it
1130
1131 2008-09-05  Dan Williams  <dcbw@redhat.com>
1132
1133         * libnm-util/crypto_nss.c
1134           libnm-util/crypto_gnutls.c
1135           libnm-util/crypto.h
1136                 - (crypto_init): return error when init fails
1137
1138 2008-09-05  Dan Williams  <dcbw@redhat.com>
1139
1140         * libnm-glib/nm-device-wifi.c
1141                 - (access_point_removed_proxy): clean up the active access point too
1142                         just in case the active ap changed signal didn't come through yet
1143                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1144
1145 2008-09-05  Dan Williams  <dcbw@redhat.com>
1146
1147         * libnm-glib/nm-client.c
1148                 - (constructor): get initial state after we know whether NM is running
1149                         or not
1150
1151 2008-09-05  Dan Williams  <dcbw@redhat.com>
1152
1153         * libnm-glib/nm-ip4-config.c
1154           libnm-glib/nm-dhcp4-config.c
1155                 - (finalize): clean up the DBusGProxy
1156
1157 2008-09-04  Dan Williams  <dcbw@redhat.com>
1158
1159         * src/nm-ip4-config.c
1160           src/nm-ip4-config.h
1161                 - (nm_ip4_config_new): don't export over D-Bus here
1162                 - (nm_ip4_config_export): new function; export the config over D-Bus
1163                 - (nm_ip4_config_is_exported): new function
1164
1165         * src/nm-device.c
1166                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1167                         objects by balancing the IP4Config constructor; the device holds
1168                         a reference to the IP4Config already
1169                 - (nm_device_set_ip4_config): export the IP4Config when needed
1170
1171 2008-09-04  Dan Williams  <dcbw@redhat.com>
1172
1173         * src/supplicant-manager/nm-supplicant-settings-verify.c
1174                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1175
1176 2008-09-04  Dan Williams  <dcbw@redhat.com>
1177
1178         * libnm-util/nm-setting-vpn.c
1179           libnm-util/nm-setting-vpn.h
1180                 - Split VPN secrets from VPN data so that settings services can actually
1181                         figure out that they are secrets and store them accordingly
1182
1183         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1184           system-settings/plugins/keyfile/reader.c
1185           system-settings/plugins/keyfile/reader.h
1186           system-settings/plugins/keyfile/writer.c
1187                 - Store VPN secrets separately from VPN data so that they can be fetched
1188                         on demand
1189                 - Implement the get_secrets() call so that (a) secrets don't leak out
1190                         to unprivileged callers, and (b) secrets can be sent to privileged
1191                         callers when needed
1192
1193         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1194                 - Handle split VPN secrets
1195
1196 2008-08-27  Dan Williams  <dcbw@redhat.com>
1197
1198         * system-settings/plugins/ifcfg-fedora/reader.c
1199                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1200
1201 2008-08-27  Dan Williams  <dcbw@redhat.com>
1202
1203         Ensure zombie children get cleaned up.  To get notifications when children
1204         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1205         that requires calling waitpid() yourself if you've removed the child watch
1206         handler before the process has actually died, which NM needs to do in a few
1207         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1208         cleans up after the child when required.  Should fix problems trying to
1209         activate mobile broadband connections after a previous failure.
1210
1211         * src/dhcp-manager/nm-dhcp-dhclient.c
1212           src/dhcp-manager/nm-dhcp-dhcpcd.c
1213                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1214
1215         * src/dhcp-manager/nm-dhcp-manager.c
1216                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1217                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1218                         block on child quitting, since the non-blocking functionality was
1219                         never actually used
1220
1221         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1222                 - (dm_watch_cb): child is already reaped here
1223                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1224
1225         * src/nm-device.c
1226                 - (aipd_cleanup): block until child is dead
1227
1228         * src/named-manager/nm-named-manager.c
1229                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1230                         event bothering to watch the child
1231
1232         * src/ppp-manager/nm-ppp-manager.c
1233                 - (ppp_watch_cb): child is already reaped here
1234                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1235
1236         * src/vpn-manager/nm-vpn-service.c
1237                 - (vpn_service_watch_cb): child is already reaped here
1238                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1239                         status of the child is actually tracked
1240                 - (ensure_killed, finalize): block until child is dead
1241
1242 2008-08-26  Dan Williams  <dcbw@redhat.com>
1243
1244         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1245                 - (update): Update filename of the connection if the connection id
1246                         was changed
1247
1248         * system-settings/plugins/keyfile/plugin.c
1249                 - (dir_changed): first pass at handling connection renames correctly
1250
1251         * system-settings/plugins/keyfile/writer.c
1252           system-settings/plugins/keyfile/writer.h
1253                 - (write_connection): replace '/' with '*' when writing out the filename
1254                         from the connection id
1255
1256 2008-08-26  Dan Williams  <dcbw@redhat.com>
1257
1258         Add connection UUIDs, since connection names can be changed, and since
1259         old-style connection IDs could change over the life of the connection.  The
1260         UUID should be assigned at connection creation time, be stable for a given
1261         connection, and should be unique among all connections for a given settings
1262         service.
1263
1264         * configure.in
1265           libnm-util/Makefile.am
1266                 - Require libuuid
1267
1268         * introspection/nm-exported-connection.xml
1269                 - Remove "GetID" method
1270
1271         * libnm-glib/nm-dbus-connection.c
1272           libnm-glib/nm-settings.c
1273           libnm-glib/nm-settings.h
1274                 - Remove id-related stuff
1275
1276         * libnm-util/nm-utils.c
1277           libnm-util/nm-utils.h
1278           libnm-util/libnm-util.ver
1279                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1280                         utility functions to generate UUIDs
1281
1282         * libnm-util/nm-setting-connection.c
1283           libnm-util/nm-setting-connection.h
1284                 - Add 'uuid' member to the connection setting
1285                 - (verify): require valid 'uuid' for a valid connection
1286
1287         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1288           system-settings/plugins/ifcfg-fedora/reader.c
1289           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1290           system-settings/plugins/ifcfg-suse/parser.c
1291           system-settings/plugins/keyfile/nm-keyfile-connection.c
1292           system-settings/src/main.c
1293                 - Remove id-related stuff
1294                 - Give connections UUIDs where needed
1295
1296 2008-08-25  Dan Williams  <dcbw@redhat.com>
1297
1298         * libnm-util/crypto_gnutls.c
1299           libnm-util/crypto_nss.c
1300                 - (crypto_init, crypto_deinit): refcount init/deinit
1301                 - (crypto_md5_hash): allow NULL salt
1302
1303 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1304
1305         * libnm-glib/Makefile.am
1306           libnm-util/Makefile.am
1307           libnm-glib/libnm_glib.ver
1308           libnm-glib/libnm_glib_vpn.ver
1309           libnm-util/libnm-util.ver
1310                 - Use linker version scripts to control the list of exported 
1311                 symbols. List each exported symbol explicitely.
1312         * libnm-util/Makefile.am
1313                 - Fix compilation of the test-crypto binary. The crypto
1314                 functions are no longer part of the libnm-util API. Add 
1315                 crypto_*.c to test_crypto_SOURCES and link against the correct
1316                 crypto libraries.
1317
1318 2008-08-19  Dan Williams  <dcbw@redhat.com>
1319
1320         * configure.in
1321           test/Makefile.am
1322                 - Don't build test/test-common
1323                 - Remove unused stuff
1324
1325         * test/nm-set-fallback
1326           test/nmtestdevices.c
1327           test/test-common/.cvsignore
1328           test/test-common/Makefile.am
1329           test/test-common/test-common.c
1330           test/test-common/test-common.h
1331                 - delete
1332
1333 2008-08-18  Dan Williams  <dcbw@redhat.com>
1334
1335         * libnm-util/nm-utils.c
1336           libnm-util/nm-utils.h
1337                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1338                         export anything that needs to be converted with this function
1339
1340         * src/dhcp-manager/nm-dhcp-manager.c
1341                 - (garray_to_string): convert a byte array to a UTF-8 string with
1342                         minimal validation; the DHCP client sends it in ASCII anyway
1343                 - (get_option, copy_option): use garray_to_string()
1344
1345 2008-08-18  Dan Williams  <dcbw@redhat.com>
1346
1347         * include/NetworkManager.h
1348           introspection/nm-device.xml
1349                 - Add a "missing firmware" device state reason
1350
1351         * src/NetworkManagerSystem.c
1352           src/NetworkManagerSystem.h
1353                 - (nm_system_device_set_up_down): add a no_firmware argument
1354                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1355                         IFF_UP is ENOENT, that almost always means missing firmware
1356
1357         * src/backends/NetworkManagerGeneric.c
1358           src/nm-device-ethernet.c
1359           src/nm-device-private.h
1360           src/nm-device-wifi.c
1361           src/nm-device.c
1362           src/nm-device.h
1363           src/nm-hso-gsm-device.c
1364           src/vpn-manager/nm-vpn-connection.c
1365                 - Pass no_firmware along; check it where appropriate
1366
1367 2008-08-18  Dan Williams  <dcbw@redhat.com>
1368
1369         Patch from Robert Buchholz <rbu@gentoo.org>
1370
1371         * autogen.sh
1372           configure.in
1373                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1374                         1003.1-1988, allowing for file names longer than 99 characters
1375
1376 2008-08-17  Dan Williams  <dcbw@redhat.com>
1377
1378         * include/NetworkManager.h
1379           introspection/nm-device.xml
1380           src/nm-gsm-device.c
1381                 - Finer-grained GSM registration failure error codes
1382
1383 2008-08-17  Dan Williams  <dcbw@redhat.com>
1384
1385         * callouts/Makefile.am
1386           src/Makefile.am
1387                 - Move dispatcher directory creation to callouts/Makefile.am
1388
1389         * system-settings/plugins/keyfile/Makefile.am
1390                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1391
1392 2008-08-15  Dan Williams  <dcbw@redhat.com>
1393
1394         Do connection sharing in a cleaner manner; all required iptables rules
1395         are now stored in the activation request and pertain only to the device
1396         which is being shared to other computers. (rh #458625)
1397
1398         * src/nm-activation-request.c
1399           src/nm-activation-request.h
1400                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1401                         the activation request which will get torn down automatically when
1402                         the activation request dies
1403                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1404                         is started, and tear them down when sharing is stopped
1405
1406         * src/nm-device.c
1407                 - (start_sharing): start up sharing by doing the required iptables magic
1408                 - (share_init): poke the right bits of the kernel and load the right
1409                         modules for NAT
1410                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1411                         connection if it's a 'shared' connection
1412
1413         * src/NetworkManagerPolicy.c
1414                 - Remove all sharing stuff; done in the device code itself
1415
1416 2008-08-15  Dan Williams  <dcbw@redhat.com>
1417
1418         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1419                 - (create_dm_cmd_line): send the right router address
1420
1421 2008-08-15  Dan Williams  <dcbw@redhat.com>
1422
1423         * src/ppp-manager/nm-ppp-manager.c
1424                 - (pppd_timed_out): ensure timeouts fail the connection
1425
1426 2008-08-14  Dan Williams  <dcbw@redhat.com>
1427
1428         * src/nm-properties-changed-signal.c
1429           src/nm-properties-changed-signal.h
1430                 - Add a property spec flag for "don't export this property" in
1431                         property changed signals
1432
1433         * src/nm-hso-gsm-device.c
1434           src/nm-gsm-device.c
1435           src/nm-cdma-device.c
1436                 - Don't export monitor interface or netdev interface properties
1437
1438 2008-08-14  Dan Williams  <dcbw@redhat.com>
1439
1440         * src/NetworkManagerPolicy.c
1441                 - (update_routing_and_dns): 'hso' devices can be default even if they
1442                         don't have a gateway
1443
1444 2008-08-14  Dan Williams  <dcbw@redhat.com>
1445
1446         * src/nm-device.c
1447                 - (nm_device_deactivate_quickly): tear down activation request after
1448                         calling device-specific deactivation
1449
1450         * src/nm-hso-gsm-device.c
1451                 - (real_deactivate_quickly): terminate connection when deactivating
1452
1453 2008-08-14  Dan Williams  <dcbw@redhat.com>
1454
1455         * src/nm-activation-request.h
1456                 - Add HSO secrets caller
1457
1458         * src/nm-gsm-device.c
1459           src/nm-gsm-device.h
1460                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1461                         something to the callback function
1462                 - (set_apn, set_apn_done): call class dial function, not a static one
1463                 - (nm_gsm_device_class_init): add a class 'dial' function
1464
1465         * src/nm-hal-manager.c
1466                 - (get_hso_netdev): find the hso-driven hardware's net device
1467                 - (modem_device_creator): recognize hso-driven hardware and create the
1468                         right type of device object for it
1469
1470         * src/Makefile.am
1471           src/nm-hso-gsm-device.c
1472           src/nm-hso-gsm-device.h
1473                 - Implement support for devices driven by the 'hso' driver as a subclass
1474                         of NMGsmDevice
1475
1476 2008-08-14  Dan Williams  <dcbw@redhat.com>
1477
1478         * src/NetworkManagerSystem.c
1479                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1480                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1481                         success if the operation really was successful
1482
1483 2008-08-14  Dan Williams  <dcbw@redhat.com>
1484
1485         * src/nm-netlink-monitor.c
1486           src/nm-netlink-monitor.h
1487           src/nm-device-ethernet.c
1488                 - (nm_netlink_monitor_request_status): return an error on failure
1489                 - (constructor): don't segfault on missing error
1490
1491 2008-08-13  Dan Williams  <dcbw@redhat.com>
1492
1493         * callouts/nm-dispatcher-action.c
1494                 - Add IP4 config info to script environment
1495
1496 2008-08-12  Dan Williams  <dcbw@redhat.com>
1497
1498         * src/nm-device.c
1499                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1500                         that want to use DHCP hostnames should use dispatcher scripts
1501                         for that
1502
1503         * src/NetworkManagerSystem.h
1504           src/backends/NetworkManagerArch.c
1505           src/backends/NetworkManagerDebian.c
1506           src/backends/NetworkManagerFrugalware.c
1507           src/backends/NetworkManagerGeneric.c
1508           src/backends/NetworkManagerGeneric.h
1509           src/backends/NetworkManagerGentoo.c
1510           src/backends/NetworkManagerMandriva.c
1511           src/backends/NetworkManagerPaldo.c
1512           src/backends/NetworkManagerRedHat.c
1513           src/backends/NetworkManagerSlackware.c
1514           src/backends/NetworkManagerSuSE.c
1515                 - Remove nm_system_set_hostname(), no longer used
1516           
1517         * src/backends/Makefile.am
1518           src/backends/shvar.c
1519           src/backends/shvar.h
1520                 - Remove shvar.*; no longer used
1521
1522 2008-08-12  Dan Williams  <dcbw@redhat.com>
1523
1524         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1525         hostname is updated at runtime.  Distros or users who want hostname updates
1526         can use dispatcher scripts to update the hostname if they need it.
1527
1528 2008-08-12  Dan Williams  <dcbw@redhat.com>
1529
1530         * introspection/nm-settings-system.xml
1531           system-settings/src/dbus-settings.c
1532           system-settings/src/dbus-settings.h
1533                 - Add a 'Hostname' property (rw) which represents the configured
1534                         hostname and domain of the system, if any
1535
1536         * system-settings/src/nm-system-config-error.c
1537           system-settings/src/nm-system-config-error.h
1538           system-settings/src/nm-system-config-interface.c
1539           system-settings/src/nm-system-config-interface.h
1540                 - Add a 'hostname' property to the plugin interface
1541                 - Add a method to send updated hostname to plugins to save in their
1542                         backing configuration store
1543
1544         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1545           system-settings/plugins/keyfile/plugin.c
1546           system-settings/plugins/keyfile/writer.c
1547           system-settings/plugins/keyfile/writer.h
1548           system-settings/plugins/ifcfg-suse/plugin.c
1549                 - Add minimal hostname support
1550
1551         * system-settings/plugins/ifcfg-fedora/plugin.c
1552                 - Add support for updating system hostname in /etc/sysconfig/network
1553
1554 2008-08-12  Dan Williams  <dcbw@redhat.com>
1555
1556         * system-settings/plugins/ifcfg-fedora/shvar.c
1557           system-settings/plugins/ifcfg-fedora/shvar.c
1558                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1559
1560 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1561
1562         * Makefile.am: Fix distcheck.
1563
1564 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1565
1566         * libnm-glib/*.c. Document some more.
1567
1568 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1569
1570         Start documenting libnm-glib public API using gtk-doc.
1571
1572         * libnm-glib/nm-serial-device.c: 
1573         * libnm-glib/nm-object.c: 
1574         * libnm-glib/nm-gsm-device.c: 
1575         * libnm-glib/nm-device.c: 
1576         * libnm-glib/nm-device-wifi.c: 
1577         * libnm-glib/nm-device-ethernet.c: 
1578         * libnm-glib/nm-client.c: 
1579         * libnm-glib/nm-cdma-device.c: Document the public API.
1580
1581         * docs/libnm-glib/libnm-glib.types: Implement.
1582
1583         * docs/libnm-glib/Makefile.am: Implement.
1584
1585         * autogen.sh: 
1586         * configure.in: 
1587         * Makefile.am: Add gtk-doc support.
1588
1589 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1590
1591         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1592
1593         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1594         the composite result of all the IP4 configurations and call a distro
1595         specific update_resolv_conf().
1596         (update_resolv_conf): Implement one for directly writing to 
1597         /etc/resolv.conf and one for opensuse to call netconfig.
1598
1599 2008-08-11  Dan Williams  <dcbw@redhat.com>
1600
1601         * src/ppp-manager/nm-ppp-manager.c
1602                 - (impl_ppp_manager_need_secrets): pass interface as required
1603
1604 2008-08-11  Dan Williams  <dcbw@redhat.com>
1605
1606         Merge the vpn-properties setting with the vpn setting since it was pointless
1607         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1608         of string:string (instead of string:variant) so that system settings plugins
1609         can have an easier time dealing with the arbitrary key/value pairs.
1610
1611 2008-08-11  Dan Williams  <dcbw@redhat.com>
1612
1613         * libnm-util/nm-utils.c
1614                 - (nm_utils_register_value_transformations): add value transform for
1615                         a hash table of string:string
1616
1617 2008-08-10  Dan Williams  <dcbw@redhat.com>
1618
1619         * libnm-glib/nm-vpn-plugin.c
1620                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1621                         an idle handler so the Connect reply gets delivered before the
1622                         stop StateChanged signal
1623
1624 2008-08-10  Dan Williams  <dcbw@redhat.com>
1625
1626         * src/nm-ip4-config.c
1627                 - (get_property): use common ip4 address/route conversion functions
1628                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1629                         copy the new route here, not take ownership
1630
1631 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1632
1633         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1634         Update the IP4 setting's method name.
1635
1636 2008-08-07  Dan Williams  <dcbw@redhat.com>
1637
1638         * introspection/nm-ip4-config.xml
1639           libnm-glib/libnm-glib-test.c
1640           libnm-glib/nm-ip4-config.c
1641           libnm-glib/nm-ip4-config.h
1642           src/NetworkManagerSystem.h
1643           src/backends/NetworkManagerArch.c
1644           src/backends/NetworkManagerDebian.c
1645           src/backends/NetworkManagerFrugalware.c
1646           src/backends/NetworkManagerGeneric.c
1647           src/backends/NetworkManagerGeneric.h
1648           src/backends/NetworkManagerGentoo.c
1649           src/backends/NetworkManagerMandriva.c
1650           src/backends/NetworkManagerPaldo.c
1651           src/backends/NetworkManagerRedHat.c
1652           src/backends/NetworkManagerSlackware.c
1653           src/backends/NetworkManagerSuSE.c
1654           src/dhcp-manager/nm-dhcp-manager.c
1655           src/nm-device.c
1656           src/nm-ip4-config.c
1657           src/nm-ip4-config.h
1658                 - Remove NIS logic; should be done from dispatcher scripts instead
1659
1660 2008-08-07  Dan Williams  <dcbw@redhat.com>
1661
1662         * src/dhcp-manager/nm-dhcp-manager.c
1663                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1664                         mis-handling of DHCP responses that returned more than one router
1665                         (found by Grant Williamson)
1666
1667 2008-08-07  Dan Williams  <dcbw@redhat.com>
1668
1669         * callouts/nm-dispatcher-action.c
1670                 - (nm_dispatcher_action): grab device path and create the device; pass
1671                         the device's DHCP4 config to script caller
1672                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1673                         scripts
1674
1675         * libnm-glib/nm-dhcp4-config.c
1676           libnm-glib/nm-dhcp4-config.h
1677                 - (nm_dhcp4_config_get_options): expose
1678                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1679
1680 2008-08-07  Dan Williams  <dcbw@redhat.com>
1681
1682         * include/NetworkManager.h
1683                 - Add the DHCP4Config D-Bus interface
1684
1685         * libnm-glib/Makefile.am
1686           libnm-glib/nm-dhcp4-config.c
1687           libnm-glib/nm-dhcp4-config.h
1688                 - Handle DHCP4 config objects exported by NM over D-Bus
1689
1690         * libnm-glib/nm-device.c
1691           libnm-glib/nm-device.h
1692                 - Add a 'dhcp4-config' property
1693
1694         * libnm-glib/libnm-glib-test.c
1695                 - Print out DHCP4 config for devices
1696                 - Fix some crashes when no connections are active
1697
1698         * src/nm-device-interface.c
1699           src/nm-device.c
1700           src/nm-dhcp4-config.c
1701           src/nm-dhcp4-config.h
1702                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1703                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1704                         doesn't let us do when the property type is G_TYPE_OBJECT
1705
1706 2008-08-07  Dan Williams  <dcbw@redhat.com>
1707
1708         * src/NetworkManager.c
1709           src/NetworkManagerSystem.h
1710           src/backends/NetworkManagerArch.c
1711           src/backends/NetworkManagerDebian.c
1712           src/backends/NetworkManagerFrugalware.c
1713           src/backends/NetworkManagerGeneric.c
1714           src/backends/NetworkManagerGeneric.h
1715           src/backends/NetworkManagerGentoo.c
1716           src/backends/NetworkManagerMandriva.c
1717           src/backends/NetworkManagerPaldo.c
1718           src/backends/NetworkManagerRedHat.c
1719           src/backends/NetworkManagerSlackware.c
1720           src/backends/NetworkManagerSuSE.c
1721                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1722
1723 2008-08-06  Dan Williams  <dcbw@redhat.com>
1724
1725         * libnm-glib/nm-ip4-config.c
1726           libnm-glib/nm-ip4-config.h
1727                 - Add 'routes' property
1728
1729         * libnm-util/nm-setting-vpn.c
1730           libnm-util/nm-setting-vpn.h
1731                 - Remove 'routes' property
1732
1733         * libnm-util/nm-setting-ip4-config.c
1734           libnm-util/nm-setting-ip4-config.h
1735                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1736                 - Add 'ignore-auto-routes' property
1737                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1738                         accomodate route metrics
1739                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1740
1741         * libnm-util/nm-utils.c
1742           libnm-util/nm-utils.h
1743                 - Add helpers for marshalling IP4 routes
1744
1745         * src/NetworkManagerUtils.c
1746                 - (nm_utils_merge_ip4_config): handle property renames and new route
1747                         structure
1748
1749         * src/NetworkManagerSystem.c
1750                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1751                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1752
1753         * src/dhcp-manager/nm-dhcp-manager.c
1754                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1755
1756         * system-settings/plugins/ifcfg-fedora/reader.c
1757           system-settings/plugins/ifcfg-fedora/writer.c
1758                 - Handle routes separately from addresses now that routes have a different
1759                         format
1760
1761         * introspection/nm-ip4-config.xml
1762           src/nm-ip4-config.c
1763           src/nm-ip4-config.h
1764                 - Rename internal routing functions
1765                 - 'static-routes' renamed to 'routes'
1766
1767 2008-08-04  Dan Williams  <dcbw@redhat.com>
1768
1769         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1770
1771         * src/NetworkManager.c
1772           src/nm-manager.c
1773           src/nm-manager.h
1774                 - More explicitly make the NMManager a singleton
1775
1776 2008-08-04  Dan Williams  <dcbw@redhat.com>
1777
1778         * libnm-util/nm-connection.c
1779           libnm-util/nm-connection.h
1780                 - (nm_connection_verify): return error on missing 'connection' setting
1781                         (found by Sjoerd Simons)
1782
1783 2008-08-04  Dan Williams  <dcbw@redhat.com>
1784
1785         Handle multiple concurrent PPP connections.
1786
1787         * src/ppp-manager/nm-ppp-manager.c
1788           src/ppp-manager/nm-ppp-manager.h
1789                 - (constructor): only PPP Manager request bus name once; each
1790                         NMPPPManager object gets a unique object path
1791                 - (nm_ppp_manager_class_init, get_property, set_property,
1792                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1793                         at construct time
1794                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1795                         remove timeout until PPP manager gets an IP4 config
1796                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1797                         the plugin can call back to this specific PPP manager instance
1798
1799         * src/nm-device-ethernet.c
1800           src/nm-serial-device.c
1801                 - Pass parent device in nm_ppp_manager_new()
1802
1803         * src/nm-gsm-device.c
1804           src/nm-cdma-device.c
1805                 - (device_state_changed): don't close serial device on NEED_AUTH
1806                         state changed, that's not a failure case like the rest are
1807
1808         * src/ppp-manager/nm-pppd-plugin.c
1809                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1810                         binds one interface to any pppd process, thus the correct index
1811                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1812                         problems; try harder to get a peer address in spite of pppd
1813                 - (plugin_init): use 'ipparam' as the object path back to our specific
1814                         PPP manager instance
1815
1816 2008-08-04  Dan Williams  <dcbw@redhat.com>
1817
1818         * src/ppp-manager/nm-ppp-manager.c
1819                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1820                         since the GSM and CDMA settings now implement need_secrets, we can
1821                         rely on them to do the right thing.  Where secrets are not required,
1822                         just pass empty strings back to the pppd plugin.
1823                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1824                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1825                         on successful IP4 config receipt
1826
1827 2008-08-04  Dan Williams  <dcbw@redhat.com>
1828
1829         * libnm-util/nm-setting-cdma.c
1830           libnm-util/nm-setting-gsm.c
1831                 - (verify): validate username & password if they exist
1832                 - (need_secrets): if username given, require a password too
1833
1834 2008-08-04  Dan Williams  <dcbw@redhat.com>
1835
1836         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1837                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1838                         manpage says about --listen-address without --interface
1839                         (bgo #546033)
1840
1841 2008-08-01  Dan Williams  <dcbw@redhat.com>
1842
1843         * libnm-glib/nm-device.c
1844                 - (proxy_get_string): util function for querying a HAL property
1845                 - (get_ancestor_device): split out from get_product_and_vendor()
1846                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1847                         from PCI devices by querying subsys properties
1848                 - (nm_device_update_description): simplify
1849
1850 2008-08-01  Dan Williams  <dcbw@redhat.com>
1851
1852         * libnm-util/nm-setting-ip4-config.c
1853           libnm-util/nm-setting-ip4-config.h
1854                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1855                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1856                         settings, and they don't necessarily use DHCP.
1857
1858         * src/NetworkManagerPolicy.c
1859           src/nm-device.c
1860           system-settings/plugins/ifcfg-fedora/reader.c
1861           system-settings/plugins/ifcfg-suse/parser.c
1862                 - Fixup for method changes
1863
1864 2008-07-31  Dan Williams  <dcbw@redhat.com>
1865
1866         * src/nm-activation-request.c
1867           src/vpn-manager/nm-vpn-connection.c
1868                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1869                         itself should be attached to the activation request or the VPN
1870                         connection, not the NMConnection object, since the call is not
1871                         expected to live as long as the NMConnection itself
1872
1873 2008-07-31  Dan Williams  <dcbw@redhat.com>
1874
1875         * src/nm-device-wifi.c
1876                 - (real_act_stage2_config): fix issue where association would continue
1877                         even though secrets were needed; 'goto out' was in wrong scope and
1878                         result of handle_auth_or_fail() should have been dumped directly to
1879                         'ret' to ensure that the association was postponed until secrets
1880                         are available
1881
1882 2008-07-31  Dan Williams  <dcbw@redhat.com>
1883
1884         * system-settings/plugins/ifcfg-fedora/plugin.c
1885           system-settings/plugins/ifcfg-fedora/reader.c
1886                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1887                         valid NM connection
1888
1889 2008-07-29  Dan Williams  <dcbw@redhat.com>
1890
1891         * src/nm-gsm-device.c
1892                 - (automatic_registration_response, automatic_registration): recognize
1893                         denied registration and reorder responses
1894
1895 2008-07-29  Dan Williams  <dcbw@redhat.com>
1896
1897         * src/nm-serial-device.c
1898                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1899                         time(2) is used for current time, which returns seconds, we shouldn't
1900                         be multiplying by 1000.
1901
1902 2008-07-28  Dan Williams  <dcbw@redhat.com>
1903
1904         Patch from Fabrice Bellet <fabrice@bellet.info>
1905
1906         * src/NetworkManagerSystem.c
1907                 - (route_in_same_subnet): mask addresses and compare them so that the
1908                         function actually does what it says it's going to do (rh #456685)
1909
1910 2008-07-27  Dan Williams  <dcbw@redhat.com>
1911
1912         * libnm-util/nm-setting-ip6-config.c
1913                 - (set_property): add missing break that caused routes to be overwritten
1914                         with addresses
1915
1916         * libnm-util/nm-setting-ip6-config.c
1917                 - (verify): validate routes and return GError everywhere on invalid setting
1918                 - (finalize): don't leak routes
1919                 - (set_property): add missing break that caused routes to be overwritten
1920                         with addresses
1921
1922 2008-07-27  Dan Williams  <dcbw@redhat.com>
1923
1924         * libnm-util/*
1925                 - Relicense to LGPLv2+
1926
1927 2008-07-27  Dan Williams  <dcbw@redhat.com>
1928
1929         * system-settings/plugins/ifcfg-fedora/reader.c
1930                 - (make_ip4_setting): fix parsing automatic configs
1931
1932 2008-07-27  Dan Williams  <dcbw@redhat.com>
1933
1934         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1935           src/nm-device.c
1936           src/ppp-manager/nm-ppp-manager.c
1937                 - Ensure child process gets reaped.  The child watch function may be
1938                         removed from the mainloop before the child gets killed, so we have
1939                         to make sure the child is reaped when it's told to die intentionally
1940
1941 2008-07-27  Dan Williams  <dcbw@redhat.com>
1942
1943         Patch from Roy Marples <roy@marples.name>
1944
1945         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1946                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1947
1948 2008-07-27  Dan Williams  <dcbw@redhat.com>
1949
1950         * src/nm-gsm-device.c
1951                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1952                         Huawei devices turn echo back on after CPIN (rh #456770)
1953
1954 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1955
1956         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1957         format argument to g_set_error() call.
1958
1959         * src/backends/interface_parser.[ch]: Remove.
1960
1961         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1962
1963 2008-07-21  Dan Williams  <dcbw@redhat.com>
1964
1965         * src/ppp-manager/nm-ppp-manager.c
1966                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1967                         to prevent pppd from picking up some random local address from an
1968                         interface that doesn't have anything to do with the one we're
1969                         interested in (rh #455348)
1970
1971 2008-07-17  Dan Williams  <dcbw@redhat.com>
1972
1973         * libnm-util/nm-utils.c
1974                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1975                         by locale
1976                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1977                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1978
1979 2008-07-17  Dan Williams  <dcbw@redhat.com>
1980
1981         * introspection/Makefile.am
1982           introspection/nm-device.xml
1983           introspection/nm-dhcp4-config.xml
1984                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1985                         itself
1986         * src/nm-device-interface.c
1987           src/nm-device-interface.h
1988                 - Add the DHCP4Config property
1989
1990         * src/nm-device.c
1991                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1992                         D-Bus clients when it changes
1993
1994         * src/nm-dhcp4-config.c
1995           src/nm-dhcp4-config.h
1996                 - Simple object to store DHCP4 options, export them over D-Bus, and
1997                         notify when they change
1998
1999         * src/dhcp-manager/nm-dhcp-manager.c
2000           src/dhcp-manager/nm-dhcp-manager.h
2001                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2002                         filter server-returned DHCP options into an NMDHCP4Config object
2003
2004 2008-07-16  Dan Williams  <dcbw@redhat.com>
2005
2006         * introspection/nm-device.xml
2007                 - Add device state reasons
2008
2009 2008-07-16  Dan Williams  <dcbw@redhat.com>
2010
2011         Patch from Roy Marples <roy@marples.name>
2012
2013         * configure.in
2014                 - Add --with-dhcp-client option
2015
2016         * src/dhcp-manager/Makefile.am
2017                 - pass DHCP_CLIENT_PATH on compile line
2018
2019         * src/dhcp-manager/nm-dhcp-manager.c
2020           src/dhcp-manager/nm-dhcp-manager.h
2021                 - Genericize for both dhcpcd and dhclient
2022
2023         * src/dhcp-manager/nm-dhcp-dhclient.c
2024                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2025
2026         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2027                 - Implement support for dhcpcd too
2028
2029 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2030
2031         * system-settings/src/nm-system-config-interface.c 
2032         (nm_system_config_interface_supports_add): Implement.
2033         (nm_system_config_interface_add_connection): Return a boolean to notify
2034         of errors.
2035
2036         * system-settings/src/nm-polkit-helpers.c: 
2037         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2038         a separate file.
2039
2040         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2041         Return an error when none of the plugins support add or if addition
2042         failed for some reason.
2043
2044         * system-settings/src/nm-system-config-error.h: 
2045         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2046         here from nm-polkit-helpers.[ch].
2047
2048         * system-settings/src/Makefile.am: Build new files.
2049
2050         * system-settings/plugins/keyfile/reader.c 
2051         (read_array_of_array_of_uint): Make it more general so that it would
2052         work for routes as well.
2053
2054         * system-settings/plugins/keyfile/writer.c
2055         (write_array_of_array_of_uint): Ditto.
2056         Fix the netmask/prefix writing.
2057
2058         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2059         boolean to notify errors.
2060
2061         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2062         Return more specific error.
2063         (delete): Ditto.
2064
2065 2008-07-11  Dan Williams  <dcbw@redhat.com>
2066
2067         Modify the NMDevice::state-changed signal to include the previous state
2068         and reason. Enables the applet to provide more information why device
2069         activation failed.
2070
2071 2008-07-09  Dan Williams  <dcbw@redhat.com>
2072
2073         * callouts/Makefile.am
2074           callouts/nm-avahi-autoipd-action.c
2075           callouts/nm-avahi-autoipd.conf
2076                 - avahi-autoipd callout to send options back to NM
2077
2078         * src/autoip.c
2079           src/autoip.h
2080                 - remove
2081
2082         * src/nm-device.c
2083           src/nm-device-private.h
2084           src/nm-manager.c
2085                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2086                         old custom stuff
2087
2088 2008-07-07  Dan Williams  <dcbw@redhat.com>
2089
2090         * system-settings/plugins/ifcfg-fedora/reader.c
2091                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2092                         handle PREFIX too; clean up
2093
2094 2008-07-07  Dan Williams  <dcbw@redhat.com>
2095
2096         Convert to using IPv4 prefixes instead of netmasks.
2097
2098 2008-07-03  Dan Williams  <dcbw@redhat.com>
2099
2100         * libnm-util/nm-setting-ip4-config.c
2101           libnm-util/nm-setting-ip4-config.h
2102                 - Add properties for DHCP Client Identifier and DHCP Hostname
2103
2104         * src/dhcp-manager/nm-dhcp-manager.c
2105           src/dhcp-manager/nm-dhcp-manager.h
2106                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2107                         setting as an argument to pass on to the dhclient config file
2108                         creation function
2109                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2110                         DHCP is torn down
2111                 - (dhclient_run): punt config file handling to create_dhclient_config()
2112                 - (create_dhclient_config): create an interface-specific dhclient
2113                         config file since there may need to be interface-specific options
2114                         passed to dhclient
2115                 - (merge_dhclient_config): merge normal distro dhclient config file and
2116                         add options from the connection
2117                 - (nm_dhcp_device_new): generate the interface specific dhclient
2118                         config file path once
2119                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2120                         dhclient config file path
2121
2122         * src/nm-device.c
2123                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2124                         DHCP manager when starting DHCP
2125
2126 2008-07-02  Dan Williams  <dcbw@redhat.com>
2127
2128         * libnm-util/nm-setting-8021x.c
2129                 - (verify): allow forcing the PEAP label to 0
2130
2131 2008-07-02  Dan Williams  <dcbw@redhat.com>
2132
2133         * introspection/nm-active-connection.xml
2134           introspection/nm-vpn-connection.xml
2135           libnm-glib/nm-active-connection.c
2136           src/nm-activation-request.c
2137           src/nm-active-connection.h
2138           src/vpn-manager/nm-vpn-connection.c
2139                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2140                         and libnm-glib API since sharing didn't get implemented that way
2141
2142 2008-07-02  Dan Williams  <dcbw@redhat.com>
2143
2144         * src/nm-device-wifi.c
2145                 - (can_scan): don't scan when a shared connection is activated since
2146                         that makes drivers mad (causing disconnects); also NM doesn't need
2147                         to hedge against disconnects by keeping up-to-date network topology
2148                         because the connection originates from the local machine, and thus
2149                         there should be no disconnects
2150
2151 2008-07-01  Dan Williams  <dcbw@redhat.com>
2152
2153         Fix mobile broadband username/password issues.  NM was never requesting
2154         mobile broadband secrets, nor was it passing back the username and password
2155         if it had them.
2156
2157         * marshallers/nm-marshal.list
2158                 - Add some new types for activation request objects
2159
2160         * src/nm-activation-request.c
2161           src/nm-activation-request.h
2162                 - (get_secrets_cb): pass the caller type in the signal
2163                 - (nm_act_request_request_connection_secrets): take a caller type, so
2164                         that GetSecrets() reply handlers know who asked for the secrets in
2165                         the first place; use secret hints too so the settings service can
2166                         figure out exactly what NM wants (ie, PIN or the PPP password)
2167
2168         * src/ppp-manager/nm-ppp-manager.c
2169           src/ppp-manager/nm-ppp-manager.h
2170                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2171                         detect needed secrets when the secret could be blank, like GSM/CDMA
2172                         passwords.  So always ask for secrets, and send a hint as to what
2173                         secret we really want.
2174                 - (nm_ppp_manager_update_secrets): make function more generic by making
2175                         the device specific class figure out the username and password, and
2176                         accept an error argument to return back over D-Bus
2177
2178         * src/nm-device-wifi.c
2179                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2180                         nm_act_request_request_connection_secrets()
2181                 - (real_connection_secrets_updated): update for 'caller' changes
2182
2183         * src/nm-device.c
2184           src/nm-device.h
2185                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2186                         for 'caller' changes
2187
2188         * src/nm-device-ethernet.c
2189                 - (real_connection_secrets_updated): update for 'caller' changes and
2190                         move logic for getting PPPoE username and password here before
2191                         calling nm_ppp_manager_update_secrets()
2192                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2193                         nm_act_request_request_connection_secrets()
2194
2195         * src/nm-cdma-device.c
2196                 - (real_connection_secrets_updated): pass username and password back
2197                         to the PPP manager when required
2198
2199         * src/nm-gsm-device.c
2200                 - (enter_pin): send the required secret name to the settings service
2201                 - (real_connection_secrets_updated): pass username and password back
2202                         to the PPP manager when required
2203
2204 2008-06-30  Dan Williams  <dcbw@redhat.com>
2205
2206         * src/nm-device-wifi.c
2207                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2208
2209 2008-06-30  Dan Williams  <dcbw@redhat.com>
2210
2211         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2212         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2213         priv->supplicant.iface.  When either condition is false, the device should
2214         transition back to UNAVAILABLE because it cannot be used.
2215
2216         * src/nm-device-wifi.c
2217                 - (constructor): cleanup; connect to supplicant manager here since the
2218                         supplicant manager is always around
2219                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2220                         ensure the supplicant manager is in the IDLE state
2221                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2222                         cancel any pending scans too
2223                 - (real_bring_up): don't set up the supplicnat interface here, because
2224                         we need the supplicant interface at times when the device may not
2225                         be "up"
2226                 - (real_take_down): just remove the periodic source
2227                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2228                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2229                         do anything if there's no supplicant interface
2230                 - (cleanup_association_attempt): cleanup
2231                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2232                         the interface enters the READY state; transition to UNAVAILABLE
2233                         state when the interface goes down because the device can't be used
2234                         without a supplicant interface
2235                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2236                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2237                         acquire the supplicant interface and transition to DISCONNECTED
2238                         if the radio isn't killed
2239                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2240                 - (state_changed_cb): release any existing supplicant interface; if the
2241                         radio is enabled then try to acquire a new supplicant interface;
2242                         if the radio is enabled and a supplicant interface has been acquired,
2243                         we can transition to DISCONNECTED
2244                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2245                         don't enable the radio, because HAL probably lied to us about the
2246                         killswitch being off.  If bringing the hardware up worked, then
2247                         try to grab a supplicant interface, and if that was successful,
2248                         transition to DISCONNECTED
2249
2250 2008-06-30  Dan Williams  <dcbw@redhat.com>
2251
2252         * src/supplicant-manager/nm-supplicant-interface.c
2253                 - (request_scan_results, nm_supplicant_interface_dispose,
2254                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2255                         the id of the timeout, not a GSource
2256
2257 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2258
2259         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2260         bunch of typoes introduced by "Patch from David Cantrell 
2261         <dcantrell@redhat.com> and me".
2262
2263 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2264
2265         * src/nm-serial-device.c: 
2266         * src/nm-gsm-device.c: 
2267         * src/nm-cdma-device.c: Move the pending call handling to a common location
2268         in serial device. Handle setting device state to failed in one place as well.
2269
2270 2008-06-29  Dan Williams <dcbw@redhat.com>
2271
2272         * src/nm-hal-manager.c
2273                 - Rework killswitch handling to query killswitch status immediately
2274                         when the first killswitch is added, so that rfkill state is
2275                         known as early as possible
2276                 - Also treat failure of GetPower() as rfkill when the dbus method
2277                         call times out (but not when the HAL callout returns an error)
2278
2279 2008-06-26  Dan Williams <dcbw@redhat.com>
2280
2281         Patch from David Cantrell <dcantrell@redhat.com> and me
2282
2283         * include/nm-dbus-glib-types.h
2284                 - Add IP6 address types
2285
2286         * libnm-util/Makefile.am
2287           libnm-util/nm-setting-ip6-config.c
2288           libnm-util/nm-setting-ip6-config.h
2289                 - Add IP6 settings object
2290
2291         * libnm-util/nm-connection.c
2292                 - (register_default_settings): register ip6 settings object
2293
2294         * libnm-util/nm-utils.c
2295           libnm-util/nm-utils.h
2296                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2297                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2298                         ip6 address conversion functions
2299         
2300 2008-06-26  Dan Williams <dcbw@redhat.com>
2301
2302         Patch from David Cantrell <dcantrell@redhat.com>
2303         
2304         * Use inet_ntop() and inet_pton() everwhere and check for errors
2305
2306 2008-06-26  Dan Williams <dcbw@redhat.com>
2307
2308         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2309
2310 2008-06-26  Dan Williams <dcbw@redhat.com>
2311
2312         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2313
2314         * src/nm-device-wifi.c
2315                 - (link_timeout_cb): don't ignore disconnects due to scanning
2316                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2317                         a longer timeout when scanning; avoids case where supplicant can't
2318                         find the AP and just keeps scanning forever but isn't connected
2319
2320 2008-06-26  Dan Williams <dcbw@redhat.com>
2321
2322         Patch from Michael Biebl <biebl@debian.org>
2323
2324         * Clean up build system stuff
2325
2326 2008-06-23  Christian Persch  <chpe@gnome.org>
2327
2328         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2329         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2330         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2331         (impl_get_object):
2332         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2333         (impl_get_object):
2334         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2335         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2336         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2337         (impl_get_object):
2338         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2339         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2340         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2341         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2342         * vpn-daemons/pptp/properties/vpnui_opt.c:
2343         (vpnui_opt_connect_signals):
2344         * vpn-daemons/pptp/properties/vpnui_opt.h:
2345         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2346         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2347         deprecated gtk type macros. Bug #539325.
2348
2349 2008-06-20  Dan Williams  <dcbw@redhat.com>
2350
2351         * libnm-glib/nm-vpn-plugin-ui-interface.c
2352           libnm-glib/nm-vpn-plugin-ui-interface.h
2353                 - 'validity-changed' -> 'changed' to work better with the connection
2354                         editor.  Plugin UI widgets should emit 'changed' whenever their
2355                         UI values change in a meaningful way.
2356                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2357                         update_connection member now returns validity of the UI widget
2358
2359 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2360
2361         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2362
2363 2008-06-17  Dan Williams  <dcbw@redhat.com>
2364
2365         * libnm-glib/nm-vpn-plugin-ui-interface.c
2366           libnm-glib/nm-vpn-plugin-ui-interface.h
2367                 - Add "desc" property for longer descriptions of the VPN plugin
2368
2369 2008-06-16  Dan Williams  <dcbw@redhat.com>
2370
2371         * configure.in
2372           libnm-glib/libnm_glib_vpn.pc.in
2373                 - add a .pc file for libnm_glib_vpn
2374
2375         * libnm-glib/nm-vpn-plugin-ui-interface.c
2376           libnm-glib/nm-vpn-plugin-ui-interface.h
2377                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2378                         rework it substantially
2379
2380 2008-06-12  Dan Williams  <dcbw@redhat.com>
2381
2382         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2383         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2384         returns a descriptive GError when verification fails.
2385
2386 2008-06-11  Dan Williams  <dcbw@redhat.com>
2387
2388         Patch from Tambet Ingo <tambet@gmail.com>
2389
2390         * libnm-util/nm-setting-gsm.c
2391                 - (verify): validate APN
2392
2393         * src/nm-gsm-device.c
2394                 - (manual_registration_done): start setting APN if needed
2395                 - (set_apn, set_apn_done): set the APN
2396                 - (do_dial): use the APN when dialing
2397
2398 2008-06-11  Dan Williams  <dcbw@redhat.com>
2399
2400         * src/NetworkManagerSystem.c
2401                 - (nm_system_device_set_ip4_route,
2402                    nm_system_device_replace_default_ip4_route): check for the right
2403                         return value from rtnl_route_add() to know when to add a gateway
2404                         route (from Tambet)
2405
2406 2008-06-11  Dan Williams  <dcbw@redhat.com>
2407
2408         * src/NetworkManagerPolicy.c
2409                 - do_ipt_cmd -> do_cmd
2410                 - (sharing_init): use do_cmd() instead of system()
2411
2412 2008-06-10  Dan Williams  <dcbw@redhat.com>
2413
2414         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2415         and use "wifi" everwhere instead.
2416
2417 2008-06-10  Dan Williams  <dcbw@redhat.com>
2418
2419         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2420
2421 2008-06-10  Dan Williams  <dcbw@redhat.com>
2422
2423         Patch from Tambet Ingo <tambet@gmail.com>
2424
2425         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2426                 changes.
2427
2428         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2429                 a signal to emit these changes over dbus.
2430
2431         * src/Makefile.am: Genereate nm-serial-device-glue.
2432
2433         * libnm-glib/nm-serial-device.[ch]: Implement.
2434
2435         * libnm-glib/nm-cdma-device.[ch]
2436           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2437
2438         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2439
2440         * introspection/nm-device-serial.xml: Implement.
2441
2442         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2443
2444         * introspection/Makefile.am: Add nm-device-serial.xml.
2445
2446         * include/NetworkManager.h: Add a DBus interface for serial device.
2447
2448 2008-06-10  Dan Williams  <dcbw@redhat.com>
2449
2450         * configure.in
2451                 - Add TARGET_* define to config.h to distinguish distros
2452
2453         * src/dhcp-manager/nm-dhcp-manager.c
2454                 - (dhclient_run): use distro-specific path for dhclient config file
2455
2456 2008-06-09  Dan Williams  <dcbw@redhat.com>
2457
2458         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2459           src/dnsmasq-manager/nm-dnsmasq-manager.h
2460                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2461                         calculate the addresses passed to dnsmasq instead of hard-coding
2462                         them
2463
2464         * src/nm-device.c
2465                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2466                         IP addresses for shared connections to guard against shared
2467                         connection address collisions
2468                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2469                         error conditions
2470                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2471                         the dnsmasq manager
2472
2473 2008-06-09  Dan Williams  <dcbw@redhat.com>
2474
2475         * src/NetworkManagerPolicy.c
2476                 - (update_routing_and_dns): set the default connection _after_ unsetting
2477                         default on all non-default connections so that two connections can
2478                         never be default at the same time
2479                 - (device_state_changed): start and stop connection sharing when
2480                         needed
2481                 - (active_connection_default_changed): restart or stop sharing when
2482                         the default connection changes to keep shared connections always
2483                         NAT-ed through the default connection
2484                 - (check_sharing): handle activation/deactivation of shared connections
2485                 - (sharing_restart): atom-bomb approach to connection sharing until we
2486                         can use libnl; reinit all sharing when the default connection or
2487                         shared connections change
2488                 - (sharing_init, sharing_stop): evil functions that init and deinit
2489                         iptables
2490
2491 2008-06-09  Dan Williams  <dcbw@redhat.com>
2492
2493         * src/nm-activation-request.c
2494           src/nm-activation-request.h
2495                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2496                    nm_act_request_get_device): new functions to facilitate connection
2497                         sharing
2498
2499 2008-06-09  Dan Williams  <dcbw@redhat.com>
2500
2501         * src/nm-device.c
2502                 - (clear_act_request): unset the 'default' property of the activation
2503                         request when clearing it to ensure the property changed signal gets
2504                         delivered and handled
2505
2506 2008-06-09  Dan Williams  <dcbw@redhat.com>
2507
2508         * libnm-glib/nm-device-802-11-wireless.c
2509                 - (access_point_removed_proxy): actually unref the AP after removing
2510                         it from the device's AP list.  Fixes refcounting bug for APs that
2511                         caused them to get mixed up in the applet's menu.
2512
2513 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2514
2515         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2516         (nm_dhcp_device_destroy): Destroy the device options hash table.
2517
2518 2008-06-06  Dan Williams <dcbw@redhat.com>
2519
2520         * system-settings/src/nm-polkit-helpers.c
2521                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2522                         unref the context if the initialization fails; also avoid spew when
2523                         the error isn't set
2524
2525 2008-06-06  Dan Williams <dcbw@redhat.com>
2526
2527         Patch from Tambet Ingo  <tambet@gmail.com>
2528
2529         * src/NetworkManagerSystem.c
2530           src/NetworkManagerSystem.h
2531                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2532                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2533                 - (nm_system_device_set_ip4_route): clean up
2534                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2535
2536         * src/nm-device.c
2537                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2538
2539         * src/vpn-manager/nm-vpn-connection.c
2540                 - (ip_address_to_string): new function
2541                 - (print_vpn_config): use ip_address_to_string
2542                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2543                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2544
2545         * include/NetworkManagerVPN.h
2546                 - Add 'routes' key
2547
2548 2008-06-05  Dan Williams <dcbw@redhat.com>
2549
2550         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2551
2552         * test/nm-tool.c
2553                 - Show which device is the default device
2554
2555 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2556
2557         Fix memory leaks.
2558
2559         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2560         Free data returned from dbus method call.
2561
2562         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2563         dbus_g_method_get_sender() returns a duplicated string, free it 
2564         when done.
2565         (check_polkit_privileges): Looks like policykit sometimes returns
2566         error and non-null return value, don't leak errors in that case.
2567
2568         * system-settings/src/main.c (find_plugin): Don't leak existing 
2569         plugin names.
2570         (load_stuff): Don't leak device list and list items.
2571         (have_connection_for_device): Don't leak connection list.
2572
2573         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2574         Free the data received from g_keyfile_get_*.
2575
2576         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2577         the key when the security object is updated.
2578
2579         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2580         Free data returned from dbus method call.
2581         (iface_state_cb): Ditto.
2582         (add_network_cb): Ditto.
2583         (nm_supplicant_interface_add_cb): Don't make another copy of already
2584         duplicated object path.
2585         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2586         when done.
2587
2588         * src/supplicant-manager/nm-supplicant-config.c 
2589         (ADD_STRING_LIST_VAL): Fix a memory leak.
2590
2591         * src/nm-manager.c (free_get_settings_info): Free the allocated
2592         memory slice.
2593         (list_connections_cb): Free data returned from dbus method call.
2594         (system_settings_get_unmanaged_devices_cb): Ditto.
2595
2596         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2597
2598         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2599         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2600         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2601         of the GList.
2602
2603         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2604         arguments after the object is created.
2605
2606 2008-06-04  Dan Williams <dcbw@redhat.com>
2607
2608         * libnm-util/Makefile.am
2609                 - Don't distribute nm-param-spec-specialized.h
2610
2611 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2612
2613         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2614
2615         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2616         NMIP4Address, update the getters and setters.
2617
2618         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2619         Use the updated NMIP4Config routes api.
2620
2621         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2622         static routes as well.
2623
2624         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2625         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2626         routes api.
2627
2628 2008-05-30  Dan Williams <dcbw@redhat.com>
2629
2630         * src/named-manager/nm-named-manager.c
2631           src/named-manager/nm-named-manager.h
2632                 - Remove stale/obsolete bits for controlling bind over DBus
2633
2634 2008-05-29  Dan Williams <dcbw@redhat.com>
2635
2636         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2637           src/dnsmasq-manager/nm-dnsmasq-manager.h
2638                 - (nm_dnsmasq_manager_new): move iface argument here
2639                 - (constructor): remove, not needed
2640                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2641                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2642
2643         * src/nm-device.c
2644                 - (real_act_stage4_get_ip4_config,
2645                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2646                         changes
2647
2648 2008-05-29  Dan Williams <dcbw@redhat.com>
2649
2650         * src/nm-device.c
2651                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2652                         something happens to dnsmasq
2653                 - (nm_device_new_ip4_shared_config): new function; create a new
2654                         ip4-config for shared connections.  Shared connections always use a
2655                         fixed static IP address.
2656                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2657                         autoip connections by actually using the returned ip4-config and
2658                         not leaking it
2659                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2660                         connections
2661                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2662                         if its active
2663
2664 2008-05-29  Dan Williams <dcbw@redhat.com>
2665
2666         * src/nm-device-802-11-wireless.c
2667                 - (real_get_best_auto_connection): auto-activate 'shared' method
2668                         connections too
2669
2670 2008-05-29  Dan Williams <dcbw@redhat.com>
2671
2672         * libnm-util/nm-setting-ip4-config.c
2673           libnm-util/nm-setting-ip4-config.h
2674                 - Add a 'shared' method to indicate that this connection should be
2675                         brought up with a DHCP and proxy DNS server to facilitate
2676                         connection sharing.
2677                 - (verify): 'shared' method doesn't allow DNS or searches either
2678
2679 2008-05-29  Dan Williams <dcbw@redhat.com>
2680
2681         * configure.in
2682           src/Makefile.am
2683           src/dnsmasq-manager/Makefile.am
2684           src/dnsmasq-manager/nm-dnsmasq-manager.c
2685           src/dnsmasq-manager/nm-dnsmasq-manager.h
2686                 - Add a dnsmasq daemon manager to facilitate connection sharing
2687
2688 2008-05-29  Dan Williams <dcbw@redhat.com>
2689
2690         * src/nm-device-private.h
2691                 - Remove unused prototypes and clean up
2692
2693         * src/nm-device.c
2694                 - Remove anything related to system_config_data, which is no longer used
2695                 - (nm_device_new_ip4_autoip_config): make static
2696
2697 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2698
2699         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2700         (file_changed): Fix a bug where suse system settings plugin didn't
2701         update the connections automatically when the files changed.
2702
2703 2008-05-28  Dan Williams  <dcbw@redhat.com>
2704
2705         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2706
2707 2008-05-28  Dan Williams  <dcbw@redhat.com>
2708
2709         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2710
2711         * src/NetworkManagerSystem.c
2712                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2713                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2714                         was causing -EINVAL errors since the libnl code actually does flush
2715                         the routes on VPN interfaces now
2716
2717         * src/backends/NetworkManagerArch.c
2718           src/backends/NetworkManagerDebian.c
2719           src/backends/NetworkManagerFrugalware.c
2720           src/backends/NetworkManagerGeneric.c
2721           src/backends/NetworkManagerGentoo.c
2722           src/backends/NetworkManagerMandriva.c
2723           src/backends/NetworkManagerPaldo.c
2724           src/backends/NetworkManagerRedHat.c
2725           src/backends/NetworkManagerSlackware.c
2726           src/backends/NetworkManagerSuSE.c
2727                 - (nm_system_device_flush_ip4_routes,
2728                    nm_system_device_flush_ip4_routes_with_iface): remove
2729
2730 2008-05-28  Dan Williams  <dcbw@redhat.com>
2731
2732         * libnm-util/nm-setting-wireless.c
2733           libnm-util/nm-setting-wireless.h
2734                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2735                         'adhoc-create' property, which when TRUE indicates that NM should
2736                         create this connection as an adhoc wifi network if it's not found
2737                         as an adhoc network during scanning.  Can be used to auto-create
2738                         adhoc networks when used in combination with autoconnect.
2739
2740 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2741
2742         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2743
2744         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2745         checked, it doesn't work on some devices.
2746
2747 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2748
2749         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2750         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2751
2752         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2753         Use inet_aton() everywhere to improve error detection.
2754         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2755         provided.
2756
2757 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2758
2759         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2760         Fix a typo.
2761
2762 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2763
2764         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2765         reference counting issue.
2766
2767 2008-05-23  Dan Williams  <dcbw@redhat.com>
2768
2769         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2770
2771         * src/backends/NetworkManagerGeneric.c
2772                 - (nm_generic_enable_loopback): use libnl
2773
2774 2008-05-23  Dan Williams  <dcbw@redhat.com>
2775
2776         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2777
2778         * src/NetworkManagerSystem.h
2779           src/backends/NetworkManagerArch.c
2780           src/backends/NetworkManagerDebian.c
2781           src/backends/NetworkManagerFrugalware.c
2782           src/backends/NetworkManagerGentoo.c
2783           src/backends/NetworkManagerMandriva.c
2784           src/backends/NetworkManagerPaldo.c
2785           src/backends/NetworkManagerRedHat.c
2786           src/backends/NetworkManagerSlackware.c
2787           src/backends/NetworkManagerSuSE.c
2788                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2789                    nm_system_flush_arp_cache): remove, unused
2790
2791         * src/backends/NetworkManagerGeneric.c
2792           src/backends/NetworkManagerGeneric.h
2793                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2794                    nm_generic_flush_arp_cache): remove, unused
2795
2796 2008-05-23  Dan Williams  <dcbw@redhat.com>
2797
2798         * system-settings/plugins/ifcfg-fedora/reader.c
2799                 - (make_ip4_setting): honor PEERDNS setting
2800
2801 2008-05-23  Dan Williams  <dcbw@redhat.com>
2802
2803         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2804
2805         * src/NetworkManagerSystem.c
2806                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2807                         libnl
2808
2809         * src/backends/NetworkManagerArch.c
2810           src/backends/NetworkManagerDebian.c
2811           src/backends/NetworkManagerFrugalware.c
2812           src/backends/NetworkManagerGentoo.c
2813           src/backends/NetworkManagerMandriva.c
2814           src/backends/NetworkManagerPaldo.c
2815           src/backends/NetworkManagerRedHat.c
2816           src/backends/NetworkManagerSlackware.c
2817           src/backends/NetworkManagerSuSE.c
2818                 - (nm_system_device_flush_ip4_addresses,
2819                    nm_system_device_flush_ip4_addresses_with_iface): remove
2820
2821         * src/backends/NetworkManagerGeneric.c
2822                 - (nm_generic_device_flush_ip4_addresses,
2823                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2824
2825 2008-05-23  Dan Williams  <dcbw@redhat.com>
2826
2827         * src/supplicant-manager/nm-supplicant-settings-verify.c
2828                 - Switch 'bssid' from bytes to keyword type
2829                 - (validate_type_keyword): allow NULL keyword lists
2830
2831         * src/supplicant-manager/nm-supplicant-config.c
2832                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2833                         a byte array to string form, which is what the supplicant expects
2834
2835 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2836
2837         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2838         information received from DHCP.
2839
2840         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2841         to make it possible to ignore the DNS information (both servers and 
2842         searches) returned by DHCP server.
2843
2844         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2845         name servers and searches if "ignore_dhcp_dns" is set.
2846
2847         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2848         (nm_ip4_config_reset_searches): Implement.
2849
2850 2008-05-22  Dan Williams  <dcbw@redhat.com>
2851
2852         Remove anything mDNS related.  This is better done from a distro-specific
2853         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2854         avahi, since avahi can handle interface changes just fine using netlink.
2855
2856         * configure.in
2857                 - Remove --with-mdns-provider
2858
2859         * src/NetworkManagerPolicy.c
2860                 - (global_state_changed): don't restart the mdns provider
2861
2862         * src/NetworkManagerSystem.h
2863           src/backends/NetworkManagerArch.c
2864           src/backends/NetworkManagerDebian.c
2865           src/backends/NetworkManagerFrugalware.c
2866           src/backends/NetworkManagerGentoo.c
2867           src/backends/NetworkManagerMandriva.c
2868           src/backends/NetworkManagerPaldo.c
2869           src/backends/NetworkManagerRedHat.c
2870           src/backends/NetworkManagerSlackware.c
2871           src/backends/NetworkManagerSuSE.c
2872                 - (nm_system_restart_mdns_responder): remove
2873
2874         * src/backends/NetworkManagerGeneric.c
2875           src/backends/NetworkManagerGeneric.h
2876                 - (nm_generic_restart_mdns_responder): remove
2877
2878 2008-05-22  Dan Williams  <dcbw@redhat.com>
2879
2880         * configure.in
2881                 - clean up crypto options; just use --with-crypto=nss or
2882                         --with-crypto=gnutls
2883
2884 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2885
2886         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2887         anymore, do it right away.
2888
2889 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2890
2891         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2892         serial device open when we're not connecting or connected.
2893
2894         * src/nm-cdma-device.c (device_state_changed): Ditto.
2895
2896 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2897
2898         Don't remove all devices on waking up, sync with HAL.
2899
2900         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2901         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2902         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2903
2904 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2905
2906         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2907         If the default gateway is unreachable, add a route to gateway and try
2908         again.
2909
2910 2008-05-20  Dan Williams  <dcbw@redhat.com>
2911
2912         * system-settings/plugins/ifcfg-fedora/reader.c
2913                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2914
2915 2008-05-19  Dan Williams  <dcbw@redhat.com>
2916
2917         * system-settings/plugins/ifcfg-fedora/reader.c
2918                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2919                         if the ifcfg doesn't specify one (rh #446527)
2920
2921 2008-05-19  Dan Williams  <dcbw@redhat.com>
2922
2923         Make the system settings service exit when the bus goes away.  Since it's
2924         a bus-activated service, it's lifetime is limited to the bus that activated
2925         it (rh #444976).
2926
2927         * system-settings/src/Makefile.am
2928           system-settings/src/nm-system-config-hal-manager-private.h
2929                 - Remove nm-system-config-hal-manager-private.h
2930
2931         * system-settings/src/nm-system-config-hal-manager.c
2932                 - (nm_system_config_hal_manager_reinit_dbus,
2933                    nm_system_config_hal_manager_deinit_dbus): remove
2934
2935         * system-settings/src/main.c
2936                 - (dbus_reconnect): remove
2937                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2938                 - (destroy_cb): just quit when the bus goes away
2939                 - (start_dbus_service, dbus_init): simplify
2940                 - (main): destroy the wired devices hash table after destroying
2941                         the HAL manager so we don't have to disconnect signals from the
2942                         HAL manager
2943
2944 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2945
2946         Move crypto functions from nm-applet to libnm-util.
2947
2948         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2949         (nm_setting_802_1x_set_client_cert)
2950         (nm_setting_802_1x_set_phase2_ca_cert)
2951         (nm_setting_802_1x_set_phase2_client_cert)
2952         (nm_setting_802_1x_set_private_key)
2953         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2954         file (or private key and it's password), read the certificate data.
2955
2956         * libnm-util/crypto_nss.c: 
2957         * libnm-util/crypto_gnutls.c: 
2958         * libnm-util/crypto.[ch]: Move here from nm-applet.
2959
2960         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2961
2962         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2963         Imlement WPA-EAP configuration reading from sysconfig.
2964
2965 2008-05-16  Dan Williams  <dcbw@redhat.com>
2966
2967         * src/nm-device-802-11-wireless.c
2968                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2969                         wireless
2970
2971 2008-05-14  Dan Williams  <dcbw@redhat.com>
2972
2973         Fix Linus' bug in rh #134886
2974
2975         * src/nm-device-802-3-ethernet.c
2976                 - (constructor): request initial carrier state
2977
2978         * src/nm-netlink-monitor.c
2979                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2980                         signals after refilling the link cache.  Because the refill is a 
2981                         synchronous operation, the normal message hander won't get called
2982                         since libnl has already consumed the messages.
2983                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2984
2985 2008-05-14  Dan Williams  <dcbw@redhat.com>
2986
2987         * src/NetworkManagerSystem.c
2988                 - (nm_system_device_is_up_with_iface): clean up
2989
2990 2008-05-13  Dan Williams  <dcbw@redhat.com>
2991
2992         Fix refcounting issues over sleep/wake when a VPN connection was active that
2993         caused NM to try registering an object path for a device upon wake that was
2994         the same as an already registered object path.
2995
2996         * src/nm-device.c
2997                 - (nm_device_take_down): properly handle cases where the device is
2998                         no longer active but was just active, and therefore must be
2999                         deactivated.  When a device moves to unmanaged mode, this function
3000                         previously would not deactivate the device, because the state was
3001                         already unmanaged by the time this function was called.
3002
3003         * src/vpn-manager/nm-vpn-connection.c
3004                 - (device_state_changed): properly handle multiple devices states in
3005                         which the device is now deactivated.  Code previously didn't handle
3006                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3007                         UNMANAGED states.
3008
3009 2008-05-13  Dan Williams  <dcbw@redhat.com>
3010
3011         * src/nm-device-private.h
3012           src/nm-device.c
3013                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3014
3015         * src/nm-device-802-11-wireless.c
3016                 - (nm_device_802_11_wireless_set_enabled): take devices up
3017                         and down as appropriate for the rfkill state
3018
3019 2008-05-13  Dan Williams  <dcbw@redhat.com>
3020
3021         * marshallers/nm-marshal.list
3022                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3023
3024         * system-settings/plugins/ifcfg-fedora/Makefile.am
3025           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3026           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3027                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3028                         events.  Solely for use watching ifcfg files to pick up changes
3029                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3030
3031         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3032                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3033                         file contents change
3034                 - (finalize): clean up inotify watches
3035                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3036                         and the connection ifcfg for changes on their hardlinks
3037                 - (files_changed_cb): proxy the changed signal back out to listeners
3038
3039         * system-settings/plugins/ifcfg-fedora/plugin.c
3040                 - (dir_changed): 
3041                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3042                         changes
3043                 - (read_one_connection): connect to change signals on the new connection
3044                 - (dir_changed, connection_changed_handler,
3045                    handle_connection_remove_or_new): break out connection change
3046                         handling and connection new/remove handling so it can be used from
3047                         both the GFileMonitor callback and the NMIfcfgConnection changed
3048                         signals
3049
3050         * system-settings/plugins/ifcfg-fedora/reader.c
3051           system-settings/plugins/ifcfg-fedora/reader.h
3052                 - (connection_from_file): return the keyfile path the connection would use
3053
3054 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3055
3056         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3057         single PolKitContext which is shared by all. PolKitContext::unref leaks
3058         just about everything, including all open file descriptiors and results
3059         in 99% cpu usage when data arrives to any of the fds that don't belong
3060         to any context anymore.
3061
3062 2008-05-12  Dan Williams  <dcbw@redhat.com>
3063
3064         * gfilemonitor/glocaldirectorymonitor.c
3065           gfilemonitor/glocaldirectorymonitor.h
3066                 - (g_local_directory_monitor_constructor): actually subscribe to the
3067                         watch
3068                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3069
3070         * gfilemonitor/glocalfilemonitor.c
3071           gfilemonitor/glocalfilemonitor.h
3072                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3073                 - (_g_local_file_monitor_new): ensure that inotify is started up
3074
3075 2008-05-11  Dan Williams  <dcbw@redhat.com>
3076
3077         * configure.in
3078                 - record PolicyKit version
3079
3080         * system-settings/src/nm-polkit-helpers.c
3081                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3082                         with PolicyKit <= 0.6
3083
3084 2008-05-11  Dan Williams  <dcbw@redhat.com>
3085
3086         Update Fedora system-settings plugin to support latest API and use
3087         GFileMonitor rather than home-rolled inotify code.
3088
3089         * system-settings/plugins/ifcfg-fedora/Makefile.am
3090           system-settings/plugins/ifcfg-fedora/common.h
3091           system-settings/plugins/ifcfg-fedora/plugin.c
3092                 - Update to latest system settings plugin API; use GIO instead of
3093                         custom inotify code; use NMIfcfgConnection objects instead of
3094                         ConnectionData structures tacked onto NMConnection objects
3095
3096         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3097           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3098                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3099                         connections
3100
3101         * system-settings/plugins/ifcfg-fedora/reader.c
3102           system-settings/plugins/ifcfg-fedora/reader.h
3103                 - Move ifcfg parsing bits here from parser.c
3104
3105         * system-settings/plugins/ifcfg-fedora/parser.c
3106           system-settings/plugins/ifcfg-fedora/parser.h
3107                 - Remove; most code moved to reader.c
3108
3109 2008-05-11  Dan Williams  <dcbw@redhat.com>
3110
3111         * configure.in
3112           Makefile.am
3113           gfilemonitor/*
3114                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3115                         implementation, so that the same change monitoring code can be used
3116                         on systems without glib-2.14 (like Fedora 8)
3117
3118         * system-settings/plugins/keyfile/Makefile.am
3119           system-settings/plugins/keyfile/plugin.c
3120           system-settings/plugins/ifcfg-suse/Makefile.am
3121           system-settings/plugins/ifcfg-suse/plugin.c
3122                 - Use private gfilemonitor code if GIO is not present
3123
3124 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3125
3126         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3127         NMExportedConnection's 'update' and 'delete' and return error with
3128         descriptive message.
3129
3130 2008-05-08  Dan Williams  <dcbw@redhat.com>
3131
3132         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3133
3134         * src/nm-gsm-device.c
3135           src/nm-cdma-device.c
3136                 - (real_get_best_auto_connection): implement; allow autoconnection
3137                         to GSM & CDMA devices
3138
3139 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3140
3141         Use PolicyKit to authorize the system settings' AddConnection method
3142         and the system settings connections' Update and Delete methods.
3143         
3144         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3145         (impl_exported_connection_delete, nm_exported_connection_update)
3146         (nm_exported_connection_delete): Return boolean and fill GError
3147         to notify the callers of the reasons why it might have failed.
3148
3149         * libnm-glib/nm-dbus-settings-system.c
3150         (nm_dbus_settings_system_add_connection): Return the error from dbus
3151         call so that the callers can see why it failed.
3152
3153         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3154         signatures.
3155
3156         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3157
3158         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3159         abstract base class that checks PolicyKit permissions.
3160
3161         * system-settings/src/dbus-settings.c:
3162         (impl_settings_add_connection): Check the policy before carring out
3163         the request.
3164
3165         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3166         Inherit from NMSysconfigConnection, check the policies before
3167         allowing updating or removing.
3168
3169         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3170         Inherit from NMSysconfigConnection.
3171
3172         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3173         "Delete" methods with async flag so that the implementations can get
3174         access to DBusGMethodInvocation.
3175
3176         * system-settings/src/dbus-settings.c 
3177         (settings_add_connection_check_privileges): Implement.
3178         (impl_settings_add_connection): Check the privileges before adding a new
3179         connection. Improve error reporting.
3180
3181         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3182         async so that the implementation can access DBusGMethodInvocation.
3183
3184         * configure.in: Check for PolicyKit.
3185
3186         * policy/org.freedesktop.network-manager-settings.system.policy: 
3187         New file.
3188
3189         * policy/Makefile.am: Install the policy file.
3190
3191         * configure.in: Add 'policy' subdir.
3192
3193 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3194
3195         Rewrite the suse system settings plugin.
3196
3197         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3198
3199         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3200
3201         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3202
3203         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3204
3205         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3206
3207         * system-settings/src/main.c (load_plugins): Improve error reporting.
3208
3209         * system-settings/src/sha1.[ch] Add.
3210
3211         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3212
3213 2008-05-07  Dan Williams  <dcbw@redhat.com>
3214
3215         * system-settings/plugins/keyfile/reader.c
3216                 - (read_one_setting_value): handle IP address items separately
3217                 - (read_array_of_uint): read IPv4 DNS option as a string array
3218                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3219                         array
3220
3221         * system-settings/plugins/keyfile/writer.c
3222                 - (write_setting_value): handle IP address items separately
3223                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3224                         not an array of uint, so that it's user-editable
3225                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3226                         arrays, so they are user-editable
3227
3228 2008-05-07  Dan Williams  <dcbw@redhat.com>
3229
3230         * system-settings/plugins/keyfile/Makefile.am
3231                 - Change location of the keyfile plugin settings to
3232                         /etc/NetworkManager/system-connections
3233
3234 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3235
3236         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3237
3238         * system-settings/plugins/keyfile/plugin.c: Work with
3239         NMKeyfileConnections.
3240
3241         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3242         Plugins are supposed to return NMExportedConnections now and handle the
3243         updated(), removed(), and GetSecrets().
3244         Store the internal list of connections in hash table to make it easier
3245         to find duplicates.
3246
3247 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3248
3249         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3250         for multiple IP addresses.
3251
3252 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3253
3254         Patch from André Lemos.
3255
3256         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3257         corruption.
3258
3259 2008-05-06  Dan Williams  <dcbw@redhat.com>
3260
3261         * src/dhcp-manager/nm-dhcp-manager.c
3262                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3263                         NMIP4Config to support multiple IP addresses
3264
3265         * src/NetworkManagerUtils.c
3266                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3267
3268         * src/nm-ip4-config.c
3269           src/nm-ip4-config.h
3270                 - Store a list of IPv4 address/netmask/gateway tuples
3271                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3272                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3273                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3274                    nm_ip4_config_set_address): remove
3275                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3276                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3277                         new functions; handle multiple IPv4 addresses
3278
3279         * src/nm-device.c
3280           src/ppp-manager/nm-ppp-manager.c
3281           src/vpn-manager/nm-vpn-connection.c
3282           src/NetworkManagerPolicy.c
3283           test/nm-tool.c
3284           libnm-glib/libnm-glib-test.c
3285                 - update for changes to NMIP4Config for multiple IPv4 addresses
3286
3287         * src/NetworkManagerSystem.c
3288                 - (nm_system_device_set_ip4_route): don't add the route if any address
3289                         is on the same subnet as the destination
3290                 - (check_one_address): ignore the exact match, just match family and
3291                         interface index
3292                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3293                         an interface
3294                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3295                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3296
3297         * introspection/nm-ip4-config.xml
3298                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3299                 - Add 'addresses' property which is an array of (uuu) tuples of
3300                         address/netmask/gateway
3301
3302         * libnm-util/nm-setting-ip4-config.c
3303                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3304
3305         * libnm-glib/nm-ip4-config.c
3306           libnm-glib/nm-ip4-config.h
3307                 - Handle D-Bus interface changes to support multiple IP addresses
3308
3309 2008-05-06  Dan Williams  <dcbw@redhat.com>
3310
3311         * libnm-util/nm-utils.c
3312           libnm-util/nm-utils.h
3313                 - (nm_utils_ip4_addresses_from_gvalue,
3314                    nm_utils_ip4_addresses_to_gvalue): new functions
3315
3316 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3317
3318         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3319         the returned connection paths.
3320
3321 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3322
3323         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3324         "PropertiesChanged" signal signature.
3325
3326         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3327         defined in nm-dbus-glib-types.h.
3328         Don't register the connection on dbus, we're a proxy class to 
3329         communicate with an already registered connection over dbus.
3330
3331 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3332
3333         Implement new subclasses of NMSettings and NMExportedConnection to make
3334         it easier for the applet to access and modify system settings.
3335
3336         * libnm-glib/nm-dbus-connection.[ch]:
3337         * libnm-glib/nm-dbus-settings.[ch]:
3338         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3339
3340         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3341         bindings and glue.
3342
3343         * include/NetworkManager.h: Define the system settings DBus interface.
3344
3345 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3346
3347         Implement additional C API for exported connections to make them identical
3348         with the DBus API. Change the (list_connections) virtual function to be
3349         more usable from C - instead of requiring implementers to return a GPtrArray
3350         of dbus paths, return a list of connections.
3351
3352         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3353         (nm_settings_list_connections):
3354         (nm_exported_connection_new):
3355         (nm_exported_connection_update):
3356         (nm_exported_connection_delete): Implement.
3357
3358         (impl_settings_list_connections):
3359         (impl_exported_connection_update):
3360         (impl_exported_connection_delete): Use the new public functions to make 
3361         sure the C and dbus interfaces stay in sync.
3362
3363         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3364         connections.
3365
3366 2008-05-02  Dan Williams  <dcbw@redhat.com>
3367
3368         * system-settings/plugins/ifcfg-fedora/plugin.c
3369                 - (dispose): use right unref call on the DBusGConnection
3370
3371 2008-05-02  Dan Williams  <dcbw@redhat.com>
3372
3373         * src/nm-serial-device.c
3374                 - (find_terminator): don't compare the whole line, just the size of the
3375                         terminator, since some modems put stuff after the terminator, like
3376                         "CONNECT 9600"
3377
3378 2008-05-01  Dan Williams  <dcbw@redhat.com>
3379
3380         Patch from Michael Biebl <biebl@debian.org>
3381
3382         * callouts/Makefile.am
3383           callouts/org.freedesktop.nm_dispatcher.service.in
3384           system-settings/src/Makefile.am
3385           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3386                 - use the right install location for dbus-activated stuff
3387
3388 2008-04-30  Dan Williams  <dcbw@redhat.com>
3389
3390         * src/nm-gsm-device.c
3391                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3392                         PIN or PUK
3393
3394 2008-04-30  Dan Williams  <dcbw@redhat.com>
3395
3396         * src/nm-manager.c
3397                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3398
3399 2008-04-30  Dan Williams  <dcbw@redhat.com>
3400
3401         * src/nm-device-802-3-ethernet.c
3402           src/nm-device-802-11-wireless.c
3403                 - (real_is_up): return true instead of chaining up to unimplemented
3404                         parent method
3405
3406 2008-04-30  Dan Williams  <dcbw@redhat.com>
3407
3408         * src/NetworkManagerSystem.c
3409           src/NetworkManagerSystem.h
3410                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3411                         functions to check device flags for IFF_UP
3412
3413         * src/nm-serial-device.c
3414                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3415                         implement is_up
3416
3417         * src/nm-device-802-3-ethernet.c
3418           src/nm-device-802-11-wireless.c
3419                 - (real_hw_is_up): call nm_system_device_is_up()
3420
3421         * src/nm-device.c
3422                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3423                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3424                         does not implement
3425
3426 2008-04-29  Dan Williams  <dcbw@redhat.com>
3427
3428         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3429
3430         * marshallers/nm-marshal.list
3431                 - Add marshaller
3432
3433         * src/NetworkManager.c
3434                 - (main): let the NMManager handle the NMHalManager
3435
3436         * src/nm-hal-manager.c
3437           src/nm-hal-manager.h
3438                 - convert to a GObject, and emit singals when stuff changes.  Let the
3439                         NMManager handle the signals, instead of the NMHalManager calling
3440                         into the NMManager.  
3441
3442         * src/nm-manager.c
3443           src/nm-manager.h
3444                 - (remove_one_device): consolidate device removals here
3445                 - (dispose): use remove_one_device()
3446                 - (nm_manager_get_device_by_udi): make static
3447                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3448                         manager for devices at startup or wakeup time
3449                 - (nm_manager_new): create and monitor the HAL manager
3450                 - (hal_manager_udi_added_cb): new function; do what
3451                         nm_manager_add_device() used to do when signalled by the hal manager
3452                 - (hal_manager_udi_removed_cb): new function; do what
3453                         nm_manager_remove_device() used to do when signalled by the hal
3454                         manager
3455                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3456                         hal manager
3457                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3458                         in our device list that aren't known to HAL
3459                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3460                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3461                         commits ago
3462                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3463                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3464                    nm_manager_wireless_hardware_enabled,
3465                    nm_manager_set_wireless_hardware_enabled): remove, unused
3466
3467 2008-04-28  Dan Williams  <dcbw@redhat.com>
3468
3469         Fix the device up/down ambiguities.  Up/down state used to be a
3470         conglomeration of hardware state (IFF_UP) and any device-specific things
3471         (supplicant, periodic timers, etc) that the device used to indicate
3472         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3473         reason, then the device specific stuff wouldn't get run, and the device
3474         would be stuck.
3475
3476         * src/nm-device.c
3477           src/nm-device.h
3478                 - Create hw_is_up, hw_bring_up, and hw_take_down
3479                 - Rename bring_down -> take_down
3480                 - (real_hw_is_up): check interface flags for IFF_UP
3481                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3482                 - (nm_device_is_up): make static; only used locally
3483                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3484                         if the device is already up; if the device isn't up, bring it up
3485                 - (nm_device_hw_take_down): just take down hardware
3486                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3487                 - (nm_device_take_down): always deactivate device when called; always
3488                         try to take hardware down too
3489                 - (nm_device_state_changed): take device down when entering unmanaged
3490                         state from a higher state
3491
3492         * src/nm-device-802-11-wireless.c
3493                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3494                         check IFF_UP really
3495                 - (real_take_down, supplicant_iface_state_cb_handler, 
3496                    supplicant_iface_connection_state_cb_handler,
3497                    supplicant_mgr_state_cb_handler): fix some messages
3498
3499         * src/nm-device-802-3-ethernet.c
3500                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3501                         check IFF_UP really
3502
3503 2008-04-28  Dan Williams  <dcbw@redhat.com>
3504
3505         * src/nm-manager.c
3506           src/nm-manager.h
3507                 - (nm_manager_error_get_type): add new error
3508                 - (nm_manager_remove_device): don't bother taking down the device here,
3509                         the state change from unmanaging the device will do it
3510                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3511                         uses it; when going to sleep, just unmanage the device instead of
3512                         taking it down, because stuff will cleaned up correctly when the
3513                         device gets unmanaged
3514
3515 2008-04-28  Dan Williams  <dcbw@redhat.com>
3516
3517         * src/nm-hal-manager.c
3518                 - (add_initial_devices): convert to a GSourceFunc prototype
3519                 - (nm_manager_state_changed): when coming out of sleep, punt the
3520                         device re-addition to an idle handler to let D-Bus events go out
3521                         first, fixing a potential dbus-glib assert if the old device was
3522                         not yet disposed (due to references held while emitting the D-Bus
3523                         signals) but the new device was found, because the mainloop didn't
3524                         run between signal emission and add_initial_devices()
3525
3526 2008-04-27  Dan Williams  <dcbw@redhat.com>
3527
3528         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3529
3530         * initscript/paldo/NetworkManager.in
3531           initscript/SUSE/networkmanager.in
3532                 - Remove last bits of dhcdbd
3533
3534 2008-04-27  Dan Williams  <dcbw@redhat.com>
3535
3536         * src/nm-device-802-11-wireless.c
3537                 - (link_timeout_cb): don't ask for secrets when disconnected during
3538                         association/authentication phase, drivers are still just too crappy
3539
3540 2008-04-27  Dan Williams  <dcbw@redhat.com>
3541
3542         * Makefile.am
3543           configure.in
3544           dispatcher-daemon/Makefile.am
3545           dispatcher-daemon/NetworkManagerDispatcher.c
3546           initscript/Arch/Makefile.am
3547           initscript/Arch/networkmanager-dispatcher.in
3548           initscript/Gentoo/Makefile.am
3549           initscript/Gentoo/NetworkManagerDispatcher.in
3550           initscript/Mandriva/Makefile.am
3551           initscript/Mandriva/networkmanagerdispatcher.in
3552           initscript/RedHat/Makefile.am
3553           initscript/RedHat/NetworkManagerDispatcher.in
3554           initscript/SUSE/Makefile.am
3555           initscript/SUSE/networkmanager-dispatcher.in
3556           initscript/Slackware/Makefile.am
3557           initscript/Slackware/rc.networkmanager-dispatcher.in
3558           initscript/paldo/Makefile.am
3559           initscript/paldo/NetworkManagerDispatcher.in
3560           man/Makefile.am
3561           man/NetworkManagerDispatcher.8.in
3562                 - Remove the dispatcher daemon
3563
3564 2008-04-27  Dan Williams  <dcbw@redhat.com>
3565
3566         * callouts/Makefile.am
3567           callouts/nm-dispatcher-action.c
3568           callouts/nm-dispatcher-action.h
3569           callouts/nm-dispatcher.conf
3570           callouts/nm-dispatcher.xml
3571           callouts/org.freedesktop.nm_dispatcher.service
3572                 - Re-implement the dispatcher as a system-bus activated service that
3573                         NM calls on-demand, rather than an always running daemon
3574
3575         * src/Makefile.am
3576                 - Add callouts dir to includes to pick up dispatcher defines
3577
3578         * src/nm-device.c
3579                 - (nm_device_state_changed): call dispatcher on device activated/
3580                         deactivated
3581
3582         * src/vpn-manager/nm-vpn-connection.c
3583                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3584                         go up and down
3585
3586         * src/NetworkManagerUtils.c
3587           src/NetworkManagerUtils.h
3588                 - (nm_utils_call_dispatcher): helper to call dispatcher
3589
3590 2008-04-27  Dan Williams  <dcbw@redhat.com>
3591
3592         * src/NetworkManagerUtils.c
3593           src/NetworkManagerUtils.h
3594                 - remove unneeded includes
3595                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3596                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3597                    nm_timeval_cmp, nm_timeval_add): remove, unused
3598                 - clean up formatting
3599                 - (nm_spawn_process): de-uglify
3600
3601         * src/nm-device-802-11-wireless.c
3602                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3603
3604 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3605
3606         * initscript/Gentoo/NetworkManager.in:
3607                 Fix for starting the daemon.
3608
3609 2008-04-25  Dan Williams  <dcbw@redhat.com>
3610
3611         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3612
3613         * src/NetworkManagerSystem.c
3614                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3615
3616 2008-04-25  Dan Williams  <dcbw@redhat.com>
3617
3618         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3619
3620         * src/NetworkManagerSystem.c
3621                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3622                         implementation of nm_system_device_replace_default_route()
3623
3624         * src/NetworkManagerPolicy.c
3625                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3626
3627         * src/backends/NetworkManagerArch.c
3628           src/backends/NetworkManagerDebian.c
3629           src/backends/NetworkManagerFrugalware.c
3630           src/backends/NetworkManagerGeneric.c
3631           src/backends/NetworkManagerGeneric.h
3632           src/backends/NetworkManagerGentoo.c
3633           src/backends/NetworkManagerMandriva.c
3634           src/backends/NetworkManagerPaldo.c
3635           src/backends/NetworkManagerRedHat.c
3636           src/backends/NetworkManagerSlackware.c
3637           src/backends/NetworkManagerSuSE.c
3638                 - (nm_system_device_replace_default_route): remove
3639
3640 2008-04-25  Dan Williams  <dcbw@redhat.com>
3641
3642         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3643
3644         * src/NetworkManagerSystem.c
3645                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3646                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3647                         replace nm_system_device_add_route_via_device_with_iface() in the
3648                         backends
3649
3650         * src/backends/NetworkManagerArch.c
3651           src/backends/NetworkManagerDebian.c
3652           src/backends/NetworkManagerFrugalware.c
3653           src/backends/NetworkManagerGeneric.c
3654           src/backends/NetworkManagerGeneric.h
3655           src/backends/NetworkManagerGentoo.c
3656           src/backends/NetworkManagerMandriva.c
3657           src/backends/NetworkManagerPaldo.c
3658           src/backends/NetworkManagerRedHat.c
3659           src/backends/NetworkManagerSlackware.c
3660           src/backends/NetworkManagerSuSE.c
3661                 - Remove nm_system_device_add_route_via_device_with_iface()
3662
3663 2008-04-25  Dan Williams  <dcbw@redhat.com>
3664
3665         * system-settings/plugins/ifcfg-fedora/parser.c
3666                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3667
3668 2008-04-24  Dan Williams  <dcbw@redhat.com>
3669
3670         * dispatcher-daemon/NetworkManagerDispatcher.c
3671                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3672
3673 2008-04-24  Dan Williams  <dcbw@redhat.com>
3674
3675         * initscript/RedHat/NetworkManager.in
3676           initscript/RedHat/NetworkManagerDispatcher.in
3677                 - Be active at runlevel 2
3678                 - Adjust priorities earlier
3679
3680 2008-04-22  Dan Williams  <dcbw@redhat.com>
3681
3682         * src/NetworkManagerPolicy.c
3683                 - (update_routing_and_dns): when checking for a gateway, look at the
3684                         composite IP4 config, not the connection's ip4-config setting, which
3685                         doesn't include DHCP-returned information
3686
3687 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3688
3689         Implement GKeyFile system settings plugin.
3690         Implement writing system settings (currently supported only by GKeyFile plugin).
3691
3692         * system-settings/src/main.c: 
3693         * system-settings/src/dbus-settings.c: Move the communication with plugins
3694         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3695         plugins for adding/updating/removing connections.
3696
3697         * system-settings/src/nm-system-config-interface.c
3698         (nm_system_config_interface_add_connection): Implement
3699         (nm_system_config_interface_update_connection): Implement.
3700         (nm_system_config_interface_remove_connection): Implement.
3701
3702         * system-settings/plugins/keyfile/Makefile.am:
3703         * system-settings/plugins/keyfile/plugin.[ch]:
3704         * system-settings/plugins/keyfile/writer.[ch]:
3705         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3706
3707         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3708
3709         * configure.in: Generate GKeyFile Makefile.
3710
3711         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3712         corruption, need to duplicate the returned string.
3713         (impl_exported_connection_update): Implement.
3714         (impl_exported_connection_delete): Implement.
3715
3716         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3717
3718         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3719
3720 2008-04-22  Dan Williams  <dcbw@redhat.com>
3721
3722         Patch from Charles R. Anderson (cra@wpi.edu)
3723
3724         * src/NetworkManagerPolicy.c
3725                 - (update_routing_and_dns): don't select devices without a gateway
3726                         as having the default route (rh #437338)
3727
3728 2008-04-21  Dan Williams  <dcbw@redhat.com>
3729
3730         * src/nm-activation-request.c
3731           src/nm-activation-request.h
3732                 - (dispose): ensure to disconnect from the device's state-changed signal
3733                         when appropriate so the signal doesn't get handled by an already
3734                         disposed NMActRequest
3735                 - (device_state_changed): update is_default here too just to make sure
3736                         default is only True when the child device is activated
3737                 - (nm_act_request_set_default): new function
3738
3739         * src/NetworkManagerPolicy.c
3740                 - (update_routing_and_dns): set 'default' on the active connection which
3741                         has the default route and DNS
3742
3743 2008-04-21  Dan Williams  <dcbw@redhat.com>
3744
3745         * src/NetworkManagerPolicy.c
3746                 - (device_state_changed): update routing and DNS when a device goes
3747                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3748
3749 2008-04-21  Dan Williams  <dcbw@redhat.com>
3750
3751         * include/NetworkManager.h
3752                 - Add NMActiveConnectionState enum
3753
3754         * introspection/nm-active-connection.xml
3755           introspection/nm-vpn-connection.xml
3756                 - Add 'State' property for overall active connection state
3757                 - Add 'Default' property, when True means this active connection
3758                         has the default route
3759                 - Add PropertyChanged signals so changes actually go out over the bus
3760
3761         * src/nm-active-connection.h
3762                 - Add defines for State & Default properties
3763
3764         * src/nm-activation-request.c
3765                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3766                         signal to determine active connection state
3767
3768         * src/vpn-manager/nm-vpn-connection.c
3769           src/vpn-manager/nm-vpn-connection.h
3770           src/vpn-manager/nm-vpn-manager.c
3771           src/vpn-manager/nm-vpn-service.c
3772                 - Rename old 'state' to 'vpn-state'
3773                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3774                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3775                         'vpn-state-changed' signal
3776
3777         * libnm-glib/nm-active-connection.c
3778           libnm-glib/nm-active-connection.h
3779                 - Add new 'state' and 'default' properties and accessors
3780
3781         * libnm-glib/nm-vpn-connection.c
3782           libnm-glib/nm-vpn-connection.h
3783                 - Rename old 'state' property to 'vpn-state'
3784                 - Add new 'state' and 'default' properties and accessors
3785
3786 2008-04-21  Dan Williams  <dcbw@redhat.com>
3787
3788         * src/nm-ip4-config.c
3789                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3790                         not specified (rh #443474)
3791
3792 2008-04-20  Dan Williams  <dcbw@redhat.com>
3793
3794         * src/NetworkManagerUtils.c
3795           src/NetworkManagerUtils.h
3796                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3797                         NMSettingIP4Config to an NMIP4Config object
3798
3799         * src/nm-device.c
3800                 - (merge_ip4_config): move to NetworkManagerUtils.c
3801
3802         * src/vpn-manager/nm-vpn-connection.c
3803                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3804                         too
3805
3806 2008-04-18  Dan Williams  <dcbw@redhat.com>
3807
3808         * libnm-util/nm-setting-ppp.c
3809           libnm-util/nm-setting-ppp.h
3810                 - Add 'no-vj-comp' option for TCP header compression
3811                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3812                         uint32
3813
3814 2008-04-18  Dan Williams  <dcbw@redhat.com>
3815
3816         * libnm-util/nm-setting-ppp.c
3817           libnm-util/nm-setting-ppp.h
3818           src/ppp-manager/nm-ppp-manager.c
3819                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3820
3821 2008-04-18  Dan Williams  <dcbw@redhat.com>
3822
3823         * libnm-util/nm-setting-ppp.c
3824           libnm-util/nm-setting-ppp.h
3825           src/ppp-manager/nm-ppp-manager.c
3826                 - Remove the 'usepeerdns' option and always request DNS servers from
3827                         the PPP server; the connection chooses to use/override/ignore the
3828                         DNS servers returned from the PPP server
3829
3830 2008-04-18  Dan Williams  <dcbw@redhat.com>
3831
3832         * libnm-util/nm-setting-ppp.c
3833           libnm-util/nm-setting-ppp.h
3834           src/ppp-manager/nm-ppp-manager.c
3835                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3836                         it seems to have been an erroneous addition to the PPTP plugin in
3837                         the first place (from which the ppp-manager is derived)
3838
3839 2008-04-17  Dan Williams  <dcbw@redhat.com>
3840
3841         * libnm-util/nm-setting-pppoe.c
3842                 - (verify): require a PPP setting too
3843
3844         * src/ppp-manager/nm-ppp-manager.c
3845                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3846                         segfaulting
3847
3848 2008-04-17  Dan Williams  <dcbw@redhat.com>
3849
3850         * src/nm-device.c
3851                 - (nm_device_state_changed): do deactivation and and promotion to
3852                         unavailable here, so that the device gets cleaned up before the
3853                         manager runs and starts emitting signals; do the
3854                         FAILED->DISCONNECTED transition from an idle handler rather than
3855                         immediately to guard against recursion
3856                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3857                         FAILED->DISCONNECTED handler if it's scheduled
3858
3859 2008-04-17  Dan Williams  <dcbw@redhat.com>
3860
3861         * src/nm-device-802-11-wireless.c
3862                 - (state_changed_cb): clear AP list when device transitions to
3863                         unavailable or unmanaged
3864                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3865                         since this is already done in device_cleanup()
3866                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3867                         isn't available or managed
3868                 - (device_cleanup): use remove_all_aps()
3869                 - (remove_all_aps): consolidate code removing all APs
3870
3871 2008-04-17  Dan Williams  <dcbw@redhat.com>
3872
3873         * src/nm-serial-device.c
3874           src/nm-serial-device.h
3875                 - (wait_for_reply_got_data): break input into lines, and search each
3876                         line for responses _and_ terminator strings; also make sure that
3877                         the read loop doesn't continue after the timeout is supposed to fire
3878                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3879
3880         * src/nm-gsm-device.c
3881           src/nm-cdma-device.c
3882                 - Send terminators to nm_serial_device_wait_for_reply()
3883
3884 2008-04-16  Dan Williams  <dcbw@redhat.com>
3885
3886         Patch from 陈鑫 <znscnchen@gmail.com>
3887
3888         * src/ppp-manager/nm-pppd-plugin.c
3889                 - (get_credentials): return correct value for success; handle case where
3890                         pppd just does some checking but doesn't want a password
3891                 - (plugin_init): make CHAP work too
3892
3893 2008-04-16  Dan Williams  <dcbw@redhat.com>
3894
3895         Patch from 陈鑫 <znscnchen@gmail.com>
3896
3897         * src/ppp-manager/nm-ppp-manager.c
3898                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3899
3900 2008-04-16  Dan Williams  <dcbw@redhat.com>
3901
3902         Patch from 陈鑫 <znscnchen@gmail.com>
3903
3904         * src/nm-device-802-3-ethernet.c
3905                 - (real_deactivate_quickly): clear the IP interface name on
3906                         deactivation, otherwise the wrong interface might get used later
3907                         for routing and IP management
3908
3909 2008-04-15  Dan Williams  <dcbw@redhat.com>
3910
3911         * libnm-glib/nm-device.c
3912                 - (get_product_and_vendor): handle serial devices correctly
3913                 - (nm_device_update_description): pass device to get_product_and_vendor()
3914
3915 2008-04-15  Dan Williams  <dcbw@redhat.com>
3916
3917         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3918
3919         * src/NetworkManagerSystem.h
3920           src/backends/NetworkManagerArch.c
3921           src/backends/NetworkManagerDebian.c
3922           src/backends/NetworkManagerFrugalware.c
3923           src/backends/NetworkManagerGeneric.c
3924           src/backends/NetworkManagerGeneric.h
3925           src/backends/NetworkManagerGentoo.c
3926           src/backends/NetworkManagerMandriva.c
3927           src/backends/NetworkManagerPaldo.c
3928           src/backends/NetworkManagerRedHat.c
3929           src/backends/NetworkManagerSlackware.c
3930           src/backends/NetworkManagerSuSE.c
3931           src/nm-device.c
3932                 - (nm_generic_device_add_ip6_link_address,
3933                    nm_system_device_add_ip6_link_address): remove
3934
3935 2008-04-15  Dan Williams  <dcbw@redhat.com>
3936
3937         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3938
3939         * src/backends/NetworkManagerArch.c
3940           src/backends/NetworkManagerDebian.c
3941           src/backends/NetworkManagerFrugalware.c
3942           src/backends/NetworkManagerGeneric.c
3943           src/backends/NetworkManagerGeneric.h
3944           src/backends/NetworkManagerGentoo.c
3945           src/backends/NetworkManagerMandriva.c
3946           src/backends/NetworkManagerPaldo.c
3947           src/backends/NetworkManagerRedHat.c
3948           src/backends/NetworkManagerSlackware.c
3949           src/backends/NetworkManagerSuSE.c
3950           src/NetworkManagerSystem.h
3951                 - flush_routes -> flush_ip4_routes
3952                 - flush_addresses -> flush_ip4_addresses
3953
3954         * src/NetworkManagerSystem.c
3955           src/nm-device.c
3956           src/vpn-manager/nm-vpn-connection.c
3957                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3958
3959 2008-04-15  Dan Williams  <dcbw@redhat.com>
3960
3961         Remove exposure of wireless-tools mode types in the API.
3962
3963         * include/NetworkManager.h
3964                 - Define NM80211Mode enum
3965
3966         * introspection/generic-types.xml
3967                 - Describe NM_802_11_MODE enum
3968                 - Remove IW_MODE_* enum
3969
3970         * introspection/nm-access-point.xml
3971           libnm-glib/nm-access-point.c
3972           libnm-glib/nm-access-point.h
3973                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3974
3975         * introspection/nm-device-802-11-wireless.xml
3976           libnm-glib/nm-device-802-11-wireless.c
3977           libnm-glib/nm-device-802-11-wireless.h
3978                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3979
3980         * libnm-util/nm-setting-wireless.c
3981           src/NetworkManagerAP.c
3982           src/NetworkManagerAP.h
3983           src/nm-device-802-11-wireless.c
3984           src/nm-device-802-11-wireless.h
3985           test/nm-tool.c
3986                 - Use NM80211Mode not IW_MODE_*
3987
3988 2008-04-15  Dan Williams  <dcbw@redhat.com>
3989
3990         Enhance nm-online based on a patch from Bill Nottingham.
3991
3992         * test/nm-online.c
3993                 - Add a '-q' option
3994                 - Add help messages and option summary
3995                 - Add long-format options
3996                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3997
3998 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3999
4000         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4001
4002         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4003
4004 2008-04-15  Dan Williams  <dcbw@redhat.com>
4005
4006         * nm-setting-ip4-config.c
4007                 - (ip4_addresses_from_gvalue): handle NULL address array
4008
4009         * nm-setting-8021x.c
4010                 - (verify_tls, verify_ttls): warn on failed verification
4011
4012 2008-04-10  Dan Williams  <dcbw@redhat.com>
4013
4014         * src/nm-gsm-device.c
4015                 - (automatic_registration): accept "+CREG: 0,0"
4016                 - (automatic_registration_response): fail on "+CREG: 0,0"
4017
4018 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4019
4020         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4021
4022 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4023
4024         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4025         Make it compile again by commenting out broken code that at first didn't work and
4026         now didn't compile either.
4027
4028 2008-04-08  Dan Williams  <dcbw@redhat.com>
4029
4030         * libnm-glib/nm-object-cache.c
4031           libnm-glib/nm-settings.c
4032           src/dhcp-manager/nm-dhcp-manager.c
4033           system-settings/plugins/ifcfg-fedora/plugin.c
4034           system-settings/plugins/ifcfg-suse/plugin.c
4035           system-settings/src/nm-system-config-hal-manager.c
4036           libnm-util/nm-utils.c
4037                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4038                         not threadsafe anyway
4039
4040 2008-04-08  Dan Williams  <dcbw@redhat.com>
4041
4042         * system-settings/src/main.c
4043                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4044                         callbacks take a device type too
4045
4046 2008-04-08  Dan Williams  <dcbw@redhat.com>
4047
4048         The system settings service will now create a new default DHCP connection
4049         for wired devices that have no existing applicable connection.
4050
4051         * system-settings/src/nm-system-config-hal-manager.c
4052           system-settings/src/nm-system-config-hal-manager.h
4053                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4054
4055         * system-settings/src/dbus-settings.c
4056           system-settings/src/dbus-settings.h
4057                 - (nm_sysconfig_settings_get_connections): new function
4058                 - (nm_sysconfig_settings_is_device_managed): new function
4059
4060         * system-settings/src/main.c
4061                 - (load_stuff): check for wired devices that need a default connection
4062                 - (get_details_for_udi): get interface and MAC address from HAL
4063                 - (add_default_dhcp_connection): add a default connection for a wired
4064                         device if needed
4065                 - (device_added_cb, device_removed_cb): do the right thing with
4066                         wired devices and their default connections on HAL device events
4067
4068 2008-04-07  Dan Williams  <dcbw@redhat.com>
4069
4070         * libnm-glib/nm-device.c
4071           libnm-glib/nm-device.h
4072                 - Proxy the 'managed' property
4073
4074 2008-04-07  Dan Williams  <dcbw@redhat.com>
4075
4076         * src/nm-gsm-device.c
4077           src/nm-cdma-device.c
4078                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4079                         handler to transition to DISCONNECTED
4080
4081 2008-04-07  Dan Williams  <dcbw@redhat.com>
4082
4083         Patch from Bill Nottingham
4084
4085         * dispatcher-daemon/NetworkManagerDispatcher.c
4086                 - ignore backup/packaging crufy (rh #440143)
4087
4088 2008-04-07  Dan Williams  <dcbw@redhat.com>
4089
4090         * include/NetworkManager.h
4091                 - Remove the DOWN and CANCELLED device states
4092                 - Add UNMANAGED and UNAVAILABLE device states
4093                 - Document the device states
4094
4095         * introspection/nm-device.xml
4096           src/nm-device-interface.c
4097           src/nm-device-interface.h
4098                 - Add the 'managed' property
4099
4100         * test/nm-tool.c
4101                 - (detail_device): print out device state
4102
4103         * src/NetworkManagerSystem.h
4104           src/backends/NetworkManagerArch.c
4105           src/backends/NetworkManagerDebian.c
4106           src/backends/NetworkManagerFrugalware.c
4107           src/backends/NetworkManagerGentoo.c
4108           src/backends/NetworkManagerMandriva.c
4109           src/backends/NetworkManagerPaldo.c
4110           src/backends/NetworkManagerRedHat.c
4111           src/backends/NetworkManagerSlackware.c
4112           src/backends/NetworkManagerSuSE.c
4113                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4114                    nm_system_device_free_system_config): remove; they were unused and
4115                         their functionality should be re-implemented in each distro's
4116                         system settings service plugin 
4117
4118         * src/nm-gsm-device.c
4119           src/nm-gsm-device.h
4120           src/nm-cdma-device.c
4121           src/nm-cdma-device.h
4122                 - (*_new): take the 'managed' argument
4123
4124         * src/nm-device.c
4125                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4126                 - (nm_device_init): start in unmanaged state, not disconnected
4127                 - (constructor): don't start device until the system settings service
4128                         has had a chance to figure out if the device is managed or not
4129                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4130                         don't set device state here, let callers handle that as appropriate
4131                 - (nm_device_dispose): don't touch the device if it's not managed
4132                 - (set_property, get_property, nm_device_class_init): implement the
4133                         'managed' property
4134                 - (nm_device_state_changed): bring the device up if its now managed,
4135                         and deactivate it if it used to be active
4136                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4137                         with the managed state
4138
4139         * src/nm-hal-manager.c
4140                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4141                         take initial managed state and pass it along to device constructors
4142                 - (create_device_and_add_to_list): get managed state and pass to
4143                         type creators
4144
4145         * src/nm-device-802-11-wireless.c
4146                 - (real_can_activate): fold in most of
4147                         nm_device_802_11_wireless_can_activate()
4148                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4149                 - (link_timeout_cb): instead of deactivating, change device state and
4150                         let the device state handler to it
4151                 - (real_update_hw_address): clean up
4152                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4153                         handler to transition to DISCONNECTED if the device isn't rfkilled
4154
4155         * src/nm-device-802-3-ethernet.c
4156                 - (set_carrier): move above callers and get rid of prototype
4157                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4158                         idle handler to transition to DISCONNECTED if the device has a
4159                         carrier
4160                 - (real_update_hw_address): clean up
4161                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4162                         deactivation directly as deactivation doesn't change state anymore
4163
4164         * src/NetworkManagerPolicy.c
4165                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4166                         the NMManager and wireless devices work that out themselves now
4167                 - (device_state_changed): change to a switch and update for new device
4168                         states
4169                 - (device_carrier_changed): remove; device handles this now through
4170                         state changes
4171                 - (device_added): don't care about carrier any more; the initial
4172                         activation check will happen when the device transitions to
4173                         DISCONNECTED
4174
4175         * src/nm-manager.c
4176                 - (dispose): clear unmanaged devices
4177                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4178                         the managed property on each device when needed
4179                 - (system_settings_properties_changed_cb): handle signals from the
4180                         system settings service
4181                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4182                         getting the unmanaged device list method call
4183                 - (query_unmanaged_devices): ask the system settings service for its
4184                         list of unmanaged devices
4185                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4186                         devices
4187                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4188                         devices directly and let them handle the necessary state transitions
4189                 - (manager_device_state_changed): update for new device states
4190                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4191                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4192                 - (nm_manager_activate_connection): return error if the device is
4193                         unmanaged
4194                 - (nm_manager_sleep): handle new device states correctly; don't change
4195                         the state of unavailable/unmanaged devices
4196
4197         * libnm-glib/nm-device-802-11-wireless.c
4198                 - (state_changed_cb): update for new device states
4199
4200 2008-04-07  Dan Williams  <dcbw@redhat.com>
4201
4202         * marshallers/nm-marshal.list
4203                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4204
4205 2008-04-07  Dan Williams  <dcbw@redhat.com>
4206
4207         * system-settings/src/main.c
4208                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4209                         plugins to the dbus settings object
4210                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4211                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4212                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4213                 - (main): switch default logging to syslog with a 'debug' option to
4214                         output to console; start up the HAL manager
4215
4216 2008-04-07  Dan Williams  <dcbw@redhat.com>
4217
4218         * introspection/nm-settings-system.xml
4219           introspection/Makefile.am
4220                 - Define the unmanaged devices interface for the system settings service
4221
4222         * system-settings/src/nm-system-config-hal-manager.c
4223           system-settings/src/nm-system-config-hal-manager.h
4224           system-settings/src/nm-system-config-hal-manager-private.h
4225           system-settings/src/Makefile.am
4226                 - Add a lightweight HAL manager object for tracking network devices for
4227                         the purpose of determining unmanaged devices and which devices need
4228                         the default DHCP connections
4229
4230         * system-settings/src/nm-system-config-interface.c
4231           system-settings/src/nm-system-config-interface.h
4232                 - (nm_system_config_interface_init): add the HAL manager as an argument
4233                 - (nm_system_config_interface_get_unmanaged_devices): implement
4234                 - Define 'unmanaged-devices-changed' signal
4235
4236         * system-settings/src/dbus-settings.c
4237           system-settings/src/dbus-settings.h
4238                 - Implement the unmanaged devices interface; some cleanups
4239
4240         * system-settings/plugins/ifcfg-suse/plugin.c
4241                 - Fixup for plugin interface changes
4242
4243         * system-settings/plugins/ifcfg-fedora/plugin.c
4244                 - (get_ether_device_udi): new function; find the device that has
4245                         a specified MAC address and return its UDI
4246                 - (get_udi_for_connection): new function; try to find the specific
4247                         device a connection is locked to, if any
4248                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4249                         response to HAL events
4250                 - (get_unmanaged_devices): new function; return unmanaged device list
4251                 - (build_one_connection): set the connection's locked device, if any
4252                 - (write_auto_wired_connection): remove
4253                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4254                 - (handle_connection_changed): alert listeners that the unmanaged device
4255                         list has changed
4256                 - (init): fixup for plugin interface changes, implement unmanaged devices
4257
4258         * system-settings/plugins/ifcfg-fedora/parser.c
4259           system-settings/plugins/ifcfg-fedora/parser.h
4260                 - (connection_data_free): clean up connection UDI
4261
4262 2008-04-07  Dan Williams  <dcbw@redhat.com>
4263
4264         * system-settings/plugins/ifcfg-fedora/parser.c
4265                 - (make_ip4_setting): fix parsing of DNS servers
4266
4267 2008-04-05  Dan Williams  <dcbw@redhat.com>
4268
4269         * Makefile.am
4270           configure.in
4271           marshallers/Makefile.am
4272           marshallers/nm-marshal-main.c
4273           marshallers/nm-marshal.list
4274                 - Consolidate marshallers
4275
4276         * libnm-glib/nm-marshal-main.c
4277           libnm-glib/nm-marshal.list
4278           src/marshallers/Makefile.am
4279           src/marshallers/nm-marshal-main.c
4280           src/marshallers/nm-marshal.list
4281                 - Remove
4282
4283         * libnm-glib/Makefile.am
4284           src/Makefile.am
4285           src/dhcp-manager/Makefile.am
4286           src/ppp-manager/Makefile.am
4287           src/supplicant-manager/Makefile.am
4288           src/vpn-manager/Makefile.am
4289                 - Use consolidated marshallers
4290
4291 2008-04-04  Dan Williams  <dcbw@redhat.com>
4292
4293         * src/nm-hal-manager.c
4294           src/nm-hal-manager.h
4295                 - (hal_init): don't look for hardware here
4296                 - (nm_hal_manager_start): new function; look for hardware here instead,
4297                         which can be done at a later time than hal_init()
4298
4299         * src/NetworkManager.c
4300                 - (main): start HAL manager after entering the main loop
4301
4302 2008-04-03  Dan Williams  <dcbw@redhat.com>
4303
4304         * libnm-glib/nm-settings.c
4305           libnm-glib/nm-settings.h
4306             - (nm_exported_connection_get_id): new function
4307                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4308
4309 2008-04-02  Dan Williams  <dcbw@redhat.com>
4310
4311         * src/nm-device-interface.c
4312           src/nm-device-interface.h
4313           src/nm-device.c
4314           src/nm-device.h
4315                 - Rename check_connection_conflicts() to check_connection_compatible()
4316
4317         * src/nm-device-802-11-wireless.c
4318                 - (real_check_connection_conflicts): remove
4319                 - (real_check_connection_compatible): implement; match MAC address
4320
4321         * src/nm-device-802-3-ethernet.c
4322                 - (real_check_connection_conflicts): remove
4323                 - (real_check_connection_compatible): implement; match MAC address
4324                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4325
4326         * src/nm-manager.c
4327                 - (check_connection_allowed): remove; unused until PolicyKit integration
4328                 - (internal_activate_device): check whether the connection is compatible
4329                         with the device before trying to activate it
4330
4331 2008-04-02  Dan Williams  <dcbw@redhat.com>
4332
4333         * system-settings/plugins/ifcfg-fedora/parser.c
4334                 - (read_mac_address): new function; read in MAC address and stuff it
4335                         into the connection
4336                 - (add_one_wep_key): remove debug spew
4337                 - (make_wireless_security_setting): validate the default TX key; don't
4338                         add the wireless-security setting if the connection doesn't need
4339                         security; don't leak the keys shvarFile on error cases
4340                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4341                         address
4342
4343 2008-04-02  Dan Williams  <dcbw@redhat.com>
4344
4345         * libnm-util/nm-setting-connection.c
4346           libnm-util/nm-setting-connection.h
4347                 - (set_property, get_property, nm_setting_connection_class_init): remove
4348                         the 'lockdown' property; it's functionality will be replaced by
4349                         PolicyKit instead
4350
4351 2008-04-01  Dan Williams  <dcbw@redhat.com>
4352
4353         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4354
4355         * configure.in
4356           initscript/Makefile.am
4357           initscript/Mandriva/Makefile.am
4358           initscript/Mandriva/networkmanager.in
4359           initscript/Mandriva/networkmanagerdispatcher.in
4360           src/backends/Makefile.am
4361           src/backends/NetworkManagerMandriva.c
4362           system-settings/plugins/Makefile.am
4363                 - Add Mandriva support
4364
4365 2008-03-31  Dan Williams  <dcbw@redhat.com>
4366
4367         * src/vpn-manager/nm-vpn-service.c
4368                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4369                         errors can be passed back to the caller; also no longer scheduled
4370                         as an idle handler, but called directly; and bump up VPN service
4371                         spawn timeout, 2s is really short
4372                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4373                         but call it directly so that errors are reported on return from
4374                         ActivateConnection() and don't get lost.  If scheduled as an idle
4375                         handler, clients don't have the time to query NM for the new VPN
4376                         connection's properties before the VPN connection is torn down again
4377                         if the service couldn't be launched, and therefore launch errors
4378                         get lost.
4379
4380 2008-03-31  Dan Williams  <dcbw@redhat.com>
4381
4382         * src/vpn-manager/nm-vpn-connection.c
4383                 - (device_state_changed): send correct state on device failure too
4384                 - (plugin_state_changed): failed state means unexpected disconnection,
4385                         thus if the service goes away while the VPN connection is activated
4386                         that's a failure too
4387
4388 2008-03-31  Dan Williams  <dcbw@redhat.com>
4389
4390         * src/vpn-manager/nm-vpn-manager.c
4391           src/vpn-manager/nm-vpn-manager.h
4392                 - Make VPNManager errors more available; add a service-start-failed error
4393
4394 2008-03-31  Dan Williams  <dcbw@redhat.com>
4395
4396         * libnm-glib/nm-client.c
4397           libnm-glib/nm-client.h
4398                 - (activate_cb): pass the new active connection to callback; fix
4399                         message when no callback is specified
4400
4401 2008-03-30  Dan Williams  <dcbw@redhat.com>
4402
4403         * libnm-util/nm-setting-wireless-security.c
4404                 - (need_secrets): only require key0 if the transmit key index is also
4405                         0
4406                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4407
4408 2008-03-29  Dan Williams  <dcbw@redhat.com>
4409
4410         * libnm-util/nm-setting-8021x.c
4411           libnm-util/nm-setting-ip4-config.c
4412           libnm-util/nm-setting-vpn-properties.c
4413           libnm-util/nm-setting-vpn.c
4414           libnm-util/nm-setting-wireless-security.c
4415           libnm-util/nm-setting-wireless.c
4416           libnm-util/nm-utils.c
4417           src/dhcp-manager/nm-dhcp-manager.c
4418           src/nm-activation-request.c
4419           src/nm-ip4-config.c
4420           src/nm-manager.c
4421           src/nm-properties-changed-signal.c
4422           src/ppp-manager/nm-pppd-plugin.c
4423           src/supplicant-manager/nm-supplicant-interface.c
4424           src/vpn-manager/nm-vpn-connection.c
4425                 - consistently use nm-dbus-glib-types.h
4426
4427 2008-03-29  Dan Williams  <dcbw@redhat.com>
4428
4429         * src/vpn-manager/nm-vpn-connection.c
4430                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4431                         not string
4432
4433         * src/nm-activation-request.c
4434                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4435                         not string
4436
4437 2008-03-29  Dan Williams  <dcbw@redhat.com>
4438
4439         * libnm-glib/nm-device-802-11-wireless.c
4440                 - (access_point_added_proxy): create new APs if not found
4441
4442 2008-03-29  Dan Williams  <dcbw@redhat.com>
4443
4444         * libnm-glib/nm-client.c
4445                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4446                         before freeing them
4447
4448 2008-03-29  Dan Williams  <dcbw@redhat.com>
4449
4450         * system-settings/plugins/ifcfg-fedora/parser.c
4451                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4452                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4453
4454 2008-03-29  Dan Williams  <dcbw@redhat.com>
4455
4456         * system-settings/plugins/ifcfg-fedora/parser.c
4457                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4458
4459 2008-03-27  Dan Williams  <dcbw@redhat.com>
4460
4461         * nm-object.c
4462                 - (nm_object_queue_notify): don't notify multiple times for the same
4463                         property
4464
4465         * nm-object-private.h
4466                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4467                         if it has zero elements
4468
4469         * nm-ip4-config.c
4470                 - (finalize): use g_ptr_array_foreach() when freeing domains
4471                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4472
4473         * nm-active-connection.c
4474                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4475
4476         * nm-device-802-11-wireless.c
4477           nm-device-802-11-wireless.h
4478                 - (nm_device_802_11_wireless_get_access_points): return const; use
4479                         handle_ptr_array_return()
4480
4481         * nm-types.c
4482                 - (nm_object_array_demarshal): always create an array, even of length
4483                         zero, to distinguish between "NM returned no items" and "haven't
4484                         asked NM yet"
4485
4486         * nm-client.c
4487                 - (dispose): free active connections too
4488                 - (proxy_name_owner_changed): free active connections too when NM goes
4489                         away
4490                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4491                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4492
4493 2008-03-26  Dan Williams  <dcbw@redhat.com>
4494
4495         Rework VPN connection handling for a more consistent D-Bus API.  The
4496         VPNManager object has been removed, and active VPN connections are now the
4497         same as any other active connection.  The Manager object's ActivateConnection
4498         and DeactivateConnection methods are used to start and stop a VPN connection,
4499         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4500         When activating a VPN connection, pass the path of the active connection
4501         to which the VPN connection is tied in the 'specific_object' argument.
4502
4503         Consequently, the libnm-glib API has been reworked to match this arrangement,
4504         with the VPNManager object removed, and the NMVPNConnection objects now
4505         being subclasses of NMActiveConnection.
4506
4507 2008-03-25  Dan Williams  <dcbw@redhat.com>
4508
4509         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4510
4511         * initscript/Arch/networkmanager.in
4512           initscript/Arch/networkmanager-dispatcher.in
4513                 - Updates for Arch Linux (gnome.org #523701)
4514
4515 2008-03-25  Dan Williams  <dcbw@redhat.com>
4516
4517         * libnm-glib/nm-ip4-config.c
4518           libnm-glib/nm-active-connection.c
4519           libnm-glib/nm-access-point.c
4520                 - Use nm_object_queue_notify() instead of g_object_notify()
4521
4522         * libnm-glib/nm-device.c
4523                 - (demarshal_ip4_config): distinguish between successful but missing
4524                         ip4-config request, and unsuccessful and missing ip4-config request
4525                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4526                         path
4527                 - Use nm_object_queue_notify() instead of g_object_notify()
4528
4529         * libnm-glib/nm-device-802-11-wireless.c
4530                 - (demarshal_active_ap): distinguish between successfull but missing
4531                         active-ap request, and unsuccessful and missing active-ap request
4532                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4533                         code
4534                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4535                         for the NMClient to notify the device that wireless is disabled,
4536                         and therefore to clear the AP list and active AP
4537                 - Use nm_object_queue_notify() instead of g_object_notify()
4538
4539         * libnm-glib/nm-client.c
4540                 - (poke_wireless_devices_with_rf_status): new function
4541                 - (update_wireless_status): notify wireless devices of the rfkill status
4542                         so they can clean up if needed
4543                 - Use nm_object_queue_notify() instead of g_object_notify()
4544
4545 2008-03-25  Dan Williams  <dcbw@redhat.com>
4546
4547         * libnm-glib/nm-object.c
4548           libnm-glib/nm-object-private.h
4549                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4550                         signals to an idle handler
4551                 - (nm_object_get_property): add a timeout to the D-Bus method call
4552
4553 2008-03-25  Dan Williams  <dcbw@redhat.com>
4554
4555         * introspection/nm-device-cdma.xml
4556           introspection/nm-device-gsm.xml
4557           introspection/Makefile.am
4558           introspection/all.xml
4559                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4560
4561         * src/nm-gsm-device.h
4562           src/nm-gsm-device.c
4563           src/nm-cdma-device.h
4564           src/nm-cdma-device.c
4565           src/Makefile.am
4566                 - Implement PropertiesChanged signals
4567
4568         * libnm-glib/nm-cdma-device.c
4569           libnm-glib/nm-cdma-device.c
4570                 - Attach to PropertiesChanged signals
4571
4572 2008-03-24  Dan Williams  <dcbw@redhat.com>
4573
4574         * libnm-glib/nm-client.c
4575                 - (client_device_added_proxy): add new devices to the internal device
4576                         list so they appear to clients
4577
4578 2008-03-24  Dan Williams  <dcbw@redhat.com>
4579
4580         Massive fixup of libnm-glib to:
4581         a) have all objects (with the exception of VPN) cache their properties and
4582                 update them asynchronously on PropertiesChanged signals from NM
4583         b) return internal const data for most attributes/properties instead of
4584                 allocated values that the caller must free
4585         c) cache wrapped objects such that a given D-Bus path will always map to the
4586                 same GObject returned by libnm-glib
4587         d) remove a few signals and move them to GObject property notifications
4588         e) match recent NM D-Bus API changes for activation/deactivation
4589         f) remove some private functions from libnm-glib headers
4590
4591 2008-03-20  Dan Williams  <dcbw@redhat.com>
4592
4593         * src/nm-manager.c
4594                 - (nm_manager_update_state, manager_device_state_changed,
4595                    nm_manager_activate_device, connection_added_default_handler,
4596                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4597                         queue PropertyChanged singals when the active connections change
4598
4599 2008-03-20  Dan Williams  <dcbw@redhat.com>
4600
4601         * introspection/nm-manager.xml
4602           introspection/nm-manager-client.xml
4603                 - (ActivateConnection): return the object path of the active connection
4604                         on success
4605                 - (GetActiveConnections): remove
4606                 - (DeactivateConnection): new function; deactivate a currently active
4607                         connection
4608                 - Add an ActiveConnections property which returns an array of
4609                         active connection object paths
4610
4611         * introspection/nm-device.xml
4612                 - (Deactivate): remove
4613
4614         * introspection/all.xml
4615                 - Add ActiveConnection introspection
4616
4617         * introspection/nm-active-connection.xml
4618                 - Add the ActiveConnection object
4619
4620         * include/NetworkManager.h
4621                 - Add the Connection.Active D-Bus interface
4622
4623         * src/nm-device-interface.c
4624                 - (impl_device_deactivate): remove
4625
4626         * src/nm-activation-request.c
4627           src/nm-activation-request.c
4628           src/Makefile.am
4629                 - Implement the Connection.Active D-Bus interface
4630
4631         * src/nm-manager.c
4632                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4633                 - (nm_manager_activate_device): return the active connection path
4634                 - (connection_added_default_handler, impl_manager_activate_connection):
4635                         return the active connection to the caller
4636                 - (add_one_connection_element, impl_manager_get_active_connections):
4637                         remove
4638                 - (impl_manager_deactivate_connection): new function; deactivate an
4639                         active connection
4640
4641         * libnm-glib/nm-device.c
4642           libnm-glib/nm-device.h
4643                 - Remove Deactivate() function
4644
4645 2008-03-19  Dan Williams  <dcbw@redhat.com>
4646
4647         * introspection/nm-manager.xml
4648           introspection/nm-manager-client.xml
4649                 - Rename the ActivateDevice method to ActivateConnection to better
4650                         reflect it's usage; it's arguments get reordered a bit too
4651                 - Convert GetActiveConnections method return from a struct to a dict
4652
4653         * include/NetworkManager.h
4654                 - Define the dict keys for return value of GetActiveConnections
4655
4656         * src/nm-manager.c
4657                 - impl_manager_activate_device -> impl_manager_activate_connection
4658                 - (add_one_connection_element): return a populated hash table, not
4659                         a structure
4660
4661         * libnm-glib/nm-client.c
4662           libnm-glib/nm-client.h
4663                 - nm_client_activate_device -> nm_client_activate_connection
4664                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4665                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4666                         instead of the custom structures.  Each element of the returned list
4667                         must be freed with nm_client_free_active_connections_element()
4668
4669 2008-03-18  Dan Williams  <dcbw@redhat.com>
4670
4671         * system-settings/plugins/ifcfg-fedora/parser.c
4672           system-settings/plugins/ifcfg-fedora/parser.h
4673           system-settings/plugins/ifcfg-fedora/plugin.c
4674                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4675                         profiles.  DNS servers and searches must now be stored in the ifcfg
4676                         files themselves
4677
4678 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4679
4680         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4681         print out username and password, it's supposed to be a secret.
4682
4683         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4684         request and set the device state accordingly.
4685
4686 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4687
4688         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4689
4690         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4691
4692 2008-03-18  Dan Williams  <dcbw@redhat.com>
4693
4694         * src/vpn-manager/nm-vpn-connection.c
4695                 - (get_secrets_cb): handle new GetSecrets return format
4696
4697 2008-03-18  Dan Williams  <dcbw@redhat.com>
4698
4699         Adapt system settings service for split 802.1x.
4700
4701         * system-settings/src/nm-system-config-interface.h
4702                 - clarify return value of get_secrets()
4703
4704         * system-settings/src/dbus-settings.c
4705                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4706                 - (check_for_secrets): check if there actually secrets returned by a
4707                         plugin
4708                 - (exported_connection_get_secrets): just return the plugin-returned
4709                         hash of settings' secrets if it looks valid
4710
4711         * system-settings/plugins/ifcfg-fedora/plugin.c
4712                 - (get_secrets): add split secrets with correct format to reply hash
4713
4714         * system-settings/plugins/ifcfg-fedora/parser.c
4715           system-settings/plugins/ifcfg-fedora/parser.h
4716                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4717                    connection_data_free, connection_data_add): keep secrets for
4718                         different settings in different hashes
4719
4720 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4721
4722         Clean up activating device deactivation.
4723
4724         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4725         should be done whether the device activation gets cancelled or the device
4726         is just getting deactivated.
4727         (nm_device_activation_cancel): Remove.
4728         (nm_device_deactivate_quickly): Handle the case where device is activating.
4729
4730         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4731         It does the exact same thing as real_deactivate_quickly().
4732
4733 2008-03-17  Dan Williams  <dcbw@redhat.com>
4734
4735         Split the 802.1x bits out of the wireless-security setting so they are
4736         generalized enough for wired 802.1x to use too.
4737
4738         * introspection/nm-exported-connection.xml
4739                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4740                         of just a hash of the secrets for one setting
4741
4742         * libnm-util/nm-setting-wireless-security.c
4743           libnm-util/nm-setting-wireless-security.h
4744                 - Remove 802.1x-specific stuff
4745                 - Added leap-username and leap-password properties for old-school LEAP
4746
4747         * src/nm-device.c
4748           src/nm-device.h
4749                 - (connection_secrets_updated_cb): take a list of updated settings names,
4750                         not just one
4751
4752         * src/supplicant-manager/nm-supplicant-config.c
4753           src/supplicant-manager/nm-supplicant-config.h
4754                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4755                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4756                         to nm_supplicant_config_add_setting_8021x()
4757                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4758                         the supplicant config
4759
4760         * src/nm-device-802-11-wireless.c
4761                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4762                 - (real_connection_secrets_updated): take a list of updated settings
4763                         names, not just one
4764
4765         * src/nm-device-802-3-ethernet.c
4766           src/nm-cdma-device.c
4767           src/nm-gsm-device.c
4768                 - (real_connection_secrets_updated_cb): take a list of updated settings
4769                         names, not just one
4770
4771         * src/nm-activation-request.c
4772           src/nm-activation-request.h
4773                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4774                         now passes a list of updated settings names, not just one
4775                 - (update_one_setting): new function; handle one updated setting
4776                 - (get_secrets_cb): handle multiple settings returned from the
4777                         settings service; have to be careful of ordering here as there are
4778                         some dependencies between settings (ex. wireless-security and 802.1x
4779                         in some cases)
4780
4781         * src/marshallers/nm-marshal.list
4782                 - new marshaller for connection-secrets-updated signal
4783
4784         * libnm-util/nm-setting-8021x.c
4785                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4786                         methods
4787                 - (verify): a valid 'eap' property is now required
4788
4789         * libnm-util/nm-connection.c
4790                 - (register_default_settings): add priorities to settings; there are
4791                         some dependencies between settings, and during the need_secrets
4792                         calls this priority needs to be respected.  For example, only the
4793                         wireless-security setting knows whether or not the connection is
4794                         going to use 802.1x or now, so it must be asked for secrets before
4795                         any existing 802.1x setting is
4796                 - (nm_connection_lookup_setting_type): expose
4797
4798         * libnm-util/nm-setting-wireless.c
4799                 - (verify): should verify even if all_settings is NULL; otherwise won't
4800                         catch the case where there is missing security
4801
4802         * libnm-util/nm-setting-wireless-security.c
4803                 - Remove everything to do with 802.1x
4804                 - Add old-school LEAP specific properties for username and password
4805                 - (need_secrets): rework LEAP secrets checking
4806                 - (verify): rework for LEAP and 802.1x verification
4807
4808 2008-03-17  Dan Williams  <dcbw@redhat.com>
4809
4810         * src/NetworkManagerPolicy.c
4811                 - (auto_activate_device): always remove the current activation check
4812                         from the pending activation list, otherwise when the policy gets
4813                         destroyed on NM exit it will attempt to free the already freed
4814                         activation check
4815
4816 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4817
4818         * src/backends/NetworkManagerSlackware.c 
4819         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4820
4821         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4822
4823 2008-03-14  Dan Williams  <dcbw@redhat.com>
4824
4825         * src/nm-manager.c
4826                 - (nm_device_interface_get_iface): g_object_get() will return an
4827                         allocated value, so this function must not return const
4828                 - (nm_device_interface_activate): free returned iface
4829
4830 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4831
4832         * libnm-util/Makefile.am: Add new files to build.
4833
4834         * libnm-util/nm-connection.c: Register NMSetting8021x.
4835
4836         * libnm-util/nm-setting-8021x.c
4837         * libnm-util/nm-setting-8021x.h: Implement.
4838
4839 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4840
4841         * libnm-util/Makefile.am: Add new files to build.
4842
4843         * libnm-util/nm-connection.c: Register NMSetting8021x.
4844
4845         * libnm-util/nm-setting-8021x.c
4846         * libnm-util/nm-setting-8021x.h: Implement.
4847
4848 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4849
4850         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4851         data.
4852
4853 2008-03-14  Dan Williams  <dcbw@redhat.com>
4854
4855         * include/wireless-helper.h
4856           include/Makefile.am
4857                 - One place for all the junk needed for #including wireless.h
4858
4859         * test/nm-tool.c
4860           src/NetworkManagerAP.c
4861           src/wpa.c
4862           src/Makefile.am
4863           libnm-util/nm-utils.c
4864           libnm-util/nm-setting-wireless.c
4865           libnm-glib/nm-device-802-11-wireless.c
4866           libnm-glib/nm-access-point.c
4867           libnm-glib/libnm-glib-test.c
4868                 - include wireless-helper.h, not iwlib.h
4869
4870         * configure.in
4871                 - Don't need libiw really, just need to check for wireless.h
4872
4873         * src/kernel-types.h
4874                 - Remove; used types moved into wpa.c
4875
4876         * src/nm-device-802-11-wireless.c
4877                 - (nm_device_802_11_wireless_update_signal_strength,
4878                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4879                    nm_device_802_11_wireless_set_mode,
4880                    nm_device_802_11_wireless_get_frequency,
4881                    nm_device_802_11_wireless_get_ssid,
4882                    nm_device_802_11_wireless_set_ssid,
4883                    nm_device_802_11_wireless_get_bitrate,
4884                    nm_device_802_11_wireless_get_bssid,
4885                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4886                         instead of iwlib functions
4887
4888 2008-03-14  Dan Williams  <dcbw@redhat.com>
4889
4890         * src/ppp-manager/nm-ppp-manager.c
4891                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4892                         should only take the DBusGMethodInvocation argument, not user/pass
4893                         too.  With dbus-glib, async functions only take 2 C arguments since
4894                         the real dbus method arguments get passed back with
4895                         dbus_g_method_return()
4896
4897 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4898
4899         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4900         Adapt the changes of NMSettingIP4Config.
4901
4902 2008-03-13  Dan Williams  <dcbw@redhat.com>
4903
4904         * src/NetworkManagerUtils.c
4905           src/NetworkManagerUtils.h
4906                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4907
4908         * src/NetworkManagerAP.c
4909           src/nm-device-802-11-wireless.c
4910           src/nm-device-802-3-ethernet.c
4911                 - s/iw_ether_ntop/nm_ether_ntop/g
4912
4913 2008-03-13  Dan Williams  <dcbw@redhat.com>
4914
4915         * src/NetworkManagerPolicy.c
4916                 - (update_routing_and_dns): never set the default route through an
4917                         IPv4LL addressed device
4918
4919 2008-03-13  Dan Williams  <dcbw@redhat.com>
4920
4921         * NetworkManagerUtils.c
4922           NetworkManagerUtils.h
4923                 - Remove NMSock stuff
4924                 - Remove the completion stuff
4925
4926         * nm-device.c
4927           nm-device.h
4928           NetworkManager.c
4929           NetworkManagerSystem.c
4930           autoip.c
4931           nm-device-802-11-wireless.c
4932           nm-device-802-3-ethernet.c
4933                 - Remove NMSock and completion stuff
4934                 - Remove nm_ioctl_info()
4935
4936 2008-03-12  Dan Williams  <dcbw@redhat.com>
4937
4938         * src/nm-device.c
4939                 - (merge_ip4_config): avoid duplicates
4940
4941 2008-03-12  Dan Williams  <dcbw@redhat.com>
4942
4943         * libnm-util/nm-setting-ip4-config.c
4944           libnm-util/nm-setting-ip4-config.h
4945                 - Remove 'manual' and 'autoip' properties
4946                 - Add 'method' property
4947                 - (verify): fix verification with 'method'
4948                 - (finalize): free 'method'
4949                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4950                         up for 'method'
4951
4952         * src/nm-device.c
4953                 - (real_act_stage3_ip_config_start): check IP4Config method
4954                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4955                         the future
4956                 - (merge_ip4_config): IP settings are valid with DHCP too
4957                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4958                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4959
4960         * src/nm-device-802-11-wireless.c
4961                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4962                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4963                         only on demand
4964
4965         * system-settings/plugins/ifcfg-fedora/parser.c
4966           system-settings/plugins/ifcfg-suse/parser.c
4967                 - (make_ip4_setting): fix up for 'method'
4968
4969 2008-03-12  Dan Williams  <dcbw@redhat.com>
4970
4971         * system-settings/plugins/ifcfg-fedora/parser.c
4972           system-settings/plugins/ifcfg-fedora/parser.h
4973                 - (get_ifcfg_name): ignore more file suffixes
4974                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4975
4976 2008-03-12  Dan Williams  <dcbw@redhat.com>
4977
4978         * configure.in
4979                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4980
4981 2008-03-12  Dan Williams  <dcbw@redhat.com>
4982
4983         * system-settings/plugins/ifcfg-fedora/plugin.c
4984                 - (write_auto_wired_connection): new function; write out an auto
4985                         wired connection file since the applet isn't doing it any more
4986                 - (reload_all_connections): write out the auto wired connection file
4987                         if there aren't any wired connections already
4988                 - (init): don't leak a GError
4989
4990 2008-03-12  Dan Williams  <dcbw@redhat.com>
4991
4992         * src/nm-device-interface.c
4993                 - (nm_device_interface_activate): print the ID of the connection
4994                         that's about to be activated
4995
4996 2008-03-12  Dan Williams  <dcbw@redhat.com>
4997
4998         Harmonize the 802.11 bitrate API
4999
5000         * introspection/nm-access-point.xml
5001                 - 'Rate' -> 'MaxBitrate'; clarify units
5002
5003         * introspection/nm-device-802-11-wireless.xml
5004                 - Clarify units of 'Bitrate'
5005
5006         * src/NetworkManagerAP.c
5007           src/NetworkManagerAP.h
5008                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5009                         property to 'max-bitrate'
5010                 - (foreach_property_cb): convert rate to Kb/s
5011
5012         * src/nm-device-802-11-wireless.c
5013                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5014
5015         * libnm-glib/nm-access-point.c
5016           libnm-glib/nm-access-point.h
5017                 - 'rate' -> 'max-bitrate'
5018
5019         * test/nm-tool.c
5020           libnm-glib/libnm-glib-test.c
5021                 - Fix up for these changes
5022
5023 2008-03-12  Dan Williams  <dcbw@redhat.com>
5024
5025         * src/nm-device.c
5026                 - (nm_device_set_ip4_config): don't send property notifications when
5027                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5028                         which dbus-glib can't parse because the value is NULL, which isn't
5029                         a legal object path.  Setting the IP4 config to NULL is only
5030                         valid when deactivating a device anyway, so the device state change
5031                         will alert listeners that the ip4 config is invalid.
5032
5033 2008-03-12  Dan Williams  <dcbw@redhat.com>
5034
5035         * src/nm-properties-changed-signal.c
5036                 - (add_to_string): better handling of NULL objects
5037
5038 2008-03-12  Dan Williams  <dcbw@redhat.com>
5039
5040         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5041         convert the libnm-glib NMDevice8023Ethernet to cached properties
5042
5043         * introspection/nm-device-802-3-ethernet.xml
5044                 - New 'Carrier' property
5045                 - New 'PropertiesChanged' signal
5046
5047         * introspection/nm-device.xml
5048                 - Remove 'Carrier' property
5049                 - Remove 'CarrierChanged' signal
5050
5051         * src/nm-device-interface.c
5052           src/nm-device-interface.h
5053                 - (nm_device_interface_init): remove 'carrier' property and
5054                         'carrier-changed' signal
5055
5056         * src/nm-device.c
5057           src/nm-device.h
5058                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5059                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5060                         the link here; wired device will handle that
5061                 - (handle_dhcp_lease_change): don't bother updating link here
5062                 - (get_property, nm_device_class_init): remove carrier property
5063
5064         * src/nm-device-802-11-wireless.c
5065                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5066                         real_update_link(); wireless devices don't use carrier at all
5067                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5068                    supplicant_iface_connection_state_cb_handler,
5069                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5070
5071         * src/nm-device-802-3-ethernet.c
5072           src/nm-device-802-3-ethernet.h
5073                 - (nm_device_802_3_ethernet_carrier_on,
5074                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5075                         instead of nm_device_set_carrier()
5076                 - (device_state_changed): update link from sysfs on activation;
5077                         replaces real_update_link()
5078                 - (real_update_link): remove, replaced by device_state_changed()
5079                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5080                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5081                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5082                         new get_carrier function
5083                 - (get_property): add 'carrier' property
5084                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5085                         hook into property-changed signal helper
5086
5087         * src/NetworkManagerPolicy.c
5088                 - (device_carrier_changed): will only ever be called with a wired device
5089                 - (device_added): only hook up to carrier-changed for wired devices
5090
5091         * libnm-glib/nm-device.c
5092           libnm-glib/nm-device.h
5093                 - (constructor, nm_device_class_init): remove carrier-changed signal
5094                 - (device_carrier_changed_proxy): remove; unused
5095                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5096
5097         * libnm-glib/nm-device-802-3-ethernet.c
5098           libnm-glib/nm-device-802-3-ethernet.h
5099                 - Convert to cached properties like AP and Wireless objects
5100                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5101                         instead of a 'char *', return value should not be freed
5102                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5103                 - (constructor): hook into properties-changed helper
5104                 - (set_property, get_property): new functions
5105                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5106
5107         * test/nm-tool.c
5108                 - (detail_device): strdup the wired hardware address too since it's
5109                         cached now
5110
5111         * libnm-glib/libnm-glib-test.c
5112                 - (dump_wired): strdup the wired hardware address too since it's
5113                         cached now
5114
5115 2008-03-12  Dan Williams  <dcbw@redhat.com>
5116
5117         * libnm-util/nm-setting-ip4-config.c
5118           libnm-util/nm-setting-ip4-config.h
5119                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5120                         the 'autoip' property from the spec
5121
5122 2008-03-11  Dan Williams  <dcbw@redhat.com>
5123
5124         * src/backends/NetworkManagerGeneric.c
5125           src/backends/NetworkManagerGeneric.h
5126                 - (nm_generic_device_get_use_dhcp): remove
5127
5128 2008-03-11  Dan Williams  <dcbw@redhat.com>
5129
5130         * src/nm-device.c
5131                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5132                         already in nm_device_set_ip4_config()
5133                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5134                         due to a DHCP rebind fails
5135                 - (nm_device_set_ip4_config): send property notifications when the
5136                         ip4 config changes
5137                 - (get_property): only report IP4Config property during valid states
5138
5139         * src/NetworkManagerPolicy.c
5140                 - (update_routing_and_dns): ignore devices that don't have an ip4
5141                         config; add parameter 'force_update' to allow callers to specify
5142                         that changes should be made even if the default device doesn't change
5143                 - (device_ip4_config_changed): update DNS and routing when the device's
5144                         IP4Config changes, like for DHCP updates
5145                 - (device_added): listen for ip4-config property changes
5146
5147 2008-03-11  Dan Williams  <dcbw@redhat.com>
5148
5149         Fix address handling as a result of DHCP rebind/renew/reboot.
5150
5151         * src/NetworkManagerSystem.c
5152                 - (check_one_address): delete an address if it doesn't match a given
5153                         one for the same interface
5154                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5155                         be smarter about flushing addresses (only flush ones that don't
5156                         match the one we're about to apply)
5157
5158         * src/backends/NetworkManagerDebian.c
5159           src/backends/NetworkManagerSuSE.c
5160           src/backends/NetworkManagerArch.c
5161           src/backends/NetworkManagerSlackware.c
5162           src/backends/NetworkManagerRedHat.c
5163           src/backends/NetworkManagerPaldo.c
5164           src/backends/NetworkManagerFrugalware.c
5165           src/backends/NetworkManagerGentoo.c
5166                 - (nm_system_delete_default_route): remove
5167
5168         * src/backends/NetworkManagerGeneric.c
5169           src/backends/NetworkManagerGeneric.h
5170                 - (nm_generic_enable_loopback): fix the loopback device label
5171                 - (nm_generic_delete_default_route): remove; no longer used
5172
5173 2008-03-11  Dan Williams  <dcbw@redhat.com>
5174
5175         * src/nm-device-interface.h
5176                 - Delimit property name words with '-', otherwise g_object_notify()
5177                         doesn't work the way we expect
5178
5179 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5180
5181         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5182
5183 2008-03-11  Dan Williams  <dcbw@redhat.com>
5184
5185         * src/NetworkManagerPolicy.c
5186                 - (update_routing_and_dns): don't change anything if the default device
5187                         hasn't changed; print something out when switching the default route
5188                         and DNS
5189
5190 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5191
5192         Implement PPPoE.
5193
5194         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5195         setting. Use "nic-$eth".
5196
5197         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5198         the device is activating here to fix a race condition.
5199
5200         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5201
5202         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5203         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5204         (nm_ppp_manager_start): Take activation request instead of connection, we might
5205         need it for asking secrets.
5206         (nm_ppp_manager_update_secrets): Implement.
5207
5208         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5209         ppp manager start. It might be needed for asking secrets.
5210
5211         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5212         (ppp_state_changed): Handle pppd daemon disappearing.
5213         (pppoe_stage2_config): Send activation request to ppp manager start.
5214
5215         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5216
5217         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5218         username and password.
5219         
5220 2008-03-10  Dan Williams  <dcbw@redhat.com>
5221
5222         * src/nm-device.c
5223                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5224                         response to a DHCP lease change
5225                 - (dhcp_state_changed): handle DHCP lease changes while activated
5226                 - (nm_device_set_ip4_config): remove a previously set named config
5227                         when setting an ip4 config
5228
5229 2008-03-10  Dan Williams  <dcbw@redhat.com>
5230
5231         * src/nm-serial-device.c
5232                 - (nm_serial_device_send_command): report errno on error
5233                 - (get_reply_got_data): limit the size of the overall buffer
5234                 - (wait_for_reply_info_destroy): destroy result string
5235                 - (wait_for_reply_got_data): append received data to an overall buffer
5236                         until timeout, filled buffer, or error instead of keeping a per-call
5237                         buffer.  Some devices send data slowly enough that this function
5238                         gets called multiple times for the same command stream.
5239                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5240                         wait_for_reply_got_data() here
5241
5242 2008-03-10  Dan Williams  <dcbw@redhat.com>
5243
5244         * src/nm-cdma-device.c
5245                 - (do_dial, init_modem): handle errors from
5246                         nm_serial_device_send_command_string()
5247
5248         * src/nm-gsm-device.c
5249                 - (do_dial, manual_registration, automatic_registration_get_network,
5250                    automatic_registration, enter_pin, check_pin, init_modem): handle
5251                         errors from nm_serial_device_send_command_string()
5252
5253 2008-03-10  Dan Williams  <dcbw@redhat.com>
5254
5255         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5256
5257         * src/named-manager/nm-named-manager.c
5258                 - (compute_searches): prefer searches before domains
5259                 - (compute_domain): new function
5260                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5261                 - (merge_one_ip4_config): if there are no searches in the source config,
5262                         merge domains of the source config into the target config
5263                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5264
5265 2008-03-10  Dan Williams  <dcbw@redhat.com>
5266
5267         * src/nm-serial-device.c
5268                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5269                 - (wait_for_reply_got_data): try to handle slower serial devices where
5270                         the reply is broken up into multiple reads by concatenating replies
5271                         together until either an error is received or the search string is
5272                         found
5273
5274 2008-03-10  Dan Williams  <dcbw@redhat.com>
5275
5276         * src/nm-device.c
5277                 - (nm_device_bring_down): deactivate the device if it's activating too,
5278                         not just if it's already activated.  This makes sure that everything
5279                         from an association attempt is cleaned up (like DHCP for example)
5280
5281 2008-03-10  Dan Williams  <dcbw@redhat.com>
5282
5283         * src/nm-serial-device.c
5284                 - (config_fd): report error from TCSETA
5285                 - (nm_serial_device_open): fail when config_fd() fails
5286
5287 2008-03-10  Dan Williams  <dcbw@redhat.com>
5288
5289         * src/nm-ip4-config.c
5290                 - (nm_ip4_config_init): allocate searches list
5291                 - (finalize): free searches list
5292
5293 2008-03-09  Dan Williams  <dcbw@redhat.com>
5294
5295         Patch from Bas Zoetekouw <bas@debian.org>
5296
5297         * src/dhcp-manager/nm-dhcp-manager.c
5298                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5299
5300 2008-03-09  Dan Williams  <dcbw@redhat.com>
5301
5302         Patch from Bas Zoetekouw <bas@debian.org>
5303
5304         * src/nm-ip4-config.c
5305           src/nm-ip4-config.h
5306                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5307                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5308                         domains.  'searches' is the correct way to store multiple search
5309                         domains, whereas 'domains' is really just supposed to store one
5310                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5311                         search domains to the client.
5312                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5313
5314 2008-03-09  Dan Williams  <dcbw@redhat.com>
5315
5316         * src/dhcp-manager/nm-dhcp-manager.c
5317                 - (dhclient_run): send interface-specific config files to dhclient
5318
5319 2008-03-07  Dan Williams  <dcbw@redhat.com>
5320
5321         * system-settings/plugins/ifcfg-fedora/parser.c
5322                 - (is_wireless_device): new function; test a device for wireless
5323                         extensions
5324                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5325                         test the device for wireless extensions to determine the type
5326
5327 2008-03-07  Dan Williams  <dcbw@redhat.com>
5328
5329         Change manager's StateChange signal to StateChanged for consistency.
5330
5331         * introspection/nm-manager.xml
5332                 - Add 'StateChanged' signal
5333                 - Move 'StateChange' down to the deprecated section
5334
5335         * src/nm-hal-manager.c
5336                 - (nm_hal_manager_new): connect to 'state-changed' instead
5337
5338         * src/NetworkManagerPolicy.c
5339                 - (nm_policy_new): connect to 'state-changed' instead
5340
5341         * src/nm-manager.c
5342           src/nm-manager.h
5343                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5344                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5345                         of 'state-change'
5346
5347         * libnm-glib/nm-client.c
5348           libnm-glib/nm-client.h
5349                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5350                         track and proxy 'state-changed' instead of 'state-change'
5351
5352 2008-03-07  Dan Williams  <dcbw@redhat.com>
5353
5354         First pass of multiple active device support.  Expect bugs.
5355
5356         * src/nm-ip4-config.c
5357           src/nm-ip4-config.h
5358                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5359                         there are better ways to do this in the named manager
5360
5361         * src/nm-device.c
5362           src/nm-device.h
5363                 - (nm_device_can_activate): return whether the device can activate a
5364                         connection right now; taking into account things like carrier state
5365                         and rfkill state
5366                 - (nm_device_get_best_auto_connection): renamed from
5367                         nm_device_get_best_connection
5368                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5369                         device subclasses themselves, so that each device can override the
5370                         MTU from it's NMSetting subclass if needed
5371                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5372                         in NetworkManagerSystem.c, not here
5373
5374         * src/named-manager/nm-named-manager.c
5375           src/named-manager/nm-named-manager.h
5376                 - (nm_named_manager_name_owner_changed,
5377                    nm_named_manager_dbus_connection_changed): fix for changes to
5378                         rewrite_resolv_conf()
5379                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5380                         from parameter list
5381                 - (merge_one_ip4_config): new function; merge ip4 configs together
5382                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5383                         ip4 configs; the VPN config takes precedence, then the best
5384                         device config, then the rest of the configs
5385                 - (get_domain_for_config): take the NMNamedManager as an argument
5386                         to check whether the config is the VPN config
5387                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5388                         attribute from ip4 configs
5389                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5390                 - (remove_ip4_config_from_named): fix for changes to
5391                         get_domain_for_config()
5392                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5393                         based on its type; callers must pass in the type now
5394                 - (get_last_default_domain): remove, unused
5395                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5396
5397         * src/nm-device-802-11-wireless.c
5398                 - (real_can_activate): new function
5399                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5400                 - (real_act_stage4_get_ip4_config): handle MTU override
5401
5402         * src/nm-device-802-3-ethernet.c
5403                 - (real_can_activate): new function
5404                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5405                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5406
5407         * src/vpn-manager/nm-vpn-connection.c
5408                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5409                         attribute on the ip4 config
5410
5411         * src/NetworkManagerPolicy.c
5412                 - (nm_policy_auto_get_best_device): remove
5413                 - (nm_policy_device_change_check): remove
5414                 - (update_default_route): new function; set the default route via
5415                         the specified device
5416                 - (get_device_priority): new function; return the priority number of
5417                         a device type WRT which one should have the default route.  Order is
5418                         (highest to lowest)  wired, wireless, GSM, CDMA.
5419                 - (update_routing_and_dns): new function; determine which device should
5420                         have the default route, then update the routing table and DNS
5421                 - (maybe_auto_activate_device): new function; if a device is now
5422                         available for activation, find out what connection it would like to
5423                         activate and do it
5424                 - (schedule_activate_check): new function; if a device can be activated
5425                         now, schedule the activation.  Each device may have only one
5426                         pending activation at a given time.
5427                 - (device_state_changed): if activation was canceled, try again,
5428                         possibly with another connection; if the device was activated,
5429                         update routing and DNS; if the device was deactivated, try again
5430                         with another connection
5431                 - (device_carrier_changed): if there is no carrier, deactivate the
5432                         device; otherwise schedule an activation check for the device
5433                 - (wireless_networks_changed): schedule an activation check for the
5434                         device
5435                 - (device_added): keep track of the signal handler IDs so they can
5436                         be removed when the device goes away
5437                 - (device_removed): remove any signal handlers that might be attached
5438                         to the device; update routing and DNS
5439                 - (schedule_activate_all): new function
5440                 - (connections_added, connection_added, connection_updated): when
5441                         connections change, schedule all devices for an activation check
5442                 - (connection_removed): when a device is deactivated because its
5443                         connection was removed, schedule another activation check for it
5444                 - (nm_policy_destroy): destroy pending activations and disconnect
5445                         all device signal handlers
5446
5447         * src/nm-manager.c
5448                 - (nm_manager_activate_device): if the device was already actived,
5449                         deactivate it
5450                 - (deactivate_old_device): remove
5451                 - (connection_added_default_handler, impl_manager_activate_device):
5452                         don't deactivate other devices when activating this one
5453
5454         * src/backends/NetworkManagerGentoo.c
5455           src/backends/NetworkManagerFrugalware.c
5456           src/backends/NetworkManagerPaldo.c
5457           src/backends/NetworkManagerRedHat.c
5458           src/backends/NetworkManagerSlackware.c
5459           src/backends/NetworkManagerArch.c
5460           src/backends/NetworkManagerSuSE.c
5461           src/backends/NetworkManagerDebian.c
5462                 - (nm_system_get_mtu): remove; MTU should be provided through the
5463                         distro's system settings service plugin instead
5464                 - (nm_system_device_add_default_route_via_device): remove
5465                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5466                 - (nm_system_device_replace_default_route): new function; call
5467                         generic implementation
5468
5469         * src/backends/NetworkManagerGeneric.c
5470           src/backends/NetworkManagerGeneric.h
5471                 - (nm_generic_device_add_default_route_via_device,
5472                    nm_generic_device_add_default_route_via_device_with_iface): remove
5473                 - (nm_generic_device_replace_default_route): replace the default route
5474                         with the given route via some gateway
5475
5476         * src/NetworkManagerSystem.c
5477           src/NetworkManagerSystem.h
5478                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5479                         to routing and DNS; but set the MTU here
5480                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5481                         ip_iface of the active device; use the standard MTU setting function
5482                 - (nm_system_set_mtu): remove
5483                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5484
5485 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5486
5487         Rework the interaction between ppp manager and pppd plugin. Register a well
5488         known DBUS service in manager and let the plugin call it's methods instead
5489         of listening plugin's signals.
5490
5491         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5492         of emitting signals.
5493
5494         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5495
5496         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5497
5498         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5499         nm_ppp_manager_start().
5500
5501         * introspection/nm-ppp-manager.xml: New file.
5502
5503         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5504         the case correctly where driver is trying to send -1 for the speed, which gets
5505         casted to u16 and thus is always > 0.
5506
5507 2008-03-07  Dan Williams  <dcbw@redhat.com>
5508
5509         * src/nm-hal-manager.c
5510                 - (nm_get_device_driver_name): use net.originating_device first, fall
5511                         back to physical device.  HAL has deprecated physical_device.
5512
5513         * libnm-glib/nm-device.c
5514                 - (get_product_and_vendor): use net.originating_device first, fall
5515                         back to physical device.  HAL has deprecated physical_device.
5516                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5517
5518 2008-03-07  Dan Williams  <dcbw@redhat.com>
5519
5520         * src/nm-netlink.c
5521                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5522                         last commit; fix that
5523                 - (get_link_cache): print error string
5524
5525 2008-03-07  Dan Williams  <dcbw@redhat.com>
5526
5527         * src/nm-netlink.c
5528                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5529                         don't need this hack any more (Benoit Boissinot)
5530
5531 2008-03-06  Dan Williams  <dcbw@redhat.com>
5532
5533         * autogen.sh
5534                 - Die gnome-common, die
5535
5536 2008-03-04  Dan Williams  <dcbw@redhat.com>
5537
5538         Patch from Michael Biebl <biebl@debian.org>
5539
5540         * NetworkManager.pc.in
5541                 - doesn't actually depend on dbus-1
5542
5543         * libnm-util/nm-utils.h
5544                 - remove unused #include <dbus/dbus.h>
5545
5546         * libnm-glib/libnm_glib.pc.in
5547                 - depends on glib and dbus-glib
5548
5549 2008-03-02  Dan Williams  <dcbw@redhat.com>
5550
5551         * src/NetworkManagerPolicy.c
5552                 - s/device_state_changed_idle_id/update_state_id/
5553
5554 2008-03-02  Dan Williams  <dcbw@redhat.com>
5555
5556         * src/nm-device.c
5557           src/nm-device.h
5558           src/nm-device-802-11-wireless.c
5559           src/nm-device-802-3-ethernet.c
5560           src/NetworkManagerPolicy.c
5561                 - s/link_active/carrier
5562                 - nm_device_set_active_link() -> nm_device_set_carrier()
5563                 - nm_device_has_active_link() -> nm_device_get_carrier()
5564
5565 2008-03-02  Dan Williams  <dcbw@redhat.com>
5566
5567         * system-settings/plugins/ifcfg-fedora/parser.c
5568                 - (make_wireless_setting): fail connection creation on missing SSID
5569
5570 2008-02-29  Dan Williams  <dcbw@redhat.com>
5571
5572         * src/NetworkManagerPolicy.c
5573                 - (nm_policy_device_change_check): ensure that a previously active
5574                         device with a system connection has a link before denying a switch
5575                         to a user connection
5576
5577 2008-02-29  Dan Williams  <dcbw@redhat.com>
5578
5579         * src/nm-device-802-11-wireless.c
5580                 - (link_timeout_cb): try again if scanning; deactivate the device when
5581                         activated if the link dies
5582                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5583                         15 seconds
5584
5585 2008-02-29  Dan Williams  <dcbw@redhat.com>
5586
5587         * src/nm-device-802-11-wireless.c
5588           src/nm-device-802-11-wireless.h
5589                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5590                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5591                 - (device_cleanup): reset the scan interval lower when the device
5592                         deactivates
5593                 - (can_scan): base decision mostly off device state, not supplicant
5594                         interface state since the supplicant interface state isn't a
5595                         great indicator of whether the device is active or not
5596                 - (request_wireless_scan): clean up; schedule the next scan here
5597                 - (schedule_scan): only back the scan interval off if a new scan
5598                         actually gets scheduled; and make scan intervals tighter when the
5599                         device is disconnected
5600                 - (supplicant_iface_state_cb_handler): fold in the bits of
5601                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5602                         interval to minimum
5603                 - (activation_success_handler): reset scan interval to something
5604                         reasonable 
5605
5606 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5607
5608         reviewed by: Steev <steev@steev.net>
5609
5610         * configure.in:
5611         * src/backends/NetworkManagerGentoo.c:
5612         (nm_system_restart_mdns_responder):
5613                 Howl is no longer a supported mDNS provider
5614
5615 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5616
5617         Get rid of a bunch of unused distro specific functions.
5618
5619 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5620
5621         Implement suse plugin for system settings daemon.
5622
5623         * system-settings/plugins/ifcfg-suse/*: Implement.
5624
5625         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5626         suse.
5627
5628         * configure.in: Check (without failing) for gio.
5629         Create ifcfg-suse plugin's Makefile.
5630
5631 2008-02-20  Dan Williams  <dcbw@redhat.com>
5632
5633         * libnm-util/nm-connection.c
5634           libnm-util/nm-connection.h
5635                 - (nm_connection_compare): accept compare flags and pass them to the
5636                         setting compare function
5637
5638         * libnm-util/nm-setting.c
5639           libnm-util/nm-setting.h
5640                 - (nm_setting_compare): accept compare flags; ignore properties that are
5641                         marked fuzzy
5642
5643         * libnm-util/nm-setting-connection.c
5644           libnm-util/nm-setting-wireless.c
5645           libnm-util/nm-setting-ppp.c
5646           libnm-util/nm-setting-wired.c
5647                 - Mark some setting properties as ignorable when doing a fuzzy compare
5648
5649         * src/nm-device.c
5650                 - (device_activation_precheck): use exact compare
5651
5652 2008-02-20  Dan Williams  <dcbw@redhat.com>
5653
5654         * src/NetworkManagerPolicy.c
5655                 - (nm_policy_device_change_check): get scope off the connection, not
5656                         using the manager helper
5657
5658         * src/nm-manager.c
5659           src/nm-manager.h
5660                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5661                 - (connection_get_settings_cb): set scope and path on connection, not
5662                         using GObject data items
5663                 - (get_connection_for_proxy): don't need to return path, since that
5664                         can be gotten from the connection
5665                 - (get_connection_for_proxy): get path off the connection, not from
5666                         parameters
5667                 - (connection_removed_cb, connection_updated_cb): don't need to get
5668                         path from get_connection_for_proxy(); get scope off the connection
5669                         instead of using GObject data items
5670                 - (connection_added_default_handler, add_one_connection_element): use
5671                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5672                 - (nm_manager_get_connection_dbus_path): remove
5673                 - (nm_manager_get_connection_scope): remove
5674
5675 2008-02-20  Dan Williams  <dcbw@redhat.com>
5676
5677         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5678                 on confusing names
5679
5680         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5681                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5682                 NMExportedConnection
5683
5684         * Internally rename NMConnectionType -> NMConnectionScope
5685
5686         * Provide default implementations of the 'get_id' and 'get_settings' methods
5687                 of NMExportedConnection
5688
5689 2008-02-15  Dan Williams  <dcbw@redhat.com>
5690
5691         * src/nm-device-802-11-wireless.c
5692                 - (device_cleanup): release the AP list here too so that the AP list
5693                         doesn't survive across suspend/resume and up/down.  There is some
5694                         room for optimization, for example blow the list away when the card
5695                         brought back up, but only if the device has only been down for a
5696                         minute or more.
5697
5698 2008-02-15  Dan Williams  <dcbw@redhat.com>
5699
5700         * src/nm-hal-manager.c
5701                 - (modem_device_creator): recognize new HAL modem capabilities
5702
5703 2008-02-12  Dan Williams  <dcbw@redhat.com>
5704
5705         * system-settings/plugins/ifcfg-fedora/plugin.c
5706                 - (watch_path): handle IN_DELETE_SELF too
5707                 - (handle_connection_changed): notify when removing a connection
5708                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5709                         case of a file moving out of the profile directory
5710
5711 2008-02-12  Dan Williams  <dcbw@redhat.com>
5712
5713         * system-settings/plugins/ifcfg-fedora/parser.c
5714                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5715
5716 2008-02-12  Dan Williams  <dcbw@redhat.com>
5717
5718         * libnm-util/nm-utils.c
5719                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5720                         just any empty array
5721
5722 2008-02-12  Dan Williams  <dcbw@redhat.com>
5723
5724         * system-settings/src/nm-system-config-interface.c
5725           system-settings/src/nm-system-config-interface.h
5726                 - (load_connections): get_connections() should now return an allocated
5727                         GSList that the system settings service will free
5728
5729         * system-settings/plugins/ifcfg-fedora/plugin.c
5730           system-settings/plugins/ifcfg-fedora/parser.h
5731           system-settings/plugins/ifcfg-fedora/parser.c
5732                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5733                         in the profile directory, handle resolv.conf file changes
5734
5735 2008-02-10  Dan Williams  <dcbw@redhat.com>
5736
5737         * src/nm-device-802-3-ethernet.c
5738                 - (real_bring_up): save the supplicant interface state signal id
5739                 - (real_bring_down): disconnect from the supplicant interface state
5740                         signal
5741
5742 2008-02-07  Dan Williams  <dcbw@redhat.com>
5743
5744         * initscript/RedHat/NetworkManager.in
5745           initscript/RedHat/NetworkManagerDispatcher.in
5746                 - Add new-style LSB init headers
5747
5748 2008-02-07  Dan Williams  <dcbw@redhat.com>
5749
5750         * system-settings/src/dbus-settings.c
5751           system-settings/src/dbus-settings.h
5752                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5753                         table of secrets
5754                 - (connection_settings_get_secrets): consolidate error returns into
5755                         one place; use the new get_secrets() plugin interface function to
5756                         get secrets from the plugin itself rather than using GObject data
5757                         magic
5758
5759         * system-settings/src/main.c
5760                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5761                    load_connections): keep a private list of the plugin-returned
5762                         connections, don't use the plugin's GSList
5763
5764         * system-settings/plugins/ifcfg-fedora/plugin.c
5765                 - (watch_path): watch the path, not the filename (duh)
5766                 - (reload_all_connections): use the direct hash/equal functions; the
5767                         ones for int aren't appropriate here
5768                 - (get_secrets, system_config_interface_init): implement the
5769                         get_secrets() function
5770                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5771                         now in the connection's ConnectionData instead of being a GObject
5772                         data property
5773                 - (handle_profile_item_changed): ifcfg file path is now in the
5774                         connection's ConnectionData instead of being a GObject data property;
5775                         be sure to copy secrets over from the new connection to the existing
5776                         connection when updating the connection's settings
5777                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5778                         file descriptor
5779
5780         * system-settings/plugins/ifcfg-fedora/parser.c
5781           system-settings/plugins/ifcfg-fedora/parser.h
5782                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5783                    connection_data_copy_secrets, connection_data_free,
5784                    connection_data_add): new functions; connection data manipulation
5785                 - (make_wireless_security_setting): stuff secrets into the
5786                         connection data, not as GObject data items; make sure to close
5787                         the keys ifcfg file
5788                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5789                         connection data to the connection
5790
5791 2008-02-07  Dan Williams  <dcbw@redhat.com>
5792
5793         * system-settings/src/nm-system-config-interface.c
5794           system-settings/src/nm-system-config-interface.h
5795                 - Add a get_secrets() interface function to retrieve secrets for a
5796                         specific setting of a specific connection.  Document the interface
5797                         a bit more too.
5798
5799 2008-02-07  Dan Williams  <dcbw@redhat.com>
5800
5801         * src/nm-device-802-11-wireless.c
5802                 - (handle_auth_or_fail): new function; consolidate device activation
5803                         failure check after a certain number of failures getting secrets
5804                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5805                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5806                         the connection if secrets were requested more than a few times
5807                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5808                         tries here; otherwise they are cleared before the IP configure
5809                         timeout, which happens with open system WEP when key is wrong
5810                 - (activation_success_handler): clear wireless secrets tries here too
5811
5812 2008-02-07  Dan Williams  <dcbw@redhat.com>
5813
5814         * src/NetworkManagerPolicy.c
5815                 - (connection_updated): clear invalid tag when connection gets updated
5816                         to allow that connection to be tried again
5817                 - (nm_policy_new): save signal ids so they can be disconnected when
5818                         the policy is destroyed
5819                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5820                         and disconnect all signals from the manager object so that none
5821                         of the policy functions gets called after the policy is destroyed
5822
5823 2008-02-06  Dan Williams  <dcbw@redhat.com>
5824
5825         * src/nm-manager.c
5826                 - (finalize): remove devices a bit earlier; clean up system settings
5827                         poke
5828                 - (nm_manager_name_owner_changed): clean up system settings poke when
5829                         the service appears, and try to restart it if it fails
5830                 - (poke_system_settings_daemon_cb): try to get the system settings
5831                         service started through D-Bus service activation
5832                 - (initial_get_connections): start the system settings daemon if it's
5833                         not already running
5834
5835 2008-02-05  Dan Williams  <dcbw@redhat.com>
5836
5837         * src/supplicant-manager/nm-supplicant-config.c
5838                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5839                         broadcast networks too
5840
5841 2008-02-04  Dan Williams  <dcbw@redhat.com>
5842
5843         * system-settings/plugins/ifcfg-fedora/parser.c
5844                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5845                         need key_mgmt set too
5846                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5847                         .bak files; ensure that an error is set whenever NULL gets returned
5848
5849 2008-02-04  Dan Williams  <dcbw@redhat.com>
5850
5851         * system-settings/src/Makefile.am
5852                 - Install D-Bus service activation file for the system settings
5853                         service
5854
5855         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5856                 - D-Bus service activation file for system settings service
5857
5858 2008-02-04  Dan Williams  <dcbw@redhat.com>
5859
5860         * system-settings/src/main.c
5861                 - (parse_config_file): parse a config file
5862                 - (main): accept --config option and read plugins from config file
5863
5864 2008-02-04  Dan Williams  <dcbw@redhat.com>
5865
5866         * system-settings/plugins/ifcfg-fedora/plugin.c
5867                 - Change reported name to 'ifcfg-fedora'
5868                 - Use IFCFG_PLUGIN_NAME
5869
5870         * system-settings/plugins/ifcfg-fedora/plugin.c
5871                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5872
5873 2008-02-04  Dan Williams  <dcbw@redhat.com>
5874
5875         * system-settings/plugins/ifcfg-fedora/parser.c
5876                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5877                 - (make_connection_setting): use get_ifcfg_name()
5878                 - (make_wireless_security_setting): handle shadow key files
5879                 - (get_one_wep_key): treat empty string as NULL
5880
5881 2008-02-04  Dan Williams  <dcbw@redhat.com>
5882
5883         * src/supplicant-manager/nm-supplicant-manager.c
5884                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5885                         glib automatically reschedule
5886                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5887                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5888                         the supplicant
5889
5890 2008-02-01  Dan Williams  <dcbw@redhat.com>
5891
5892         * src/NetworkManagerPolicy.c
5893                 - (device_state_changed): schedule a change check when a device gets
5894                         deactivated so something happens if you disconnect GSM/CDMA
5895
5896 2008-01-31  Dan Williams  <dcbw@redhat.com>
5897
5898         * src/nm-device-802-11-wireless.h
5899           src/nm-device-802-11-wireless.c
5900                 - (ap_list_get_ap_by_ssid, is_associated,
5901                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5902                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5903                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5904                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5905                         function
5906
5907 2008-01-30  Dan Williams  <dcbw@redhat.com>
5908
5909         * system-settings/plugins/ifcfg
5910         * system-settings/plugins/ifcfg-fedora
5911                 - Move the ifcfg plugin to ifcfg-fedora
5912
5913 2008-01-24  Dan Williams  <dcbw@redhat.com>
5914
5915         * libnm-glib/nm-device-802-11-wireless.c
5916                 - (get_access_point): move the "/" check here; check for invalid path
5917                         too
5918                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5919                         to get_access_point()
5920                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5921                         to send signals for non-existent access points
5922
5923 2008-01-24  Dan Williams  <dcbw@redhat.com>
5924
5925         * libnm-glib/nm-device-802-11-wireless.c
5926                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5927
5928 2008-01-23  Dan Williams  <dcbw@redhat.com>
5929
5930         * libnm-glib/libnm_glib.c
5931                 - (libnm_glib_init): make thread joinable
5932                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5933
5934 2008-01-23  Dan Williams  <dcbw@redhat.com>
5935
5936         * test/libnm_glib_test.c
5937                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5938                 - (main): set up signal handlers; call libnm_glib_shutdown
5939
5940 2008-01-21  Dan Williams  <dcbw@redhat.com>
5941
5942         * include/NetworkManager.h
5943                 - Add CDMA mobile broadband card device type
5944
5945         * src/nm-hal-manager.c
5946                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5947                         must now be tagged with 'cdma' or 'gsm' capability
5948
5949         * src/nm-cdma-device.c
5950           src/nm-cdma-device.h
5951           src/Makefile.am
5952                 - Add the CDMA mobile broadband card device class
5953
5954         * libnm-util/nm-connection.c
5955                 - (register_default_settings): add NMSettingCdma
5956
5957         * libnm-util/nm-setting-cdma.c
5958           libnm-util/nm-setting-cdma.h
5959           libnm-util/Makefile.am
5960                 - Add the CDMA mobile broadband card setting class
5961
5962         * libnm-glib/nm-cdma-device.c
5963           libnm-glib/nm-cdma-device.h
5964           libnm-glib/Makefile.am
5965                 - Add the CDMA mobile broadband card GLib proxy class
5966
5967         * libnm-glib/nm-client.c
5968                 - (get_device): handle CDMA devices too
5969
5970 2008-01-21  Dan Williams  <dcbw@redhat.com>
5971
5972         * src/ppp-manager/nm-ppp-manager.c
5973                 - (ip4_config_get): set peer address too
5974
5975         * src/ppp-manager/nm-pppd-plugin.c
5976                 - (nm_ip_up): try harder to get the peer's address
5977
5978         * src/NetworkManagerSystem.c
5979                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5980                         address, use that too.  Otherwise, some PPP connections won't work.
5981
5982 2008-01-19  Dan Williams  <dcbw@redhat.com>
5983
5984         * src/NetworkManagerPolicy.c
5985                 - (nm_policy_device_change_check): system connections override user
5986                         connections; don't activate a user connection if there's a currently
5987                         active system connection, and new, better system connections always
5988                         interrupt user connections
5989
5990 2008-01-19  Dan Williams  <dcbw@redhat.com>
5991
5992         * src/nm-manager.h
5993                 - (nm_manager_get_connection_type): new function
5994
5995 2008-01-19  Dan Williams  <dcbw@redhat.com>
5996
5997         * src/nm-device-802-11-wireless.c
5998                 - (real_get_best_connection): collapse find_best_connection() into this
5999                         function
6000
6001 2008-01-19  Dan Williams  <dcbw@redhat.com>
6002
6003         * src/nm-device-802-3-ethernet.c
6004                 - (real_get_best_connection): collapse find_best_connection() into this
6005                         function
6006
6007 2008-01-18  Dan Williams  <dcbw@redhat.com>
6008
6009         * src/nm-device-802-3-ethernet.c
6010                 - (find_best_connection): check MAC address too
6011                 - (real_get_best_connection): let autoconnect=True connections activate
6012                         for devices that don't have carrier detection
6013
6014         * src/nm-device-802-11-wireless.c
6015                 - (find_best_connection): check MAC address too
6016
6017 2008-01-18  Dan Williams  <dcbw@redhat.com>
6018
6019         * system-settings/plugins/ifcfg/parser.c
6020                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6021
6022 2008-01-17  Dan Williams  <dcbw@redhat.com>
6023
6024         * src/nm-device-802-3-ethernet.c
6025                 - (nm_device_802_3_ethernet_carrier_on,
6026                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6027                         carrier events that might come in for devices that don't support
6028                         carrier detect
6029
6030 2008-01-17  Dan Williams  <dcbw@redhat.com>
6031
6032         * src/nm-device-interface.c
6033                 - (nm_device_interface_check_connection_conflicts): need to actually
6034                         get the interface, not cast to the object
6035
6036         * src/nm-device.c
6037                 - (nm_device_check_connection_conflicts): need to get the device class,
6038                         not cast the device to the device class
6039
6040 2008-01-17  Dan Williams  <dcbw@redhat.com>
6041
6042         * src/nm-device-802-11-wireless.c
6043                 - (real_check_connection_conflicts): ignore connections that aren't
6044                         wireless connections
6045
6046 2008-01-17  Dan Williams  <dcbw@redhat.com>
6047
6048         * src/NetworkManagerPolicy.c
6049                 - (nm_policy_device_change_check): clear change check idle here
6050                 - (device_change_check_done): remove
6051                 - (schedule_change_check): simplify
6052
6053 2008-01-17  Dan Williams  <dcbw@redhat.com>
6054
6055         * src/nm-manager.c
6056                 - (check_connection_allowed): take an NMDeviceInterface instead of
6057                         an NMDevice object as an argument
6058                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6059                         check_connection_allowed()
6060
6061 2008-01-13  Dan Williams  <dcbw@redhat.com>
6062
6063         * libnm-glib/nm-device-802-11-wireless.c
6064                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6065
6066 2008-01-12  Dan Williams  <dcbw@redhat.com>
6067
6068         * src/nm-device-802-11-wireless.c
6069                 - (activation_success_handler): if a match was found in the scan list
6070                         and that match is a hidden AP, update that AP's SSID
6071
6072 2008-01-11  Dan Williams  <dcbw@redhat.com>
6073
6074         * src/NetworkManagerAP.c
6075                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6076
6077         * src/nm-device-802-11-wireless.c
6078                 - (get_active_ap): do two passes over the scan list if the caller
6079                         requests that hidden APs get matched too; during the second pass
6080                         when matching hidden APs, ignore the SSID since hidden APs in the
6081                         scan list don't have an SSID yet
6082                 - (periodic_update): move some checks to
6083                         nm_device_802_11_periodic_update() because not all callers need them
6084                 - (nm_device_802_11_periodic_update): move some checks here from
6085                         perodic_update()
6086                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6087                         matching on incoming scan results, because the fake AP's flags
6088                         might be slightly different (yet still compatible) with the incoming
6089                         scan result's flags and they might actually be the same AP; update
6090                         the rate on merged APs too
6091                 - (activation_success_handler): update the frequency of the fake AP
6092                         on successful connection; match hidden APs too since if the
6093                         current AP is fake, there might already be a scan result in the
6094                         scan list for the desired AP, just without it's SSID filled in yet
6095
6096 2008-01-10  Dan Williams  <dcbw@redhat.com>
6097
6098         * src/NetworkManagerAP.c
6099                 - (foreach_property_cb): catch more hidden SSID formats
6100
6101 2008-01-10  Dan Williams  <dcbw@redhat.com>
6102
6103         Fix gnome.org #464215.  Requires the kernel patch titled
6104         "Introduce WEXT scan capabilities" but will handle the patch not being
6105         present, you'll just continue to have problems with hidden SSIDs when
6106         using mac80211-based drivers.
6107
6108         * src/supplicant-manager/nm-supplicant-config.h
6109           src/supplicant-manager/nm-supplicant-config.c
6110                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6111                         whether the driver supports SSID scans or not.  If it does, and if
6112                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6113
6114         * src/nm-device-802-11-wireless.c
6115                 - (constructor): check whether or not the driver supports SSID scans
6116                 - (build_supplicant_config): pass driver SSID scan capability when
6117                         building the wireless bits of the supplicant config
6118
6119 2008-01-09  Dan Williams  <dcbw@redhat.com>
6120
6121         * src/nm-device.c
6122           src/nm-device.h
6123                 - (device_activation_precheck, check_connection_complete): remove this
6124                         virtual function; incomplete connections should be invalid by
6125                         definition, complete-ness should be checked in the setting's
6126                         verify function
6127
6128         * src/nm-serial-device.c
6129           src/nm-gsm-device.c
6130                 - (real_check_connection_complete): remove
6131
6132         * libnm-util/nm-setting-serial.c
6133                 - (verify): new function; ensure there is a PPP setting too
6134
6135         * libnm-util/nm-setting-gsm.c
6136                 - (verify): ensure there is a serial setting too
6137
6138 2008-01-06  Dan Williams  <dcbw@redhat.com>
6139
6140         * src/dhcp-manager/nm-dhcp-manager.c
6141                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6142                         (gnome.org #332953)
6143
6144 2008-01-04  Dan Williams  <dcbw@redhat.com>
6145
6146         * src/named-manager/nm-named-manager.c
6147                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6148                         nameservers if the secondary config doesn't have any
6149                         (gnome.org #346833)
6150
6151 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6152
6153         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6154         with G_PARAM_CONSTRUCT so that they get the default values.
6155
6156         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6157         the monitoring device and prints out the output for now. Or more precicely, doesn't
6158         do absolutely anything right now since the montoring device argument is never set.
6159
6160         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6161         requires it's own knob to turn it on.
6162         (config_fd): Add NMSettingSerial to the arguments list.
6163         (nm_serial_device_open): Ditto.
6164         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6165         (nm_serial_device_get_io_channel): Implement.
6166
6167         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6168         a new reference every time (and forgetting to release it sometimes) is a pain and
6169         it's not like NMManager could work without dbus.
6170         (nm_manager_add_device): Register the added device on dbus here.
6171
6172         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6173         device.
6174
6175         * src/nm-device.c (constructor): Don't export the device here, instead export
6176         it when it's added to the NMManager's device list.
6177
6178 2007-12-31  Dan Williams  <dcbw@redhat.com>
6179
6180         * src/nm-device-interface.c
6181           src/nm-device-interface.h
6182                 - (nm_device_interface_check_connection_conflicts): new function
6183
6184         * src/nm-device.c
6185           src/nm-device.h
6186                 - (nm_device_check_connection_conflicts): new function
6187                 - (device_activation_precheck): don't require subclasses to implement
6188                         check_connection_complete()
6189                 - check_connection() -> check_connection_complete()
6190
6191         * src/nm-device-802-11-wireless.c
6192                 - (real_check_connection): remove; unused
6193                 - (real_check_connection_conflicts): implement, handle lockdown for
6194                         system connections
6195
6196         * src/nm-device-802-3-ethernet.c
6197                 - (real_check_connection): remove; unused
6198
6199         * src/nm-manager.c
6200                 - (check_connection_allowed): new function
6201                 - (nm_manager_activate_device): ensure the connection being requested
6202                         is allowed to be activated
6203
6204         * src/nm-serial-device.c
6205           src/nm-gsm-device.c
6206                 - real_check_connection() -> real_check_connection_complete()
6207
6208 2007-12-27  Dan Williams  <dcbw@redhat.com>
6209
6210         * src/nm-device-interface.c
6211           src/nm-device-interface.h
6212                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6213                         normalize and expand errors
6214                 - (nm_device_interface_init): register errors so they can be marshalled
6215                         through dbus-glib
6216                 - (nm_device_interface_activate): ensure that failure of activation
6217                         returns an error
6218
6219         * src/nm-device.c
6220           src/nm-device.h
6221                 - (device_activation_precheck): implementations of check_connection()
6222                         now take a GError and must fill it in if the check fails.  Return
6223                         more descriptive error if the requested connection is already
6224                         activating
6225                 - (nm_device_activate): actually try to return descriptive errors on
6226                         failures
6227
6228         * src/nm-device-802-11-wireless.c
6229           src/nm-device-802-3-ethernet.c
6230           src/nm-serial-device.c
6231           src/nm-gsm-device.c
6232                 - (real_check_connection): return more descriptive errors on failure
6233
6234         * src/NetworkManagerPolicy.c
6235                 - (nm_policy_device_change_check): print activation errors in the logs
6236
6237         * src/nm-manager.c
6238                 - (nm_manager_error_quark, nm_manager_error_get_type,
6239                    nm_manager_class_init): new errors
6240                 - (nm_manager_activate_device): handle errors
6241                 - (nm_manager_error_new): removed
6242                 - (wait_for_connection_expired, connection_added_default_handler,
6243                    impl_manager_activate_device): better error handling
6244
6245 2007-12-27  Dan Williams  <dcbw@redhat.com>
6246
6247         Fixes gnome.org #466954
6248
6249         * src/supplicant-manager/nm-supplicant-settings-verify.c
6250                 - Allow 'frequency' network property
6251
6252         * src/supplicant-manager/nm-supplicant-config.c
6253           src/supplicant-manager/nm-supplicant-config.h
6254                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6255                         for callers to specify the frequency an Ad-Hoc network should operate
6256                         on.  Some drivers require this to successfully create an Ad-Hoc
6257                         network.
6258
6259         * src/nm-device-802-11-wireless.c
6260                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6261                         guint32 value in MHz
6262                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6263                         iw_freq_to_uint32()
6264                 - (find_supported_frequency): new function; find a free supported
6265                         frequency for a user-created Ad-Hoc network
6266                 - (build_supplicant_config): if no frequency was specified for a user-
6267                         created Ad-Hoc network, find a free one to use
6268                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6269                         a specific object as user-created
6270
6271 2007-12-27  Dan Williams  <dcbw@redhat.com>
6272
6273         * libnm-util/nm-utils.c
6274           libnm-util/nm-utils.h
6275                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6276                         for adhoc networks
6277
6278 2007-12-24  Dan Williams  <dcbw@redhat.com>
6279
6280         * libnm-util/nm-setting-wireless.c
6281                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6282                         185, 187, 188, 192, and 196
6283
6284 2007-12-24  Dan Williams  <dcbw@redhat.com>
6285
6286         * src/nm-device-802-11-wireless.c
6287                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6288                         a channel # instead of a frequency
6289
6290 2007-12-24  Dan Williams  <dcbw@redhat.com>
6291
6292         * src/NetworkManagerAP.c
6293           src/NetworkManagerAP.h
6294                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6295                 - (freq_to_channel): handle split band tables
6296                 - (channel_to_freq): handle split band tables, take a band argument
6297
6298 2007-12-24  Dan Williams  <dcbw@redhat.com>
6299
6300         * libnm-util/nm-setting-connection.h
6301           libnm-util/nm-setting-connection.c
6302                 - Add 'lockdown' member
6303
6304 2007-12-22  Dan Williams  <dcbw@redhat.com>
6305
6306         * libnm-util/nm-setting-wireless.c
6307                 - (nm_setting_wireless_class_init): add missing 'rate' property
6308                         specification
6309
6310 2007-12-18  Dan Williams  <dcbw@redhat.com>
6311
6312         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6313
6314         * src/nm-netlink-monitor.c
6315           src/nm-netlink-monitor.h
6316                 - Remove handrolled netlink, use libnl instead
6317
6318         * src/nm-device-802-3-ethernet.c
6319                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6320                    nm_device_802_3_ethernet_carrier_on): use new names
6321
6322 2007-12-17  Dan Williams  <dcbw@redhat.com>
6323
6324         * configure.in
6325                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6326                         and fixes memory leaks)
6327
6328         * src/nm-netlink.c
6329                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6330                         automatically handle the netlink PID
6331
6332 2007-12-17  Dan Williams  <dcbw@redhat.com>
6333
6334         Patch from Michael Biebl <biebl@debian.org>
6335
6336         * configure.in
6337           src/ppp-manager/Makefile.am
6338                 - fix up install dir of pppd plugin
6339                 - clean up configure.in a bit
6340
6341 2007-12-12  Dan Williams  <dcbw@redhat.com>
6342
6343         * system-settings/src/nm-system-settings.conf
6344                 - Allow non-root clients (like the applet) to read settings
6345
6346 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6347
6348         * Replace all occurences of 'UMTS' with 'GSM'.
6349
6350 2007-12-07  Dan Williams  <dcbw@redhat.com>
6351
6352         * src/nm-serial-device.c
6353                 - (real_is_up): serial devices are always "up"
6354
6355 2007-12-07  Dan Williams  <dcbw@redhat.com>
6356
6357         * src/nm-netlink.c
6358           src/NetworkManagerSystem.c
6359                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6360                         twice (gnome.org #491047)
6361                 - Make more robust against allocation-related failures should they occur
6362
6363 2007-12-07  Dan Williams  <dcbw@redhat.com>
6364
6365         Noticed by Christian Persch <chpe@gnome.org>
6366
6367         Always chain up to parent object in dispose and finalize handlers.
6368                 (gnome.org #433112)
6369
6370 2007-12-07  Dan Williams  <dcbw@redhat.com>
6371
6372         * src/nm-device-802-11-wireless.c
6373                 - Wrap #include of linux/mii.h to fix redefined structures due to
6374                         incorrect kernel headers (gnome.org #350061)
6375
6376 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6377
6378         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6379         before doing anything else.
6380         (init_modem): Move modem initialization here.
6381
6382         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6383         (nm_serial_device_flash): Implement.
6384
6385         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6386         changes signal is "StateChanged" and not "Status".
6387         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6388
6389 2007-12-06  Dan Williams  <dcbw@redhat.com>
6390
6391         * src/supplicant-manager/nm-supplicant-config.c
6392                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6393                         to only send some options when they make sense; also send phase2
6394                         option to the supplicant (possible fix for rh #399631)
6395
6396 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6397
6398         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6399         arguments: This whole file shouldn't really know anything about NMDevices, it
6400         should deal only with device interfaces. Devices might have different ifaces for
6401         different stuff and this place shouldn't know anything about it.
6402
6403         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6404         (global_state_changed): Implement. In the current NM it's not really important,
6405         but will be required in the case of multiple active devices. (Or even better,
6406         if stuff like that gets moved out from NM).
6407
6408         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6409         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6410         instead.
6411
6412         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6413         devices like serial devices (ttyS0 and ppp0 for example).
6414         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6415         set.
6416         (nm_device_set_ip_iface): Implement.
6417         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6418         after setting ip4_config from here ...
6419         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6420         than this function should call nm_system_device_set_from_ip4_config() because no
6421         other code has enough information on which arguments to use. So instead, other code
6422         could just set the new ip4 config using this function and everyone is happy.
6423
6424         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6425         if we happen to get deactivated while something is pending.
6426         (automatic_registration): Handle the response that indicates pending network
6427         registration and wait until the pending registration is done.
6428         (real_deactivate_quickly): If there's a pending operation, cancel it.
6429
6430         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6431         (real_deactivate_quickly): ... and remove it when it's down.
6432         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6433         it if needed.
6434         (nm_serial_device_wait_for_reply): Ditto.
6435
6436 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6437
6438         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6439         (get_network_done): Remove newline, nm_info() does it already.
6440         (real_act_stage1_prepare): Turn the modem echo off.
6441
6442         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6443         device, set the route to the device interface. This is a hack.
6444
6445         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6446         return, no need for a new-line.
6447         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6448         Change the device iface here (ugh).
6449         (real_act_stage4_get_ip4_config): Implement.
6450         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6451         Restore the device iface.
6452
6453         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6454         device is not wired or wireless (eg, automatically upped) device.
6455
6456         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6457         it isn't.
6458         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6459
6460         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6461         before calling it's is_device_fn().
6462
6463 2007-12-05  Dan Williams  <dcbw@redhat.com>
6464
6465         * libnm-util/nm-utils.c
6466                 - (nm_utils_register_value_transformations,
6467                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6468                         GHashTables of GValues too
6469
6470 2007-12-04  Dan Williams  <dcbw@redhat.com>
6471
6472         * initscript/RedHat/NetworkManager.in
6473                 - No longer start named; it's D-Bus interface is going away
6474
6475 2007-12-04  Dan Williams  <dcbw@redhat.com>
6476
6477         Patch from Michael Biebl <biebl@debian.org>
6478
6479         * system-settings/plugins/ifcfg/Makefile.am
6480           system-settings/src/main.c
6481           system-settings/src/Makefile.am
6482                 - Put system settings plugins in NM plugins dir
6483
6484         * src/ppp-manager/Makefile.am
6485           src/ppp-manager/nm-ppp-manager.c
6486                 - Move pppd plugin to NM plugins dir
6487
6488 2007-12-04  Dan Williams  <dcbw@redhat.com>
6489
6490         * libnm-util/nm-setting-vpn-properties.h
6491                 - Clarify usage of the 'data' member of the setting
6492
6493         * libnm-util/nm-setting-vpn-properties.c
6494                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6495                 - (set_property): just remove all the settings; don't recreate the has
6496                 - (update_one_secret): don't need to create the hash table here since
6497                         it should always be present
6498
6499 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6500
6501         Implement PIN and PUK requesting.
6502
6503         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6504         (enter_pin): Handle PIN and PUK requests.
6505         (real_act_stage1_prepare): Clear the secret type.
6506         (real_connection_secrets_updated): Implement this class method to get
6507         notified when new secrets arrive.
6508         (nm_umts_device_class_init): Add private data back to the umts device class
6509         to store the required secret type.
6510
6511 2007-12-01  Dan Williams  <dcbw@redhat.com>
6512
6513         * system-settings/plugins/ifcfg/parser.c
6514                 - (parser_parse_file): don't try to verify NULL connections
6515
6516 2007-12-01  Dan Williams  <dcbw@redhat.com>
6517
6518         * system-settings/src/main.c
6519                 - (load_connections, add_connection_to_settings): actually export
6520                         plugin-provided connections over D-Bus so NM can get them
6521
6522 2007-12-01  Dan Williams  <dcbw@redhat.com>
6523
6524         * system-settings/plugins/ifcfg/parser.c
6525           system-settings/plugins/ifcfg/parser.h
6526           system-settings/plugins/ifcfg/plugin.c
6527                 - Hook up more inotify bits (untested)
6528
6529 2007-11-29  Dan Williams  <dcbw@redhat.com>
6530
6531         * system-settings/src/nm-system-config-interface.h
6532           system-settings/src/nm-system-config-interface.c
6533                 - (nm_system_config_interface_init,
6534                    nm_system_config_interface_get_connections): add
6535
6536         * system-settings/src/main.c
6537                 - (load_plugins, load_connections, main): use a GSList for plugins
6538                         to ensure priority ordering
6539
6540         * system-settings/plugins/ifcfg/parser.c
6541                 - (ifcfg_error_quark): move to plugin.c, and rename
6542
6543         * system-settings/plugins/ifcfg/plugin.h
6544           system-settings/plugins/ifcfg/plugin.c
6545                 - (ifcfg_plugin_error_quark): move here from parser.c
6546                 - rework connection loading and initialization
6547                 - Add preliminary inotify support for network profile config file
6548
6549 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6550
6551         Merge the beginnings of the new GSM card support.
6552
6553         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6554         ppp watch source before killing pppd - If this happens from g_object_unref()
6555         then the ppp manager is already destroyed by the time the watch callback runs.
6556
6557         * src/nm-hal-manager.c: Add a device_type_name string to the device
6558         creators, so that we can print a nice human readable string when a
6559         device is added.
6560
6561         * src/nm-umts-device.c (automatic_registration_get_network): Query
6562         for the activated network, not much is done with the result thought.
6563
6564         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6565         (ppp_ip4_config): Change the device state to activated here for now.
6566         (real_check_connection): Make sure the connection includes ppp setting.
6567
6568         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6569
6570         * libnm-glib/Makefile.am: Add the new files to build.
6571
6572         * libnm-glib/nm-umts-device.c: 
6573         * libnm-glib/nm-umts-device.h: Implement.
6574
6575 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6576
6577         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6578         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6579
6580         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6581         the timeout source - this function is only called when the timeout source has
6582         been removed.
6583         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6584         to be big enough to contain the terminating zero element as well.
6585         The timeout argument is meant to be in seconds now.
6586         (real_deactivate_quickly): Implement.
6587
6588         * src/NetworkManager.conf: Allow root to own 
6589         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6590
6591         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6592         (not unsigned ints).
6593
6594         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6595         small issue with parity bounds - capital letters have lower ascii codes
6596         than lower case letters.
6597
6598         * libnm-util/nm-connection.c (register_default_settings): Register serial
6599         and umts settings.
6600
6601 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6602
6603         Remove the "index" property from devices as not all device types have this.
6604
6605         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6606
6607         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6608         (wired_device_creator): Get the device interface from hal to create the device.
6609         (wireless_device_creator): Ditto.
6610
6611         * src/nm-device.c (nm_device_init): Remove the index member.
6612         (constructor): Remove the checks for index property, make interface property
6613         a require constructor property.
6614         Use the HAL udi for DBus path for devices.
6615         (nm_device_get_index): Remove.
6616         (set_property): Remove index handling.
6617         (get_property): Ditto.
6618         (nm_device_get_dbus_path): Remove.
6619
6620         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6621         property.
6622
6623         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6624         Access the device index through it's interface.
6625         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6626         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6627         index argument. Add interface argument.
6628
6629         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6630         the useless test_dev argument. Remove index argument. Add interface arugment.
6631
6632         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6633         device index through interface.
6634         (nm_system_set_mtu): Ditto.
6635
6636         * introspection/nm-device.xml: Remove the "Index" property.
6637
6638 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6639
6640         * src/nm-serial-device.c: 
6641         * src/nm-serial-device.c: 
6642         * src/nm-umts-device.c:
6643         * src/nm-umts-device.h: Implement.
6644
6645         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6646         allocated by libhal.
6647         (modem_device_creator): Implement.
6648         (register_built_in_creators): Register the modem creator.
6649
6650         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6651         Remove the unused test_dev argument.
6652
6653         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6654
6655         * src/Makefile.am: Add new files to build.
6656         Link in ppp-manager.
6657
6658         * libnm-util/nm-setting-umts.c: 
6659         * libnm-util/nm-setting-umts.h: 
6660         * libnm-util/nm-setting-serial.c: 
6661         * libnm-util/nm-setting-serial.h: Implement.
6662
6663         * libnm-util/Makefile.am: Add new files to build.
6664
6665 2007-11-28  Dan Williams  <dcbw@redhat.com>
6666
6667         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6668
6669         Support DHCP-provided static routes.
6670
6671         * src/nm-ip4-config.h
6672           src/nm-ip4-config.c
6673                 - Add get/set functions for static routes
6674
6675         * src/dhcp-manager/nm-dhcp-manager.c
6676                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6677                         DHCP response
6678
6679         * src/NetworkManagerSystem.c
6680                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6681                         interface when applying the IP4Config
6682
6683 2007-11-28  Dan Williams  <dcbw@redhat.com>
6684
6685         * src/nm-device-802-11-wireless.c
6686                 - (real_act_stage1_prepare): mark APs created for hidden networks
6687                         as non-broadcasting
6688
6689 2007-11-27  Dan Williams  <dcbw@redhat.com>
6690
6691         * system-settings/src/nm-system-config-interface.h
6692                 - Note how to store secrets on NMSetting objects
6693
6694         * system-settings/src/dbus-settings.c
6695                 - (connection_settings_get_secrets): implement
6696
6697 2007-11-27  Dan Williams  <dcbw@redhat.com>
6698
6699         * system-settings/plugins/ifcfg/Makefile.am
6700           system-settings/plugins/ifcfg/parser.c
6701           system-settings/plugins/ifcfg/parser.h
6702           system-settings/plugins/ifcfg/plugin.c
6703                 - Parse wireless connections too
6704
6705         * system-settings/src/dbus-settings.c
6706           system-settings/src/dbus-settings.h
6707           system-settings/src/main.c
6708                 - Handle connection update/removal if the plugin supports it
6709
6710 2007-11-27  Dan Williams  <dcbw@redhat.com>
6711
6712         * src/nm-dbus-manager.h
6713           src/nm-hal-manager.c
6714                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6715                         do it for them
6716
6717         * src/Makefile.am
6718           src/NetworkManagerDbusUtils.c
6719           src/NetworkManagerDbusUtils.h
6720                 - Remove these two source files; they are unused
6721
6722 2007-11-27  Dan Williams  <dcbw@redhat.com>
6723
6724         * src/vpn-manager/nm-vpn-manager.c
6725                 - (impl_vpn_manager_connect): fix system settings check (found by
6726                         James M. Leddy)
6727
6728 2007-11-26  Dan Williams  <dcbw@redhat.com>
6729
6730         * Fix warnings so everything compiles with --enable-more-warnings
6731
6732 2007-11-25  Dan Williams  <dcbw@redhat.com>
6733
6734         * system-settings/*
6735                 - Rework structure and code to use GModule-loaded plugins and a plugin
6736                         interface that plugins export to the system settings service
6737
6738 2007-11-21  Dan Williams  <dcbw@redhat.com>
6739
6740         * system-settings/*
6741                 - Add Soren's system settings service.  Needs work for distros other
6742                         than Fedora; the backends from NM should mostly migrate to here
6743                         and be converted to GObjects
6744
6745 2007-11-21  Dan Williams  <dcbw@redhat.com>
6746
6747         * libnm-util/nm-setting-vpn-properties.c
6748                 - (set_property): must deep-copy the given settings hash, otherwise
6749                         double-free errors occur when the setting is disposed of
6750
6751 2007-11-21  Dan Williams  <dcbw@redhat.com>
6752
6753         * src/vpn-manager/nm-vpn-act-request.h
6754           src/vpn-manager/nm-vpn-act-request.c
6755                 - Remove; unused
6756
6757 2007-11-20  Dan Williams  <dcbw@redhat.com>
6758
6759         * libnm-util/nm-utils.c
6760                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6761                    nm_utils_convert_ip4_addr_struct_array_to_string,
6762                    nm_utils_register_value_transformations): print out the readable
6763                         values of more types of properties of NMSettings subclasses
6764
6765 2007-11-20  Dan Williams  <dcbw@redhat.com>
6766
6767         * libnm-util/nm-setting-ip4-config.c
6768                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6769                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6770                         marshal GValueArrays inside collections, so switch to types that it
6771                         can actually marshal/demarshal
6772
6773 2007-11-16  Dan Williams  <dcbw@redhat.com>
6774
6775         * libnm-util/nm-setting-wireless-security.c
6776                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6777                         minimal verification of EAP methods too
6778                 - (verify): verify phase1 eap methods too
6779
6780 2007-11-15  Dan Williams  <dcbw@redhat.com>
6781
6782         * libnm-glib/nm-device.h
6783           libnm-glib/nm-device.c
6784                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6785                         const char *
6786
6787 2007-11-15  Dan Williams  <dcbw@redhat.com>
6788
6789         * libnm-glib/nm-device.c
6790                 - (get_product_and_vendor): don't try to free things that should be
6791                         freed
6792
6793 2007-11-15  Dan Williams  <dcbw@redhat.com>
6794
6795         * src/NetworkManagerUtils.c
6796                 - (nm_ethernet_address_is_valid): unbreak previous fix
6797
6798 2007-11-15  Dan Williams  <dcbw@redhat.com>
6799
6800         * src/supplicant-manager/nm-supplicant-config.c
6801                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6802                         options
6803
6804 2007-11-15  Dan Williams  <dcbw@redhat.com>
6805
6806         * src/NetworkManagerUtils.c
6807                 - (nm_ethernet_address_is_valid): fix style, clarify
6808                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6809
6810         * src/nm-device-802-11-wireless.c
6811                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6812                 - (nm_device_802_11_wireless_get_ssid,
6813                    nm_device_802_11_wireless_get_bssid,
6814                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6815                         before calling the ioctl; fixes valgrind-reported jump depends on
6816                         uninitialized value errors
6817
6818 2007-11-15  Dan Williams  <dcbw@redhat.com>
6819
6820         * libnm-util/nm-setting.c
6821                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6822                         unecessary to serialize 'name'
6823
6824         * src/nm-activation-request.c
6825                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6826                         the GetSecrets call
6827
6828 2007-11-15  Dan Williams  <dcbw@redhat.com>
6829
6830         * libnm-util/nm-setting-connection.h
6831           libnm-util/nm-setting-connection.c
6832                 - Rename the 'name' property to 'id', because it conflicted with the
6833                         NMSetting superclass' 'name' property.
6834
6835         * libnm-util/nm-setting.c
6836                 - (nm_setting_to_hash): serialize the 'name' property
6837                 - (one_property_cb): ignore 'name' on deserialization of a connection
6838
6839         * src/nm-device-802-11-wireless.c
6840           src/vpn-manager/nm-vpn-connection.c
6841           src/NetworkManagerPolicy.c
6842                 - Fix up for NMSettingConnection 'name'->'id' changes
6843
6844 2007-11-13  Dan Williams  <dcbw@redhat.com>
6845
6846         * libnm-glib/nm-device-802-11-wireless.h
6847           libnm-glib/nm-device-802-11-wireless.c
6848                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6849
6850         * test/nm-tool.c
6851           libnm-glib/libnm-glib-test.c
6852                 - Fixes for above change
6853
6854 2007-11-12  Dan Williams  <dcbw@redhat.com>
6855
6856         * src/supplicant-manager/nm-supplicant-settings-verify.c
6857                 - Allow fragment_size option
6858
6859         * src/supplicant-manager/nm-supplicant-settings-verify.c
6860                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6861                         EAP fragment size than the default to help some TLS connections
6862
6863 2007-11-12  Dan Williams  <dcbw@redhat.com>
6864
6865         Make certs actually work.  The private key is now a secret, and should be
6866         decrypted when requested by NM.  The private key and phase2 private key
6867         passwords are no longer interesting to NM because they should be used by
6868         the settings service to decrypt the private key itself before passing it
6869         to NM, and hence have been removed as fields.
6870
6871         * libnm-util/nm-setting-wireless-security.h
6872           libnm-util/nm-setting-wireless-security.c
6873                 - Remove private-key-passwd and phase2-private-key-passwd from
6874                         properties
6875                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6876                    need_secrets): use property #defines instead strings to keep things
6877                         consistent
6878                 - (need_secrets_tls): if a client certificate is present but no
6879                         private key, request the private key
6880                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6881                         remove private key password stuff, mark private keys as secret
6882
6883         * src/supplicant-manager/nm-supplicant-settings-verify.c
6884                 - Remove private_key_passwd and private_key2_passwd from opt_table
6885
6886 2007-11-09  Dan Williams  <dcbw@redhat.com>
6887
6888         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6889         Since the vpn-properties are managed and known by the VPN daemons themselves,
6890         libnm-util doesn't know what's secret and what's in the setting's 'data'
6891         member.
6892
6893         * libnm-util/nm-setting.h
6894           libnm-util/nm-setting.c
6895                 - Add the ability for subclasses to override update_one_secret
6896
6897         * libnm-util/nm-setting-vpn-properties.c
6898                 - Override update_one_secret and just copy the values into the
6899                         internal table
6900
6901 2007-11-09  Dan Williams  <dcbw@redhat.com>
6902
6903         * libnm-glib/nm-settings.h
6904           libnm-glib/nm-settings.c
6905                 - (nm_settings_new_error): remove
6906                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6907                         clients should use g_set_error() with NM_SETTINGS_ERROR
6908
6909 2007-11-09  Dan Williams  <dcbw@redhat.com>
6910
6911         * src/supplicant-manager/nm-supplicant-config.c
6912                 - (nm_supplicant_config_add_setting_wireless_security): private key
6913                         passwords are never sent to wpa_supplicant, because the supplicant
6914                         should never be reading random files from the disk.  Clients like
6915                         the applet are required to decrypt the private keys and send NM
6916                         the decrypted blobs.
6917
6918 2007-11-08  Dan Williams  <dcbw@redhat.com>
6919
6920         * libnm-util/nm-setting-wireless-security.h
6921           libnm-util/nm-setting-wireless-security.c
6922                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6923                         members to 802-11-wireless-security structure.  This should be used
6924                         to indicate that the values in private-key and phase2-private-key
6925                         are already decrypted by the user agent, and that no
6926                         private-key-passwd or phase2-private-key-passwd should be expected.
6927                         It is not meant to be a stored configuration value, but meant to
6928                         be set when the conneciton is sent to NM over dbus.
6929
6930 2007-11-08  Dan Williams  <dcbw@redhat.com>
6931
6932         * libnm-util/nm-connection.h
6933           libnm-util/nm-connection.c
6934                 - (nm_connection_need_secrets): add argument to return hints
6935
6936         * src/nm-device-802-11-wireless.c
6937                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6938                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6939                         nm_connection_need_secrets() change
6940
6941 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6942
6943         Rework NMSetting structures: Move each setting to it's own file.
6944         Convert to GObject. Remove home grown setting types and use GTypes.
6945         Use GObject property introspection for hash conversion, enumerating
6946         properties, etc.
6947
6948         * libnm-util/nm-setting-connection.[ch]
6949         * libnm-util/nm-setting-ip4-config.[ch]
6950         * libnm-util/nm-setting-ppp.[ch]
6951         * libnm-util/nm-setting-vpn.[ch]
6952         * libnm-util/nm-setting-vpn-properties.[ch]
6953         * libnm-util/nm-setting-wired.[ch]
6954         * libnm-util/nm-setting-wireless.[ch]
6955         * libnm-util/nm-setting-wireless-security.[ch]
6956
6957         New files, each containing a setting.
6958
6959         * libnm-util/nm-setting-template.[ch]: A template for creating new
6960         settings. To use it, just replace 'template' with the new setting
6961         name, and you're half-way done.
6962
6963         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6964         introspection instead of internal types and tables.
6965
6966         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6967
6968         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6969         GValue types defined by dbus-glib for composed types like collections,
6970         structures and maps.
6971
6972         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6973         a setting from connection takes the setting type now. Also, since
6974         the settings are in multiple files, include relevant settings.
6975
6976 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6977
6978         * configure.in:
6979         * src/backends/NetworkManagerGentoo.c:
6980         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6981         providers in Gentoo.
6982
6983 2007-10-31  Dan Williams  <dcbw@redhat.com>
6984
6985         * libnm-util/nm-connection.c
6986                 - (gvalue_to_string): handle UINT32 arrays
6987
6988 2007-10-31  Dan Williams  <dcbw@redhat.com>
6989
6990         * libnm-glib/nm-device.h
6991           libnm-glib/nm-device.c
6992                 - (nm_device_get_description): remove
6993                 - (nm_device_get_product, nm_device_get_vendor): add
6994                 - (nm_device_update_description): new function (private); walk HAL
6995                         devices to get product and vendor IDs for a specific device
6996
6997 2007-10-31  Dan Williams  <dcbw@redhat.com>
6998
6999         * src/nm-device-802-11-wireless.c
7000                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7001
7002 2007-10-29  Dan Williams  <dcbw@redhat.com>
7003
7004         * src/nm-hal-manager.c
7005                 - (device_added, device_new_capability): ignore device additions while
7006                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7007                         kernel module is unloaded and reloaded and recognized by NM again.
7008
7009 2007-10-26  Dan Williams  <dcbw@redhat.com>
7010
7011         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7012
7013         * src/NetworkManagerAP.c
7014           src/NetworkManagerAP.h
7015           libnm-glib/nm-access-point.c
7016           libnm-glib/nm-access-point.h
7017                 - Make 'rate' property a guint32 to better match with WEXT and
7018                         wpa_supplicant and to allow representation of higher bitrates
7019
7020         * src/nm-device-802-11-wireless.c
7021           introspection/nm-device-802-11-wireless.xml
7022           libnm-glib/nm-device-802-11-wireless.c
7023           libnm-glib/nm-device-802-11-wireless.h
7024                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7025
7026         * src/nm-device-802-3-ethernet.c
7027           src/nm-device-802-3-ethernet.h
7028           introspection/nm-device-802-3-ethernet.xml
7029           libnm-glib/nm-device-802-3-ethernet.c
7030           libnm-glib/nm-device-802-3-ethernet.h
7031                 - Make 'speed' property a guint32 to match other speed/rate types
7032                 - Make nm_device_802_3_ethernet_get_speed() static
7033
7034         * test/nm-tool.c
7035                 - Update for the changes above
7036
7037 2007-10-26  Dan Williams  <dcbw@redhat.com>
7038
7039         * src/named-manager/nm-named-manager.c
7040                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7041                     not calling fclose() twice on some error conditions
7042
7043 2007-10-26  Dan Williams  <dcbw@redhat.com>
7044
7045         * src/nm-activation-request.c
7046                 - (dispose): clean up indentation; get the right DBusGProxy object to
7047                         cancel the GetSecrets pending call on.  Need to use the Secrets
7048                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7049                         pending call doesn't get canceled, and pressing Cancel in the
7050                         applet's password dialog could cause get_secrets_cb() to be called
7051                         after the activation request has already been destroyed
7052
7053 2007-10-24  Dan Williams  <dcbw@redhat.com>
7054
7055         * src/supplicant-manager/nm-supplicant-config.c
7056                 - (nm_supplicant_config_add_blob): pass blob data and length for
7057                         verification
7058                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7059
7060 2007-10-24  Dan Williams  <dcbw@redhat.com>
7061
7062         * src/supplicant-manager/nm-supplicant-settings-verify.c
7063                 - (opt_table): max length for certificates should be 65536
7064
7065 2007-10-24  Dan Williams  <dcbw@redhat.com>
7066
7067         * src/supplicant-manager/nm-supplicant-interface.c
7068                 - (blob_free): correctly free blob data after use
7069                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7070
7071 2007-10-24  Dan Williams  <dcbw@redhat.com>
7072
7073         * libnm-util/nm-setting.c
7074                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7075                         EAP method need secrets
7076
7077 2007-10-24  Dan Williams  <dcbw@redhat.com>
7078
7079         * src/backends/NetworkManagerRedHat.c
7080                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7081
7082 2007-10-23  Dan Williams  <dcbw@redhat.com>
7083
7084         * libnm-util/nm-setting.c
7085           libnm-util/nm-setting.c
7086                 - (nm_setting_compare): implement
7087                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7088                    compare_one_hash_gvalue): compare the contents of a setting
7089
7090         * libnm-util/nm-connection.c
7091                 - (nm_connection_compare): implement
7092
7093 2007-10-23  Dan Williams  <dcbw@redhat.com>
7094
7095         * src/nm-activation-request.c
7096                 - (get_secrets_cb): handle getting a setting back that is more than
7097                         just secrets (ie, user changed auth or EAP method or something)
7098
7099 2007-10-23  Dan Williams  <dcbw@redhat.com>
7100
7101         * libnm-util/nm-setting.c
7102           libnm-util/nm-setting.h
7103                 - (nm_setting_verify): new function; verify one setting
7104                 - (nm_settings_verify_all): rename from nm_settings_verify()
7105                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7106                         all_settings
7107
7108         * libnm-util/nm-connection.c
7109                 - (nm_connection_replace_settings, nm_connection_verify,
7110                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7111
7112 2007-10-23  Dan Williams  <dcbw@redhat.com>
7113
7114         * src/nm-device-802-11-wireless.c
7115                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7116                         desired behavior
7117
7118 2007-10-23  Dan Williams  <dcbw@redhat.com>
7119
7120         * src/supplicant-manager/nm-supplicant-settings-verify.c
7121                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7122                         nm-settings.c
7123
7124 2007-10-23  Dan Williams  <dcbw@redhat.com>
7125
7126         * src/nm-device-802-11-wireless.c
7127                 - (real_act_stage2_config): after the first association failure,
7128                         if the connection still needs secrets ask the user for them
7129                         explicitly.  After the fourth association failure due to bad
7130                         secrets, fail the connection entirely.  Handles the GetSecrets
7131                         loop that NM gets into when the provided secrets don't match up
7132                         with the connection details.
7133
7134 2007-10-23  Dan Williams  <dcbw@redhat.com>
7135
7136         * src/supplicant-manager/nm-supplicant-config.c
7137                 - (nm_supplicant_config_add_setting_wireless_security): only add
7138                         WPA-specific options when WPA is in use
7139
7140 2007-10-23  Dan Williams  <dcbw@redhat.com>
7141
7142         * src/supplicant-manager/nm-supplicant-config.c
7143                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7144                         secret doesn't need to be unhexified
7145
7146 2007-10-23  Dan Williams  <dcbw@redhat.com>
7147
7148         * libnm-util/nm-setting.c
7149                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7150                         before trying to do something with it
7151
7152 2007-10-23  Dan Williams  <dcbw@redhat.com>
7153
7154         * src/nm-device-802-11-wireless.c
7155                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7156
7157 2007-10-23  Dan Williams  <dcbw@redhat.com>
7158
7159         * src/nm-device-802-11-wireless.c
7160                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7161                         non-SSID-broadcasting APs
7162
7163 2007-10-23  Dan Williams  <dcbw@redhat.com>
7164
7165         * src/NetworkManagerAP.c
7166                 - (match_cipher, security_compatible): remove
7167                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7168                         libnm-util instead
7169
7170 2007-10-23  Dan Williams  <dcbw@redhat.com>
7171
7172         * libnm-util/nm-utils.c
7173           libnm-util/nm-utils.h
7174                 - (nm_utils_ap_security_compatible): common function for checking
7175                         whether a specific AP is compatible with an NMConnection
7176
7177 2007-10-23  Dan Williams  <dcbw@redhat.com>
7178
7179         * libnm-util/nm-setting.c
7180                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7181                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7182                    need_secrets_password, setting_wireless_security_verify): fix
7183                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7184                         secrets logic for each supported EAP method
7185
7186 2007-10-23  Dan Williams  <dcbw@redhat.com>
7187
7188         * src/supplicant-manager/nm-supplicant-config.c
7189                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7190                         config option name, should be "private_key2_passwd"
7191
7192 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7193
7194         Implement support for static IP addresses, additional/overridden DNS and
7195         DNS domain search lists.
7196
7197         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7198         (ip4_addresses_to_gvalue): Implement.
7199         (convert_array_to_byte_array): Implement.
7200         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7201         NM_S_TYPE_IP4_ADDRESSES.
7202         (nm_setting_hash): Ditto.
7203         (default_setting_clear_secrets): Add a default case for the switch: IP address
7204         shouldn't be secret, ever.
7205         (setting_ip4_config_verify): Update, requires addresses in case of manual
7206         configurations.
7207         (setting_ip4_config_destroy): Free stuff.
7208
7209         * src/nm-device.c (merge_ip4_config): Implement.
7210         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7211
7212 2007-10-22  Dan Williams  <dcbw@redhat.com>
7213
7214         * libnm-util/nm-setting.c
7215                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7216                         pairwise cipher options for Dynamic WEP
7217
7218 2007-10-21  Dan Williams  <dcbw@redhat.com>
7219
7220         * src/NetworkManagerAP.c
7221           src/NetworkManagerAP.h
7222                 - Rename 'articifical' -> 'fake' since that's what they are until
7223                         noticed in scans
7224                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7225                         from the attributes in an NMConnection object
7226                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7227                         WPA Enterprise
7228                 - (nm_ap_match_in_list): find a matching AP in a scan list
7229
7230         * src/nm-device-802-11-wireless.c
7231                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7232                         AP when searching the scan list; match on frequency and mode too
7233                 - (nm_device_802_11_wireless_get_frequency): implement
7234                 - (merge_scanned_ap): replace duplicate matching logic with
7235                         nm_ap_match_in_list()
7236                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7237                         the user is trying to connect to a hidden network that is not yet
7238                         known from the scan list
7239                 - (activation_success_handler): now that the card knows the AP's BSSID,
7240                         there may already be a scanned AP in the scan list that is what
7241                         we really wanted to connect to, but didn't know at the time.  Use
7242                         that instead of the 'fake' AP created at activation start and get
7243                         rid of the 'fake' AP 
7244                 - (cull_scan_list): don't remove fake APs
7245
7246 2007-10-21  Dan Williams  <dcbw@redhat.com>
7247
7248         * src/nm-activation-request.h
7249           src/nm-activation-request.c
7250                 - (nm_act_request_set_specific_object): new function; allow setting the
7251                         specific object if one isn't set yet
7252
7253 2007-10-20  Dan Williams  <dcbw@redhat.com>
7254
7255         * src/supplicant-manager/nm-supplicant-config.h
7256           src/supplicant-manager/nm-supplicant-config.c
7257                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7258                         table to store blobs
7259                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7260                         blob hash table
7261                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7262                 - (nm_supplicant_config_add_setting_wireless_security): handle
7263                         options that use certificates (ie, blobs)
7264
7265         * src/nm-device-802-11-wireless.c
7266                 - (build_supplicant_config): pass a UID (just use the connection path)
7267                         to the supplicant config as now required
7268
7269         * src/supplicant-manager/nm-supplicant-interface.c
7270                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7271                         there are any blobs to send to wpa_supplicant, send those first
7272                         before sending the network configuration
7273
7274 2007-10-19  Dan Williams  <dcbw@redhat.com>
7275
7276         Split the GetSecrets() call off to a separate D-Bus interface so that it
7277         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7278         should be able to call GetSecrets().
7279
7280         * include/NetworkManager.h
7281                 - Define the connection secrets D-Bus interface
7282
7283         * src/vpn-manager/nm-vpn-connection.c
7284                 - (clear_need_auth): get the right proxy object for the connection
7285                         secrets interface
7286                 - (get_connection_secrets): use the connection secrets proxy; send
7287                         empty hints in get secrets request
7288
7289         * src/nm-activation-request.c
7290                 - (nm_act_request_request_connection_secrets): use the connection
7291                         secrets proxy; send empty hints in get secrets request
7292
7293         * src/nm-manager.c
7294           src/nm-manager.h
7295                 - (connection_get_settings_cb): set the connection secrets proxy on
7296                         the connection object too
7297                 - (internal_new_connection_cb): create the connection secrets proxy
7298
7299         * introspection/nm-settings-connection.xml
7300                 - Define Connection.Secrets interface and move GetSecrets there
7301                 - Add a 'hints' argument to GetSecrets
7302
7303         * libnm-glib/nm-settings.c
7304           libnm-glib/nm-settings.h
7305                 - (impl_connection_settings_get_secrets): add 'hints' argument
7306
7307 2007-10-19  Dan Williams  <dcbw@redhat.com>
7308
7309         * src/nm-device.c
7310                 - (constructor): add message about what path a device is exported as
7311                         to help in debugging rh #339011
7312
7313 2007-10-17  Dan Williams  <dcbw@redhat.com>
7314
7315         * libnm-util/nm-utils.h
7316           libnm-util/nm-utils.c
7317                 - (nm_utils_security_valid): common function to help find the intersection
7318                         of capabilities of devices and (optionally) access points
7319
7320 2007-10-17  Dan Williams  <dcbw@redhat.com>
7321
7322         * src/nm-device-802-11-wireless.c
7323                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7324                         don't get erroneously cleared
7325
7326 2007-10-17  Dan Williams  <dcbw@redhat.com>
7327
7328         * src/nm-manager.h
7329           src/nm-manager.c
7330           src/nm-hal-manager.c
7331                 - (device_removed, finalize, nm_manager_remove_device,
7332                    nm_manager_sleep): add a 'deactivate' argument to 
7333                    nm_manager_remove_device() to fully deactivate devices when necessary
7334                    (ie, always except when waking up)
7335
7336 2007-10-16  Dan Williams  <dcbw@redhat.com>
7337
7338         * libnm-util/nm-setting.c
7339                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7340                         also isn't valid phase2 autheap method
7341
7342 2007-10-16  Dan Williams  <dcbw@redhat.com>
7343
7344         * libnm-glib/nm-client.c
7345                 - (update_wireless_status): consolidate updates of wireless status
7346                 - (constructor): use update_wireless_status()
7347                 - (manager_running): set wireless status off when NM goes away; requery
7348                         the wireless status when NM comes back
7349
7350 2007-10-16  Dan Williams  <dcbw@redhat.com>
7351
7352         * libnm-glib/nm-client.c
7353                 - (nm_client_activate_device): actually use the fixed-up specific
7354                         object path
7355
7356 2007-10-16  Dan Williams  <dcbw@redhat.com>
7357
7358         * src/nm-hal-manager.c
7359                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7360                         killswitch error messages once
7361
7362 2007-10-16  Dan Williams  <dcbw@redhat.com>
7363
7364         * src/nm-manager.c
7365                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7366                         if it's disabled in hardware; don't touch network devices while
7367                         NM is asleep
7368
7369 2007-10-16  Dan Williams  <dcbw@redhat.com>
7370
7371         * libnm-util/nm-client.c
7372                 - (nm_client_activate_device): convert NULL specific_object to "/",
7373                         which is used in place of NULL
7374
7375         * src/nm-manager.c
7376                 - (impl_manager_activate_device): convert "/" specific_object back into
7377                         NULL
7378
7379 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7380
7381         Implement a generic NMSetting creator from setting name.
7382         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7383         add a virtual function 'populate_fn'.
7384
7385         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7386         (register_default_creators): Register setting creators instead of functions
7387         that create and then populate.
7388         (parse_one_setting): Use the common setting creator and then setting specific
7389         poplulation function.
7390
7391         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7392         they all looked exactly the same.
7393         Add a 'populate_fn' virtual function to NMSetting.
7394         Use default virtual functions in case they are not overriden.
7395         (nm_setting_populate_from_hash): Implement.
7396
7397         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7398         name, use a defined string.
7399         (real_act_stage4_get_ip4_config): Ditto.
7400
7401 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7402
7403         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7404         HAL is int, not uint.
7405
7406 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7407
7408         Implement killswitch polling through HAL.
7409
7410         * src/nm-manager.c: Add wireless hardware status property. Add 
7411         'properties-changed' signal for changes in wireless and wireless hardware
7412         state changes.
7413
7414         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7415         and update NMManager's wireless hardware state when it has changed.
7416         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7417         already does that.
7418
7419         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7420         values of wireless state and wireless hardware state. Listen for the
7421         'properties-changed' signals, update the cached values and emit notify.
7422
7423         * include/NetworkManager.h: Fix a typo in a comment.
7424
7425 2007-10-14  Dan Williams  <dcbw@redhat.com>
7426
7427         * libnm-util/nm-setting.c
7428                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7429
7430 2007-10-13  Dan Williams  <dcbw@redhat.com>
7431
7432         * libnm-util/nm-setting.h
7433           libnm-util/nm-setting.c
7434           src/supplicant-manager/nm-supplicant-config.c
7435                 - Make the 'proto' field of the 802-11-wireless-security field a
7436                         string list
7437
7438 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7439
7440         Rework the "properties-changed" signal listening implementation.
7441         Add a generic implementation to NMObject class that listens for
7442         the signal and calls property setters of the target NMObject.
7443
7444         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7445
7446         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7447         code to the end of file so that all the static functions are available
7448         without extra declarations.
7449         Remove the "properties-changed" signal handling and use the framework from
7450         NMObject.
7451         Implement property setters for properties that change with 
7452         "properties-changed" signal.
7453
7454         * libnm-glib/nm-access-point.c: Ditto.
7455
7456 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7457
7458         Rework the "properties-changed" signal implementation.
7459         In classes that need to use it, just emit "GObject::notify" and the new
7460         framework takes care of the rest to make the signal available on dbus.
7461         The framework queues the notifications and tries to send as many together
7462         in one signal as possible.
7463
7464         * src/nm-properties-changed-signal.c:
7465         * src/nm-properties-changed-signal.h: Implement.
7466
7467         * src/Makefile.am: Add new files to build.
7468
7469         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7470         signal.
7471
7472         * src/nm-device-802-11-wireless.c: Ditto.
7473
7474 2007-10-10  Dan Williams  <dcbw@redhat.com>
7475
7476         * src/nm-manager.c
7477                 - (wait_for_connection_expired): ensure info is valid
7478                 - (connection_added_default_handler): Should only remove pending
7479                         connection info when the manager has the connection that it's
7480                         waiting for.  Fixes segfault in wait_for_connection_info().  
7481
7482 2007-10-10  Dan Williams  <dcbw@redhat.com>
7483
7484         * libnm-util/nm-setting.c
7485           libnm-util/nm-setting.h
7486                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7487                         can use if they choose.  Should be filled in by the settings service
7488                         on-the-fly with the currently logged in user's username
7489
7490 2007-10-10  Dan Williams  <dcbw@redhat.com>
7491
7492         * src/nm-device-802-11-wireless.c
7493                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7494                         as such, because even if the manager fills in the SSID, NM still
7495                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7496                         its SSID
7497
7498 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7499
7500         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7501         code that used NM's own version of dbus signal handling and custom dictionary
7502         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7503         and we get to maintain over 2000 lines less code.
7504
7505         * libnm-util/dbus-dict-helpers.c:
7506         * libnm-util/dbus-dict-helpers.h: Remove.
7507
7508         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7509
7510         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7511
7512         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7513         handlers.
7514
7515         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7516
7517         * configure.in: Remove test/libnm-util/Makefile creation.
7518
7519         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7520
7521         * test/libnm-util/: Remove the whole directory.
7522
7523 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7524
7525         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7526         device_state_changed_idle_id variable or it would contain some random value and the
7527         schedule_change_check calls would not do anything.
7528
7529 2007-10-09  Dan Williams  <dcbw@redhat.com>
7530
7531         * src/nm-device-802-11-wireless.c
7532                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7533                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7534                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7535                         merging of non-SSID-broadcasting APs
7536
7537 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7538
7539         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7540         "guint8 *" since it's usually used with GByteArray->data.
7541         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7542
7543 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7544
7545         * src/NetworkManagerUtils.c
7546         (nm_utils_is_empty_ssid):
7547         (nm_utils_escape_ssid):
7548         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7549         lot of places, so they belong to libnm-utils instead.
7550
7551         Now with 100% less compiler warnings:
7552
7553         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7554         (nm_dbus_unescape_object_path): Ditto.
7555         (nm_utils_ssid_to_utf8): Ditto.
7556         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7557         (nm_utils_escape_ssid): Ditto.
7558         (nm_utils_same_ssid): Ditto.
7559
7560         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7561         (add_one_connection_element): Remove an unused variable.
7562         (impl_manager_get_active_connections): Ditto.
7563
7564         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7565         variable.
7566
7567         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7568         from the previous commit.
7569
7570         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7571         (real_act_stage1_prepare): Ditto.
7572         (activation_success_handler): Ditto.
7573         (get_property): Ditto.
7574
7575         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7576         variable.
7577
7578         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7579         it's always set.
7580
7581         * src/supplicant-manager/nm-supplicant-config.c 
7582         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7583         to expected "char *".
7584         (nm_supplicant_config_add_setting_wireless): Ditto.
7585         (nm_supplicant_config_remove_option): Remove, not used.
7586
7587         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7588         not double.
7589         (test_wireless_enabled): Ifdef out unused function.
7590         (device_deactivate): Ditto.
7591         (device_state_changed): Ditto.
7592         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7593         (nm_utils_escape_ssid): Ditto.
7594
7595         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7596         (nm_utils_is_empty_ssid): Ditto.
7597
7598         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7599         unused variable.
7600
7601         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7602         (setting_vpn_properties_update_secrets): Ditto.
7603         (int_to_gvalue): Ifdef out for now, not used.
7604         (byte_to_gvalue): Ditto.
7605
7606         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7607         Unused, remove.
7608
7609 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7610
7611         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7612         about dbus manager, not named manager.
7613         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7614
7615         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7616         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7617         However, the same signal is emitted when we destroy it and there's 
7618         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7619
7620         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7621         releasing the DBusGConnection, since proxy needs a conneciton.
7622         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7623
7624 2007-10-08  Dan Williams  <dcbw@redhat.com>
7625
7626         * src/NetworkManager.c
7627                 - (main): error on unknown command-line options
7628
7629 2007-10-08  Dan Williams  <dcbw@redhat.com>
7630
7631         Reimplement the invalid connection list.  Don't try to re-activate a
7632         connection that just failed or was canceled.
7633
7634         * src/nm-device.c
7635                 - (connection_secrets_failed_cb): fail device activation, don't just
7636                         deactivate the device.  Listeners have to know about the failure.
7637
7638         * src/NetworkManagerPolicy.c
7639                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7640                         the connection list given to a device's get_best_connection()
7641                         method
7642                 - (device_state_changed): tag failed connections as invalid; clear the
7643                         tag from successful connections
7644
7645 2007-10-08  Dan Williams  <dcbw@redhat.com>
7646
7647         Fix problems with interrupted activation.  Previously, choosing an AP
7648         from the menu, then choosing another one before the first connection was
7649         successful wouldn't deactivate the device before starting the new connection
7650         on that same device.
7651
7652         * src/NetworkManagerPolicy.c
7653                 - (deactivate_old_device, device_state_changed, state_changed,
7654                    nm_policy_new): wrong place to deactivate old devices
7655
7656         * src/nm-manager.c
7657                 - (pending_connection_info_destroy, finalize,
7658                    wait_for_connection_expired): decouple destruction of the pending
7659                         connection info from the manager device
7660                 - (connection_added_default_handler): deactivate any active or
7661                         activating device before starting a new activation
7662                 - (impl_manager_activate_device): deactivate any active or activating
7663                         device before starting a new activation; be sure not to leak
7664                         pending connection info if a new activation request arrives but
7665                         there's already a pending one in-process
7666
7667 2007-10-08  Dan Williams  <dcbw@redhat.com>
7668
7669         * src/NetworkManagerAP.h
7670           src/NetworkManagerAP.c
7671                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7672                         should handle default SSIDs and whether or not to autoconnect
7673                         to them
7674
7675 2007-10-08  Dan Williams  <dcbw@redhat.com>
7676
7677         * src/NetworkManagerPolicy.c
7678                 - (nm_policy_device_change_check): print out connection name where
7679                         possible
7680
7681 2007-10-08  Dan Williams  <dcbw@redhat.com>
7682
7683         * src/nm-device-802-11-wireless.c
7684           src/nm-device-802-11-wireless.h
7685                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7686                         'hidden-ap-found' signal (for internal use only) that allows the
7687                         NMManager to fill in the AP's SSID if a connection has that AP's
7688                         BSSID in its seen-bssids list
7689
7690         * src/nm-manager.c
7691                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7692                         wireless device's hidden-ap-found signal and fill in the APs SSID
7693                         if possible
7694
7695 2007-10-07  Dan Williams  <dcbw@redhat.com>
7696
7697         * src/nm-manager.c
7698           src/nm-manager.h
7699                 - Add a 'connections-added' signal to batch together updates of large
7700                         numbers of connections, like when reading from a settings service
7701                         the first time.  Otherwise, the policy would just activate the first
7702                         suitable connection it saw rather than waiting for the full list
7703                         to arrive.
7704                 - (nm_manager_class_init): register new signal
7705                 - (get_type_for_proxy, connection_get_settings_cb,
7706                    get_connection_for_proxy): centralize places where a proxy's setting
7707                         service is determined
7708                 - (free_get_settings_info): if the call being freed is the last call
7709                         in a pending call group, fire off the connections-added signal
7710                 - (internal_new_connection_cb): add call to a pending call group if
7711                         requested
7712                 - (list_connections_cb): always create a call group here, because this
7713                         call results in a batch of new connections
7714                 - (initial_get_connections): start getting system connections first
7715                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7716                         removed signal when destroying connections
7717
7718         * src/NetworkManagerPolicy.c
7719                 - (nm_policy_new, connections_added): handle connections-added signal
7720                         from the manager
7721
7722 2007-10-06  Dan Williams  <dcbw@redhat.com>
7723
7724         * src/nm-device-802-11-wireless.c
7725                 - (constructor): fix leaked socket
7726
7727 2007-10-06  Dan Williams  <dcbw@redhat.com>
7728
7729         * src/NetworkManagerPolicy.c
7730                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7731                         connection in the list returned by nm_manager_get_connections() is
7732                         reffed, but they weren't getting unreffed before returning
7733
7734 2007-10-06  Dan Williams  <dcbw@redhat.com>
7735
7736         * src/nm-manager.c
7737                 - (connections_to_slist): sort connections first on autoconnect, then
7738                         on timestamp
7739
7740 2007-10-06  Dan Williams  <dcbw@redhat.com>
7741
7742         * libnm-util/nm-connection.c
7743                 - (gvalue_to_string): handle UINT64
7744
7745 2007-10-06  Dan Williams  <dcbw@redhat.com>
7746
7747         * src/NetworkManagerPolicy.c
7748                 - (connection_updated, nm_policy_new): recheck state when a connection
7749                         gets updated
7750
7751 2007-10-06  Dan Williams  <dcbw@redhat.com>
7752
7753         * src/nm-manager.c
7754           src/nm-manager.h
7755                 - (nm_manager_get_connection_dbus_path): make static
7756                 - (nm_manager_update_connections): remove; unused
7757                 - Add a connection-updated signal
7758                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7759                         handle connection object updates
7760
7761 2007-10-06  Dan Williams  <dcbw@redhat.com>
7762
7763         * src/NetworkManagerPolicy.c
7764                 - (connection_removed): deactivate removed connections
7765
7766 2007-10-06  Dan Williams  <dcbw@redhat.com>
7767
7768         * libnm-util/nm-connection.c
7769           libnm-util/nm-connection.h
7770                 - (nm_connection_replace_settings): new function
7771
7772 2007-10-06  Dan Williams  <dcbw@redhat.com>
7773
7774         * libnm-glib/nm-device-802-11-wireless.c
7775                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7776                         on error when getting the active access point over D-Bus from NM
7777
7778 2007-10-05  Dan Williams  <dcbw@redhat.com>
7779
7780         * libnm-util/nm-setting.c
7781                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7782                         to the NMSettingWireless table; it's now a string array not an array
7783                         of byte arrays
7784
7785 2007-10-05  Dan Williams  <dcbw@redhat.com>
7786
7787         * libnm-glib/nm-device-802-11-wireless.c
7788                 - Cache properties and update cached properties on D-Bus signals from NM
7789
7790 2007-10-05  Dan Williams  <dcbw@redhat.com>
7791
7792         * src/nm-device-802-11-wireless.c
7793                 - (set_current_ap): consolidate current_ap handling code into one place
7794                         to ensure that PropertiesChanged signals are emitted in all cases
7795                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7796                    nm_device_802_11_wireless_dispose): use set_current_ap()
7797
7798 2007-10-05  Dan Williams  <dcbw@redhat.com>
7799
7800         * libnm-glib/nm-access-point.c
7801           libnm-glib/nm-access-point.h
7802                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7803                         because the value is cached internally now.  Callers should not
7804                         free the internal value.
7805                 - Make signal name defines private
7806
7807         * test/nm-tool.c
7808           libnm-glib/libnm-glib-test.c
7809                 - Don't free value returned from nm_access_point_get_hw_address()
7810
7811 2007-10-04  Dan Williams  <dcbw@redhat.com>
7812
7813         * introspection/nm-device-802-11-wireless.xml
7814           src/nm-device-802-11-wireless.h
7815           src/nm-device-802-11-wireless.c
7816                 - Add a PropertiesChanged signal for wireless device
7817                 - Store currently associated access point
7818                 - (periodic_update): generalize; update rate here too and emit the
7819                         correct PropertiesChanged signal when stuff changes
7820                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7821                    real_activation_cancel_handler): clear current_ap when device is
7822                         deactivated
7823                 - (link_to_specific_ap, get_ap_blacklisted,
7824                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7825                         code
7826                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7827                         outside this file
7828                 - (real_set_hw_address): emit property changed signal if the card's
7829                         MAC address changes
7830                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7831                         the card is supposed to be connecting to
7832                 - (activation_success_handler): send out property updates on successful
7833                         activation
7834                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7835                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7836                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7837                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7838                         is now boxed; add PropertiesChanged signal
7839
7840 2007-10-04  Dan Williams  <dcbw@redhat.com>
7841
7842         * libnm-util/nm-connection.c
7843           libnm-util/nm-connection.h
7844                 - (nm_connection_verify): new function
7845
7846 2007-10-04  Dan Williams  <dcbw@redhat.com>
7847
7848         * libnm-util/nm-setting.c
7849                 - (nm_settings_verify): use #defines when possible rather than strings
7850                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7851                 - (setting_vpn_verify): tighter validity check on 'service_type'
7852
7853 2007-10-04  Dan Williams  <dcbw@redhat.com>
7854
7855         * libnm-glib/nm-settings.c
7856                 - (nm_connection_settings_class_init): provide correct type for argument
7857                         to the Updated signal so that dbus-glib knows how to marshal it
7858
7859 2007-10-03  Dan Williams  <dcbw@redhat.com>
7860
7861         * src/nm-device-802-3-ethernet.c
7862                 - (real_get_best_connection): don't create automatic connections
7863                         internally; clients should provide a setting that applies to
7864                         the device with 'autoconnect: True'.  Problem was that these
7865                         internally auto-created connections don't have a proxy or service
7866                         name becuase they weren't created by a settings daemon, and therefore
7867                         clients have no idea what to do with them.
7868
7869 2007-10-03  Dan Williams  <dcbw@redhat.com>
7870
7871         * src/nm-device-802-11-wireless.c
7872           src/nm-device-802-11-wireless.h
7873           introspection/nm-device-802-11-wireless.xml
7874                 - GetActiveNetworks -> GetAccessPoints
7875                 - ActiveNetwork -> ActiveAccessPoint
7876                 - NetworkAdded -> AccessPointAdded
7877                 - NetowrkRemoved -> AccessPointRemoved
7878
7879         * libnm-glib/nm-device-802-11-wireless.c
7880           libnm-glib/nm-device-802-11-wireless.h
7881                 - network-added signal -> access-point-added
7882                 - network-removed signal -> access-point-removed
7883                 - nm_device_802_11_wireless_get_active_network() ->
7884                         nm_device_802_11_wireless_get_active_access_point()
7885                 - nm_device_802_11_wireless_get_network_by_path() ->
7886                         nm_device_802_11_wireless_get_access_point_by_path()
7887                 - nm_device_802_11_wireless_get_networks() ->
7888                         nm_device_802_11_wireless_get_access_points()
7889
7890         * libnm-glib/libnm-glib-test.c
7891           test/nm-tool.c
7892           src/NetworkManagerPolicy.c
7893                 - Fixups for Network -> AccessPoint
7894
7895 2007-10-03  Dan Williams  <dcbw@redhat.com>
7896
7897         Add a GetActiveConnections() method on the Manager object.
7898
7899         * src/nm-manager.c
7900           src/nm-manager.h
7901           introspection/nm-manager.xml
7902                 - (connection_get_settings_cb): keep connection type around too
7903                 - (impl_manager_get_active_connections, add_one_connection_element):
7904                         implement; returns all active connections and what devices they
7905                         apply to
7906
7907         * libnm-glib/nm-client.c
7908           libnm-glib/nm-client.h
7909           introspection/nm-manager-client.xml
7910                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7911                         by the caller; free here to avoid memory leak
7912                 - (nm_client_get_active_connections): implement; return the list of
7913                         active connections
7914                 - (nm_client_free_active_connection_element): implement; free an element
7915                         of the GSList returned by nm_client_get_active_connections()
7916
7917 2007-10-03  Dan Williams  <dcbw@redhat.com>
7918
7919         * src/nm-device-802-11-wireless.c
7920                 - (nm_device_802_11_wireless_update_bssid): remove
7921                 - (get_active_ap): new function; find the AP in the scan list which
7922                         matches the current BSSID and SSID of the wireless device
7923                 - (nm_device_802_11_periodic_update): get current AP using
7924                         get_active_ap() and print AP roam messages
7925
7926 2007-10-01  Dan Williams  <dcbw@redhat.com>
7927
7928         * libnm-util/nm-setting.h
7929                 - Add a 'timestamp' option to NMSettingConnection
7930                 - Add a UINT64 type
7931
7932         * libnm-util/nm-setting.c
7933                 - (uint64_to_gvalue): new function
7934                 - (nm_setting_populate_from_hash, nm_setting_hash,
7935                    default_setting_clear_secrets): handle UINT64 type
7936                 - con_table: add 'timestamp' member
7937
7938 2007-10-01  Dan Williams  <dcbw@redhat.com>
7939
7940         * src/nm-manager.c
7941                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7942                         value when the connection can be activated immediately
7943
7944 2007-10-01  Dan Williams  <dcbw@redhat.com>
7945
7946         * libnm-glib/nm-device.c
7947                 - (nm_device_class_init): actually tell glib about the carrier-changed
7948                         signal
7949
7950 2007-10-01  Dan Williams  <dcbw@redhat.com>
7951
7952         * configure.in
7953           src/marshallers/Makefile.am
7954           src/marshallers/nm-marshal.list
7955           src/marshallers/nm-marshal-main.c
7956                 - Consolidate glib marshallers into one place
7957
7958         * src/dhcp-manager/Makefile.am
7959           src/dhcp-manager/nm-dhcp-manager.c
7960           src/supplicant-manager/Makefile.am
7961           src/supplicant-manager/nm-supplicant-manager.c
7962           src/supplicant-manager/nm-supplicant-interface.c
7963           src/ppp-manager/Makefile.am
7964           src/ppp-manager/nm-ppp-manager.c
7965           src/vpn-manager/Makefile.am
7966           src/vpn-manager/nm-vpn-connection.c
7967           src/Makefile.am
7968                 - Use consolidated marshallers
7969
7970         * src/dhcp-manager/nm-dhcp-marshal.list
7971           src/dhcp-manager/nm-dhcp-marshal-main.c
7972           src/supplicant-manager/nm-supplicant-marshal-main.c
7973           src/supplicant-manager/nm-supplicant-marshal.list
7974           src/nm-marshal-main.c
7975           src/nm-marshal.list
7976           src/ppp-manager/nm-ppp-marshal-main.c
7977           src/ppp-manager/nm-ppp-marshal.list
7978           src/vpn-manager/nm-vpn-marshal-main.c
7979           src/vpn-manager/nm-vpn-marshal.list
7980                 - Remove
7981
7982 2007-10-01  Dan Williams  <dcbw@redhat.com>
7983
7984         * include/NetworkManagerVPN.h
7985                 - define VPN connection state change reason codes
7986
7987         * src/vpn-manager/Makefile.am
7988           src/vpn-manager/nm-vpn-marshal.list
7989           src/vpn-manager/nm-vpn-marshal-main.c
7990                 - Add marshallers for StateChanged signal
7991
7992         * introspection/nm-vpn-connection.xml
7993                 - New Banner property
7994                 - StateChanged signal now includes a 'reason' argument
7995
7996         * src/vpn-manager/nm-vpn-connection.c
7997           src/vpn-manager/nm-vpn-connection.h
7998                 - Add a "Banner" property that contains the returned VPN server login
7999                         banner (if any); valid only in the ACTIVATED state
8000                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8001                         a 'reason' argument and emits that reason along with the
8002                         state-changed signal
8003                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8004                 - (nm_vpn_connection_ip4_config_get): save banner for later
8005                 - (nm_vpn_connection_get_banner, get_property,
8006                    nm_vpn_connection_class_init): implement Banner property
8007
8008         * src/vpn-manager/nm-vpn-service.c
8009                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8010                         connection list because elements may get added/removed from it
8011                         while iterating over the list
8012                 - (connection_state_changed): signal now includes the 'reason' argument
8013
8014         * libnm-glib/nm-vpn-connection.c
8015           libnm-glib/nm-vpn-connection.h
8016                 - (nm_vpn_connection_get_banner): new function
8017                 - (state_changed_proxy): handle reason argument
8018
8019 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8020
8021         * src/nm-manager.c:
8022         * src/nm-manager.h:
8023         Implement device activation through NMManager.
8024         Implement "pending device activation" here - If the connection isn't found,
8025         we try to wait for up to 5 seconds for the connection to be provided.
8026         Add NMConnectionType argument to "connection-added" and "connection-removed"
8027         signals.
8028         (nm_manager_get): Remove. Finally.
8029
8030         * src/nm-activation-request.c: 
8031         * src/nm-activation-request.h: 
8032         Remove all the deferred activation code.
8033
8034         * src/nm-device.c: Remove all the deferred activation code. Once the device
8035         activation is started, it's started. Update the activation virtual function
8036         signature.
8037
8038         * src/nm-device-interface.c:
8039         * src/nm-device-interface.h:
8040         Device activation now takes only NMActRequest argument.
8041         Don't expose device activation directly on dbus, it's supposed to go through
8042         NMManager now.
8043
8044         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8045         a bit more compact.
8046         Use the new device activation methods through NMManager.
8047
8048         * introspection/nm-manager-client.xml: 
8049         * introspection/nm-manager.xml: 
8050         * libnm-glib/nm-client.c:
8051         * libnm-glib/nm-client.h:
8052         Add device activation method.
8053         
8054         * libnm-glib/nm-device.c: 
8055         * libnm-glib/nm-device.h: 
8056         * introspection/nm-device.xml: 
8057         Remove device activation method. It's done through NMManager now.
8058
8059         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8060         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8061
8062 2007-09-28  Dan Williams  <dcbw@redhat.com>
8063
8064         * libnm-glib/nm-vpn-connection.c
8065                 - (nm_vpn_connection_get_state): try to update state if the current
8066                         state is UNKNOWN
8067
8068 2007-09-27  Dan Williams  <dcbw@redhat.com>
8069
8070         Patch from Bill Nottingham
8071
8072         * src/supplicant-manager/nm-supplicant-config.c
8073                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8074                         data to the supplicant
8075
8076 2007-09-27  Dan Williams  <dcbw@redhat.com>
8077
8078         * src/NetworkManagerSystem.c
8079                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8080                         and all address manipulation here should be happening on the
8081                         _VPN_ device, not the active device
8082
8083 2007-09-26  Dan Williams  <dcbw@redhat.com>
8084
8085         * src/nm-manager.c
8086           src/nm-manager.h
8087           src/nm-activation-request.c
8088           src/nm-activation-request.h
8089                 - Move the GetSecrets stuff out of the NMManager instance because it
8090                         doesn't really need to be there and complicates things
8091
8092         * src/nm-device.c
8093                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8094                         connection-secrets-failed signal and deactivate the device if
8095                         the GetSecrets call fails
8096
8097         * src/nm-device-802-11-wireless.c
8098                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8099                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8100                         secrets and give correct hints about whether new secrets should be
8101                         asked for by the client or not
8102
8103 2007-09-26  Dan Williams  <dcbw@redhat.com>
8104
8105         * src/vpn-manager/nm-vpn-connection.c
8106                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8107                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8108                         to the secrets-updated signal of the NMConnection since updating
8109                         the secrets is done within the scope of the NMVPNConnection object
8110                         already
8111                 - (get_connection_secrets): fix an uninialized variable usage error
8112
8113 2007-09-26  Dan Williams  <dcbw@redhat.com>
8114
8115         * libnm-util/nm-setting.c
8116                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8117                         actually get updated when the user enters them
8118
8119 2007-09-26  Dan Williams  <dcbw@redhat.com>
8120
8121         * libnm-glib/nm-vpn-plugin.c
8122                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8123
8124 2007-09-26  Dan Williams  <dcbw@redhat.com>
8125
8126         * include/NetworkManagerVPN.h
8127                 - Add a NEED_AUTH state
8128
8129         * src/vpn-manager/nm-vpn-connection.c
8130                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8131                         the connection needs secrets, and if so, then ask the settings
8132                         service to fill in the secrets.  Then start the connection.
8133
8134 2007-09-26  Dan Williams  <dcbw@redhat.com>
8135
8136         * src/vpn-manager/nm-vpn-manager.c
8137                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8138
8139 2007-09-26  Dan Williams  <dcbw@redhat.com>
8140
8141         * introspection/nm-vpn-plugin.xml
8142           libnm-glib/nm-vpn-plugin.c
8143           libnm-glib/nm-vpn-plugin.h
8144                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8145                         the name of the NMSetting in an NMConnection that may require
8146                         secrets specific to that VPN plugin
8147
8148 2007-09-26  Dan Williams  <dcbw@redhat.com>
8149
8150         * src/nm-manager.c
8151           src/nm-manager.h
8152                 - (nm_manager_get_connection_secrets): make static, unused outside
8153                         the file
8154                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8155
8156 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8157
8158         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8159         method.
8160         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8161         unreference the connection.
8162
8163         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8164         passing properties hash and routes string list, pass NMConnection (in hashed form).
8165
8166         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8167         as GSList, no need to copy stuff around anymore.
8168         (nm_vpn_connection_activate): Update the plugin activation method.
8169
8170         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8171         routes argument to GSList.
8172
8173 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8174
8175         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8176         state and try to get the secrets.
8177
8178         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8179         connections from NMManager and let the device to choose the best from the list.
8180         Since the connection list is sorted by system ones first and user ones later,
8181         the devices still prefer system connections like they did before.
8182         (deactivate_old_device): Implement. When a device starts activation, we have a
8183         policy (for now at least) to deactivate any other device that might be either
8184         active or still activating.
8185
8186         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8187         It's set on construction, there will be no other way to access it.
8188
8189         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8190         device events and drive the device, not the other way around.
8191
8192         * src/nm-device-802-3-ethernet.c: Ditto.
8193
8194         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8195         sent along, pass it on to virtual functions.
8196
8197         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8198         for now, but should really be public instead of nm_device_get_iface() since iface
8199         is a property of the DeviceInterface, not Device.
8200         (impl_device_activate): Don't touch NMManager!
8201
8202 2007-09-26  Jürg Billeter  <j@bitron.ch>
8203
8204         * initscript/paldo/NetworkManager.in:
8205         * initscript/paldo/NetworkManagerDispatcher.in:
8206         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8207         (nm_system_flush_loopback_routes): update paldo backend
8208
8209 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8210
8211         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8212         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8213         which means none of the devices get brought down properly, which in turn leaves
8214         DHCP client running.
8215
8216         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8217         (supplicant_connection_timeout_cb): Ditto.
8218
8219 2007-09-25  Dan Williams  <dcbw@redhat.com>
8220
8221         * src/nm-device.c
8222                 - (device_activation_go): small hack to work around race when
8223                         activating deferred connections; should solve this in a better way
8224
8225 2007-09-25  Dan Williams  <dcbw@redhat.com>
8226
8227         * introspection/nm-device.xml
8228           libnm-glib/nm-device.c
8229           libnm-glib/nm-device.h
8230                 - Add 'Carrier' property to exported NMDevice objects
8231
8232         * src/nm-device-interface.h
8233           src/nm-device-interface.c
8234           src/nm-device.c
8235                 - Add a 'carrier' property to internal NMDevice objects
8236
8237 2007-09-25  Dan Williams  <dcbw@redhat.com>
8238
8239         * src/nm-device-802-11-wireless.c
8240                 - (ap_auth_enforced): also return the encryption status of the AP so
8241                         that callers can differentiate easily between unencrypted APs
8242                         and encrypted ones, in addition to whether the AP has an
8243                         authenticator
8244                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8245                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8246                         previously would request secrets from unencrypted APs at times
8247
8248 2007-09-25  Dan Williams  <dcbw@redhat.com>
8249
8250         * src/nm-manager.c
8251                 - (nm_manager_update_state): new function; updates state and emits
8252                         appropriate signals ensuring a state-change signal for the same state
8253                         never gets emitted twice in a row.
8254                 - (manager_device_state_changed): handle more device state to get a
8255                         better picture of the overall NM state
8256
8257 2007-09-25  Dan Williams  <dcbw@redhat.com>
8258
8259         * libnm-glib/nm-settings.c
8260           libnm-glib/nm-settings.h
8261                 - (new_error -> nm_settings_new_error): make public so that subclasses
8262                         can use the same error domain.  Also pass a valid error code to
8263                         g_error_new_literal() so that libdbus doesn't assert when converting
8264                         the GError into a DBusError
8265                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8266                    impl_connection_settings_get_settings,
8267                    impl_connection_settings_get_secrets): use new error creator
8268                         function
8269
8270 2007-09-25  Dan Williams  <dcbw@redhat.com>
8271
8272         * src/NetworkManager.c
8273                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8274
8275 2007-09-25  Dan Williams  <dcbw@redhat.com>
8276
8277         * src/supplicant-manager/nm-supplicant-manager.c
8278                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8279                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8280                    nm_supplicant_manager_startup): when the supplicant isn't running,
8281                         try to start it periodically via system bus activation.  Fixes
8282                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8283                         for the supplicant to come back
8284
8285 2007-09-25  Dan Williams  <dcbw@redhat.com>
8286
8287         Ensure that old activation requests are forgotten about; previously
8288         hitting Cancel in the password dialog would deactivate whatever device
8289         that password was requested for, even if that wasn't the currently
8290         activating connection.
8291
8292         * src/nm-manager.c
8293           src/nm-manager.h
8294                 - (nm_manager_get_connection_secrets): track the pending call
8295                         object so it can be canceled later if needed
8296                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8297                         GetSecrets call for a particular connection
8298
8299         * src/nm-activation-request.c
8300                 - (dispose): cancel any outstanding GetSecrets calls on the
8301                         connection
8302
8303 2007-09-25  Dan Williams  <dcbw@redhat.com>
8304
8305         * src/NetworkManagerPolicy.c
8306                 - (nm_policy_device_change_check): handle devices that have a
8307                         deferred activation.  These devices are not really active _yet_,
8308                         but need to be treated as such here.  Don't interrupt them
8309                         automatically.
8310
8311         * src/nm-device-interface.c
8312                 - (impl_device_activate): handle devices that have a deferred activation
8313                         like activating or active devices.  When multiple active devices
8314                         get committed, the device shouldn't be deactivated until the
8315                         connection details are available to avoid DoS and such.  Currently,
8316                         any active, activating, or deferred activation device is deactivated
8317                         here before starting the new activation request.
8318
8319 2007-09-25  Dan Williams  <dcbw@redhat.com>
8320
8321         Properly re-query secrets from the settings daemon when stuff fails.
8322
8323         * src/nm-device-802-11-wireless.c
8324                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8325                         between Shared Key and Open System auth modes
8326                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8327                    real_act_stage4_ip_config_timeout): clear existing secrets and
8328                         request new ones when something fails due to a suspected wrong key
8329                 - (real_act_stage2_config): fix for new request_new argument to
8330                         nm_manager_get_connection_secrets()
8331
8332         * src/nm-manager.c
8333           src/nm-manager.h
8334                 - (nm_manager_get_connection_secrets): return error status; pass
8335                         new request_new argument on to the settings daemon
8336
8337         * introspection/nm-settings-connection.xml
8338                 - New 'request_new' argument to the GetSecrets call that hints to the
8339                         settings daemon to ask the user for completely new secrets
8340
8341         * libnm-glib/nm-settings.c
8342           libnm-glib/nm-settings.h
8343                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8344                         argument
8345
8346 2007-09-25  Dan Williams  <dcbw@redhat.com>
8347
8348         * libnm-util/nm-connection.c
8349           libnm-util/nm-connection.h
8350                 - (nm_connection_clear_secrets): new function; clear secrets out of
8351                         each NMSetting in an NMConnection
8352
8353         * libnm-util/nm-setting.h
8354           libnm-util/nm-setting.c
8355                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8356                         secrets out of an NMSetting
8357                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8358                    nm_setting_wired_new, nm_setting_wireless_new,
8359                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8360                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8361                         to default handler default_setting_clear_secrets()
8362
8363 2007-09-25  Dan Williams  <dcbw@redhat.com>
8364
8365         * src/nm-activation-request.c
8366           src/nm-activation-request.h
8367                 - (nm_act_request_is_deferred): new function
8368
8369 2007-09-24  Dan Williams  <dcbw@redhat.com>
8370
8371         * src/nm-device-802-11-wireless.c
8372                 - (activation_success_handler): update signal strength immediately
8373                         after activation
8374
8375 2007-09-24  Dan Williams  <dcbw@redhat.com>
8376
8377         * libnm-util/nm-setting.c
8378                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8379
8380 2007-09-24  Dan Williams  <dcbw@redhat.com>
8381
8382         * src/NetworkManagerPolicy.c
8383                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8384                         device by deactivating it because it doesn't have a "best connection".
8385                         Since autoconnect=False connections aren't automatically chosen,
8386                         NM would interrupt activation of such a connection because it
8387                         would never be "best" due to autoconnect=False.
8388
8389 2007-09-24  Dan Williams  <dcbw@redhat.com>
8390
8391         * src/nm-manager.c
8392                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8393                         actually has some time to enter a key before the GetSecrets call
8394                         times out
8395
8396 2007-09-24  Dan Williams  <dcbw@redhat.com>
8397
8398         * introspection/nm-manager.xml
8399           src/nm-manager.c
8400                 - (impl_manager_legacy_state): fix 'state' method call return value
8401
8402 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8403
8404         * test/Makefile.am: Install nm-tool
8405
8406 2007-09-24  Dan Williams  <dcbw@redhat.com>
8407
8408         Patch from Ross Burton <ross@burtonini.com>
8409
8410         * test/nm-tool.c
8411           callouts/nm-dhcp-client-action.c
8412           src/nm-netlink.c
8413           src/vpn-manager/nm-vpn-connection.c
8414           libnm-glib/libnm-glib-test.c
8415                 - warning fixes
8416
8417 2007-09-24  Dan Williams  <dcbw@redhat.com>
8418
8419         * libnm-util/nm-utils.h
8420           libnm-util/nm-utils.c
8421                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8422                         remove, unused
8423
8424 2007-09-23  Dan Williams  <dcbw@redhat.com>
8425
8426         * vpn-daemons/vpnc/properties/nm-vpnc.c
8427                 - Update for new VPN properties API bits; instead of passing around
8428                         a lot of random things, everything goes into the NMConnection
8429                         object.
8430
8431 2007-09-23  Dan Williams  <dcbw@redhat.com>
8432
8433         * libnm-util/nm-setting.c
8434                 - Correctly dispose of settings objects if creating them from a hash
8435                         table fails
8436
8437 2007-09-23  Dan Williams  <dcbw@redhat.com>
8438
8439         * libnm-util/nm-setting.c
8440                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8441                         the hash table in a standard manner.  Clients of libnm-util should
8442                         only call g_hash_table_remove_all(), never destroy the hash table
8443                         and recreate it.
8444
8445 2007-09-22  Dan Williams  <dcbw@redhat.com>
8446
8447         * src/nm-device-802-11-wireless.c
8448                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8449                         real reason to do it so often, and reduces wakeups for clients.
8450
8451 2007-09-21  Dan Williams  <dcbw@redhat.com>
8452
8453         * src/nm-device-802-11-wireless.c
8454                 - (build_supplicant_config): wpa_supplicant requires the option
8455                         key_mgmt=NONE for unencrypted networks
8456                 - (real_act_stage2_config): clarify log message on activation
8457
8458 2007-09-21  Dan Williams  <dcbw@redhat.com>
8459
8460         * test/nm-supplicant-test.c
8461           test/Makefile.am
8462                 - Remove supplicant test binary; no longer applicable
8463
8464 2007-09-21  Dan Williams  <dcbw@redhat.com>
8465
8466         * src/supplicant-manager/nm-supplicant-manager.c
8467                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8468                         activate it on the system bus
8469
8470 2007-09-20  Dan Williams  <dcbw@redhat.com>
8471
8472         * initscript/RedHat/NetworkManager.in
8473                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8474
8475 2007-09-20  Dan Williams  <dcbw@redhat.com>
8476
8477         * src/nm-device.c
8478                 - (nm_device_is_activating): work around a race between auto-activation
8479                         and the user activating the same device that is being auto-activated
8480
8481 2007-09-20  Dan Williams  <dcbw@redhat.com>
8482
8483         * src/nm-device-interface.c
8484                 - (impl_device_activate): until multiple active device support lands,
8485                         ensure only one device can be active at a time
8486
8487 2007-09-20  Dan Williams  <dcbw@redhat.com>
8488
8489         * src/supplicant-manager/nm-supplicant-config.c
8490           src/supplicant-manager/nm-supplicant-config.h
8491                 - (nm_supplicant_config_add_option): hide secrets from system logs
8492
8493 2007-09-20  Dan Williams  <dcbw@redhat.com>
8494
8495         * src/NetworkManagerPolicy.c
8496                 - (nm_policy_device_change_check): re-enable the wireless device change
8497                         checking code; insted of checking for SSIDs, check for the same
8498                         connection instead
8499
8500 2007-09-20  Dan Williams  <dcbw@redhat.com>
8501
8502         * src/nm-device-802-11-wireless.c
8503                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8504                         composite link state when determining when to start the disconnection
8505                         timer; that link state is already based on the supplicant interface's
8506                         status which is exactly what's already being examined, plus the link
8507                         state is a conglomeration of various things that we don't want here
8508
8509 2007-09-20  Dan Williams  <dcbw@redhat.com>
8510
8511         * libnm-glib/nm-access-point.c
8512                 - (handle_property_changed): strength is a UCHAR
8513
8514 2007-09-20  Dan Williams  <dcbw@redhat.com>
8515
8516         * src/supplicant-manager/nm-supplicant-config.c
8517                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8518                         string list keywords too since that's what wpa_supplicant wants
8519
8520 2007-09-20  Dan Williams  <dcbw@redhat.com>
8521
8522         * libnm-util/nm-setting.c
8523                 - (convert_strv_to_slist): dupe the values in the list because since
8524                         the list is a boxed value, it'll get destroyed when it's container
8525                         (like a hash table or whatever) gets destroyed
8526
8527 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8528
8529         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8530         GSList.
8531
8532         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8533
8534         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8535         just use (g_object_set_data_full).
8536
8537         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8538         that NMSettingVPN->routes is a GSList, convert it to char **.
8539         (nm_vpn_connection_ip4_config_get): Free routes when done.
8540         (nm_vpn_connection_activate): Ditto.
8541
8542         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8543         (real_act_stage2_config): Use defined setting names.
8544
8545 2007-09-20  Dan Williams  <dcbw@redhat.com>
8546
8547         * src/nm-device-802-11-wireless.c
8548           src/nm-manager.c
8549           src/nm-manager.h
8550                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8551                         so that the device can be deactivated if secrets are wrong
8552
8553 2007-09-20  Dan Williams  <dcbw@redhat.com>
8554
8555         * introspection/nm-settings-connection.xml
8556           libnm-glib/nm-settings.c
8557           libnm-glib/nm-settings.h
8558                 - Make GetSecrets asynchronous on the server side
8559
8560 2007-09-20  Dan Williams  <dcbw@redhat.com>
8561
8562         * src/nm-manager.h
8563           src/nm-device.c
8564                 - (nm_device_activate): actually check if a given connection
8565                         exists before assuming it doesn't
8566
8567 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8568
8569         * libnm-util/nm-connection.c (register_default_creators): Use defined
8570         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8571
8572         * libnm-util/nm-setting.c: Define property name strings, use them.
8573         Implement NMSettingVPN and NMSettingVPNProperties settings.
8574         Implement NM_S_TYPE_GVALUE_HASH.
8575         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8576         (setting_connection_verify): Rename 'devtype' property to 'type'.
8577
8578         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8579         properties.
8580
8581         * src/vpn-manager/nm-vpn-service.c: Ditto.
8582
8583         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8584
8585         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8586         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8587
8588         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8589         names. NMSettingConnection->devtype got renamed to 'type'.
8590
8591         * src/nm-device-802-3-ethernet.c (find_best_connection):
8592         (real_get_best_connection): Ditto.
8593
8594         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8595
8596         * libnm-glib/nm-vpn-manager.[ch]: Update.
8597
8598 2007-09-19  Dan Williams  <dcbw@redhat.com>
8599
8600         * src/NetworkManagerAP.c
8601           src/NetworkManagerAP.h
8602           introspection/nm-access-point.xml
8603                 - Change strength-changed signal into a properties-changed signal
8604                         for all properties, not just strength.  Export that signal over dbus
8605                         so listeners don't have to poll NM for changes.
8606                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8607                         get exported over D-Bus, so break up the logic and let other bits
8608                         decided when to export the AP
8609                 - (nm_ap_new_from_ap): remove, unused
8610
8611         * src/nm-device-802-11-wireless.c
8612                 - (merge_scanned_ap): only export APs that are actually on the device
8613                         list, not every AP created internally
8614
8615         * libnm-glib/nm-access-point.c
8616           libnm-glib/nm-access-point.h
8617                 - Cache properties internally and only hit DBus when needed.  Get
8618                         property updates from NM signals
8619
8620 2007-09-16  Dan Williams  <dcbw@redhat.com>
8621
8622         * libnm-util/nm-connection.c
8623           libnm-util/nm-connection.h
8624                 - (nm_connection_for_each_setting_value): new function; iterate over
8625                         each setting's value and call a user-provided function with details
8626                         about that value
8627
8628         * libnm-util/nm-setting.c
8629           libnm-util/nm-setting.h
8630                 - (nm_setting_enumerate_values): new function; enumerate the values
8631                         of a specific NMSetting subclass for a user-provided function with
8632                         details about that value
8633                 - Change wep_tx_keyidx to a uint32
8634                 - Create settings value tables for each setting defining their type,
8635                         key name, offset into the NMSetting subclass' structure, and whether
8636                         they are required and/or a secret
8637                 - (nm_setting_populate_from_hash): generic function to populate an
8638                         NMSetting from a GHash table, make all settings use it
8639                 - (nm_setting_hash): generic function to derive a GHashTable from
8640                         an NMSetting object, make all settings use it
8641
8642 2007-09-14  Dan Williams  <dcbw@redhat.com>
8643
8644         Remove unused stuff in libnm-util
8645
8646         * configure.in
8647           libnm-util/Makefile.am
8648           libnm-util/cipher-private.h
8649           libnm-util/cipher-wep-ascii.c
8650           libnm-util/cipher-wep-ascii.h
8651           libnm-util/cipher-wep-hex.c
8652           libnm-util/cipher-wep-hex.h
8653           libnm-util/cipher-wep-passphrase.c
8654           libnm-util/cipher-wep-passphrase.h
8655           libnm-util/cipher-wpa-psk-hex.c
8656           libnm-util/cipher-wpa-psk-hex.h
8657           libnm-util/cipher-wpa-psk-passphrase.c
8658           libnm-util/cipher-wpa-psk-passphrase.h
8659           libnm-util/cipher.c
8660           libnm-util/cipher.h
8661           libnm-util/dbus-helpers.c
8662           libnm-util/dbus-helpers.h
8663           libnm-util/gnome-keyring-md5.c
8664           libnm-util/gnome-keyring-md5.h
8665           libnm-util/sha1.c
8666           libnm-util/sha1.h
8667           src/nm-device-802-11-wireless.c
8668           test/libnm-util/Makefile.am
8669           test/libnm-util/test-ciphers.c
8670           test/libnm-util/test-dbus-helpers.c
8671           test/libnm-util/test-inputs.h
8672                 - Removed
8673
8674 2007-09-14  Dan Williams  <dcbw@redhat.com>
8675
8676         * libnm-util/dbus-method-dispatcher.c
8677           libnm-util/dbus-method-dispatcher.h
8678                 - Remove, unused
8679
8680 2007-09-14  Dan Williams  <dcbw@redhat.com>
8681
8682         Implement deferred activation support in the device class.
8683
8684         * src/nm-device-interface.c
8685           src/nm-device-interface.h
8686                 - (nm_device_interface_activate): take more arguments to support
8687                         deferred activation; callers must pass one of (connection) OR
8688                         (service_name, connection_path)
8689                 - (impl_device_activate): connection validation is punted to the device
8690                         to be able to handle deferred activation.  Yes, this means errors
8691                         don't get returned from the Activate() dbus call, and yes, that
8692                         should be fixed somehow later.
8693
8694         * src/nm-device.c
8695           src/nm-device.h
8696                 - (clear_act_request): clear additional deferred activation stuff too
8697                 - (deferred_activation_timeout_cb): new function; clean up when
8698                         deferred activation times out.
8699                 - (deferred_activation_start_cb): new function; when the connection
8700                         finally becomes available, start device activation
8701                 - (nm_device_activate): attach to the right signals of the activation
8702                         request if we need to defer activation until the connection is valid
8703
8704         * src/NetworkManagerPolicy.c
8705                 - (nm_policy_device_change_check): update for additional arguments
8706                         required for nm_device_interface_activate().  Pass NULL for these
8707                         though because this function already knows exactly which
8708                         NMConnection to use
8709
8710 2007-09-14  Dan Williams  <dcbw@redhat.com>
8711
8712         Implement deferred activation handling in the NMActRequest class.  When a
8713         client wants to activate a device but must create the NMConnection details
8714         on the fly, there likely hasn't been enough time yet for NM to receive the
8715         new connection signal and grab all the connection details.  So the
8716         activation is deferred (and bounded by a timer) for a while, and if the
8717         connection appears within the window, it is activated.
8718
8719         * src/nm-activation-request.c
8720           src/nm-activation-request.h
8721                 - (nm_act_request_class_init): two new signals to support deferred
8722                         activation, to allow the listener to handle both timeout and success
8723                 - (nm_act_request_new_deferred): new function, starts the deferred
8724                         activation timeout handler and listens to the NMManager for
8725                         new-connection signals to notice when the connection comes in
8726
8727 2007-09-14  Dan Williams  <dcbw@redhat.com>
8728
8729         * src/nm-manager.h
8730           src/nm-manager.c
8731                 - (nm_manager_get_connection_service_name,
8732                    nm_manager_get_connection_dbus_path): get details about a connection
8733                         known internally by the NMManager
8734                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8735                         because NMConnection is now a GObject subclass
8736                 - Use constant for the gobject data tag used on NMConnection objects for
8737                         storing the associated DBusGProxy
8738
8739 2007-09-14  Dan Williams  <dcbw@redhat.com>
8740
8741         * utils/Makefile.am
8742           utils/nm-utils.c
8743           utils/nm-utils.h
8744           src/supplicant-manager/Makefile.am
8745           src/dhcp-manager/Makefile.am
8746           src/backends/Makefile.am
8747           src/named-manager/Makefile.am
8748           src/ppp-manager/Makefile.am
8749           src/vpn-manager/Makefile.am
8750           test/libnm-util/Makefile.am
8751           test/test-common/Makefile.am
8752                 - Remove utils/; it was unused
8753
8754 2007-09-13  Dan Williams  <dcbw@redhat.com>
8755
8756         * libnm-glib/nm-vpn-manager.h
8757           libnm-glib/nm-vpn-manager.c
8758                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8759
8760 2007-09-13  Dan Williams  <dcbw@redhat.com>
8761
8762         * src/nm-device-802-3-ethernet.c
8763                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8764                         netlink monitor carrier signals on dispose, not bring down.  The
8765                         carrier signals should be handled over the entire lifetime of the
8766                         device anyway, not created/destroyed on up or down.
8767
8768 2007-09-13  Dan Williams  <dcbw@redhat.com>
8769
8770         * libnm-glib/nm-device.c
8771           libnm-glib/nm-device.h
8772                 - (nm_device_activate): take a connection object path rather than an
8773                         NMConnection because NMConnection isn't exported over D-Bus and
8774                         therefore it dbus-glib can't automatically get an object path from it
8775
8776 2007-09-13  Dan Williams  <dcbw@redhat.com>
8777
8778         * libnm-util/nm-setting.c
8779                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8780
8781 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8782
8783         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8784
8785 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8786
8787         * src/vpn-manager/nm-vpn-connection.[ch]: 
8788         * src/vpn-manager/nm-vpn-manager.[ch]:
8789         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8790         dbus-glib, GObjects, signals etc.
8791
8792         * libnm-glib/nm-vpn-manager.[ch]: 
8793         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8794         so much, rewrite these too.
8795
8796         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8797         the new introspection files.
8798
8799         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8800
8801         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8802         the header with the same name from libnm-utils.
8803
8804         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8805
8806         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8807
8808         * introspection/nm-vpn-plugin.xml: Implement.
8809
8810         * introspection/nm-vpn-connection.xml: Implement.
8811
8812         * introspection/nm-vpn-manager.xml: Implement.
8813
8814         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8815         the named manager argument, it can just as easily get it as the caller.
8816         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8817
8818         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8819
8820         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8821
8822         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8823         libnm-utils.
8824
8825         * libnm-util/nm-connection.c: Ditto.
8826
8827         * src/NetworkManagerMain.h: Remove, it's finally empty.
8828
8829         * configure.in: Remove utils/ from build.
8830
8831         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8832         of hard-coded strings.
8833
8834         * utils/: Move it over to libnm-util.
8835
8836         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8837
8838         * dispatcher-daemon/Makefile.am: Ditto.
8839
8840         * src/Makefile.am: Ditto.
8841
8842 2007-09-12  Dan Williams  <dcbw@redhat.com>
8843
8844         Wireless connections can be made with config data from the applet now.
8845         
8846         Yay.
8847
8848         * src/supplicant-manager/nm-supplicant-config.h
8849           src/supplicant-manager/nm-supplicant-config.c
8850                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8851                 - (nm_supplicant_config_add_setting_wireless,
8852                    nm_supplicant_config_add_setting_wireless_security): new functions;
8853                         add key/value pairs from the settings objects to the supplicant
8854                         config
8855
8856         * src/nm-device-802-11-wireless.c
8857                 - (cull_scan_list): fix check to not prune currently associated AP
8858                 - (build_supplicant_config, real_act_stage2_config): call the functions
8859                         of the NMSupplicantConfig that parse settings objects rather than
8860                         doing it manually here
8861
8862 2007-09-12  Dan Williams  <dcbw@redhat.com>
8863
8864         * src/supplicant-manager/nm-supplicant-interface.c
8865           src/supplicant-manager/nm-supplicant-marshal.list
8866                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8867                         "connection-error" signal arguments should be STRING not CHAR
8868
8869 2007-09-12  Dan Williams  <dcbw@redhat.com>
8870
8871         * src/NetworkManagerUtils.c
8872           src/NetworkManagerUtils.h
8873                 - (nm_utils_hexstr2bin): new function
8874
8875 2007-09-11  Dan Williams  <dcbw@redhat.com>
8876
8877         * src/nm-manager.c
8878                 - (connection_get_settings_cb): emit connection-added signal
8879                 - (connection_removed_cb): uncomment bits for system settings service,
8880                         send connection-removed when appropriate
8881                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8882                         the stack by trying to g_object_set_data() on something that's
8883                         not a GObject; handle case where settings service returns
8884                         empty settings hash table
8885
8886 2007-09-11  Dan Williams  <dcbw@redhat.com>
8887
8888         * src/NetworkManagerPolicy.c
8889                 - (connection_added, connection_removed): trigger device change checks
8890                         on connection changes
8891
8892 2007-09-11  Dan Williams  <dcbw@redhat.com>
8893
8894         * src/nm-activation-request.c
8895                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8896
8897 2007-09-11  Dan Williams  <dcbw@redhat.com>
8898
8899         * src/nm-device-802-11-wireless.c
8900                 - (real_connection_secrets_updated): fix erroneous check
8901
8902 2007-09-11  Dan Williams  <dcbw@redhat.com>
8903
8904         * introspection/nm-device.xml
8905           libnm-glib/nm-device.c
8906           libnm-glib/nm-device.c
8907                 - Fix Activate call argument borkage; Activate takes 3 arguments
8908
8909 2007-09-11  Dan Williams  <dcbw@redhat.com>
8910
8911         * libnm-glib/nm-access-point.c
8912           libnm-glib/nm-access-point.c
8913                 - (nm_access_point_get_frequency): now returns guint32 to match
8914                         property change on 2007-09-10
8915
8916 2007-09-11  Dan Williams  <dcbw@redhat.com>
8917
8918         * src/nm-device-802-11-wireless.c
8919                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8920                         somewhere defines 'index' and I missed this one when I fixed the
8921                         shadow declaration errors earlier
8922
8923 2007-09-11  Dan Williams  <dcbw@redhat.com>
8924
8925         * libnm-util/nm-connection.c
8926                 - (nm_connection_update_secrets, need_secrets_check): move
8927                         802-11-wireless-security need_secrets checks to the setting object
8928                         itself, where it belongs
8929
8930         * libnm-util/nm-setting.c
8931           libnm-util/nm-setting.h
8932                 - (nm_setting_need_secrets): new function
8933                 - (setting_wireless_security_verify,
8934                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8935                 - (setting_wireless_security_need_secrets): mostly copy code over
8936                         from nm-connection.c
8937
8938 2007-09-11  Dan Williams  <dcbw@redhat.com>
8939
8940         * libnm-util/nm-setting.c
8941           libnm-util/nm-setting.h
8942                 - (nm_setting_update_secrets): new function; add a virtual function that
8943                         subclasses can implement to update their secrets
8944                 - (setting_wireless_security_update_secrets): implement that function
8945                         for the 802-11-wireless-security subclass
8946
8947         * libnm-util/nm-connection.c
8948           libnm-util/nm-connection.h
8949                 - (nm_connection_update_secrets): update secrets for a Setting and
8950                         emit a signal on success
8951
8952         * src/nm-manager.c
8953           src/nm-manager.h
8954           src/nm-marshal.list
8955                 - (connection_get_settings_cb): enable system settings bits
8956                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8957                         to request secrets from the settings dbus service and to
8958                         push those secrets to the NMConnection itself
8959
8960         * src/nm-activation-request.c
8961           src/nm-activation-request.h
8962                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8963                         currently being activated, and proxy that signal to other listeners.
8964                         Goes through the activation request because the activation request
8965                         is the thing that manages the lifetime of the NMConnection that's
8966                         being activated.
8967
8968         * src/nm-device-802-11-wireless.c
8969                 - (real_connection_secrets_updated): implement the connection secrets
8970                         updated notification and restart activation when secrets are
8971                         received
8972                 - (real_act_stage2_config): request secrets from the settings dbus
8973                         service if secrets are needed
8974
8975         * src/nm-device.c
8976           src/nm-device.h
8977                 - (clear_act_request, nm_device_activation_cancel,
8978                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8979                         where the activation request is cleared
8980                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8981                         updated secrets signal of activation request and add a function
8982                         that subclasses can override to handle it easily
8983
8984 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8985
8986         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8987         removal of NetworkManagerAPList.
8988
8989 2007-09-10  Dan Williams  <dcbw@redhat.com>
8990
8991         * src/NetworkManagerAP.c
8992           src/NetworkManagerAP.h
8993           introspection/nm-access-point.xml
8994                 - Change 'freq' property to a guint32 instead of a double since we
8995                         weren't using the floating point bits anyway
8996
8997 2007-09-10  Dan Williams  <dcbw@redhat.com>
8998
8999         * NetworkManagerAP.c
9000           NetworkManagerAP.h
9001           NetworkManagerPolicy.c
9002           NetworkManagerSystem.c
9003           NetworkManagerUtils.c
9004           NetworkManagerUtils.h
9005           nm-device-802-11-wireless.c
9006           nm-device-802-3-ethernet.c
9007           nm-hal-manager.c
9008           nm-manager.c
9009           vpn-manager/nm-dbus-vpn.c
9010                 - Warning fixes; casts and removal of unused variables
9011
9012 2007-09-10  Dan Williams  <dcbw@redhat.com>
9013
9014         * include/NetworkManager.h
9015                 - Kill NMNetworkType; AP types don't matter any more
9016
9017         * src/NetworkManagerAPList.c
9018           src/NetworkManagerAPList.h
9019           src/Makefile.am
9020                 - Kill; NMAccessPointList has outlived it's usefulness
9021
9022         * src/NetworkManagerAP.c
9023           src/NetworkManagerAP.h
9024                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9025                         functions; check if an NMConnection object is compatible with the
9026                         settings of this AP
9027                 - (freq_to_channel, channel_to_freq): utility functions for
9028                         channel <-> frequency conversion
9029
9030         * src/nm-device.c
9031           src/nm-device.h
9032                 - (nm_device_get_best_connection): pass the specific object around
9033                          (which might be the object path of a specific AP to connect to).
9034                          The get_best_connection() call should populate this on return
9035                          if needed (wireless does).
9036
9037         * src/nm-device-802-3-ethernet.c
9038                 - (real_get_best_connection): handle specific_object argument
9039
9040         * src/NetworkManager.c
9041           src/NetworkManagerMain.h
9042                 - Remove unused includes
9043
9044         * src/nm-device-802-11-wireless.c
9045           src/nm-device-802-11-wireless.h
9046                 - Convert the ap_list into a GSList from an NMAccessPointList
9047                 - No need for caching the 'activation_ap' since this is now determined
9048                         from the specific_object of the activation request, which is
9049                         populated from the get_best_connection() call or from a user request
9050                 - (nm_device_802_11_wireless_update_bssid): fix warning
9051                 - (get_wireless_capabilities): fix error message format arguments
9052                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9053                 - (find_best_connection, real_get_best_connection): implement
9054                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9055                         move here from NetworkManagerAPList
9056                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9057                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9058                         already verified earlier
9059                 - (real_act_stage2_config): use nm_connection_need_secrets()
9060
9061         * src/NetworkManagerPolicy.c
9062                 - (nm_policy_auto_get_best_device): handle specific objects
9063                 - (create_connection): remove; automatic connection creation functionality
9064                         is handled by the Connection objects
9065                 - (nm_policy_device_change_check): handle specific_object
9066
9067         * libnm-util/nm-connection.c
9068                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9069
9070 2007-09-10  Dan Williams  <dcbw@redhat.com>
9071
9072         * src/nm-manager.c
9073                 - (query_connections): fix uninitialized variable problem that caused
9074                         segfault
9075                 - (nm_manager_add_device): take devices down on startup so that we can
9076                         be assured that nm_device_is_up() won't short-circuit the init
9077                         process.  Hack until the is_up check gets split into two pieces
9078                         that aren't behaviorally confusing.
9079
9080 2007-09-09  Dan Williams  <dcbw@redhat.com>
9081
9082         * introspection/nm-device.xml
9083                 - The 'Activate' method now takes 3 arguments, a service name for the
9084                 settings service (user or system), the object path of the connection
9085                 to activate, and the specific object to activate, if any
9086
9087         * src/nm-device-interface.c
9088                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9089                 Add error bits
9090                 - (impl_device_activate): adapt to new Activate arguments; validate
9091                 the service name and get the Connection object from the NMManager
9092                 before starting to activate the device with the specified connection
9093
9094         * src/nm-device-802-3-ethernet.c
9095                 - (real_get_best_connection): find the best connection, or create a
9096                 default one if no existing connections can be used
9097
9098         * src/NetworkManagerPolicy.c
9099                 - (nm_policy_auto_get_best_device): Get the device's best connection
9100                 and only pick the device if it has one
9101                 - (nm_policy_device_change_check): disable wireless bits for now until
9102                 wireless get_best_connection() can be implemented (replacing "best_ap");
9103                 don't create a default connection here as the device subclass will do
9104                 that if needed
9105
9106         * src/nm-manager.h
9107           src/nm-manager.c
9108                 - (nm_manager_get): make NMManager a singleton and expose the getter
9109                 internally
9110                 - Rework internal NMManager connection handling to use the same
9111                 routines for both the system and user settings services.  Most calls
9112                 take a new NMConnectionType argument specifying either system or user
9113                 connections
9114                 - (nm_manager_get_connection_by_object_path): new function; get a
9115                 connection keyed on its object path
9116
9117         * src/NetworkManager.c
9118                 - (main): use nm_manager_get()
9119
9120 2007-09-09  Dan Williams  <dcbw@redhat.com>
9121
9122         * src/nm-device.h
9123           src/nm-device.c
9124                 - (nm_device_get_best_connection): new function; get best connection
9125                         for the device at that time
9126
9127 2007-09-09  Dan Williams  <dcbw@redhat.com>
9128
9129         * src/nm-device-interface.h
9130                 - Add NMDeviceInterfaceError with an UnknownConnection error
9131
9132 2007-09-09  Dan Williams  <dcbw@redhat.com>
9133
9134         Stupid mistake on my part; object path and interface for settings service
9135         and connection objects can be the same, only the service name must be
9136         different for the system and user settings services.
9137
9138         * include/NetworkManager.h
9139           src/nm-manager.c
9140           introspection/nm-settings-connection.xml
9141           introspection/nm-settings.xml
9142           libnm-glib/nm-settings.c
9143                 - (nm_connection_settings_init, query_user_connections,
9144                    new_connection_cb): Unify NetworkManagerSettings and Connection
9145                    interface name and object path
9146
9147 2007-09-06  Dan Williams  <dcbw@redhat.com>
9148
9149         * libnm-glib/nm-object.c
9150                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9151                    nm_object_get_int_property, nm_object_get_uint_property,
9152                    nm_object_get_boolean_property, nm_object_get_byte_property,
9153                    nm_object_get_double_property, nm_object_get_byte_array_property):
9154                         clear GValues after copying their contents, fixes memory leaks
9155                         after every property access because dbus-glib copies the values
9156                         from the DBusMessage into the GValue already.
9157
9158 2007-09-06  Dan Williams  <dcbw@redhat.com>
9159
9160         * introspection/nm-access-point.xml
9161                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9162                         them to be.  There's some magic property name parsing going on in
9163                         dbus-glib that breaks up property names based on studly-caps and
9164                         puts - between words.
9165
9166         * libnm-glib/nm-access-point.c
9167                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9168                         Fix property names
9169
9170 2007-09-06  Dan Williams  <dcbw@redhat.com>
9171
9172         * src/nm-manager.c
9173                 - (nm_manager_user_connections_destroy): clear the user connections hash
9174                         table, don't destroy it
9175                 - (finalize): only destroy the hash table on NMManager finalization
9176
9177 2007-09-02  Dan Williams  <dcbw@redhat.com>
9178
9179         * include/NetworkManager.h
9180           libnm-glib/nm-settings.c
9181                 - defines for the user settings daemon D-Bus bits
9182
9183         * src/NetworkManager.c
9184                 - Remove stuff that referred to the old NetworkManagerInfo service
9185
9186         * src/vpn-manager/nm-dbus-vpn.h
9187                 - Move old NMI defines to the only place they are used still
9188
9189         * libnm-util/nm-connection.c
9190           libnm-util/nm-connection.h
9191           src/nm-activation-request.c
9192                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9193
9194         * src/nm-manager.c
9195           src/nm-manager.h
9196                 - Get connections and their settings from the user settings daemon
9197                         at the appropriate times
9198
9199 2007-09-02  Dan Williams  <dcbw@redhat.com>
9200
9201         * libnm-util/nm-setting.c
9202                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9203                 - (setting_wireless_hash): set the right value on the item
9204
9205 2007-09-02  Dan Williams  <dcbw@redhat.com>
9206
9207         * test/Makefile.am
9208           test/nminfotest.c
9209                 - Remove, no longer useful
9210
9211 2007-08-30  Dan Williams  <dcbw@redhat.com>
9212
9213         * src/Makefile.am
9214           src/NetworkManagerDbus.c
9215           src/NetworkManagerDbus.h
9216           src/vpn-manager/nm-dbus-vpn.c
9217                 - Remove, no longer necessary.  Move last bits to the only place its
9218                 used, in nm-dbus-vpn.c
9219
9220         * src/NetworkManagerAPList.c
9221           src/nm-device.c
9222           src/NetworkManager.c
9223           src/nm-device-802-11-wireless.c
9224           src/vpn-manager/nm-vpn-manager.c
9225           src/vpn-manager/nm-vpn-service.c
9226           src/NetworkManagerPolicy.c
9227           src/nm-manager.c
9228                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9229                 that was message_is_error()
9230
9231 2007-08-30  Dan Williams  <dcbw@redhat.com>
9232
9233         * libnm-util/sha1.c
9234                 - Include config.h to get defines for endiannes (gnome.org #420216)
9235
9236 2007-08-30  Dan Williams  <dcbw@redhat.com>
9237
9238         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9239
9240         * src/ppp-manager/Makefile.am
9241                 - use -fPIC (gnome.org #471825)
9242
9243 2007-08-29  Dan Williams  <dcbw@redhat.com>
9244
9245         * include/NetworkManager.h
9246                 - Keep NMConnection object path in sync
9247
9248         * libnm-glib/nm-settings.c
9249           libnm-glib/nm-settings.h
9250                 - Break D-Bus object registration out of the init function, because
9251                 every object that's exported over D-Bus needs to use the _same_
9252                 DBusConnection.  Otherwise, each object would get a different object
9253                 path tree and wouldn't be callable.
9254
9255 2007-08-29  Dan Williams  <dcbw@redhat.com>
9256
9257         * libnm-util/nm-setting.h
9258           libnm-util/nm-setting.c
9259           libnm-util/nm-connection.c
9260           src/NetworkManagerPolicy.c
9261                 - 'info' settings object should be 'connection' says the spec
9262                 at NetworkManagerConfigurationSpecification
9263
9264 2007-08-29  Dan Williams  <dcbw@redhat.com>
9265
9266         * libnm-glib/nm-settings.c
9267           libnm-glib/nm-settings.h
9268                 - make the dbus path a property of the object, and autogenerate it.
9269                 It can't be composed of the 'id' field becuase that's not available
9270                 yet during the GObject creation in nm_connection_settings_init()
9271
9272 2007-08-29  Dan Williams  <dcbw@redhat.com>
9273
9274         * introspection/nm-settings-connection.xml
9275           introspection/nm-settings.xml
9276                 - Service name -> NetworkManagerUserSettings because two services
9277                 can't share part of the same path.  I'm not really sure how we'll use
9278                 the same code with the system-settings daemon...
9279
9280 2007-08-28  Dan Williams  <dcbw@redhat.com>
9281
9282         * src/nm-device-interface.c
9283           src/nm-device-interface.h
9284                 - Kill one more bit of NMData
9285
9286 2007-08-28  Dan Williams  <dcbw@redhat.com>
9287
9288         * src/NetworkManagerSystem.h
9289           src/nm-device.c
9290           src/nm-device.h
9291           src/nm-hal-manager.c
9292           src/NetworkManager.c
9293           src/nm-device-802-11-wireless.c
9294           src/nm-hal-manager.h
9295           src/nm-device-802-3-ethernet.c
9296           src/vpn-manager/nm-vpn-service.h
9297           src/vpn-manager/nm-vpn-manager.c
9298           src/vpn-manager/nm-vpn-manager.h
9299           src/vpn-manager/nm-vpn-service.c
9300           src/nm-device-802-11-wireless.h
9301           src/NetworkManagerMain.h
9302           src/nm-device-802-3-ethernet.h
9303           src/backends/NetworkManagerGentoo.c
9304           src/backends/NetworkManagerPaldo.c
9305           src/backends/NetworkManagerFrugalware.c
9306           src/backends/NetworkManagerRedHat.c
9307           src/backends/NetworkManagerSlackware.c
9308           src/backends/NetworkManagerGeneric.c
9309           src/backends/NetworkManagerArch.c
9310           src/backends/NetworkManagerSuSE.c
9311           src/backends/NetworkManagerGeneric.h
9312           src/backends/NetworkManagerDebian.c
9313                 - Kill NMData
9314
9315 2007-08-28  Dan Williams  <dcbw@redhat.com>
9316
9317         * src/NetworkManagerMain.h
9318           src/nm-device-802-11-wireless.c
9319           src/NetworkManager.c
9320                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9321                 for now we should set the 'invalid' property on individual APs, and when
9322                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9323                 that ESS
9324
9325 2007-08-28  Dan Williams  <dcbw@redhat.com>
9326
9327         * src/NetworkManagerAP.c
9328           src/NetworkManagerAP.h
9329                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9330                         'autoconnect' property instead
9331
9332         * src/NetworkManager.c
9333           src/NetworkManagerMain.h
9334           src/NetworkManagerPolicy.c
9335           src/NetworkManagerPolicy.h
9336                 - Remove the 'allowed_ap_list', which should be replaced by 
9337                         NMConnection/NMSettings instead, since _those_ are the allowed
9338                         things that NM can connect to
9339
9340         * src/nm-device-802-11-wireless.c
9341                 - Remove both allowed_ap_list usage and 'fallback' checking
9342
9343 2007-08-28  Dan Williams  <dcbw@redhat.com>
9344
9345         * src/nm-device.c
9346           src/named-manager/nm-named-manager.c
9347           src/named-manager/nm-named-manager.h
9348           src/NetworkManager.c
9349           src/vpn-manager/nm-vpn-manager.c
9350           src/NetworkManagerMain.h
9351           src/NetworkManagerSystem.c
9352                 - Remove the named-manager object from NMData structure in preparation
9353                 for NMData's timely death.  Make the NMNamedManager the singleton that
9354                 it really is
9355
9356 2007-08-28  Dan Williams  <dcbw@redhat.com>
9357
9358         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9359         each AP's capabilities, and by NMConnection/NMSettings objects for user
9360         defined connections.
9361
9362         * include/NetworkManager.h
9363                 - Redefine 802.11 security properties.  There are now device capabilities
9364                         and AP flags and AP security flags.  It was way to unclear before.
9365
9366         * src/Makefile.am
9367           src/nm-ap-security-leap.h
9368           src/nm-ap-security-leap.c
9369           src/nm-ap-security-wpa-eap.c
9370           src/nm-ap-security-wpa-eap.h
9371           src/nm-ap-security-private.h
9372           src/nm-ap-security-wpa-psk.c
9373           src/nm-ap-security-wpa-psk.h
9374           src/nm-ap-security-wep.c
9375           src/nm-ap-security-wep.h
9376           src/nm-ap-security.c
9377           src/nm-ap-security.h
9378                 - Removed, to be replaced with NMConnection/NMSettings objects
9379
9380         * src/nm-dbus-nmi.c
9381           src/nm-dbus-nmi.h
9382                 - Removed, to be replaced by code that talks to the new info daemon
9383                         interface and gets NMConnection/NMSettings objects
9384
9385         * src/backends/NetworkManagerSuSE.c
9386                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9387                         info-daemon that does the same thing but talks the new info-daemon
9388                         D-Bus interface
9389
9390         * src/NetworkManagerAP.h
9391           src/NetworkManagerAP.c
9392           src/NetworkManagerAPList.c
9393           libnm-glib/libnm-glib-test.c
9394                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9395                         WPA/RSN
9396
9397         * libnm-glib/nm-access-point.c
9398           libnm-glib/nm-access-point.h
9399           introspection/nm-access-point.xml
9400           test/nm-tool.c
9401                 - Adjust to new flags for AP security
9402
9403         * utils/nm-utils.c
9404           utils/nm-utils.h
9405           src/vpn-manager/nm-dbus-vpn.c
9406                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9407                         stuff which is the only place it's used
9408
9409         * src/nm-device-interface.c
9410           src/nm-device-interface.h
9411           introspection/nm-device.xml
9412           src/nm-activation-request.c
9413           src/nm-activation-request.h
9414           src/nm-device.c
9415                 - Add a new 'specific_object' argument that hints to NM what actual
9416                         AP or other device-specific thing the connection should apply to.
9417                         NMConnection objects can apply to more than one actual device/AP.
9418
9419         * libnm-util/nm-connection.c
9420         * libnm-util/nm-connection.h
9421                 - Add 'have_secrets" call stubs
9422
9423         * libnm-util/cipher.h
9424                 - Move NM_AUTH_TYPE_* defines here for now
9425
9426         * src/nm-device-802-11-wireless.c
9427                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9428                         NMSettings objects
9429
9430         * src/NetworkManagerDbus.c
9431         * src/NetworkManagerPolicy.c
9432                 - Remove usage of update_allowed_networks, should be pushing data in
9433                         a different manner
9434
9435 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9436
9437         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9438         dbus-glib frees it when the call is done.
9439
9440 2007-08-26  Dan Williams  <dcbw@redhat.com>
9441
9442         * introspection/nm-device.xml
9443                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9444
9445 2007-08-26  Dan Williams  <dcbw@redhat.com>
9446
9447         * src/nm-device-802-3-ethernet.c
9448                 - (constructor): move connection of interface-connected/disconnected
9449                         signals here from real_bring_up().  Should be listening to netlink
9450                         for carrier events no matter what the initial state of the device
9451                         is.
9452
9453 2007-08-26  Dan Williams  <dcbw@redhat.com>
9454
9455         * src/nm-netlink-monitor.c
9456                 - (nm_netlink_monitor_class_init): fix marshalling types for
9457                         interface-connected/interface-disconnected
9458                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9459                         check
9460
9461 2007-08-26  Dan Williams  <dcbw@redhat.com>
9462
9463         Convert to using interface indexes as the primary method of identifying
9464         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9465         be renamed at any time.  Device object paths now refer to the device
9466         index rather than the name, and you can map those two manually if you like
9467         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9468         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9469         to use interface indexes rather than names.
9470
9471 2007-08-26  Dan Williams  <dcbw@redhat.com>
9472
9473         * src/nm-netlink-monitor.h
9474                 - Remove one last bit of wireless-event signal
9475
9476 2007-08-26  Dan Williams  <dcbw@redhat.com>
9477
9478         * src/nm-netlink-monitor.c
9479                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9480                         don't need the 'wireless-event' signal anymore since that's all
9481                         handled by wpa_supplicant
9482
9483 2007-08-25  Dan Williams  <dcbw@redhat.com>
9484
9485         It's 2007. Remove support for drivers that don't support wireless scanning.
9486
9487         * test/nm-tool.c
9488           include/NetworkManager.h
9489           src/NetworkManagerUtils.c
9490           src/NetworkManagerPolicy.c
9491           src/nm-device-802-11-wireless.c
9492                 - Remove special handling for non-scanning devices and mark them
9493                         as unsupported/unhandled
9494
9495 2007-08-20  Dan Williams  <dcbw@redhat.com>
9496
9497         * src/nm-device-802-11-wireless.c
9498           src/nm-device-802-3-ethernet.c
9499                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9500                         because when the card is pulled or the module removed, the device
9501                         is already !IFF_UP and then device-specific cleanup (removing
9502                         the supplicant interface, periodic checks, etc) never gets done
9503
9504 2007-08-20  Dan Williams  <dcbw@redhat.com>
9505
9506         * src/nm-manager.c
9507                 - (nm_manager_remove_device): bring device down before disconnecting
9508                         signal handlers, so that the 'state' signal will get broadcast when
9509                         the device enters the DOWN state
9510                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9511                         of states that cause the NMManager to recheck its state
9512
9513 2007-08-20  Dan Williams  <dcbw@redhat.com>
9514
9515         * src/supplicant-manager/nm-supplicant-interface.c
9516                 - (interface_disconnect_done): don't try to dispose of the net proxy
9517                         when it may already have been disposed of
9518
9519 2007-08-20  Dan Williams  <dcbw@redhat.com>
9520
9521         * src/nm-device-802-11-wireless.c
9522                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9523                         the SSID isn't available; this can happen when the card is pulled
9524                         or the module unloaded, during the post-removal deactivation
9525                         paths, when the ioctl returns ENODEV
9526
9527 2007-08-20  Dan Williams  <dcbw@redhat.com>
9528
9529         * src/nm-device-802-11-wireless.c
9530                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9531                         frequency, and mode match.  Applets are now responsible for grouping
9532                         access points
9533
9534 2007-08-20  Dan Williams  <dcbw@redhat.com>
9535
9536         * src/NetworkManagerAP.c
9537         * src/NetworkManagerAP.h
9538                 - (nm_ap_print_self): new function
9539
9540         * src/NetworkManagerAPList.c
9541                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9542                         to do it all here
9543         
9544 2007-08-17  Dan Williams  <dcbw@redhat.com>
9545
9546         * src/nm-device-802-3-ethernet.c
9547                 - (real_bring_down): don't try to dispose of stuff that might not
9548                         exist
9549
9550 2007-08-17  Dan Williams  <dcbw@redhat.com>
9551
9552         * src/NetworkManagerAP.c
9553                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9554                         applet.  This ensures that the case between the seen-bssids and
9555                         the bssids reported by the driver match.
9556
9557 2007-08-17  Dan Williams  <dcbw@redhat.com>
9558
9559         * src/nm-device-802-11-wireless.c
9560                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9561                         we dispose of the interface proxy in NM
9562
9563 2007-08-16  Dan Williams  <dcbw@redhat.com>
9564
9565         * libnm-glib/nm-client.c
9566                 - (nm_client_init): create VPN connections hash table with key free
9567                         function
9568                 - (proxy_vpn_connection_added): VPN connections hash table key should
9569                         be a duplicated value, not the same memory address as the VPN
9570                         connection name.  This is because the VPN connection name could
9571                         potentially be freed and set to something else during the lifetime
9572                         of the NMVPNConnection object.
9573
9574 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9575
9576         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9577         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9578         with the file descriptors. Send a child setup function to change the pppd
9579         progress group.
9580
9581 2007-08-15  Dan Williams  <dcbw@redhat.com>
9582
9583         * src/supplicant-manager/nm-supplicant-interface.c
9584                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9585                         an interface
9586                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9587                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9588                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9589                         the interface internally
9590
9591 2007-08-15  Dan Williams  <dcbw@redhat.com>
9592
9593         * src/nm-device-802-11-wireless.c
9594                 - (real_bring_down): move most of this function into device_cleanup()
9595                         so that it can be called from elsewhere
9596                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9597                         and stuff on dispose.  These would normally get cleaned up when
9598                         the device is marked down and deactivated, but when the device is
9599                         hot-unplugged, it's already down and real_down() never gets run
9600
9601 2007-08-15  Dan Williams  <dcbw@redhat.com>
9602
9603         * src/nm-dbus-nmi.c
9604                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9605                         caused a reference leak on device for which NM requested a key
9606
9607 2007-08-15  Dan Williams  <dcbw@redhat.com>
9608
9609         * libnm-glib/nm-client.c
9610                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9611
9612 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9613
9614         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9615         nothing is using it at the moment, but it'll be all useful and stuff later on.
9616
9617         * libnm-util/nm-setting.h: Define NMSettingPPP.
9618
9619         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9620
9621         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9622
9623         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9624
9625         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9626
9627         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9628
9629 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9630
9631         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9632
9633         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9634         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9635         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9636         name and different arguments and it won't compile anymore. To fix this, we now have
9637         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9638         that is new API + compatibility API and used by the daemon. The other, 
9639         nm-manager-client.xml is only the new API without compatibility bits and is used
9640         by libnm-glib to make it compile.
9641
9642         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9643
9644         * src/nm-manager.c (impl_manager_legacy_sleep)
9645         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9646         interface functions for 0.6 branch.
9647
9648 2007-08-14  Dan Williams  <dcbw@redhat.com>
9649
9650         * src/NetworkManagerAP.c
9651                 - (nm_ap_new_from_properties): fix mistaken check of return value
9652                         from memcmp (should expect 0)
9653
9654 2007-08-14  Dan Williams  <dcbw@redhat.com>
9655
9656         (force-commit to fix wrong comment and partial commit of r2685; this
9657          commit actually applies to r2685)
9658
9659         * src/NetworkManagerUtils.c
9660                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9661                         ignores trailing nulls in the SSID to work around mismatches in
9662                         expectations between WEXT and what the info-daemon passes back.  The
9663                         info-daemon would pass back the correct length, but due to the
9664                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9665                         the device would always have an SSID + 1 depending on what versions
9666                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9667                         visible by just quitting the applet and relaunching, which caused
9668                         NM to reassociated to the same network over again when reloading
9669                         the save networks.
9670
9671         * src/NetworkManagerPolicy.c
9672           src/NetworkManagerUtils.h
9673           src/nm-device-802-11-wireless.c
9674                 - Update for new parameter to nm_utils_same_ssid()
9675
9676 2007-08-14  Dan Williams  <dcbw@redhat.com>
9677
9678         * src/NetworkManagerAP.c
9679                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9680                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9681                         setting the BSSID to all 0s.  That confused the heck out of NM,
9682                         plus it's useless and probably out-of-spec.
9683
9684 2007-08-14  Dan Williams  <dcbw@redhat.com>
9685
9686         * callouts/Makefile.am
9687           src/dhcp-manager/nm-dhcp-manager.c
9688           src/dhcp-manager/nm-dhcp-manager.h
9689           src/dhcp-manager/Makefile.am
9690                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9691
9692 2007-08-14  Dan Williams  <dcbw@redhat.com>
9693
9694         * src/dhcp-manager/nm-dhcp-manager.c
9695                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9696                         it's really needed, get rid of unused xtra_args parameter
9697
9698 2007-08-14  Dan Williams  <dcbw@redhat.com>
9699
9700         * include/NetworkManagerVPN.h
9701           src/vpn-manager/nm-dbus-vpn.c
9702           src/vpn-manager/nm-dbus-vpn.h
9703           src/vpn-manager/nm-vpn-act-request.c
9704           src/vpn-manager/nm-vpn-act-request.h
9705           src/vpn-manager/nm-vpn-service.c
9706           src/vpn-manager/nm-vpn-service.h
9707           libnm-glib/nm-vpn-connection.c
9708           libnm-glib/nm-vpn-connection.h
9709           libnm-glib/nm-client.h
9710                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9711                         NMVPNServiceState to clarify what they apply to
9712                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9713                         NMVPNActStage -> NMVPNConnectionState for the same reason
9714
9715         * libnm-glib/nm-client.c
9716                 - Constant + type renames from above
9717                 - Properly handle NameOwnerChanged/manager_running signals
9718                         for NM service; only emit when state really changes
9719                 - Use hash tables correctly so that the key (which was previously owned
9720                         by the D-Bus message) now has the same lifetime as the value, since
9721                         the key is now taken from the the NMVPNConnection itself.  This
9722                         really fixes the double-VPN names in the applet
9723
9724 2007-08-13  Dan Williams  <dcbw@redhat.com>
9725
9726         Patch from Michael Biebl <biebl@debian.org>
9727
9728         * po/POTFILES.in
9729           po/POTFILES.skip
9730                 - Update for vpn-properties move
9731
9732 2007-08-13  Dan Williams  <dcbw@redhat.com>
9733
9734         * libnm-glib/nm-client.c
9735                 - Convert internal VPN connection tracking from a list to a hash table
9736                         to easily avoid duplicates
9737                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9738                         must be freed by the caller, like nm_client_get_devices()
9739                 - (nm_client_remove_vpn_connection): don't let the removal signal
9740                         leak through for NMVPNConnection objects that aren't actually
9741                         tracked.
9742                 - (manager_running): throw away VPN connection list when NM goes away,
9743                         like with the device list
9744
9745 2007-08-13  Dan Williams  <dcbw@redhat.com>
9746
9747         * src/dhcp-manager/nm-dhcp-manager.c
9748                 - Stop any dhclient instance that might be already running for a
9749                         particular interface before starting an NM spawned dhclient.  Fixes
9750                         dhclient processes left over if NM crashes, stuff like that.
9751
9752 2007-08-13  Dan Williams  <dcbw@redhat.com>
9753
9754         * src/NetworkManagerAP.c
9755                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9756                         when the AP wasn't broadcasting it's SSID
9757
9758 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9759
9760         * include/NetworkManager.h: added DBus path for connection settings.
9761
9762         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9763         nm_connection_settings_signal_updated,
9764         nm_connection_settings_signal_removed): new functions to wrap the
9765         objects' signals.
9766         (nm_connection_settings_init): register GObject with DBus.
9767         (nm_connection_settings_get_dbus_object_path): new function.
9768
9769         * libnm-glib/Makefile.am: added libnmutil to link flags.
9770
9771 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9772
9773         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9774
9775         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9776         libnm_glib directory got merged with libnm-glib/.
9777
9778         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9779
9780         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9781         Rename the library from libnm-glib to libnm_glib to maintain the library API
9782         compatibility with 0.6 branch.
9783
9784         * Makefile.am: Remove gnome/ SUBDIR.
9785
9786         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9787
9788         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9789
9790         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9791
9792         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9793         anymore.
9794         Remove checks for wpa_supplicant binary, it's used over dbus.
9795         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9796
9797         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9798         Link the binaries with libnm_glib.la.
9799
9800 2007-08-12  Dan Williams  <dcbw@redhat.com>
9801
9802         * src/NetworkManagerPolicy.c
9803                 - (nm_policy_device_change_check): fix policy to deactivate old device
9804                         before activating new one, at least until the multiple active
9805                         device support lands
9806
9807 2007-08-12  Dan Williams  <dcbw@redhat.com>
9808
9809         * src/NetworkManagerPolicy.c
9810                 - (nm_policy_new): hook up to connection-added / connection-removed
9811                         signals instead of connections-changed
9812
9813 2007-08-12  Dan Williams  <dcbw@redhat.com>
9814
9815         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9816         Robert Frank <rfrank@redhat.com>
9817
9818         * src/dhcp-manager/nm-dhcp-manager.c
9819           src/dhcp-manager/nm-dhcp-manager.c
9820           src/nm-device.c
9821                 - Spawn and communicate with dhclient directly, through means of a
9822                 custom dhclient callout script.  Process callout D-Bus signals
9823                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9824                 sent via gobject signals rather than being driven by the dhcp manager
9825                 directly.
9826
9827 2007-08-12  Dan Williams  <dcbw@redhat.com>
9828
9829         * callouts/nm-dhcp-client-action.c
9830                 - (build_message): ignore non-DHCP-related environment variables
9831
9832 2007-08-12  Dan Williams  <dcbw@redhat.com>
9833
9834         * Makefile.am
9835           configure.in
9836           callouts/Makefile.am
9837           callouts/nm-dhcp-client-action.c
9838           callouts/nm-dhcp-client.conf
9839                 - Add dhclient-executed callout that takes the place of dhclient-script
9840                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9841                 NM then listens for
9842
9843 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9844
9845         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9846
9847         * libnm-glib/nm-client.h:
9848         * libnm-glib/nm-object.h:
9849         * libnm-glib/nm-vpn-connection.h:
9850         * libnm-glib/nm-settings.h:
9851         * libnm-glib/nm-device.h:
9852         * libnm-glib/nm-ip4-config.h:
9853         * libnm-glib/nm-access-point.h:
9854         * libnm-glib/nm-device-802-3-ethernet.h:
9855         * libnm-util/nm-setting.h: 
9856         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9857
9858         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9859
9860         * libnm-glib/nm-access-point.c: Strength has type char.
9861
9862         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9863         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9864
9865         * introspection/nm-access-point.xml: Strength property is char, not int.
9866
9867         * src/NetworkManagerAP.c (set_property): Set strength from char.
9868         (get_property): Handle hidden APs (with empty SSID).
9869         Get strength value from char.
9870         (nm_ap_class_init): Strength property has char type.
9871
9872 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9873
9874         * introspection/Makefile.am:
9875         * introspection/nm-settings.xml:
9876         * introspection/nm-settings-connection.xml: added Settings interfaces.
9877
9878         * libnm-glib/nm-settings.[ch]:
9879         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9880         containing the DBus implementation.
9881
9882 2007-07-26  Dan Williams  <dcbw@redhat.com>
9883
9884         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9885
9886         * src/NetworkManagerSystem.c
9887                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9888                         same subnet (#437396)
9889
9890 2007-07-26  Dan Williams  <dcbw@redhat.com>
9891
9892         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9893
9894         * gnome/vpn-properties/nm-vpn-properties.c
9895                 - Fix translatable strings (#445865)
9896
9897 2007-07-26  Dan Williams  <dcbw@redhat.com>
9898
9899         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9900
9901         * configure.in
9902                 - Remove useless junk (#412530)
9903
9904 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9905
9906         Patch from Robert Buchholz <rbu@gentoo.org>:
9907
9908         * configure.in:
9909         * Makefile.am:
9910         * introspection/Makefile.am:
9911         Make make distcheck work again.
9912
9913 2007-06-27  Dan Williams  <dcbw@redhat.com>
9914
9915         * Make SSIDs GByteArrays everywhere
9916         * Rename "essid" -> "ssid" everywhere that's appropriate
9917         * Refcount activation_ap member of the 802.11 wireless device class
9918
9919 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9920
9921         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9922
9923 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9924
9925         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9926         that we got a new AP when we just update existing AP properties.
9927
9928 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9929
9930         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9931
9932         * nm-utils.[ch]: Remove.
9933
9934         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9935         objects for easy property access and dbus connection handling.
9936
9937         * libnm-glib/nm-client.c: Derive from NMObject.
9938
9939         * libnm-glib/nm-device.c: Ditto.
9940
9941         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9942
9943         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9944
9945         * libnm-glib/nm-ip4-config.c: Ditto.
9946
9947         * libnm-glib/nm-access-point.c: Ditto.
9948
9949         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9950         comparision. Currently used by the device activation code to determine if the new
9951         activation is the same as the old one.
9952
9953         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9954         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9955         able to ask password for the AP.
9956
9957         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9958         up if the device is already connected, tear down it's connection (if it isn't the
9959         same as new one) and start the activation.
9960
9961         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9962
9963         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9964         the issue where all APs are always listed as encrypted.
9965
9966         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9967         their own registered paths.
9968
9969         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9970         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9971
9972 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9973
9974         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9975         (0 & 0 == 0, doh)
9976
9977         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9978         because the handling code will cause the next state change and signal listeners
9979         get the signals in wrong order.
9980
9981         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9982         correctly in case of pending activation.
9983
9984         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9985         Convert the essid byte array to string correctly, including the terminating NULL.
9986
9987         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9988         mode with correct types.
9989
9990         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9991         constructed info to dbus call instead of the activation request.
9992
9993 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9994
9995         Patch from Christian Persch <chpe@gnome.org>
9996
9997         * libnm-glib/Makefile.am:
9998         * dispatcher-daemon/Makefile.am:
9999         Use the correct variables, the correct paths, and correct ordering. (446315)
10000
10001 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10002
10003         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10004         argument. The activation request is easy to retrieve.
10005
10006         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10007         just to be a convenient location for devices to store random stuff.
10008
10009 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10010
10011         Patch from Alex Smith <alex@alex-smith.me.uk>
10012
10013         * src/backends/NetworkManagerFrugalware.c:
10014         Update the FrugalWare backend to fix a few segfaults. (#392642)
10015
10016 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10017
10018         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10019
10020         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10021         setting.
10022         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10023
10024 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10025
10026         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10027         automagically.
10028         Implement NMSettingIP4Config.
10029         Finish NMSettingWired by adding all known members.
10030         (setting_wired_verify): Implement.
10031         Finish NMSettingWireless by adding all known members.
10032         (setting_wireless_verify): Implement.
10033
10034         * libnm-util/nm-connection.c: Register "ipv4" setting.
10035         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10036         dump function, we can introspect the GHashTable which is used for sending connections
10037         over dbus.
10038
10039         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10040         Take GByteArray for essid, it's really not a string.
10041
10042         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10043         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10044         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10045         means overriding the values we got from DHCP.
10046         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10047         (nm_device_deactivate_quickly): Ditto.
10048
10049         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10050         for debugging.
10051
10052 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10053
10054         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10055         NMConnection.
10056
10057         * libnm-glib/nm-device-802-11-wireless.c:
10058         (nm_device_802_3_ethernet_activate): Remove.
10059
10060         * libnm-glib/nm-device-802-3-ethernet.c
10061         (nm_device_802_3_ethernet_activate): Remove.
10062
10063         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10064
10065         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10066         NMConnection.
10067
10068         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10069         activation has started.
10070         Implement the new activation using NMConnection.
10071
10072         * src/nm-activation-request.c: Store a generic connection object instead
10073         of a wireless-specific AP.
10074
10075         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10076         on device type, create a device specific connection object suitable for
10077         device activation.
10078
10079         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10080         specific check to validate the connection and on success start the
10081         activation.
10082
10083         * src/nm-device-interface.h: Add a activate virtual function to the
10084         interface definition.
10085
10086         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10087         (impl_device_activate): Implement.
10088
10089         * introspection/nm-device.xml: Add a generic device activation interface
10090         that accepts an abstract NMConnection structure that has device-specific
10091         information in it.
10092
10093         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10094         activation interface.
10095
10096         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10097         activation interface.
10098
10099         * libnm-util/nm-connection.c: 
10100         * libnm-util/nm-connection.h: 
10101         * libnm-util/nm-setting.c:
10102         * libnm-util/nm-setting.h: Add.
10103
10104         * libnm-util/Makefile.am: Build the added files.
10105
10106         * src/nm-dbus-manager.c
10107         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10108         DbusConnection argument from 'name-owner-changed' signal. The manager
10109         is already passed as a first argument to the signal and the connection
10110         is easy enough to get from it.
10111
10112         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10113         Update the signature of the function.
10114
10115         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10116         Ditto.
10117
10118         * src/NetworkManager.c: Ditto.
10119
10120         * src/named-manager/nm-named-manager.c
10121         (nm_named_manager_name_owner_changed): Ditto.
10122
10123         * src/supplicant-manager/nm-supplicant-manager.c
10124         (nm_supplicant_manager_name_owner_changed): Ditto.
10125
10126         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10127
10128         * src/dhcp-manager/nm-dhcp-manager.c
10129         (nm_dhcp_manager_name_owner_changed): Ditto.
10130
10131         * src/nm-hal-manager.c: Add a list of device detectors and creators
10132         to make it easier to add new devices. Each device type has it's own
10133         entry in the table so adding new device types is only a matter of
10134         implementing a couple of functions, one for device detection and the
10135         other for device creation.
10136
10137 2007-04-25  Dan Williams  <dcbw@redhat.com>
10138
10139         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10140                 (gnome.org #432401)
10141
10142 2007-03-30  Dan Williams  <dcbw@redhat.com>
10143
10144         * src/NetworkManagerSystem.c
10145                 - (nm_system_device_set_ip4_route): clean up and fix argument
10146                         to nm_dev_sock_open()
10147
10148 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10149
10150         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10151         data to correct types instead of always using string.
10152
10153         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10154         _not_ have NM_802_11_CAP_PROTO_NONE.
10155         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10156         is not set.
10157
10158 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10159
10160         * libnm-glib/Makefile.am: Fix the build issue.
10161
10162 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10163
10164         * libnm-glib/nm-vpn-connection.h: 
10165         * libnm-glib/nm-vpn-connection.c: Implement.
10166
10167         * libnm-glib/nm-client.c: Add VPN support.
10168
10169         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10170         handler for VPN.
10171
10172         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10173         on DBUS again.
10174
10175 2007-03-26  Dan Williams  <dcbw@redhat.com>
10176
10177         * src/NetworkManagerAPList.c
10178         * src/nm-device-802-11-wireless.c
10179         * src/NetworkManagerAP.c:
10180                 - Store last seen as glong instead of GTimeVal.
10181                 - Fix the upper bound of capabilities, it's a bitfield.
10182
10183 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10184
10185         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10186
10187         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10188         "manager-running" signal that notifies the appearance/disappearance of NM.
10189         (nm_client_sleep): Implement.
10190
10191         * libnm-glib/nm-device.c:
10192         * libnm-glib/nm-device-802-11-wireless.c: 
10193         * libnm-glib/nm-device-802-3-ethernet.c: 
10194
10195         Don't inherit from DBusGProxy, add a proxy to private
10196         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10197         for anything but their own dbus interface. DBusGProxy objects support only one
10198         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10199         interface. The nice side effect of this change is that we do not create a new
10200         DBusGProxy object for each property access.
10201
10202 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10203
10204         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10205         with zeroes before passing them to functions - the functions never do that and
10206         reading the values back may produce wrong values.
10207         (real_bring_up): Store the signal handler id ...
10208         (real_bring_down): ... So that it can be removed here.
10209         Disconnect the supplicant interface here as well.
10210         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10211         from the access point instead of old $device/Networks/$essid.
10212
10213         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10214         device state is connected (instead of just having link/carrier).
10215
10216         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10217         already easily accessible through the device.
10218
10219         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10220         store it within the object.
10221         (nm_ap_get_dbus_path): Export it to public as well.
10222
10223         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10224         of the singleton.
10225
10226 2007-03-12  Dan Williams  <dcbw@redhat.com>
10227
10228         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10229         for non-carrier-detect capable devices, and useless for carrier-detect
10230         devices since we get notifications from netlink about carrier status anyway.
10231
10232         * src/nm-device-802-3-ethernet.c
10233                 - remove 'link_source_id' member from private data
10234                 - (probe_link): remove and collapse into real_update_link()
10235                 - (nm_device_802_3_periodic_update): remove
10236                 - (real_is_up): check for sup_iface rather than link_source_id
10237                 - (real_bring_up): return gboolean for success/fail; require that
10238                         sup_iface be valid for device bringup to succeed
10239                 - (real_bring_down): zero out link signal ids
10240
10241         * src/nm-device.c
10242                 - (nm_device_activate_stage2_device_config): fail activation if device
10243                         bringup fails
10244                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10245                         fails
10246                 - (nm_device_bring_up): return success/fail
10247
10248         * src/nm-device.h
10249                 - bring_up now returns success/fail
10250
10251         * src/nm-device-802-11-wireless.c
10252                 - (real_bring_up): return success from bringup
10253
10254 2007-03-07  Dan Williams  <dcbw@redhat.com>
10255
10256         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10257         * src/nm-ap-security-wpa-psk.c
10258                 - (real_write_supplicant_config): work with PSKs that may contain
10259                         zeros in the binary format rather than treating it as a string
10260
10261 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10262
10263         * libnm-glib/nm-device-802-11-wireless.c
10264         (nm_device_802_11_wireless_get_capabilities): Implement.
10265
10266         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10267
10268         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10269
10270         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10271         reply only if it's not NULL. Not sure why this started happening right now.
10272
10273         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10274         code paths for when devices get removed on shutdown or when a device is just
10275         removed.
10276         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10277         gets freed so any signal from a device (disconnected for instance) would invoke
10278         NMState update which would crash.
10279         (nm_manager_remove_device): Bring the device down when it gets removed.
10280
10281         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10282         the unused dev_type.
10283
10284         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10285         reference to the added device, NMManager will own it (if it wants).
10286
10287         * test/nm-tool.c: Rewrite using libnm-glib.
10288
10289         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10290         We get signalled when it changes.
10291
10292         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10293         when it changes.
10294
10295         * libnm-glib/nm-device.c: Cache the device state property.
10296
10297         * libnm-glib/nm-access-point.c: Cache the strength property.
10298
10299         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10300         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10301         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10302         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10303         the device is down, activating, or activated (in case of A/B/G cards).
10304         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10305         it's all done through supplicant now.
10306
10307         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10308         counting issues with pending calls which caused leaks and crashes when
10309         interface was removed (now that the interface actually gets removed).
10310
10311         * src/nm-call-store.c: Make a copy of data before running a foreach
10312         with user callback on it - The most common usage pattern is to cancel
10313         (and thus remove) all pending calls with foreach which would modify
10314         the hash table we're iterating over.
10315
10316         * src/nm-manager.c: When a device is added, make sure it is "up". When
10317         it's removed or disabled due to disabling wireless or networking, bring
10318         it down.
10319
10320         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10321
10322         * src/nm-device-802-11-wireless.c: 
10323         * src/nm-device-802-3-ethernet.c: 
10324         * src/nm-device.c:
10325                 - Remove "init" virtual function, all gobjects have a place for that
10326                   already (constructor).
10327                 - Replace "start" virtual function with "bring_up", devices can be
10328                   brought up and down more than just on startup now.
10329                 - Add "is_up" virtual function.
10330                 - Implement one way to bring a device down instead of previous 4 different
10331                   ways, each of witch did something different.
10332
10333         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10334         all it needs is the device interface.
10335
10336         Get rid of NMData.dev_list (3 members to go).
10337         Get rif of NMData in a lot of places.
10338
10339         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10340
10341 2007-02-23  Dan Williams  <dcbw@redhat.com>
10342
10343         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10344
10345         * src/NetworkManagerAP.c
10346                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10347                         OR-ing rather than AND-ing
10348
10349 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10350
10351         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10352         "network-removed" signals.
10353
10354         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10355
10356         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10357         when receiving the signal from dbus.
10358
10359         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10360         property.
10361
10362         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10363         deactivation of the previously activated device working again.
10364
10365         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10366         and setter.
10367
10368         * src/nm-device.c (nm_device_is_activated): Remove.
10369         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10370
10371         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10372         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10373         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10374         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10375         Remove NMNetworkStatus and NMActStage enums.
10376
10377 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10378
10379         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10380         Handle device state changes and disconnect VPN if it's device deactivates.
10381
10382         * src/nm-dbus-nm.c: 
10383         * src/nm-dbus-nm.h: 
10384         * src/nm-dbus-device.c: 
10385         * src/nm-dbus-device.c: 
10386         * src/nm-dbus-net.c: 
10387         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10388
10389         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10390
10391         * src/nm-device.c (nm_device_get_by_udi):
10392         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10393         implemented in the correct location (NMManager).
10394         Rip out all the test_device stuff.
10395
10396         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10397         failure handlers, it's all done by NMDevice already.
10398
10399         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10400         Remove the iochannel hack to route the unix signals to the main thread since
10401         we're not threaded anymore.
10402
10403         * src/NetworkManagerAP.c: Implement HWAddress property.
10404
10405         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10406         automatically with dbus-glib.
10407
10408         * src/nm-netlink-monitor.c: 
10409         * src/nm-netlink-monitor.h:
10410                 - Move it low in the class hierarchy, don't reference any NM types.
10411                 - Remove private data from the header.
10412                 - Use type safe checks in public API methods.
10413                 - Make it a singleton so we don't have to pass the single reference around.
10414
10415 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10416
10417         * introspection/nm-ip4-config.xml: Implement.
10418
10419         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10420
10421         * libnm-glib/nm-ip4-config.c:
10422         * libnm-glib/nm-ip4-config.c: Implement.
10423
10424         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10425         securities. APs reference security.
10426
10427         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10428         be exported over DBUS.
10429
10430         * src/nm-device-802-3-ethernet.c: Ditto.
10431
10432         * src/NetworkManagerAP.c:
10433         * src/NetworkManagerAP.h:
10434                 - Convert to GObject, export over DBUS.
10435
10436         * src/nm-ip4-config.h:
10437         * src/nm-ip4-config.h:
10438                 - Convert to GObject, export over DBUS.
10439
10440 2007-02-12  Dan Williams  <dcbw@redhat.com>
10441
10442         Patch from Helmut Schaa <hschaa@suse.de>
10443
10444         * vpn-daemons/pptp/configure.in
10445           vpn-daemons/pptp/Makefile.am
10446           vpn-daemons/openvpn/configure.in
10447           vpn-daemons/openvpn/Makefile.am
10448           vpn-daemons/vpnc/configure.in
10449           vpn-daemons/vpnc/Makefile.am
10450                 - Add --without-gnome switch which disables building gnome bits
10451
10452 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10453
10454         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10455
10456         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10457
10458         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10459         'HwAddress'.
10460
10461         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10462
10463         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10464
10465         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10466
10467         * src/:
10468                 - Remove old low-level dbus interface implementations and replace them
10469                   with dbus-glib one.
10470
10471         * configure.in:
10472                 - Require dbus-glib >= 0.72.
10473                 - Plug in new sources to build.
10474
10475         * libnm-glib/:
10476                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10477                   to make it more convenient to use from GObject based programs.
10478
10479         * introspection/:
10480                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10481
10482 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10483
10484         * src/nm-device-802-11-wireless.c:
10485                 - Add "network-added" and "network-removed" signals.
10486                 - Use gobject boilerplate macros to define the GObject.
10487                 - Implement wireless device activation.
10488                 - Remove activation_failure_handler and activation_success_handler
10489                   and instead listen on state-changed signals and run the same code
10490                   from there.
10491
10492         * src/nm-device.c:
10493                 - Implment NMDeviceInterface::deactivate.
10494                 - Remove activation_failure_handler and activation_success_handler
10495                   virtual methods. Each device which is interested in these events
10496                   can just listen on it's state changed signals.
10497
10498         * src/NetworkManagerPolicy.c:
10499                 - Move a bit more NMData usage to NMManager.
10500                 - Remove activation scheduling bits.
10501                 - Add listeners for wireless device's "network-added" and
10502                   "network-removed" signals.
10503                 - Listen device changed signals and deactivate currently activated
10504                   device when another device start activating (for now).
10505                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10506                   for calling this, the policy code knows exactly when this should happen,
10507                   by listening on events from NMManager and NMDevices.
10508
10509         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10510         Implement.
10511
10512         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10513         method on the specific device instead of going to through policy code
10514         and determining the device type by passed in AP's existance.
10515
10516         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10517         abstract NMDevice deactivation.
10518
10519 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10520
10521         * src/NetworkManager.c:
10522                 - Set up all the shiny new managers.
10523
10524         * src/NetworkManagerPolicy.c:
10525                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10526                   classes to call into policy code, make the policy code kind of like
10527                   a supervisor that monitors what's going on and drives the whole NM.
10528
10529         * src/nm-hal-manager.c: 
10530         * src/nm-hal-manager.h:
10531                 - Collect all libhal code scattered around NM to this one class.
10532                 - Listen libhal and NMManager events and add/remove devices to
10533                   NMManager.
10534
10535         * src/nm-manager.c:
10536         * src/nm-manager.h:
10537                 - Implment a replacement for NMData. NMData is now officially
10538                 deprecated.
10539
10540 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10541
10542         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10543         * src/supplicant-manager/nm-supplicant-interface.h
10544         * src/supplicant-manager/nm-supplicant-interface.c
10545         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10546         argument to boolean from enum.
10547
10548         Make NMDevice abstract class, remove almost all references to it's
10549         subclasses (the last place gets removed with new policy manager). Add
10550         NMDeviceInterface (which NMDevice implements) so that when we have
10551         NMDevice exported over DBUS, there's a common NMDevice interface which
10552         all instances have, plus there's a device specific interface for each
10553         specific type.
10554         Remove functions (nm_device_is_802_3_ethernet) and
10555         (nm_device_is_802_11_wireless). There are already standard GObject macros
10556         for type safe checks.
10557         Use the updated supplican manager API.
10558
10559         * src/nm-device-interface.h: 
10560         * src/nm-device-interface.c: 
10561         * src/nm-call-store.h: 
10562         * src/nm-call-store.c: Implement.
10563
10564         * src/supplicant-manager/nm-supplicant-interface.c:
10565         * src/supplicant-manager/nm-supplicant-interface.h:
10566         * src/supplicant-manager/nm-supplicant-manager.c:
10567         * src/supplicant-manager/nm-supplicant-manager.h:
10568                 - Remove all private data type references from public header files.
10569                 - Remove all references to other NM classes, this class is just a
10570                   proxy between wpa_supplicant and NM so it doesn't have to know
10571                   any internals.
10572                 - Convert to dbus-glib bindings.
10573                 - Type safe checks for public methods' arguments.
10574                 - Store pending DBUS call ids to NMCallStore.
10575
10576         * src/supplicant-manager/nm-supplicant-config.c:
10577                 - Store config values in a GHashTable instead of GSList.
10578
10579         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10580
10581         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10582         singleton now.
10583
10584         * src/nm-device.c: Use the new DHCP manager API.
10585
10586         * src/nm-activation-request.c:
10587         * src/nm-activation-request.h:
10588                 - Remove all dhcp related properties and methods.
10589
10590         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10591
10592         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10593
10594         * src/dhcp-manager/nm-dhcp-manager.c:
10595         * src/dhcp-manager/nm-dhcp-manager.h:
10596                 - Convert it to GObject since we need to signal state changes.
10597                 - Remove all references to other NM classes, this class is one
10598                   of the lowest classes in our hierarchy.
10599                 - One less class to use NMActRequest.
10600                 - Make it singleton, one less user of NMData.
10601                 - Remove a couple of sleep() calls.
10602                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10603                   One less class to use the NM's custom tailored signal handlig.
10604
10605         * Makefile.am: Generate marshallers, add them to build.
10606
10607 2007-02-02  Dan Williams  <dcbw@redhat.com>
10608
10609         * configure.in
10610           gnome/Makefile.am
10611           nm-applet.desktop
10612           Makefile.am
10613                 - Remove last bits referencing gnome applet
10614
10615 2007-02-02  Dan Williams  <dcbw@redhat.com>
10616
10617         * src/vpn-manager/nm-vpn-service.c
10618                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10619                         and NBNS server addresses
10620
10621 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10622
10623         * src/nm-dbus-manager.c:
10624         * src/nm-dbus-manager.h:
10625                 - Convert all internal DBUS code to use dbus-glib bindings.
10626                 - Remove GObject properties, we don't need them here.
10627                 - Don't explicitly set things to NULL after freeing, glib is
10628                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10629                 - Make public API argument checks type safe.
10630                 - Remove unnecessary (and wrong) cast to GObject for the first
10631                   argument to g_signal_* calls - The first argument is a gpointer.
10632                 - Export DBusGConnection to other cool classes that (are going to)
10633                   use dbus-glib.
10634
10635 2007-01-26  Dan Williams  <dcbw@redhat.com>
10636
10637         * libnm-util/dbus-dict-helpers.c
10638           libnm-util/dbus-dict-helpers.h
10639                 - Coordinate style with wpa_supplicant version to minimize diff
10640                 - Add uint32 array support
10641                 - (nmu_dbus_dict_append_uint32_array): new function
10642                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10643                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10644                         version; allow adding string array elements individually
10645
10646         * test/libnm-util/test-dbus-dict-helpers.c
10647                 - Test uint32 arrays
10648
10649 2007-01-27  Jürg Billeter  <j@bitron.ch>
10650
10651         * src/backends/NetworkManagerPaldo.c
10652                 - (nm_system_update_dns): clear nscd hosts cache
10653
10654 2007-01-04  Dan Williams  <dcbw@redhat.com>
10655
10656         Threading removal related cleanups:
10657
10658         - Use the glib default main context.  Remove the device main context
10659                 member from NMDevice, and the main_context member from NMData.  Change
10660                 all the idle and timeout scheduler functions to use plain
10661                 g_idle_add() and g_timeout_add().
10662
10663         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10664                 takes an argument; fix that up too.
10665
10666         - Remove all locking, which is useless since we no longer use threads.  For
10667                 example, nm_get_device_by_iface_locked() has been removed.  The global
10668                 device list lock, the AP List lock, and all static locks in
10669                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10670                 in NetworkManagerUtils.c have also been removed.
10671
10672         - Other cleanups in spacing and code style
10673
10674 2007-01-01  Dan Williams  <dcbw@redhat.com>
10675
10676         Found by Bill Moss:
10677
10678         * src/supplicant-manager/nm-supplicant-interface.c
10679                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10680                         the supplicant interface wasn't already disconnected.  Always
10681                         call removeNetwork and disconnect unless the supplicant interface
10682                         is in the DISCONNECTED or INACTIVE state.
10683
10684 2006-12-28  Dan Williams  <dcbw@redhat.com>
10685
10686         Use a single thread for everything.  With the move to wpa_supplicant
10687         and communication over D-Bus, there's no reason for multiple threads.
10688         Almost all of the blocking code has been removed, with one exception in
10689         the DHCP manager and a few in the VPN manager.  This commit removes the
10690         per-device worker thread and fixes activation cancellation in the absence
10691         of threads.  Further removal of thread-related code would be removing
10692         any locking code (like the device list lock) and simplification of logic
10693         around areas of code or data structures that are currently locked.
10694
10695         * autoip.c
10696           dhcp-manager/nm-dhcp-manager.c 
10697           nm-device-802-11-wireless.c
10698           nm-device-802-3-ethernet.c
10699           nm-device.c
10700           nm-device.h
10701                 - Remove usage of multiple threads
10702
10703 2006-12-19  Dan Williams  <dcbw@redhat.com>
10704
10705         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10706         plus a few other patches from wpa_supplicant bugzilla.
10707
10708         * src/Makefile.am
10709           src/NetworkManagerPolicy.c
10710           src/NetworkManagerUtils.c
10711           src/NetworkManagerUtils.h
10712           src/nm-ap-security-leap.c
10713           src/nm-ap-security-wep.c
10714           src/nm-ap-security-wpa-eap.c
10715           src/nm-ap-security-wpa-psk.c
10716           src/nm-ap-security.c
10717           src/nm-ap-security.h
10718           src/nm-device-802-11-wireless.c
10719           src/nm-device-802-11-wireless.h
10720           src/supplicant-manager/nm-supplicant-config.c
10721           src/supplicant-manager/nm-supplicant-config.h
10722           src/supplicant-manager/nm-supplicant-interface.c
10723           src/supplicant-manager/nm-supplicant-interface.h
10724           src/supplicant-manager/nm-supplicant-marshal.list
10725           src/supplicant-manager/nm-supplicant-settings-verify.c
10726           src/supplicant-manager/nm-supplicant-settings-verify.h
10727                 - Move all connection management and association handling to
10728                         wpa_supplicant over dbus, rather than spawning a private copy
10729
10730 2006-12-19  Dan Williams  <dcbw@redhat.com>
10731
10732         * src/NetworkManagerPolicy.c
10733                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10734                         better locking of the device change check handler ID.  Incorrect
10735                         locking was causing lost device change requests
10736
10737 2006-12-18  Dan Williams  <dcbw@redhat.com>
10738
10739         * libnm-util/dbus-dict-helpers.c
10740                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10741                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10742                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10743
10744 2006-12-18  Dan Williams  <dcbw@redhat.com>
10745
10746         * gnome/libnm_glib/libnm_glib.c
10747                 - Change dbus_connection_close() -> dbus_connection_unref()
10748
10749 2006-12-11  Dan Williams  <dcbw@redhat.com>
10750
10751         * src/supplicant-manager/nm-supplicant-interface.c
10752                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10753                         wpa_supplicant interface state
10754                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10755                         state before transitioning to READY state
10756
10757 2006-12-04  Dan Williams  <dcbw@redhat.com>
10758
10759         * src/nm-device-802-11-wireless.c
10760                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10761                         odd length of ESSID returned from ieee80211 stack-based drivers
10762
10763 2006-12-04  Dan Williams  <dcbw@redhat.com>
10764
10765         * src/nm-device-802-11-wireless.c
10766                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10767                         IE handling blocks that cause mis-parsing of the IE
10768
10769 2006-12-04  Dan Williams  <dcbw@redhat.com>
10770
10771         * src/nm-device-802-11-wireless.c
10772                 - (init_supplicant_interface): new function; pull supplicant interface
10773                         setup code out into standalone function since it must be called from
10774                         two different places
10775                 - (real_init): sup_mgr is now in private object data; get and track
10776                         the supplicant manager object over the NMDevice subclass' lifetime
10777                         and register a signal handler for its state signals; only try to
10778                         initialize the supplicant interface if the supplicant manager is in
10779                         the IDLE state (and therefore is ready for requests)
10780                 - (request_wireless_scan): reschedule the scan request if (a) there is
10781                         no supplicant interface yet (meaning wpa_supplicant isn't running
10782                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10783                         for requests yet
10784                 - (supplicant_iface_connection_state_cb): new function; stub for
10785                         handling supplicant interface connection state signals
10786                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10787                         comes and goes
10788                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10789                         supplicant manager object that's being tracked starting with this
10790                         commit
10791
10792 2006-12-04  Dan Williams  <dcbw@redhat.com>
10793
10794         * src/supplicant-manager/nm-supplicant-interface.c
10795                 - (nm_supplicant_interface_set_property): track signal handler ID
10796                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10797
10798 2006-12-04  Dan Williams  <dcbw@redhat.com>
10799
10800         * src/supplicant-manager/nm-supplicant-interface.[ch]
10801                 - (nm_supplicant_interface_get_state): new function
10802
10803 2006-12-04  Dan Williams  <dcbw@redhat.com>
10804
10805         * src/supplicant-manager/nm-supplicant-interface.c
10806                 - (bssid_properties_cb): don't treat DBus errors as valid
10807                         scanned AP messages
10808
10809 2006-12-04  Dan Williams  <dcbw@redhat.com>
10810
10811         * src/supplicant-manager/nm-supplicant-interface.[ch]
10812                 - (nm_supplicant_interface_get_connection_state): new function
10813                 - define new supplicant connection states
10814                 - send a signal when the supplicant connection state changes
10815
10816 2006-12-03  Dan Williams  <dcbw@redhat.com>
10817
10818         * src/supplicant-manager/Makefile.am
10819           src/supplicant-manager/nm-supplicant-connection.h
10820           src/supplicant-manager/nm-supplicant-connection.c
10821           src/supplicant-manager/nm-supplicant-config.h
10822           src/supplicant-manager/nm-supplicant-config.c
10823           src/supplicant-manager/nm-supplicant-types.h
10824           src/supplicant-manager/nm-supplicant-interface.h
10825           src/supplicant-manager/nm-supplicant-interface.c
10826                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10827
10828 2006-12-03  Dan Williams  <dcbw@redhat.com>
10829
10830         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10831
10832         * po/POTFILES.in
10833           po/POTFILES.skip
10834                 - Move VPN-related translatables to .skip
10835
10836         * vpn-daemons/pptp/po/POTFILES.in
10837                 - Update with new translatables
10838
10839 2006-12-02  Dan Williams  <dcbw@redhat.com>
10840
10841         Patch from Christian Persch <chpe@gnome.org>
10842
10843         * gnome/applet/Makefile.am
10844           gnome/applet/applet-dbus-devices.c
10845           gnome/applet/applet-notifications.c
10846           gnome/applet/applet.c
10847           gnome/applet/applet.h
10848           gnome/applet/main.c
10849                 - Be a GtkStatusIcon on GTK+ >= 2.10
10850
10851 2006-12-02  Dan Williams  <dcbw@redhat.com>
10852
10853         * gnome/applet/applet.c
10854                 - (nma_update_info): fix two unecessary allocations
10855
10856 2006-12-02  Dan Williams  <dcbw@redhat.com>
10857
10858         Patch from Michael Biebl <biebl@teco.edu>
10859         * configure.in
10860           man/NetworkManager.1.in
10861           man/NetworkManagerDispatcher.1.in
10862           man/NetworkManager.8.in
10863           man/NetworkManagerDispatcher.8.in
10864                 - Add .SH NAME stanzas
10865                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10866
10867 2006-12-02  Dan Williams  <dcbw@redhat.com>
10868
10869         Patch from Christian Persch <chpe@gnome.org>
10870
10871         * configure.in
10872                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10873
10874 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10875
10876         Patch by Timo Hoenig <thoenig@suse.de>:
10877         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10878         DBUS-1.0.
10879
10880         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10881         we can't use the one from the main source directory.
10882
10883 2006-11-27  Dan Williams  <dcbw@redhat.com>
10884
10885         Patch from Christian Persch <chpe@gnome.org>
10886
10887         * gnome/applet/applet-dbus-devices.c
10888                 - (hal_info_product_cb): fix memleak; free duped string.
10889                         Gnome.org #379908
10890
10891 2006-11-27  Dan Williams  <dcbw@redhat.com>
10892
10893         Patch from Christian Persch <chpe@gnome.org>
10894
10895         * gnome/applet/menu-items.c
10896                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10897                         as gtk_progress_set_percentage is deprecated.  Should
10898                         work as far back as GTK+ 2.4.  Gnome.org #379780
10899
10900 2006-11-26  Dan Williams  <dcbw@redhat.com>
10901
10902         Scan using wpa_supplicant over DBus.
10903
10904         * src/nm-device-802-11-wireless.c
10905                 - remove wireless extensions netlink event handler bits
10906                         (wireless_event_helper, nm_device_802_11_wireless_event)
10907                 - remove wireless extensions scan event handler bits
10908                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10909                         hex2byte, hex2num, request_and_convert_scan_results,
10910                         free_process_scan_cb_data, scan_results_timeout,
10911                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10912                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10913                         and request scans from the supplicant interface rather than directly
10914                 - Move functionality of convert_scan_results() to cull_scan_list() and
10915                         supplicant_iface_scanned_ap_cb()
10916                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10917                         at the scan interval when the current scan has finished
10918                 - (supplicant_iface_state_cb): start scanning when the supplicant
10919                         interface enters the READY state, and stop scanning when it
10920                         enters the DOWN state
10921                 - (cull_scan_list): weed out old access points from the scan list
10922                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10923                         point into an NMAccessPoint and merge it into the device's scan list
10924
10925         * src/supplicant-manager/nm-supplicant-interface.c
10926           src/supplicant-manager/nm-supplicant-interface.h
10927                 - Add a new signal "scan-result" which is issued when the supplicant
10928                         notifies NM that a scan has completed
10929                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10930                         point found in the scan.  Called once for each access point that
10931                         the supplicant interface object receives from the supplicant as a
10932                         result of the "scanResults" method call
10933                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10934                         for the initial scan results
10935                 - (scan_request_cb): new function; send listeners the result
10936                         (success, error) of a wireless scan request
10937                 - (nm_supplicant_interface_request_scan): new function; ask the
10938                         supplicant to perform an immediate wireless scan
10939
10940 2006-11-25  Dan Williams  <dcbw@redhat.com>
10941
10942         * src/supplicant-manager/Makefile.am
10943                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10944                         add HAL cflags/includes and named-manager includes directory
10945
10946         * src/supplicant-manager/nm-supplicant-interface.h
10947                 - New state STARTING to handle transition from INIT to READY where
10948                         the addInterface pending call is still outstanding
10949
10950         * src/supplicant-manager/nm-supplicant-interface.c
10951                 - track pending calls differently since we may have more than one
10952                         going on at any given time
10953                 - request scan results from wpa_supplicant; but don't do it more often
10954                         than every 4 seconds.  Drivers that do background scanning
10955                         (like the 'ipw' drivers) send a continuous stream of scan completion
10956                         notifications, so we don't want to hammer the supplicant or dbus
10957                         with requests for all scan results every time we get a completion
10958                         notification.
10959
10960 2006-11-25  Dan Williams  <dcbw@redhat.com>
10961
10962         * src/supplicant-manager/nm-supplicant-types.h
10963                 - new file; move all supplicant manager object typedefs here for
10964                         #include sanity
10965
10966         * src/supplicant-manager/nm-supplicant-interface.c
10967           src/supplicant-manager/nm-supplicant-interface.h
10968                 - new file; an object that interfaces an NMDevice object to the
10969                         supplicant and handles signals from the supplicant.  This object
10970                         does all necessary DBus communication with wpa_supplicant.
10971
10972         * src/supplicant-manager/nm-supplicant-manager.c
10973           src/supplicant-manager/nm-supplicant-manager.h
10974                 - Actually do something.  Track the state of the wpa_supplicant service
10975                         and deal with its comings & goings.  Handle life events of
10976                         supplicant interfaces too.
10977                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10978
10979         * src/supplicant-manager/nm-supplicant-connection.h
10980                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10981
10982         * src/supplicant-manager/Makefile.am
10983                 - Add new files to build, and add libnm-util to includes
10984
10985         * src/nm-marshal.list
10986                 - New marshaler type: VOID:UINT,UINT
10987
10988         * src/nm-device-802-3-ethernet.c
10989                 - (real_init): grab a supplicant interface
10990                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10991                 - (supplicant_iface_state_cb): new function, stub for handling
10992                         supplicant interface state changes
10993
10994         * src/nm-device-802-11-wireless.c
10995                 - (real_init): grab a supplicant interface
10996                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10997                 - (supplicant_iface_state_cb): new function, stub for handling
10998                         supplicant interface state changes
10999
11000         * src/NetworkManager.c
11001                 - (main): create and keep the supplicant manager around for the lifetime
11002                         of NetworkManager
11003
11004         * src/Makefile.am
11005                 - Link to the supplicant manager sub-library and use the supplicant
11006                         manager includes
11007
11008 2006-11-25  Dan Williams  <dcbw@redhat.com>
11009
11010         Rework DBus manager signal handling to be more flexible.  Previously,
11011         only one signal handler could be registered for a particular interface.
11012         The DBus manager now reference counts DBus bus matches and allows multiple
11013         clients to register signal handlers for the same interface and sender.
11014
11015         * src/NetworkManager.c
11016                 - (main): track NMI signal handler ID and remove it when we quit
11017
11018         * src/NetworkManagerMain.h
11019                 - Keep track of NMI signal handler ID
11020
11021         * src/nm-dbus-manager.c
11022           src/nm-dbus-manager.h
11023                 - rework signal handling; each signal handler references one signal
11024                         match, but a signal match may be referenced by one or more
11025                         signal handlers.  Matches are refcounted and are destroyed when the
11026                         last signal handler that references the match is removed.  This is
11027                         necessary because two signal handlers may end up requiring the same
11028                         dbus bus match, so the match must live until the last signal handler
11029                         is destroyed (for example, with the wpa_supplicant network interface
11030                         dbus interface).
11031
11032         * src/dhcp-manager/nm-dhcp-manager.c
11033                 - (nm_dhcp_manager_new): track DHCP signal handler id
11034                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11035
11036         * src/vpn-manager/nm-vpn-service.c
11037                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11038                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11039
11040 2006-11-25  Dan Williams  <dcbw@redhat.com>
11041
11042         Suggested by Helmut Schaa <hschaa@suse.de>
11043
11044         * src/vpn-daemons/nm-vpn-service.c
11045                 - (supplicant_child_setup): new function
11046                 - (supplicant_exec): make child process use a new process group id
11047
11048         * src/nm-device-802-11-wireless.c
11049                 - (nm_vpn_service_child_setup): new function
11050                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11051                         process group id
11052
11053 2006-11-19  Dan Williams  <dcbw@redhat.com>
11054
11055         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11056         * gnome/vpn-properties/nm-vpn-properties.c
11057                 - clean up after renamed VPN connection
11058
11059 2006-11-19  Dan Williams  <dcbw@redhat.com>
11060
11061         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11062         * gnome/applet/applet-dbus-vpn.c
11063                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11064
11065         * gnome/vpn-properties/nm-vpn-properties.c
11066                 - (init_app): sort VPN connections
11067
11068 2006-11-09  Dan Williams  <dcbw@redhat.com>
11069
11070         * src/NetworkManagerAPList.c
11071                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11072                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11073                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11074                 broke hidden SSID matching.  Found by Bill Moss.
11075
11076 2006-10-25  Dan Williams  <dcbw@redhat.com>
11077
11078         * src/nm-dbus-nm.c
11079                 - (nm_dbus_nm_set_active_device): return an empty success message on
11080                         success, rather than falling through to the error case.
11081
11082 2006-10-25  Dan Williams  <dcbw@redhat.com>
11083
11084         * src/NetworkManagerUtils.c
11085                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11086                         "SCAN" command
11087
11088 2006-10-24  Dan Williams  <dcbw@redhat.com>
11089
11090         Reduce the number of times the Gnome applet wakes up, especially when
11091         it's doing absolutely nothing and is hidden.  Initial patch by
11092         Chris Aillon.
11093
11094         * gnome/applet/applet-dbus.c
11095                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11096                         kill the redraw timeout.  When NM starts up, start the redraw
11097                         timeout.  Also, if we get kicked off the bus for some reason,
11098                         start the reconnection timeout if one's not already running.
11099                 - (nma_dbus_init): better handling of error conditions, don't leak
11100                         a half-initialized dbus connection
11101                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11102                         the applet's data, just call nm_dbus_init_helper()
11103                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11104                         timeout that calls nma_dbus_connection_watcher()
11105                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11106                         reconnection timeout, and don't start the reconnection timeout
11107                         unconditionally anymore
11108
11109         * gnome/applet/applet-dbus.h
11110                 - Expose nma_start_dbus_connection_watch()
11111
11112         * gnome/applet/applet.c
11113                 - (nma_update_state): no longer static, called from applet-dbus.c for
11114                         immediate UI updates on certain events
11115                 - (nma_set_running): new function; take over setting applet->running,
11116                         when not running (ie, NM is not active), don't activate the redraw
11117                         timeout because we're not showing the applet anyway.  When we are
11118                         running (ie, NM is active), and only when we're running, start the
11119                         redraw timeout.
11120                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11121                         kill any reconnection timeout
11122                 - (nma_get_instance): move one-off dbus initialization code here since
11123                         nm_dbus_init_helper() gets called more than once, possibly by the
11124                         reconnection timeout function too.  And, when we start up, if we
11125                         can't get a connection to the bus, start the reconnection timeout.
11126                         But don't start the redraw timeout yet, only do that when we get
11127                         NM's state and find out if it's running or not.
11128
11129         * gnome/applet/applet.h
11130                 - Add the reconnection GSource ID
11131                 - Add prototypes for nma_set_running() and the no-longer-static
11132                         nma_update_state()
11133
11134 2006-10-24  Dan Williams  <dcbw@redhat.com>
11135
11136         * src/vpn-daemons/nm-dbus-vpnc.c
11137                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11138                         pending call tracker
11139                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11140                         pending call tracker; register one-vpn-connection update pending
11141                         call in pending call tracker
11142                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11143                         update pending call in pending call tracker
11144                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11145                         update pending call in pending call tracker; don't block waiting
11146                         for call to return
11147
11148 2006-10-19  Robert Love  <rml@novell.com>
11149
11150         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11151           refresh the cache.
11152
11153 2006-10-14  Dan Williams  <dcbw@redhat.com>
11154
11155         * src/dhcp-manager/nm-dhcp-manager.c
11156                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11157                 the dbus connection and the device object path rather than
11158                 constructing it inside both functions.  Saves a bit of memory
11159                 and clarifies a failure path.
11160                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11161                 and allocate device path here rather than each of the two
11162                 functions above.
11163
11164 2006-10-13  Dan Williams  <dcbw@redhat.com>
11165
11166         * src/NetworkManager.c
11167                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11168                 this somehow droppout in the refactor
11169
11170 2006-10-13  Dan Williams  <dcbw@redhat.com>
11171
11172         * Huge DBus refactor:
11173                 - Create a "DBus Manager" object which manages the connection and
11174                 sends signals on NameOwnerChanged and connection/disconnection events,
11175                 handles reconnection to the bus if NM gets kicked off, and abstracts
11176                 signal handling
11177                 - Remove DBusConnection members from places where they are no
11178                 longer needed due to the refactor, like the dbus-connection
11179                 property of the named manager, and from NMData
11180                 - Reformats a bunch of the code to gnome style
11181                 (8-space tabs, braces on same line as statement, 80-col width).
11182                 Consider it open season to reformat any bits to gnome style.
11183                 style that aren't already.
11184
11185 2006-10-13  Dan Williams  <dcbw@redhat.com>
11186
11187         * src/supplicant-manager/Makefile.am
11188                 - Add new files
11189
11190         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11191                 - Make it a minimal GObject
11192
11193         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11194                 - Verify settings destined for wpa_supplicant
11195
11196         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11197                 - Minimal GObject to track wpa_supplicant controlled device
11198                 connections
11199
11200 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11201
11202         * gnome/applet/applet.c: (nma_update_info),
11203         (nma_act_stage_to_pixbuf), (nma_update_state):
11204         Mark missing strings for translation. Fixes bug #343306.
11205
11206 2006-10-01  Dan Williams  <dcbw@redhat.com>
11207
11208         * src/vpn-manager/nm-vpn-manager.c
11209                 - (nm_vpn_manager_load_services): split and clean up
11210                 for readability and correctness.  Restrict VPN service
11211                 files to ending in ".name", as was meant from the
11212                 beginning (but not coded in).  Better error reporting.
11213
11214 2006-10-01  Dan Williams  <dcbw@redhat.com>
11215
11216         * utils/nm-utils.h
11217                 - Clean up formatting of debug/info/warning log messages
11218
11219 2006-09-27  Robert Love  <rml@novell.com>
11220
11221         Patch by Tambet Ingo <tambet@ximian.com>:
11222         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11223           actually work.
11224
11225 2006-09-07  Dan Williams <dcbw@redhat.com>
11226
11227         * test/Makefile.am
11228           test/libnm-util/Makefile.am
11229           test/nm-supplicant-test.c
11230                 - Add test program emulating the way NM drives wpa_supplicant
11231                 to help debug supplicant issues
11232
11233 2006-08-24  Dan Williams <dcbw@redhat.com>
11234
11235         * configure.in
11236           src/Makefile.am
11237           src/supplicant-manager/Makefile.am
11238           src/supplicant-manager/nm-supplicant-manager.c
11239           src/supplicant-manager/nm-supplicant-manager.h
11240                 - Add skeleton bits of the wpa_supplicant manager
11241
11242 2006-08-24  Dan Williams <dcbw@redhat.com>
11243
11244         Patch from Ed Catmur:
11245         * src/NetworkManagerUtils.c
11246                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11247                 if netmask is 0 (Gnome #352634)
11248
11249 2006-08-17  Robert Love  <rml@novell.com>
11250
11251         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11252           package is now DBUS-enabled and listens for the NM signals.
11253
11254 2006-08-14  Dan Williams  <dcbw@redhat.com>
11255
11256         * Patch from Christian Persch <chpe gnome org>
11257         * configure.in
11258           po/LINGUAS
11259           vpn-daemons/openvpn/po/LINGUAS
11260           vpn-daemons/openvpn/configure.in
11261           vpn-daemons/pptp/po/LINGUAS
11262           vpn-daemons/pptp/configure.in
11263           vpn-daemons/vpnc/po/LINGUAS
11264           vpn-daemons/vpnc/configure.in
11265                 - Convert to LINGUAS method so translators don't have to modify
11266                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11267                 0.35 or higher
11268
11269 2006-08-14  Dan Williams  <dcbw@redhat.com>
11270
11271         Patch from Alex Smith <alex.extreme2@gmail.com>
11272         * configure.in
11273           src/backends/Makefile.am
11274           src/backends/NetworkManagerFrugalware.c
11275                 - Add support for Frugalware
11276
11277 2006-08-13  Dan Williams  <dcbw@redhat.com>
11278
11279         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11280         * src/nm-device-802-11-wireless.c
11281                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11282                 Gnome #346875
11283
11284 2006-08-13  Dan Williams  <dcbw@redhat.com>
11285
11286         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11287         * src/nm-ap-security.c
11288           src/nm-ap-security.h
11289                 - Add authentication_required bits for subclasses to specify whether
11290                 or not real authentication is required for connections, i.e. whether
11291                 the AP rejects us when an encryption key is wrong or not.
11292
11293         * src/nm-ap-security-wep.c
11294           src/nm-ap-security-wpa-eap.c
11295           src/nm-ap-security-wpa-psk.c
11296           src/nm-ap-security-leap.c
11297                 - Implement authentication_required appropriately for each method
11298
11299         * src/nm-device-802-11-wireless.c
11300                 - Be smarter about when to request a key; for example, using a wrong key
11301                 in WEP shared key mode previously just timed out and did not request
11302                 a new key
11303
11304 2006-08-13  Dan Williams  <dcbw@redhat.com>
11305
11306         * gnome/libnm_glib/libnm_glib.c
11307                 - dbus_connection_disconnect() -> dbus_connection_close() for
11308                 dbus >= 0.90
11309
11310 2006-08-07  Dan Williams  <dcbw@redhat.com>
11311
11312         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11313         * src/NetworkManagerSystem.c
11314                 - Respect specified MTU.  Gnome #344967
11315
11316 2006-08-07  Dan Williams  <dcbw@redhat.com>
11317
11318         * src/vpn-manager/nm-vpn-service.c
11319                 - Simplify print_vpn_config() arguments
11320
11321         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11322         * src/vpn-manager/Makefile.am
11323           src/vpn-manager/nm-vpn-service.c
11324                 - Add new API for passing VPN config options as a dict. Gnome #344967
11325
11326 2006-08-06  Dan Williams  <dcbw@redhat.com>
11327
11328         * gnome/applet/applet-dbus-devices.c
11329           gnome/applet/applet-dbus-vpn.c
11330           gnome/applet/applet-dbus.c
11331           gnome/applet/applet-dbus.h
11332           src/nm-dbus-nmi.c
11333           utils/nm-utils.c
11334           utils/nm-utils.h
11335                 - Make pending call tracking code generic,
11336                 so we can use it in NM as well as the applet
11337
11338 2006-08-06  Dan Williams  <dcbw@redhat.com>
11339
11340         * src/nm-activation-request.c
11341                 - Refcount pending call objects
11342
11343 2006-08-06  Dan Williams  <dcbw@redhat.com>
11344
11345         Patch from Christan Chiesa <christanc@gmail.com>
11346         * configure.in
11347                 - Tell sha1.c to use bigendian mode on PPC
11348
11349 2006-08-04  Robert Love  <rml@novell.com>
11350
11351         Glib Memory Slices!
11352         * configure.in: Require glib 2.10 or later.
11353         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11354           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11355           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11356           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11357           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11358           Memory Slices are the greatest thing since bread slices.
11359         * src/NetworkManagerAP.c: Also, fix memory leak.
11360
11361 2006-08-01  Robert Love  <rml@novell.com>
11362
11363         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11364
11365 2006-07-31  Robert Love  <rml@novell.com>
11366
11367         * src/backends/interface_parser.c: Declarations must begin the block.
11368
11369 2006-07-24  Dan Williams  <dcbw@redhat.com>
11370
11371         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11372         * src/backends/Makefile.am
11373           src/backends/NetworkManagerArch.c
11374           src/backends/NetworkManagerDebian.c
11375           src/backends/NetworkManagerGeneric.c
11376           src/backends/NetworkManagerGeneric.h
11377           src/backends/NetworkManagerGentoo.c
11378           src/backends/NetworkManagerPaldo.c
11379           src/backends/NetworkManagerRedHat.c
11380           src/backends/NetworkManagerSlackware.c
11381           src/backends/NetworkManagerSuSE.c
11382                 - Genericize common backend functions
11383
11384 2006-07-18  Robert Love  <rml@novell.com>
11385
11386         * configure.in: Add "--with-notify" option to allow disabling of
11387           libnotify support.
11388
11389 2006-07-13  Dan Williams  <dcbw@redhat.com>
11390
11391         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11392         * gnome/applet/applet.glade
11393           gnome/applet/Makefile.am
11394           gnome/applet/nm-gconf-wso.c
11395           gnome/applet/nm-gconf-wso-leap.c
11396           gnome/applet/nm-gconf-wso-leap.h
11397           gnome/applet/wireless-security-manager.c
11398           gnome/applet/wso-leap.c
11399           gnome/applet/wso-leap.h
11400           include/NetworkManager.h
11401           libnm-util/dbus-helpers.c
11402           libnm-util/dbus-helpers.h
11403           src/Makefile.am
11404           src/NetworkManagerAP.c
11405           src/nm-ap-security.c
11406           src/nm-ap-security-leap.c
11407           src/nm-ap-security-leap.h
11408                 - Add LEAP authentication support
11409
11410 2006-07-13  Dan Williams  <dcbw@redhat.com>
11411
11412         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11413         * configure.in
11414           src/backends/NetworkManagerArch.c
11415           src/backends/NetworkManagerDebian.c
11416           src/backends/NetworkManagerGentoo.c
11417           src/backends/NetworkManagerPaldo.c
11418           src/backends/NetworkManagerRedHat.c
11419           src/backends/NetworkManagerSlackware.c
11420           src/backends/NetworkManagerSuSE.c
11421                 - Convert hardcoding of 'ip' path to configure-time
11422                         detected one
11423
11424 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11425
11426         * configure.in: added ru to ALL_LINGUAS
11427
11428 2006-07-10  Dan Williams  <dcbw@redhat.com>
11429
11430         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11431         * src/nm-device.c
11432                 - (real_act_stage3_ip_config_start): don't infinite loop when
11433                         dhcdbd isn't running (Gnome #346845)
11434
11435 2006-07-09  Dan Williams  <dcbw@redhat.com>
11436
11437         * gnome/applet/applet.c
11438                 - (nma_destroy): don't pass NULL to notify_notification_close
11439                         (RH #197917)
11440
11441 2006-07-09  Dan Williams  <dcbw@redhat.com>
11442
11443         * gnome/applet/applet.c
11444                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11445
11446 2006-07-04  Tor Krill  <tor@krill.nu>
11447
11448         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11449         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11450         (nm_system_restart_mdns_responder), (ArchReadConfig),
11451         (nm_system_device_get_system_config):
11452                 - Explicitly check for DHCP configuration
11453                 - Check if daemons are running before starting them
11454
11455 2006-06-25  Dan Williams  <dcbw@redhat.com>
11456
11457         * libnm-util/dbus-dict-helpers.[ch]
11458           test/libnm-util/test-dbus-dict-helpers.c
11459                 - Add string array support
11460
11461 2006-06-24  Dan Williams  <dcbw@redhat.com>
11462
11463         * src/dhcp-manager/nm-dhcp-manager.c
11464                 - (nm_dhcp_manager_process_signal): clean up spacing
11465
11466 2006-06-21  Dan Williams  <dcbw@redhat.com>
11467
11468         * src/nm-dbus-device.c
11469                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11470                         through dbus
11471
11472 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11473
11474         * configure.in: Added 'lv' to ALL_LINGUAS
11475
11476 2006-06-19  Dan Williams  <dcbw@redhat.com>
11477
11478         * src/NetworkManagerAP.c
11479                 - Clarify usage of user_created
11480
11481         * src/nm-ap-security-wep.c
11482           src/nm-ap-security-wpa-eap.c
11483           src/nm-ap-security-wpa-psk.c
11484           src/nm-ap-security.c
11485           src/nm-ap-security.h
11486                 - s/user_created/adhoc, because we really do mean adhoc
11487
11488         Patch from Bernard Blackham <bernard@blackham.com.au>
11489         * src/nm-device-802-11-wireless.c         
11490                 - (supplicant_send_network_config): instead of user_created,
11491                         use adhoc, and do AP_SCAN 2 for adhoc networks
11492
11493 2006-06-18  Robert Love  <rml@novell.com>
11494
11495         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11496           we have a value to set.  Gconf generates a warning if `val' is NULL.
11497         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11498           unless we actually received a valid private key file passphrase or
11499           password.  Otherwise, we don't know to later ask the applet to pull
11500           the key from the keyring.
11501
11502 2006-06-17  Dan Williams  <dcbw@redhat.com>
11503
11504         * libnm-util/dbus-dict-helpers.[ch]
11505           test/libnm-util/test-dbus-dict-helpers.c
11506                 - Fixes for zero-length byte arrays
11507                 - Replace return values of 0 with FALSE for clarity
11508                 - Test zero-length byte arrays
11509
11510 2006-06-17  Dan Williams  <dcbw@redhat.com>
11511
11512         * libnm-util/dbus-dict-helpers.[ch]
11513           test/libnm-util/test-dbus-dict-helpers.c
11514                 - Add helpers for byte arrays
11515                 - Rework bits of the testcase
11516
11517 2006-06-16  Dan Williams  <dcbw@redhat.com>
11518
11519         * libnm-util/Makefile.am
11520         * libnm-util/dbus-dict-helpers.[ch]
11521                 - Add some helpers to take the pain out of using dict types in
11522                         dbus.
11523
11524         * test/libnm-util/Makefile.am
11525         * test/libnm-util/test-dbus-dict-helpers.c
11526                 - Test cases for the dict helper functions
11527
11528 2006-06-15  Robert Love  <rml@novell.com>
11529
11530         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11531           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11532           if there is no key to pass.
11533         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11534           receiving a non-NULL key.
11535
11536 2006-06-14  Robert Love  <rml@novell.com>
11537
11538         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11539           copy the strings.
11540
11541
11542 2006-06-14  Dan Williams  <dcbw@redhat.com>
11543
11544         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11545         * src/nm-device-802-11-wireless.c
11546                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11547                         or ones where the driver is unknown
11548                 - (supplicant_exec): don't wait for supplicant startup here
11549                 - (supplicant_interface_init): finer grained polling for supplicant
11550                         startup
11551
11552 2006-06-13  Robert Love  <rml@novell.com>
11553
11554         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11555           if it is currently set to TRUE.  Otherwise, we will reset the value
11556           when we connect normally.
11557         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11558           the old BSSID is valid, too.  The recently added ESSID check may not be
11559           sufficient (we can remove it?).  What we really want to catch is the
11560           case of going from all-zeros to the BSSID of some other network, which
11561           happens on failure.
11562
11563 2006-06-09  Dan Williams  <dcbw@redhat.com>
11564
11565         * src/NetworkManagerSystem.[ch]
11566                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11567                         it was unused and pointless
11568                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11569                         fix for set_up_down_with_iface change
11570
11571         * src/vpn-manager/nm-vpn-connection.c
11572                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11573
11574         * src/backends/NetworkManagerPaldo.c
11575           src/backends/NetworkManagerRedHat.c
11576           src/backends/NetworkManagerSuSE.c
11577           src/backends/NetworkManagerArch.c
11578           src/backends/NetworkManagerDebian.c
11579           src/backends/NetworkManagerGentoo.c
11580                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11581                         appropriate
11582                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11583                         where appropriate
11584
11585 2006-06-09  Dan Williams  <dcbw@redhat.com>
11586
11587         Patch from Peter Jones:
11588         * src/nm-device-802-11-wireless.c
11589                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11590                         SSID hasn't changed from what we expect before automatically
11591                         updating the saved BSSID from a new AP
11592
11593 2006-06-08  Robert Love  <rml@novell.com>
11594
11595         Add 'fallback' support.  NetworkManager will attempt to brute-force
11596         connect to networks marked as fallback if there are no better wireless
11597         connections available.  This is useful as a method of last resort, to
11598         work around driver problems, and for use with hidden networks.
11599         * gnome/applet/applet-dbus-devices.c,
11600           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11601         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11602           pass it on via DBUS.
11603         * gnome/applet/applet.c: No fallback by default.
11604         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11605           Update other-network-dialog to add UI checkbox toggling fallback.
11606         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11607           propery from AP object.  Add "fallback" property to AP object.
11608         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11609         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11610         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11611           separate function.  Add get_best_fallback_ap() for returning an AP
11612           on which to attempt fallback.
11613         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11614         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11615
11616 2006-06-07  Robert Love  <rml@novell.com>
11617
11618         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11619           checked that the return type was GCONF_VALUE_STRING, not the correct
11620           GCONF_VALUE_BOOL, and thus it never worked.
11621         * src/NetworkManagerAPList.c: Before concluding that two networks are
11622           identical based on their BSSID, make sure that the BSSID in question
11623           is actually valid.  Specifically, an empty or all zero BSSID does not
11624           cut it.
11625         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11626           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11627           similar invariant clean up.
11628
11629 2006-06-02  Robert Love  <rml@novell.com>
11630
11631         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11632
11633 2006-05-28  Dan Williams  <dcbw@redhat.com>
11634
11635         * gnome/applet/applet.glade
11636           gnome/vpn-properties/nm-vpn-properties.glade
11637                 - Set window icons on dialogs  (Gnome.org #333420)
11638
11639 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11640
11641         * gnome/vpn-properties/nm-vpn-properties.glade:
11642         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11643         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11644         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11645                 - Make the VPN properties pages prettier and more HIG
11646                   compliant. Gnome Bug #336913.
11647
11648 2006-05-28  Dan Williams  <dcbw@redhat.com>
11649
11650         Patch from Christian Persch <chpe@gnome.org>
11651         * gnome/vpn-properties/nm-vpn-properties.c
11652         * gnome/vpn-properties/nm-vpn-properties.glade
11653                 - HIG-ification love  (Gnome.org #336846)
11654
11655 2006-05-28  Dan Williams  <dcbw@redhat.com>
11656
11657         Patch from Christian Persch <chpe@gnome.org>
11658         * configure.in
11659           gnome/vpn-properties/nm-vpn-properties.c
11660                 - (main): Fix option parsing.  Gnome.org #336847
11661
11662 2006-05-28  Dan Williams  <dcbw@redhat.com>
11663
11664         * gnome/vpn-properties/nm-vpn-properties.c
11665                 - (find_vpn_ui_by_service_name): protect against NULL service names
11666                 - (update_edit_del_sensitivity): protect against NULL service names
11667                         Gnome.org #341306
11668
11669 2006-05-28  Dan Williams  <dcbw@redhat.com>
11670
11671         Patch from Chris Fuller <crf@grandecom.net>:
11672         * src/nm-device-802-11-wireless.c
11673                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11674                         don't dispose of wireless-specific stuff unless it is actually
11675                         initialized.  Gnome.org #341263
11676
11677 2006-05-28  Dan Williams  <dcbw@redhat.com>
11678
11679         * src/NetworkManagerPolicy.c
11680                 - (nm_policy_device_change_check): don't switch devices if the "best"
11681                         AP is essentially the same as the current activation request, but
11682                         the current activation request isn't done activating yet.  Fixes
11683                         multiple requests for keyring password on startup for Gnome applet.
11684                         Gnome.org #341297
11685
11686 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11687
11688         * src/NetworkManager.c: use GOptions instead of getopt
11689         * configure.in: bump glib required version to >= 2.6 for GOption
11690           support
11691
11692 2006-05-25  Robert Love  <rml@novell.com>
11693
11694         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11695           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11696           instead of dumping ifdef's throughout the code.
11697         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11698           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11699           use nm_ioctl_info() in lieu.
11700
11701 2006-05-25  Robert Love  <rml@novell.com>
11702
11703         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11704         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11705           not using gcrypt.  Otherwise, we get a linker error.
11706
11707 2006-05-25  Robert Love  <rml@novell.com>
11708
11709         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11710         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11711           configure flag to disable building of the GNOME-based applet.
11712
11713 2006-05-25  Robert Love  <rml@novell.com>
11714
11715         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11716           parameter from link, because it shadows a global variable with some
11717           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11718           should never have exported to the entire system a common four letter
11719           word.  But we here at NetworkManager are team players.  Fixes
11720           GNOME bug #336532.
11721
11722 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11723
11724         * configure.in: Added mk.po, Macedonian translation.
11725
11726 2006-05-24  Robert Love  <rml@novell.com>
11727
11728         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11729           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11730           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11731
11732 2006-05-24  Robert Love  <rml@novell.com>
11733
11734         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11735           libnm-util/Makefile.am, src/Makefile.am,
11736           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11737           vpn-daemons/openvpn/properties/Makefile.am,
11738           vpn-daemons/pptp/auth-dialog/Makefile.am,
11739           vpn-daemons/pptp/properties/Makefile.am,
11740           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11741           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11742           user passed for --datadir, if anything, when setting the GNOME locale
11743           directory.  It should be a function of the specified datadir and not
11744           the prefix.
11745
11746 2006-05-24  Robert Love  <rml@novell.com>
11747
11748         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11749           src/NetworkManager.c: Take care to call bindtextdomain with the
11750           location of msgid files.
11751         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11752           files.
11753
11754 2006-05-22  Robert Love  <rml@novell.com>
11755
11756         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11757           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11758           99% of the time there is a real problem with wireless, and a
11759           seemingly successful connection via Zeroconf just confuses the user.
11760           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11761
11762 2006-05-22  Robert Love  <rml@novell.com>
11763
11764         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11765           autofs on interface up if NIS is configured.  On interface down, do
11766           nothing.
11767
11768 2006-05-22  Robert Love  <rml@novell.com>
11769
11770         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11771           to avoid calling g_object_unref() on stale pointers on error in
11772           nma_icons_free().  This happens because we short-circuit loaded the
11773           icons on the first failure but then free all icons.  Normally we have
11774           no issue because the icons were zero'ed out malloc, but we have stale
11775           pointer data after nma_icon_theme_changed().
11776         * gnome/applet/main.c: Return error code if nma_new() failed.
11777
11778 2060-05-21  Dan Williams  <dcbw@redhat.com>
11779
11780         * initscript/NetworkManager.in
11781                 - Ensure both dhcdbd and named are started before NM
11782
11783 2006-05-21  Dan Williams  <dcbw@redhat.com>
11784
11785         * configure.in
11786                 - Bump version to 0.7 to signify we are in 0.7 development
11787
11788 2006-05-21  Dan Williams  <dcbw@redhat.com>
11789
11790         Patch from Adam Schreiber <sadam@clemson.edu>
11791         * gnome/vpn-properties/nm-vpn-properties.c
11792                 - (main): correct Gnome program name  (gnome.org #342498)
11793
11794 2006-05-21  Dan Williams  <dcbw@redhat.com>
11795
11796         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11797
11798         * src/NetworkManagerDbus.[ch]
11799                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11800                         clarify that function's argument should be an escaped dbus object
11801                         path, and look for path segment end before returning a match
11802         * src/nm-dbus-nm.c:
11803                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11804
11805 2006-05-17  Robert Love  <rml@novell.com>
11806
11807         Functionality to differentiate Ad-Hoc networks from infrastructure
11808         networks in the applet, by displaying a special icon:
11809         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11810         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11811         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11812           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11813           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11814           networks, encrypted or not.
11815         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11816           accessor functions to get and set the mode of a given network,
11817           wireless_network_get_mode() and wireless_network_set_mode().
11818
11819 2006-05-17  Robert Love  <rml@novell.com>
11820
11821         Functionality to automatically add BSSIDs to the allowed-MAC list as
11822         one roams from access point to access point on a given network:
11823         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11824           helper function to compare two ether_addr structures and return TRUE
11825           if they contain the same MAC address.
11826         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11827           prototype.
11828         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11829           stored with the current AP.  If the BSSID has indeed changed, we
11830           send it out to the applet, allowing the allowed-MAC list to grow
11831           automatically in response to roaming.
11832
11833 2006-05-16  Robert Love  <rml@novell.com>
11834
11835         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11836           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11837
11838 2006-05-13  Dan Williams  <dcbw@redhat.com>
11839
11840         * src/nm-device-802-3-ethernet.c
11841                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11842                         carrier detect (Debian bug #366373)
11843
11844 2006-05-11  Dan Williams  <dcbw@redhat.com>
11845
11846         Patch from Michael Biebl <biebl@teco.edu>
11847         * src/backends/NetworkManagerDebian.c
11848                 - Debian backend fixups
11849
11850 2006-05-10  Robert Love  <rml@novell.com>
11851
11852         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11853
11854 2006-05-09  Robert Love  <rml@novell.com>
11855
11856         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11857           private certificate passphrase, if any, in the GNOME Keyring.
11858         * libnm-utils/dbus-helpers.c: Update.
11859
11860 2006-05-05  Dan Williams  <dcbw@redhat.com>
11861
11862         * src/nm-device-802-11-wireless.c
11863                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11864                         nm_device_802_11_wireless_disable_encryption() since that's all
11865                         we use it for anymore; we don't ever set WEP keys ourselves.
11866                 - (real_deactivate_quickly): reset SSID and encryption keys
11867                 - (real_deactivate): move SSID and encryption key reset to
11868                         real_deactivate_quickly(), which gets run before us anyway
11869
11870 2006-05-05  Robert Love  <rml@novell.com>
11871
11872         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11873           root has a wacky default of its own (or, more common, a user has a
11874           bad umask and uses su/sudo to restart NetworkManager).  Anything
11875           other than 0022 does not do what we want with, for example,
11876           resolv.conf.  This problem is amplified by our judicious use of
11877           fopen(), which uses mode 0666 -- implying that the only way to get
11878           the permissions we want is with a umask of 0022.
11879
11880 2006-05-05  Dan Williams  <dcbw@redhat.com>
11881
11882         * gnome/libnm_glib/libnm_glib.c
11883                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11884                         to reconnect; instead wait a bit more with each reconnect attempt
11885                         up to a max of one minute.
11886
11887 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11888
11889         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11890           the WirelessNetwork structure using the proper function instead of
11891           just casting it directly to (const char *) (gnome.org #336991)
11892
11893 2006-05-03  Robert Love  <rml@novell.com>
11894
11895         * src/backends/NetworkManagerSuSE.c: Respect the variable
11896           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11897           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11898           to dynamically update /etc/resolv.conf.
11899
11900 2006-05-02  Peter Jones  <pjones@redhat.com>
11901
11902         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11903
11904 2006-05-02  Robert Love  <rml@novell.com>
11905
11906         Patch by Timo Hoenig;
11907         * tests/nm-online.c: Print pretty status indicator as timeout winds
11908           down.  Also fix possible race between DBUS startup and failure
11909           return.
11910
11911 2006-05-01  Robert Love  <rml@novell.com>
11912
11913         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11914           empty, too.
11915
11916 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11917
11918         * src/nm-device.c (discover_device_type): Actually use the hal
11919         device type instead of ioctl poking
11920
11921 2006-04-26  Robert Love  <rml@novell.com>
11922
11923         * tests/nm-online.c: New file.  Simple utility that returns exit status
11924           noting whether the connection is offline or online.  If offline on
11925           start, it waits 30 seconds (or a command-line given value) for an
11926           online signal.  If it times out, it again returns offline.  This is
11927           useful for scripts that want to wait for network connections.
11928
11929 2006-04-25  Robert Love  <rml@novell.com>
11930
11931         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11932           key mode (the authentication algorithm), e.g. open or shared, when we
11933           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11934           only shared was broken.  If the user specified a shared key, set it
11935           explicitly, otherwise let wpa_supplicant go with the default.
11936
11937 2006-04-24  Dan Williams  <dcbw@redhat.com>
11938
11939         * src/nm-device-802-11-wireless.c
11940                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11941
11942 2006-04-24  Dan Williams  <dcbw@redhat.com>
11943
11944         Commit the async scanning patch
11945
11946         * src/nm-device-802-11-wireless.c
11947                 - get rid of scan_mutex
11948                 - (wireless_event_helper): act on wireless scan events
11949                 - (real_start): schedule a pending scan
11950                 - (link_to_specific_ap): fake the link to the AP during a scan
11951                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11952                         strength during scans
11953                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11954                         nm_device_set_bitrate): unused with new scanning code, disable
11955                 - (nm_device_wireless_schedule_scan): removed
11956                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11957                 - (request_and_convert_scan_results): new function; retrieve scan
11958                         results from the driver and schedule the processing function
11959                 - (scan_results_timeout): timeout triggered when card doesn't send
11960                         a scan results wireless event during a certain interval
11961                 - (schedule_scan_results_timeout): new function; schedule the scan
11962                         results timeout
11963                 - (cancel_scan_results_timeout): new function; cancel the scan
11964                         results timeout
11965                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11966                         to do the scanning.  Otherwise, just request a scan but don't
11967                         grab results here; instead schedule a timeout for scan results and
11968                         let netlink notify us of scan completion events
11969                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11970                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11971                 - (supplicant_status_cb): ignore disconnect events while scanning
11972                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11973                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11974                         timeouts
11975                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11976
11977 2006-04-24  Dan Williams  <dcbw@redhat.com>
11978
11979         * gnome/applet/applet-dbus.c
11980                 - Disable the pending call debug stuff, seems under control now
11981
11982 2006-04-20  Robert Love  <rml@novell.com>
11983
11984         Fix bug where hidden ESSID's would not show up in the applet, even
11985         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11986         because nm_policy_device_list_update_from_allowed_list() would merge
11987         the data, putting a name to the hidden networks, but never notify NMI
11988         of the changes.  Simple fix is to invoke the function
11989         nm_dbus_signal_wireless_network_change() if we make a mapping.
11990         * src/NetworkManagerAPList.c: Call the function
11991           nm_dbus_signal_wireless_network_change() if we made a successful
11992           BSSID to ESSID mapping, notifying the applet of the "new" network.
11993         * src/NetworkManagerAPList.h: Update the prototypes for both
11994           nm_ap_list_copy_essids_by_address() and
11995           nm_ap_list_copy_one_essid_by_address().
11996
11997 2006-04-20  Robert Love  <rml@novell.com>
11998
11999         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12000           not set.  Just return zero.
12001
12002 2006-04-20  Robert Love  <rml@novell.com>
12003
12004         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12005           only one copy of nm-vpn-properties is running at a time via the 'ol
12006           X selection trick.  This prevents the user from opening two "VPN
12007           Connections" windows from within the applet, which leads to mass
12008           hysteria.
12009         * clipboard.c: New file, implementing simple X selection logic.
12010         * clipboard.h: New file.
12011         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12012
12013 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12014
12015         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12016         * configure.in
12017           initscript/Gentoo/Makefile.am
12018           initscript/Gentoo/NetworkManagerDispatcher.in
12019                 - New script
12020         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12021           Gentopia
12022
12023 2006-04-16  Dan Williams  <dcbw@redhat.com>
12024
12025         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12026         * configure.in
12027           initscript/Slackware/Makefile.am
12028           initscript/Slackware/rc.networkmanager-dispatcher.in
12029           initscript/Slackware/rc.networkmanager.in
12030                 - Update slackware initscripts
12031
12032 2006-04-10  Robert Love  <rml@novell.com>
12033
12034         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12035           the "delete_event" signal on the druid's parent window and handle it
12036           our way, lest using the WM to close the druid results in a series of
12037           bloody and ultimately lethal errors.
12038
12039 2006-04-10  Robert Love  <rml@novell.com>
12040
12041         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12042           'Back' too or else the 'Forward' option is initially disabled despite
12043           valid input.
12044
12045 2006-04-06  Robert Love  <rml@novell.com>
12046
12047         Fix bad but simple bug where an active modem connection did not update
12048         NM's connection state, breaking any app that did online/offline:
12049         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12050           represented whether a dial up connection is active, or not.
12051         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12052           to modem activation and deactivation.
12053         * src/NetworkManagerDbus.c: When asked our state, do not return
12054           disconnected if the modem is active.
12055
12056 2006-04-04  Robert Love  <rml@novell.com>
12057
12058         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12059           applet.  It just confuses the crap out of people and does not make a
12060           lot of sense, as the daemon still runs.
12061
12062 2006-04-02  Tor Krill  <tor@krill.nu>
12063
12064         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12065           in start of service.
12066         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12067           get Archlinux backend up to date.
12068
12069 2006-03-29  Robert Love  <rml@novell.com>
12070
12071         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12072         to add support for per-route MSS and improve support for per-interface
12073         MTU:
12074         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12075           optionally take an MSS parameter and set it for the given route.
12076           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12077           NMIP4Config's stored MSS, if any.
12078         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12079           the interface's MTU and the route's MSS, respectively.  Add functions
12080           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12081           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12082           MSS.
12083         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12084           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12085           nm_ip4_config_set_mss.
12086         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12087           VPN daemon.
12088         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12089           Change the retval of nm_system_get_mtu to guint32.
12090         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12091           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12092           servers can specify MTU's, we should set it here if the MTU was not
12093           provided.
12094
12095 2006-03-27  Jürg Billeter  <j@bitron.ch>
12096
12097         * configure.in:
12098         * initscript/Makefile.am:
12099         * initscript/paldo/Makefile.am:
12100         * initscript/paldo/NetworkManager.in:
12101         * initscript/paldo/NetworkManagerDispatcher.in:
12102         * src/backends/Makefile.am:
12103         * src/backends/NetworkManagerPaldo.c:
12104                 - Add paldo support
12105
12106 2006-03-27  Dan Williams  <dcbw@redhat.com>
12107
12108         Patch from Christian Persch <chpe@gnome.org>
12109         * gnome/applet/applet.glade
12110                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12111
12112 2006-03-27  Dan Williams  <dcbw@redhat.com>
12113
12114         Patch from Diffe <diffie@blazebox.homeip.net>
12115         * src/backends/NetworkManagerSlackware.c
12116                 - Don't restart howl, since it's been replaced by Avahi
12117                         in most distributions
12118
12119 2006-03-27  Dan Williams  <dcbw@redhat.com>
12120
12121         Patch from Tor Krill <bugzilla@krill.nu>
12122         * configure.in
12123           initscript/Makefile.am
12124           src/backends/Makefile.am
12125           src/backends/NetworkManagerArch.c
12126           initscript/Arch/Makefile.am
12127           initscript/Arch/networkmanager-dispatcher.in
12128           initscript/Arch/networkmanager.in
12129                 - Add Arch Linux support, fixes gnome.org #335147
12130
12131 2006-03-27  Dan Williams  <dcbw@redhat.com>
12132
12133         Patch from Diffe <diffie@blazebox.homeip.net>
12134      * initscript/Slackware/rc.networkmanager
12135         - update, fixed gnome.org #333368
12136
12137 2006-03-27  Robert Love  <rml@novell.com>
12138
12139         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12140           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12141
12142 2006-03-27  Robert Love  <rml@novell.com>
12143
12144         Patch by Jürg Billeter <j@bitron.ch>:
12145         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12146           systems.
12147         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12148           as we prefer glibc over kernel headers, if possible.
12149
12150 2006-03-27  Robert Love  <rml@novell.com>
12151
12152         Patch by Jon Escombe <list@dresco.co.uk>:
12153         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12154         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12155           fail, don't bail out.  We don't expect all of the various WPA-EAP
12156           values to be present.
12157         * src/nm-ap-security.c: We need to match all capabilities for each
12158           encryption type, not any one of them.
12159
12160 2006-03-27  Robert Love  <rml@novell.com>
12161
12162         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12163           restart, not reload, ypbind.  Unfortunately there is no superior
12164           solution.
12165
12166 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12167
12168         * gnome/applet/applet-notifications.c:
12169         When displaying a notification, make sure to get rid of the
12170         previous notification so as to not have competing bubbles,
12171         and stop leaking the old one.
12172
12173         * gnome/applet/applet.c:
12174         * gnome/applet/applet.h:
12175         Add a new 'notification' member to the applet, and zero it out
12176         and free it appropriately.
12177
12178 2006-03-23  Robert Love  <rml@novell.com>
12179
12180         Patch by j <j@bootlab.org>:
12181         * gnome/applet/applet.glade: Don't set the invisible_char property,
12182           which simply overrides the GTK default.  By and by, this behavior
12183           ought to be fixed in Glade.
12184
12185 2006-03-22  Robert Love  <rml@novell.com>
12186
12187         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12188
12189 2006-03-22  Robert Love  <rml@novell.com>
12190
12191         Bug fix by Timo Hoenig <thoenig@suse.de>:
12192         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12193           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12194           and the applet going AWOL.
12195
12196 2006-03-22  Robert Love  <rml@novell.com>
12197
12198         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12199           preprocessor define and use it instead of open-coded the DHCP
12200           timeout, which is currently 25 seconds, everywhere.
12201
12202 2006-03-22  Robert Love  <rml@novell.com>
12203
12204         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12205         key exchange via WPA, ostensibly providing good security without
12206         requiring hardware that supports full WPA.  Also, add UI elements to
12207         allow the user to select the pairwise & group cipher for WPA Enterprise
12208         networks, too:
12209         * gnome/applet/applet.glade: Update glade file.
12210         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12211           key type, too, to and from gconf.
12212         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12213           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12214           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12215           the capabilities match.
12216         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12217           prototype.
12218         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12219           serialize from UI to DBUS.
12220         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12221           one element.
12222         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12223           nmu_security_serialize_wpa_eap_with_cipher(), and
12224           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12225           serialize/deserialize the key type via DBUS as the new third DBUS
12226           parameter.
12227         * libnm-util/dbus-helpers.h: Update prototypes.
12228         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12229           too.  If the key type is WEP104, do Dynamic WEP, which means
12230           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12231           pairwise and group ciphers (fixes a FIXME).
12232
12233 2006-03-21  Robert Love  <rml@novell.com>
12234
12235         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12236           nm_system_get_mtu(), which returns a user-provided or system-mandated
12237           MTU value for a given device, if any, or zero if no such value
12238           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12239           if we have a provided value.
12240         * src/nm-device.c: Set the MTU of devices.
12241         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12242         * src/backends/NetworkManagerDebian.c,
12243           src/backends/NetworkManagerGentoo.c,
12244           src/backends/NetworkManagerRedHat.c,
12245           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12246
12247 2006-03-21  Robert Love  <rml@novell.com>
12248
12249         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12250           configuration file.
12251
12252 2006-03-17  Robert Love  <rml@novell.com>
12253
12254         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12255           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12256           it, in case it is not running in the first place.  We just want its
12257           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12258
12259 2006-03-15  Robert Love  <rml@novell.com>
12260
12261         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12262           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12263           label "WEP 40/128-bit" is inconsistent because the physical key size
12264           is 40 or 104-bits, to which a 24-bit initialisation vector is
12265           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12266           to read "40/104" or "64/128".  I do not care much which, but most
12267           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12268           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12269           WEP passphrase support only handles 128-bit keys, and any future
12270           64-bit passphrase support will require a new option (no way to auto-
12271           detect the target key size), explicitly label our passphrase support
12272           "WEP 128-bit Passphrase".
12273
12274 2006-03-15  Robert Love  <rml@novell.com>
12275
12276         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12277           the system init scripts (or some other mechanism) starting it (or a
12278           compatible DBUS service) before NetworkManager runs.  This means that
12279           distributions might need to update their init scripts.  This fixes
12280           possible races and is quite a bit cleaner.
12281         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12282           starting the NetworkManager daemon.
12283
12284
12285 2006-03-14  Robert Love  <rml@novell.com>
12286
12287         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12288           before adding anything.
12289
12290 2006-03-13  Robert Love  <rml@novell.com>
12291
12292         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12293           widgets, too, if they exist, in case the user hit the back button.
12294           Fixes a bug where the details page contains the widgets of multiple
12295           VPN modules (Novell bug #157048).
12296
12297 2006-03-13  Robert Love  <rml@novell.com>
12298
12299         Patch by Timo Hoenig <thoenig@suse.de>:
12300         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12301           daemon survive DBUS restarts, too.
12302
12303 2006-03-10  Robert Love  <rml@novell.com>
12304
12305         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12306           passphrase or key.
12307         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12308           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12309           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12310           in response to "toggled" signal on new toggle.
12311
12312 2006-03-10  Robert Love  <rml@novell.com>
12313
12314         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12315           serialization if strings are NULL, lest DBUS get angry.
12316
12317 2006-03-10  Robert Love  <rml@novell.com>
12318
12319         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12320
12321 2006-03-09  Robert Love  <rml@novell.com>
12322
12323         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12324           configurations.
12325
12326 2006-03-09  Dan Williams  <dcbw@redhat.com>
12327
12328         Track pending call requests in the applet, and report how many are
12329         outstanding, and how long each completed one takes.
12330         
12331         * gnome/applet/applet-dbus-devices.c
12332           gnome/applet/applet-dbus-vpn.c
12333                 - Track pending calls
12334
12335         * gnome/applet/applet-dbus.[ch]
12336                 - Remove some unused enums
12337                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12338                         new functions to track dbus pending calls and spit out some
12339                         statistics about them
12340
12341 2006-03-09  Robert Love  <rml@novell.com>
12342
12343         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12344           nm_ap_set_timestamp() take the second and micro-second parameters as
12345           direct arguments, which avoids both a dynamic memory allocation and a
12346           structure-to-structure copy!  Add a new interface, the aptly named
12347           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12348           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12349           the return from nm_ap_get_timestamp().  New users should use the new
12350           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12351           the extreme benefit to performance.
12352         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12353           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12354
12355 2006-03-08  Robert Love  <rml@novell.com>
12356
12357         * gnome/applet/applet.glade: Hide the password entry text with
12358           asterisks.
12359
12360 2006-03-08  Robert Love  <rml@novell.com>
12361
12362         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12363           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12364           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12365           a second argument, NMData.
12366         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12367         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12368           config files as trusted.
12369
12370 2006-03-06  Robert Love  <rml@novell.com>
12371
12372         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12373         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12374           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12375           Rivera, detect if the applet was auto-started.  If so, ask the user
12376           if he or she would like to stop automatically running the applet on
12377           login.  If so, disable autostart.
12378
12379 2006-03-06  Robert Love  <rml@novell.com>
12380
12381         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12382           directory in CFLAGS so developers can actually use NetworkManager.h.
12383
12384 2006-03-06  Robert Love  <rml@novell.com>
12385
12386         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12387           open-coded integer constants.  Add state_to_string() to map a given
12388           state to a textual description, and provide that when notifying of
12389           state change.
12390         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12391           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12392           this header directly, but it is currently not installed on most
12393           systems.
12394
12395 2006-03-05  Dan Williams  <dcbw@redhat.com>
12396
12397         Process netlink messages in device subclasses rather than in
12398         NetworkManager.c.  Also add support for recognizing Wireless Events.
12399         
12400         * configure.in
12401                 - Find GLIB_GENMARSHAL
12402
12403         * src/Makefile.am
12404                 - Since we're marshalling custom types for wireless event signals,
12405                         we get to create our own marshallers using GLIB_GENMARSHAL
12406
12407         * src/NetworkManager.c
12408                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12409                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12410                         cut down somewhat.  We no longer process signals here.
12411                 - (nm_data_new): create the netlink monitor here, and remove a
12412                         useless call to nm_policy_schedule_device_change_check()
12413                 - (nm_data_free): get rid of the netlink monitor here
12414                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12415                 - (main): don't create the netlink monitor here, let nm_data_new
12416                         do that.  Call nm_policy_schedule_device_change_check() right
12417                         before we jump to the mainloop to figure out which device
12418                         to use first
12419
12420         * src/NetworkManagerSystem.[ch]
12421                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12422                         convert back and forth from interface names to interface
12423                         indexes
12424
12425         * src/nm-device-802-11-wireless.c
12426                 - (real_init): connect to wireless-event signals from the netlink
12427                         monitor object
12428                 - (nm_device_802_11_wireless_event): new function, schedule handler
12429                         for wireless event signals from the netlink monitor object.  We
12430                         want the handler to run in the device's context
12431                 - (wireless_event_helper): handle wireless-event signals from netlink
12432                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12433                         signal handler
12434
12435         * src/nm-device-802-11-wireless.h
12436                 - remove unused prototype for nm_device_802_11_wireless_new
12437
12438         * src/nm-device-802-3-ethernet.c
12439                 - (real_init): new function; set up signal handlers for link events
12440                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12441                         handler for netlink link activated events on device's main loop
12442                 - (link_activated_helper): when we get a link activated event, set
12443                         the device's link to be active
12444                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12445                         handler for netlink link deactivated events on device's main loop
12446                 - (link_deactivated_helper): when we get a link deactivated event, set
12447                         the device's link to be inactive
12448                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12449                         dispose
12450
12451         * src/nm-device-802-3-ethernet.h
12452                 - remove unused prototype for nm_device_802_3_ethernet_new
12453
12454         * src/nm-device.[ch]
12455                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12456                         but locks the device list
12457                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12458
12459         * src/nm-netlink-monitor.[ch]
12460                 - (nm_netlink_monitor_class_install_signals): New signal
12461                         "wireless-event"
12462                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12463                         at the device list
12464                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12465
12466         * src/nm-marshal-main.c
12467                 - Include generated nm-marshal.c and nm-marshal.h
12468
12469         * src/nm-marshal.list
12470                 - List of custom marshal functions
12471
12472 2006-03-05  Dan Williams  <dcbw@redhat.com>
12473
12474         * gnome/applet/applet-notifications.h
12475                 - Protect prototype of nma_send_event_notification() because it
12476                         includes libnotify-specific types
12477                 - Include libnotify/libnotify.h too, since we technically need it
12478
12479         * gnome/applet/applet.c
12480                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12481                 - (nma_show_vpn_login_banner_dialog): add some error checking
12482
12483 2006-03-04  Dan Williams  <dcbw@redhat.com>
12484
12485         Clean up activation cancellation.  Should be a lot faster now.  Observed
12486         an issue with wireless devices between stage 2 and 3 of activation, where
12487         activation would be cancelled, but the device thread wouldn't notice until
12488         the supplicant association timed out.  Reorganize activation such that
12489         a cancellation handler gets immediately scheduled in the device's thread,
12490         and devices have a chance to perform any custom cleanup too.
12491
12492         * src/nm-device.[ch]
12493                 - (activation_cancel_handler): new device-type-specific function
12494                         for cleaning up device-type-specific stuff on cancellation
12495                 - (cancel_activation): removed
12496                 - (nm_device_activation_cancel): subsume functionality of
12497                         real_cancel_activation, but instead of doing anything, punt
12498                         operation to a handler that's run in device-thread context
12499                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12500                         a warning message
12501                 - (activation_handle_cancel_helper): cancellation handler run in
12502                         device-thread context, calls device-type-specific cancelation,
12503                         then tears down the activation request
12504                 - (real_activation_cancel_handler): generic cancellation handler,
12505                         deals with cancelling any in-process DHCP request
12506                 - (nm_device_activate_stage1_device_prepare,
12507                    nm_device_activate_stage2_device_config,
12508                    nm_device_activate_stage3_ip_config_start,
12509                    nm_device_activate_stage4_ip_config_get,
12510                    nm_device_activate_stage4_ip_config_timeout,
12511                    nm_device_activate_stage5_ip_commit): don't call
12512                         nm_device_schedule_activation_handle_cancel() any more, since
12513                         cancellation will have been already scheduled for us by
12514                         nm_device_activation_cancel().  Just exit the function and
12515                         assume that the cancel handler will be called next.
12516
12517         * src/nm-device-802-3-ethernet.c
12518                 - (real_act_stage2_config): remove; didn't do anything anyway
12519
12520         * src/nm-device-802-11-wireless.c
12521                 - (supplicant_status_cb): ensure we don't do anything if the activation
12522                         got cancelled
12523                 - (real_activation_cancel_handler): implement; cancel user key request
12524                         on activation cancellation
12525
12526 2006-03-04  Dan Williams  <dcbw@redhat.com>
12527
12528         * src/nm-device-802-11-wireless.c
12529                 - (supplicant_send_network_config): assume that drivers that don't
12530                         support WPA pretty much suck, and can't handle NM scanning
12531                         along with wpa_supplicant.
12532
12533 2006-03-03  Robert Love  <rml@novell.com>
12534
12535         * configure.in: Bump version to 0.6.0.
12536         * NEWS: Update.
12537
12538 2006-03-03  Robert Love  <rml@novell.com>
12539
12540         * configure.in: Require DBUS 0.60 or later.
12541
12542 2006-03-03  Dan Williams  <dcbw@redhat.com>
12543
12544         Fix a crash if an "Other wireless network" was chosen, failed, then
12545         chosen again from the applet's menu.  If the other network wasn't
12546         noticed in a scan, it wouldn't have any capabilities, but would still
12547         be listed because the user forced the network.  To fix this, we set
12548         sensible capabilities on the forced network, which will get overwritten
12549         with the correct ones if the network shows up later in a scan.
12550         
12551         * src/nm-ap-security.h
12552                 - Add a new "get_default_capabilities_func" member to the
12553                         NMAPSecurity class
12554
12555         * src/nm-ap-security.c
12556                 - (nm_ap_security_get_default_capabilities): new function
12557
12558         * src/nm-ap-security.c
12559           src/nm-ap-security-wep.c
12560           src/nm-ap-security-wpa-psk.c
12561           src/nm-ap-security-wpa-eap.c
12562                 - Implement get_default_capabilities_func() for all, which
12563                         uses the information contained in a specific NMAPSecurity
12564                         object to determine default AP capabilites necessary
12565                         to support that object
12566
12567         As a secondary measure, we now prune artificial access points that fail
12568         to be activated right away.  The thing failed, and we have no scan data for
12569         it, so it's pretty much useless since security information is only saved
12570         in the applets when a connection is successful.
12571
12572         * src/NetworkManagerAPList.c
12573                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12574                         not artificial.  If we see it, it's no longer a figment of the
12575                         user's imagination :)
12576
12577         * src/NetworkManagerPolicy.c
12578                 - (nm_policy_activation_failed): send along the failed AP if we
12579                         have it
12580
12581         * src/nm-device-802-11-wireless.c
12582                 - (real_activation_failure_handler): remove artificial APs from
12583                         the device list, because activation failed
12584
12585 2006-03-02  Robert Love  <rml@novell.com>
12586
12587         Add support for retrieving both the per-device speed and the
12588         per-network maximum supported rate.  Then change the getProperties
12589         DBUS API for both networks and devices to report this informaiton.
12590         Finally, display the information via both nm-applet and nm-tool:
12591         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12592           and set it.
12593         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12594           Information' dialog.
12595         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12596         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12597           network_device_get_speed() and network_device_set_speed() for
12598           retrieving and setting, respectively, a network device's current
12599           speed.
12600         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12601         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12602           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12603           not matter (yet) what the units are, because we only feed it its own
12604           output.  Implement SIOCGIRATE and set the per-network maximum
12605           supported rate during scanning.
12606         * src/nm-device-802-11-wireless.h: Export the function
12607           nm_device_802_11_wireless_get_bitrate().
12608         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12609           function nm_device_802_3_ethernet_get_speed() for returning an
12610           802.3's current speed, in Mb/s.
12611         * test/nm-tool.c: Display the per-device current speed, if available,
12612           and the per-network maximum rate.
12613
12614 2006-03-02  Dan Williams  <dcbw@redhat.com>
12615
12616         * src/nm-device-802-11-wireless.c
12617                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12618                         card when it gets initialized.  Since devices don't get added to
12619                         the scan list until they are initialized, this function wasn't
12620                         setting the intitial scan interval correctly, and was leaving
12621                         it at 0.  This caused cards to get many scan requests in a short
12622                         amount of time when they were initialized
12623
12624 2006-03-02  Robert Love  <rml@novell.com>
12625
12626         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12627           active device.  But do not do what we used to do and override the
12628           state, which caused the dreaded icon race of '05.
12629
12630 2006-03-02  Robert Love  <rml@novell.com>
12631
12632         Commit Dan's update of my previous commit:
12633         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12634           set_mode() function itself does the check.  But do only set the
12635           frequency if in Ad-Hoc mode.
12636
12637 2006-03-02  Robert Love  <rml@novell.com>
12638
12639         Patch by Brian Magnuson <magnuson@rcn.com>:
12640         * src/nm-device-802-11-wireless.c: During scanning, only set the
12641           wireless mode to infrastructure if it is not currently in
12642           infrastructure mode.  For some driver, setting the mode is a costly
12643           operation, apparently.
12644
12645 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12646
12647         * Makefile.am: use the correct dir for autostart mechanism.
12648
12649 2006-02-28  Dan Williams  <dcbw@redhat.com>
12650
12651         Patch from Brian Magnuson <magnuson@rcn.com>
12652         * gnome/applet/applet.c
12653                 - (nma_show_vpn_failure_dialog): fix errors left over from
12654                         libnotify support changes
12655
12656 2006-02-28  Dan Williams  <dcbw@redhat.com>
12657
12658         * src/vpn-manager/nm-vpn-act-request.[ch]
12659                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12660                         just one value
12661                 - (nm_vpn_act_request_is_failed): new function; return whether or
12662                         not the vpn activation request has failed
12663
12664         * src/vpn-manager/nm-vpn-manager.c 
12665                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12666                         daemon to kill the connection when the activation request fails.
12667                         Fixes issue where NM would get confused if the VPN activation
12668                         request timed out, and would not allow further VPN connections
12669                         on that service.
12670
12671 2006-02-28  Dan Williams  <dcbw@redhat.com>
12672
12673         * gnome/applet/applet.c
12674                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12675                         overlapping connection requests, disable all VPN menu items
12676                         but the active VPN connection
12677
12678 2006-02-28  Dan Williams  <dcbw@redhat.com>
12679
12680         * src/vpn-manager/nm-vpn-connection.c
12681                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12682                         called g_object_unref() on the connection's parent device
12683                         when it should have been ref-ed instead.  Fixes crash with
12684                         repeated vpn connect requests
12685
12686 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12687
12688         * gnome/applet/applet.glade:
12689         Mark a few strings non-translatable, since they shouldn't be.
12690
12691 2006-02-28  Dan Williams  <dcbw@redhat.com>
12692
12693         * src/vpn-manager/nm-vpn-service.c
12694                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12695                         already running, don't blindly ask it to connect, but wait until
12696                         it's in the STOPPED state first.  Fixes an assertion when user
12697                         starts a second vpn connection without stopping the first.
12698                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12699                         dbus service exists before continuing with the connection
12700                         process, and reduce latency while waiting for it to become
12701                         available
12702                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12703                         waiting for the vpn service daemon to become available
12704                 - General log message cleanups; show progress via "Stage x of 4"
12705                         rather than not telling anyone how many stages there are
12706
12707 2006-02-28  Robert Love  <rml@novell.com>
12708
12709         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12710         * src/backends/NetworkManagerSuSE.c: Implement the interface
12711           nm_system_should_modify_resolv_conf() for SUSE.
12712         * src/backends/NetworkManagerDebian.c,
12713           src/backends/NetworkManagerGentoo.c,
12714           src/backends/NetworkManagerRedHat.c,
12715           src/backends/NetworkManagerSlackware.c: Add stub.
12716         * src/named-manager/Makefile.am: Grab includes from src.
12717         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12718           automatic updating of resolv.conf.  This is useful for testing,
12719           broken static configurations, and administrator lock-down.
12720
12721 2006-02-28  Dan Williams  <dcbw@redhat.com>
12722
12723         * src/nm-device-802-11-wireless.c
12724                 - Move all the wpa_supplicant-related management stuff into its
12725                         own struct, just for oranization's sake
12726                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12727                         to a GIOChannel/GSource
12728                 - (supplicant_log_stdout): new function; grab output from the
12729                         wpa_supplicant stdout pipe and write it to our logs.
12730
12731 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12732
12733         * src/nm-device-802-11-wireless.c:
12734         Err, fix thinko in my previous commit.
12735
12736 2006-02-28  Robert Love  <rml@novell.com>
12737
12738         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12739
12740 2006-02-28  Robert Love  <rml@novell.com>
12741
12742         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12743           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12744           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12745           deserializers are responsible for freeing the returned DBUS strings.
12746
12747 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12748
12749         * src/nm-device-802-11-wireless.c:
12750         The scan list is being pruned prematurely.  We should prune after
12751         the device has gone MIA for three scans, not one.  Split out the
12752         interval to realtime seconds function to better serve this.
12753
12754 2006-02-27  Robert Love  <rml@novell.com>
12755
12756         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12757           Open the pid file O_TRUNC, so if it already exists we truncate it to
12758           zero length.  Also, be more verbose about warnings generated during
12759           writing out the pid file.  Finally, always write out the pid file if
12760           in daemon mode.  Use "--pid-file" to override the default.
12761
12762 2006-02-27  Robert Love  <rml@novell.com>
12763
12764         Patch by R. Vinay <rvinay@novell.com>:
12765         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12766           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12767           Novell bug #153628).
12768           
12769 2006-02-27  Robert Love  <rml@novell.com>
12770
12771         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12772           entry so user can hit <ENTER> after entering passphrase (Novell bug
12773           #153738).
12774
12775 2006-02-27  Dan Williams  <dcbw@redhat.com>
12776
12777         * gnome/applet/*
12778                 - Mass search/replace of:
12779                         nmwa -> nma
12780                         NMWirelessApplet -> NMApplet
12781                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12782                    (it ain't just for wireless anymore, ma!)
12783                 - Fix duplicate function name printing when using nm_warning
12784                 - wireless-applet.glade -> applet.glade
12785
12786 2006-02-27  Dan Williams  <dcbw@redhat.com>
12787
12788         * dispatcher-daemon/NetworkManagerDispatcher.c
12789                 - Accept --pid-file with a path to a pidfile, write it out on
12790                         startup, and delete it on shutdown
12791
12792         * src/NetworkManager.c
12793                 - Accept --pid-file with a path to a pidfile, write it out on
12794                         startup, and delete it on shutdown
12795                 - Move nm_print_usage() lower
12796
12797         * initscripts/RedHat/NetworkManager.in
12798                 - Use new --pid-file option
12799                 - Fix service stopping to wait a bit for NM to quit
12800
12801         * initscripts/RedHat/NetworkManagerDispatcher.in
12802                 - Use new --pid-file option
12803
12804 2006-02-26  Dan Williams  <dcbw@redhat.com>
12805
12806         * src/Makefile.am
12807                 - make and install nm-crash-logger
12808
12809         * src/nm-logging.[ch]
12810                 - New files; consolidate logging and crash handling
12811
12812         * src/nm-crash-logger.c
12813           src/gdb-cmd
12814                 - Standalong crashlogger for NM, grab a backtrace
12815                         using GDB
12816
12817         * src/NetworkManager.[ch]
12818                 - Remove signal handling and put it into nm-logging.c
12819
12820 2006-02-26  Dan Williams  <dcbw@redhat.com>
12821
12822         * configure.in
12823           gnome/applet/Makefile.am
12824                 - Conditionalize all the notify stuff
12825
12826         Merge most of Chris Aillon's notification patch:
12827         
12828         * gnome/applet/applet-notifications.[ch]
12829                 - New files; show a notification
12830         
12831         * gnome/applet/applet-dbus-devices.[ch]
12832                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12833                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12834                         new functions, do the right thing when a device change occurs
12835
12836         * gnome/applet/applet-dbus.c
12837                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12838                         signals, so we can handle them specially
12839
12840         * gnome/applet/applet.[ch]
12841                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12842                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12843                 - (nmwa_notify_state): remove
12844                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12845                         notification work is now done when the appropriate dbus signals
12846                         are received.
12847                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12848                         defer execution of the notification/dialog stuff.  That was an
12849                         artifact of the previous multi-threaded nature of the applet
12850                         and is now pointless.
12851                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12852                         no longer needed.  Function folded into applet-notifications.c
12853
12854         * src/NetworkManagerPolicy.c
12855                 - (nm_policy_activation_finish): send the AP along with the device
12856                         status change signal, if the connection is wireless.  Should
12857                         fix the race where applet would show a connection to "unknown"
12858
12859 2006-02-25  Robert Love  <rml@novell.com>
12860
12861         Add WPA Enterprise support:
12862         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12863           nm-gconf-wso-wpa-eap.h.
12864         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12865           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12866           serialization and deserialization.
12867         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12868           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12869           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12870         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12871           settings related to WPA Enterprise.
12872         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12873           instantiate WPA Enterprise wireless-security-option.
12874         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12875           Implement WPA Enterprise wireless-security-option object.
12876         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12877           defines.  Cleanup.
12878         * libnm-util/cipher-wpa-psk-hex.c,
12879           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12880         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12881           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12882           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12883           including the cipher to DBUS method, and
12884           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12885           to output.
12886         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12887           nm-ap-security-wpa-eap.h
12888         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12889           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12890         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12891           files.  Implement NMAPSecurityWPA_EAP object.
12892         * src/nm-ap-security-wpa-psk.c: Cleanup.
12893         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12894           an NMAPSecurityWPA_EAP object via the method
12895           nm_ap_security_wpa_eap_new_deserialize().
12896         * src/nm-dbus-nm.c: Cleanup.
12897         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12898           WPA Enterprise support.
12899
12900 2006-02-24  Robert Love  <rml@novell.com>
12901
12902         Patch from Timo Hoenig <thoenig@suse.de>:
12903         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12904
12905 2006-02-24  Robert Love  <rml@novell.com>
12906
12907         Patch from Dan Winship <danw@novell.com>:
12908         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12909           area to transparent.
12910
12911 2006-02-21  Dan Williams  <dcbw@redhat.com>
12912
12913         * gnome/applet/applet.[ch]
12914           gnome/applet/applet-dbus.c
12915                 - Implement notification support for VPN messages too
12916
12917 2006-02-21  Dan Williams  <dcbw@redhat.com>
12918
12919         * gnome/applet/applet-dbus-info.c
12920                 - Clean up warning messages to not double-print the function
12921
12922 2006-02-21  Dan Williams  <dcbw@redhat.com>
12923
12924         * gnome/applet/applet-compat.c
12925                 - (convert_one_entry): accept entries without a key_type and
12926                         convert them to unencrypted networks
12927
12928 2006-02-21  Dan Williams  <dcbw@redhat.com>
12929
12930         * gnome/libnm_glib/libnm_glib.c
12931                 - Use __func__ everywhere we can
12932                 - Code cleanups
12933                 - Use dbus pending calls rather than blocking
12934                 - Reduce busywaits for our thread to start and stop
12935                         (gnome.org #330562)
12936                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12937                         stomp on others using the default shared dbus connection.
12938                         Fixes #rh177546# and gnome.org #326572
12939
12940 2006-02-21  Dan Williams  <dcbw@redhat.com>
12941
12942         Patch from Rodney Dawes <dobey@novell.com>
12943         * configure.in
12944           gnome/applet/Makefile.am
12945           gnome/applet/applet.c
12946                 - Add libnotify support if '--enable-notify=yes' is passed
12947                   at configure time
12948
12949 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12950
12951         * configure.in (ALL_LINGUAS): ko added. (Korean)
12952
12953 2006-02-15  Robert Love  <rml@novell.com>
12954
12955         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12956           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12957           and WPA_SUPPLICANT_CONTROL_SOCKET.
12958         
12959 2006-02-15  Robert Love  <rml@novell.com>
12960
12961         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12962           information about what connection stage we are at, provide the total
12963           number of stages, e.g. "Stage 2 of 5", so users know how far along
12964           they are if they experience problems.
12965
12966 2006-02-15  Robert Love  <rml@novell.com>
12967
12968         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12969           define to $sysconfdir.
12970         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12971           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12972           type of VPN and then editing another results in a mangled dialog
12973           box containing the widgets from both VPNs (fixes Novell #150854).
12974           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12975
12976 2006-02-14  Robert Love  <rml@novell.com>
12977
12978         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12979           syslog's file descriptor.
12980
12981 2006-02-14  Robert Love  <rml@novell.com>
12982
12983         Fix bug around since the change to "deal with APs changing settings on
12984         us," checked in on the fifth of February in the year of the dog, 
12985         wherein connecting to non-broadcast encrypted networks always fails
12986         because nm_ap_get_encrypted() always returns FALSE, even when the user
12987         provided a key, because the newly-created fake AP does not have any
12988         capabilities set, which is a sypmtom of security settings not matching
12989         capabilities (Novell bug #150784):
12990         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12991           nm_ap_add_capabilities_from_security(), which sets the given AP's
12992           capabilities off the given security settings.  Also improve our
12993           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12994           NM_AUTH_CIPHER_AUTO.
12995         * src/nm-device-802-11-wireless.c: Call the function
12996           nm_ap_add_capabilities_from_security() to ensure that capabilities
12997           match newly updated security settings.
12998
12999 2006-02-14  Robert Love  <rml@novell.com>
13000
13001         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13002           error as a string, not an integer, if possible; do not print the
13003           function name twice; always give the interface, if possible; misc.
13004           cleanup.
13005
13006 2006-02-12  Dan Williams  <dcbw@redhat.com>
13007
13008         Patch from Tom Parker <palfrey@tevp.net>
13009         * src/NetworkManagerSystem.h
13010                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13011                         no longer used
13012
13013         * src/backends/NetworkManagerDebian.c
13014                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13015                         unused variables
13016
13017 2006-02-12  Dan Williams  <dcbw@redhat.com>
13018
13019         * vpn-daemons/openvpn/intltool-extract.in
13020           vpn-daemons/openvpn/intltool-merge.in
13021           vpn-daemons/openvpn/intltool-update.in
13022           vpn-daemons/pptp/intltool-extract.in
13023           vpn-daemons/pptp/intltool-merge.in
13024           vpn-daemons/pptp/intltool-update.in
13025                 - Remove from CVS, they should get created by intltoolize,
13026                         shouldn't they?
13027
13028 2006-02-12  Dan Williams  <dcbw@redhat.com>
13029
13030         * vpn-daemons/pptp/src/pppd/patchlevel.h
13031         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13032                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13033                         Makefile-defined VERSION
13034
13035 2006-02-09  Dan Williams  <dcbw@redhat.com>
13036
13037         Patch from: Vinay A R <rvinay@novell.com>
13038         * src/vpn-manager/nm-vpn-act-request.[ch]
13039                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13040                         IPSec VPNs require them for std gateway.
13041                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13042                         and 'user_routes_count'
13043                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13044                         defined routes  from NMVPNActRequest object, returns the string
13045                         array of routes.
13046
13047         * src/vpn-manager/nm-vpn-manager.[ch]
13048                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13049                         for 'user_routes' and 'user_routes_count'
13050         
13051         * src/vpn-manager/nm-dbus-vpn.c
13052                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13053                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13054         
13055         * src/vpn-manager/nm-vpn-service.c
13056                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13057                         the vpn daemon
13058
13059         Modifications by Dan:
13060         * src/vpn-manager/nm-vpn-service.c
13061                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13062                         arrays into dbus
13063
13064         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13065         * vpn-daemons/pptp/src/nm-pptp-service.c
13066         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13067                 - Grab user routes from dbus message
13068                 - Free all string arrays we got from dbus
13069
13070 2006-02-07  Robert Love  <rml@novell.com>
13071
13072         Patch by Stefan Seyfried <seife@suse.de>:
13073         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13074
13075 2006-02-06  Robert Love  <rml@novell.com>
13076
13077         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13078
13079 2006-02-06  Robert Love  <rml@novell.com>
13080
13081         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13082           test ">=" is never false.  If no newline is found, we loop forever.
13083           We can just check for ">" because the following if() will see the
13084           zero-th argument if the while() gets that far.
13085
13086 2006-02-05  Dan Williams  <dcbw@redhat.com>
13087
13088         Refine handling of non-broadcast networks.
13089
13090         * src/NetworkManagerAPList.c
13091                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13092                         property from scanned AP to the AP from the device list
13093
13094         * src/nm-device-802-11-wireless.c
13095                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13096                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13097                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13098                         networks since those don't have APs.
13099                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13100                         AP as non-SSID-broadcasting
13101                 - (process_scan_results): don't handle non-SSID-broadcasting here
13102
13103 2006-02-05  Dan Williams  <dcbw@redhat.com>
13104
13105         * src/nm-device-802-11-wireless.c
13106                 - (get_supplicant_timeout): new function; return
13107                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13108                         14 channels.  These are likely a/b/g cards, like Atheros, and
13109                         slow as hell to scan.
13110                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13111                         get_supplicant_timeout()
13112
13113 2006-02-05  Dan Williams  <dcbw@redhat.com>
13114
13115         * src/dhcp-manager/nm-dhcp-manager.c
13116                 - Loose a commit race with Robert; make sure size check
13117                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13118
13119 2006-02-05  Robert Love  <rml@novell.com>
13120
13121         Patch by Christoph Brill <chrisbrill@gmx.net>:
13122         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13123           with DHCP_SERVICE_NAME.
13124
13125 2006-02-05  Dan Williams  <dcbw@redhat.com>
13126
13127         Remove anything having to do with device_setup_func from the
13128         AP security objects, since it's no longer used.
13129
13130         * src/nm-ap-security.h
13131                 - Kill device_setup_func and nm_ap_security_device_setup()
13132
13133         * src/nm-ap-security-wep.c
13134           src/nm-ap-security-wpa-psk.c
13135                 - (real_device_setup): remove
13136
13137         * src/nm-ap-security.c
13138                 - (real_device_setup): remove
13139                 - (nm_ap_security_device_setup): remove
13140
13141         * src/nm-device-802-11-wireless.[ch]
13142                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13143                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13144                         and done by wpa_supplicant now anyway
13145
13146 2006-02-05  Dan Williams  <dcbw@redhat.com>
13147
13148         * src/nm-device-802-11-wireless.c
13149                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13150                         settings on us.  Previously NM would loop asking for the
13151                         key but getting the same one back.  Now, if the NMI-supplied
13152                         cipher doesn't overlap with the scanned AP capabilities,
13153                         we request a completely new key from the user.
13154
13155 2006-02-05  Dan Williams  <dcbw@redhat.com>
13156
13157         * src/NetworkManagerUtils.c
13158                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13159                         Handle newline killing better
13160
13161 2006-02-05  Dan Williams  <dcbw@redhat.com>
13162
13163         * gnome/applet/nm-gconf-wso.c
13164                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13165                         of unencrypted access point security info.
13166
13167 2006-02-03  Robert Love  <rml@novell.com>
13168
13169         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13170           user's encryption key, so we print the err_msg_cmd not the command,
13171           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13172           sense.
13173
13174 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13175
13176         * initscript/RedHat/NetworkManagerDispatcher.in:
13177         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13178         Patch from Dan Walsh <dwalsh@redhat.com>
13179
13180 2006-02-03  Robert Love  <rml@novell.com>
13181
13182         * dispatcher-daemon/NetworkManagerDispatcher.c,
13183           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13184           but use the sysconfdir.
13185
13186 2006-02-03  Robert Love  <rml@novell.com>
13187
13188         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13189           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13190           'char *'.
13191         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13192           nm_ip4_config_get_hostname() and
13193           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13194         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13195           leak g_strdup() result.
13196
13197 2006-02-03  Robert Love  <rml@novell.com>
13198
13199         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13200           broadcast == TRUE.  Also, copy broadcast and artificial properties
13201           from source network to destination in nm_ap_copy().
13202         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13203           since we now default new networks to non-hidden.
13204
13205 2006-02-03  Dan Williams  <dcbw@redhat.com>
13206
13207         * gnome/applet/main.c
13208                 - (main): change the NEVER->ALWAYS so we start at the
13209                         beginning of the session, if being session-managed
13210
13211 2006-02-03  Dan Williams  <dcbw@redhat.com>
13212
13213         * gnome/applet/main.c
13214                 - (main): in a variation on Robert's patch, change
13215                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13216                         he wants.
13217
13218 2006-02-02  Robert Love  <rml@novell.com>
13219
13220         * src/Makefile.am: If we aren't going to create the run directory at,
13221           uh, run-time, create it during install.  Then users just doing
13222           'make install' are cool, too.  While we are here, create the
13223           dispatcher.d directory, too.
13224         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13225           the exact run directory.
13226         * Makefile.am: Install nm-applet.desktop.
13227
13228 2006-02-02  Robert Love  <rml@novell.com>
13229
13230         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13231           structure, which denotes whether or not the AP is hidden.  This is a
13232           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13233           can show up in the scan list.  Add nm_ap_get_broadcast() and
13234           nm_ap_set_broadcast() accessor interfaces.
13235         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13236           nm_ap_set_broadcast().
13237         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13238           "getProperties" method, which denotes whether or not the given
13239           network is hidden.
13240         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13241           an artificial network.  Set broadcast to TRUE when scanning returns
13242           an ESSID and FALSE when not.
13243         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13244           from "getProperties" method on a network.  Possible TODO is to
13245           somehow display this.
13246         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13247
13248 2006-02-02  Dan Williams  <dcbw@redhat.com>
13249
13250         * src/nm-device-802-11-wireless.c
13251                 - (supplicant_interface_init): don't try to create
13252                         /var/run/NetworkManager, since that should be done by
13253                         the distro package.  Causes problems for stuff like SELinux
13254
13255 2006-02-02  Robert Love  <rml@novell.com>
13256
13257         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13258         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13259           Check for and handle empty string for iface.
13260
13261 2006-02-01  Robert Love  <rml@novell.com>
13262
13263         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13264           manpage.
13265
13266 2006-01-31  Dan Williams  <dcbw@redhat.com>
13267
13268         * nm-applet.desktop
13269                 - Add --sm-disable to Exec arguments, presuming that when
13270                         using autostart, we don't want session management
13271
13272 2006-01-31  Robert Love  <rml@novell.com>
13273
13274         * src/NetworkManagerAP.c: Add two new manufacturer default network
13275           names: linksys-a and linksys-g.  These are found (at least) on the
13276           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13277           own ESSID.
13278
13279 2006-01-31  Robert Love  <rml@novell.com>
13280
13281         * src/NetworkManagerAP.c: Optimize the function
13282           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13283           machine code.  This is the first in a series of code tweaks aiming to
13284           generate better machine code and make NetworkManager all the better.
13285           Just kidding.  Who has time to go through the assembly generated for
13286           every function?  I certainly don't.  I have a wife, a kid, a job,
13287           a mortgage, a mistress.  But this function was so bad, I was called
13288           to arms.  Like the book.
13289
13290 2006-01-31  Robert Love  <rml@novell.com>
13291
13292         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13293           AP is not broadcasting, to scan with probe request frames.  Required
13294           for non-broadcast networks.
13295
13296 2006-01-31  Robert Love  <rml@novell.com>
13297
13298         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13299           preprocessor define (still 20s).  Fix message text in nm_info()
13300           s/too too/took too/.
13301
13302 2006-01-30  Dan Williams  <dcbw@redhat.com>
13303
13304         * src/nm-device-802-11-wireless.c
13305                 - (supplicant_monitor_start): increase connect/auth timeout to
13306                         20 seconds from 10 seconds
13307
13308 2006-01-30  Dan Williams  <dcbw@redhat.com>
13309
13310         * src/Makefile.am
13311                 - Define LOCALSTATEDIR
13312
13313         * src/nm-device-802-11-wireless.c
13314                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13315                         socket where we want it to
13316
13317         * src/wpa_ctrl.[ch]
13318                 - (wpa_ctrl_open): accept location to put local control socket
13319
13320 2006-01-30  Robert Love  <rml@novell.com>
13321
13322         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13323           get_ip4_string() for "domain_name".
13324
13325 2006-01-30  Robert Love  <rml@novell.com>
13326
13327         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13328           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13329           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13330           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13331           support for "Automatic" pairwise and group cipher configuration by
13332           letting wpa_supplicant handle the details.  Add UI elements, new
13333           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13334           charm.  Note this does more than add a nice feature, it fixes a bug.
13335           Apparently, some people have AP's where the pairwise cipher does not
13336           match the group cipher.  Insane, but true.
13337
13338 2006-01-30  Dan Williams  <dcbw@redhat.com>
13339
13340         * gnome/applet/applet-dbus-devices.c
13341                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13342                         functions, grab device driver name from NetworkManager
13343                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13344
13345         * gnome/applet/applet.c
13346                 - (nmwa_update_info): show driver name in Connection Information
13347                         dialog
13348
13349         * gnome/applet/nm-device.[ch]
13350                 - (network_device_get_driver, network_device_set_driver): add
13351                         accessors for driver name
13352
13353         * gnome/applet/wireless-applet.glade
13354                 - Add line for driver name to Connection Information dialog
13355
13356         * src/nm-dbus-device.c
13357                 - (nm_dbus_device_get_driver): new function to return driver name
13358                 - (nm_dbus_device_methods): hook up driver name function to dbus
13359
13360         * test/nm-tool.c
13361                 - (get_driver_name): new function
13362                 - (detail_device): grab and show driver name
13363
13364 2006-01-30  Robert Love  <rml@novell.com>
13365
13366         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13367           does not parse the markup if it is not part of the format.
13368
13369 2006-01-30  Robert Love  <rml@novell.com>
13370
13371         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13372           FALSE, we have no security options for this dialog, so we throw up
13373           an error dialog instead of a broken passphrase dialog.  Fixes
13374           Novell #138404.
13375         * gnome/applet/wireless-security-manager.c,
13376           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13377           does not add any security options, not even NONE, print a warning
13378           and return FALSE.  This let's functions constructing a dialog bail
13379           out if the device's capabilities and the network's requirements have
13380           zero overlap.
13381
13382 2006-01-27  Robert Love  <rml@novell.com>
13383
13384         * configure.in: Require wpa_supplicant.  Detect location of binary and
13385           use it.  Override with "--with-wpa_supplicant=foo".
13386         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13387           path to wpa_supplicant but use the auto-detected or user-provided
13388           value from configure.
13389
13390 2006-01-27  Robert Love  <rml@novell.com>
13391
13392         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13393           but the DHCP server did not return a hostname, try to look up our
13394           name via DNS and set the system hostname to that.
13395
13396 2006-01-27  Dan Williams  <dcbw@redhat.com>
13397
13398         * src/backends/NetworkManagerRedHat.c
13399                 - Add NM_CONTROLLED system network script support for RH/Fedora
13400
13401 2006-01-27  Dan Williams  <dcbw@redhat.com>
13402
13403         * src/backends/NetworkManagerGentoo.c
13404                 - (nm_system_device_get_disabled): add missing function.
13405                         Gnome BZ #328780
13406
13407 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13408
13409         * configure.in: Added vi in ALL_LINGUAS line.
13410         
13411 2006-01-26  Robert Love  <rml@novell.com>
13412
13413         * src/Makefile.am, src/kernel-types.h: Now that two different source
13414           files are feeling the crack-addled leakage of kernel types such as
13415           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13416           types in user-space -- define a header and include it as needed.
13417         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13418         * src/nm-device-802-3-ethernet.h: Remove defines.
13419         * src/wpa.c: Remove defines and include kernel-types.h.
13420
13421 2006-01-26  Robert Love  <rml@novell.com>
13422
13423         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13424           work.
13425
13426 2006-01-26  Robert Love  <rml@novell.com>
13427
13428         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13429         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13430           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13431           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13432           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13433           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13434           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13435           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13436           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13437           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13438           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13439           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13440           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13441           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13442           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13443           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13444           Kill unused variables, labels, and static functions.  Don't pass
13445           string literals as the format string for printf-like functions.
13446
13447 2006-01-25  Dan Williams  <dcbw@redhat.com>
13448
13449         * gnome/applet/wireless-applet.glade
13450                 - Remove WPA2 Checkbox
13451
13452         * gnome/applet/wireless-security-manager.c
13453                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13454                         This means the Wireless Security menu now has two WPA options,
13455                         one for "WPA Personal" and one for "WPA2 Personal"
13456
13457         * gnome/applet/wso-wpa-psk.[ch]
13458                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13459                         'wpa2' argument to determine WPA version to use
13460                 - (append_dbus_params_func): pass stored WPA version to cipher
13461                         rather than using the (removed) checkbox
13462
13463 2006-01-24  Robert Love  <rml@novell.com>
13464
13465         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13466           before we g_strdup(), not the ultimate string.
13467
13468 2006-01-23  Dan Williams  <dcbw@redhat.com>
13469
13470         * src/NetworkManagerAP.[ch]
13471                 - (nm_ap_new_from_ap): copy original essid too
13472                 - (nm_ap_unref): free original essid
13473                 - (nm_ap_get_orig_essid): new function
13474                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13475                         but keep original essid around too
13476
13477         * src/nm-device-802-11-wireless.c
13478                 - (supplicant_send_network_config): send wpa_supplicant the
13479                         _original_ essid, and not as a string, but in hex.  Should
13480                         allow us to connect to more APs that use wierd character
13481                         encodings for their essids
13482
13483         * utils/nm-utils.[ch]
13484                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13485                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13486                         use the current locale as a hint for what encoding the essid
13487                         might be in.  Obviously not 100% accurate, but the idea here is
13488                         that if a user's locale is ex. ja_JP, they are more likely than
13489                         not to be in Japan, where access points will likely be in some
13490                         Japanese encoding.
13491
13492 2006-01-23  Dan Williams  <dcbw@redhat.com>
13493
13494         * libnm-util/cipher-private.h
13495           libnm-util/cipher.c
13496           libnm-util/cipher.h
13497                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13498
13499 2006-01-23  Robert Love  <rml@novell.com>
13500
13501         Patch by Timo Hoenig <thoenig@suse.de>:
13502         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13503           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13504           by DHCP and pass it to the backends, allowing distribution-specific
13505           behavior with respect to the DHCP-supplied hostname (if nothing else,
13506           some distributions might not want to set the hostname).
13507         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13508           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13509           Also update our NIS behavior.
13510         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13511           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13512           Add stub functions.
13513
13514 2006-01-23  Robert Love  <rml@novell.com>
13515
13516         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13517           gnome-session does autostart.  TODO: We need to install this to
13518           $prefix/share/autostart/.
13519
13520 2006-01-22  Dan Williams  <dcbw@redhat.com>
13521
13522         * src/NetworkManagerAP.[ch]
13523           src/nm-dbus-nmi.c
13524           src/nm-device-802-11-wireless.c         
13525                 - Make nm_ap_get_essid return "const char *"
13526
13527 2006-01-22  Dan Williams  <dcbw@redhat.com>
13528
13529         * src/NetworkManagerAP.[ch]
13530                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13531
13532         * src/NetworkManagerAPList.[ch]
13533                 - (nm_ap_list_diff): removed
13534                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13535                         deal with access points changing essids on us
13536
13537         * src/nm-device-802-11-wireless.c
13538                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13539                         src/NetworkManagerAPList.c
13540                 - (real_can_interrupt_activation): new function; allow interruption
13541                         of device activation if we are waiting for a network key
13542
13543         * src/NetworkManagerPolicy.c
13544                 - (nm_policy_device_change_check): allow interruption of currently
13545                         activating devices if the device allows it.  Previous behavior
13546                         would refuse to activate a just-plugged wired device if a
13547                         wireless device was waiting for a key.
13548
13549         * src/nm-device.[ch]
13550                 - (nm_device_can_interrupt_activation): new function; ask devices
13551                         whether their activation can be interrupted
13552
13553 2006-01-20  Robert Love  <rml@novell.com>
13554
13555         * Makefile.am, configure.in: Add new man subdirectory.
13556         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13557           man/Makefile.am: Add man pages for NetworkManager and its
13558           crime-solving bumbling buddy, NetworkManagerDispatcher.
13559         * man/.cvsignore: Add.
13560         * initscript/Debian/NetworkManager,
13561           initscript/Gentoo/NetworkManager.in,
13562           initscript/RedHat/NetworkManager.in,
13563           initscript/RedHat/NetworkManagerDispatcher.in,
13564           initscript/SUSE/networkmanager-dispatcher.in,
13565           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13566
13567 2006-01-20  Robert Love  <rml@novell.com>
13568
13569         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13570           instead of queuing.  This prevents the running of multiple NM
13571           daemons concurrently, which does not work whatsoever and results in
13572           neither daemon working correctly.  Also, we don't handle queuing and
13573           name-owner-changes, anyhow.
13574
13575 2006-01-20  Robert Love  <rml@novell.com>
13576
13577         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13578         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13579           to sbin, not bin.
13580
13581 2006-01-19  Robert Love  <rml@novell.com>
13582
13583         * configure.in: Require hal 0.5.0 or later.
13584
13585 2006-01-18  Robert Love  <rml@novell.com>
13586
13587         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13588           Allow backends to flag a device (in whatever distro-dependent way
13589           they so desire) as disabled.  NM will ignore any such device.
13590         * src/backends/NetworkManagerDebian.c,
13591           src/backends/NetworkManagerRedHat.c,
13592           src/backends/NetworkManagerSlackware.c: Add stub function
13593           nm_system_device_get_disabled() that always returns FALSE (enabled).
13594         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13595           SUSE-specific configuration structure.  Fill it in from the
13596           NM_CONTROLLED variable in the system networking scripts.  If this var
13597           exists and is "no", we ignore the device.
13598
13599 2006-01-17  Robert Love  <rml@novell.com>
13600
13601         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13602           identical for NM.  For a full discussion, see the thread at
13603           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13604
13605 2006-01-17  Dan Williams  <dcbw@redhat.com>
13606
13607         * src/nm-device.c
13608                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13609                         function.  Fixes crash when wired DHCP fails.
13610
13611 2006-01-16  Robert Love  <rml@novell.com>
13612
13613         * src/Makefile.am: Don't install NMLoadModules
13614         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13615           from src/ to test/ as no one uses it anymore.  Note that I would be
13616           fine with removing it altogether.
13617
13618 2006-01-16  Robert Love  <rml@novell.com>
13619
13620         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13621           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13622           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13623           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13624           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13625           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13626           declarations, ever.
13627         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13628           NM_STATE_DISCONNECTED is zero).
13629
13630 2006-01-16  Robert Love  <rml@novell.com>
13631
13632         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13633           uninitialized parameter and buffer overflow.  Novell #143496.
13634
13635 2006-01-16  Dan Williams  <dcbw@redhat.com>
13636
13637         Apply the PtP Address bits of a patch from Tim Niemueller
13638
13639         * src/nm-ip4-config.[ch]
13640                 - Add ip4_ptp_address member to object
13641                 - (nm_ip4_config_copy): copy ptp address too
13642                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13643                         new functions
13644                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13645                         rather than local tunnel ip address
13646
13647         * src/vpn-manager/nm-vpn-service.c
13648                 - (print_vpn_config): update for PtP address
13649                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13650                         DBusMessageIters in preparation for getting routes from the VPN
13651                         service daemons too
13652
13653         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13654                 - (send_config_info): update for PtP address, clean up code
13655                 - (main): update for PtP address, clean up code, fix typo
13656
13657         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13658                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13659
13660         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13661                 - (pptp_ip_up): update for PtP address
13662
13663         * vpn-daemons/pptp/src/nm-pptp-service.c
13664                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13665
13666         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13667                 - (print_vpn_config): update for PtP address
13668                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13669
13670 2006-01-16  Dan Williams  <dcbw@redhat.com>
13671
13672         * gnome/applet/applet.c
13673                 - (nmwa_add_networks_helper): don't indicate an active network
13674                         if NM is disconnected or asleep
13675
13676 2006-01-16  Dan Williams  <dcbw@redhat.com>
13677
13678         * src/NetworkManagerPolicy.c
13679                 - (nm_policy_device_change_check): switch devices if we lose the link
13680                         on an ethernet device. 
13681
13682 2006-01-16  Dan Williams  <dcbw@redhat.com>
13683
13684         * gnome/applet/wso-wpa-psk-hex.[ch]
13685                 - Renamed -> wso-wpa-psk.[ch]
13686
13687         * gnome/applet/wso-wpa-psk.[ch]
13688                 - New files
13689
13690         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13691                 - Removed, rolled into wso-wpa-psk.[ch]
13692
13693         * gnome/applet/Makefile.am
13694                 - Updated for above changes
13695
13696         * gnome/applet/wireless-applet.glade
13697                 - Consolidate WPA-PSK options into one notebook
13698                         widget, and make dialogs invisible by default
13699                         to fix screen oddities
13700
13701         * gnome/applet/wireless-security-manager.c
13702                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13703                         than both the old hex & passphrase ones
13704
13705 2006-01-16  Dan Williams  <dcbw@redhat.com>
13706
13707         * gnome/applet/other-network-dialog.c
13708                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13709
13710 2006-01-16  Dan Williams  <dcbw@redhat.com>
13711
13712         * gnome/applet/applet.c
13713                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13714                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13715                         prevention to realize window before trying to get server
13716                         time
13717
13718         * gnome/applet/other-network-dialog.c
13719                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13720                         prevention to realize window before trying to get server
13721                         time
13722
13723         * gnome/applet/passphrase-dialog.c
13724                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13725                         prevention to realize window before trying to get server
13726                         time
13727
13728 2006-01-16  Robert Love  <rml@novell.com>
13729
13730         Patch from Timo Hoenig  <thoenig@suse.de:
13731         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13732           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13733           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13734           libnm-util/dbus-helpers.h: add checks whether headers are used
13735           within a C++ build.
13736
13737 2006-01-16  Dan Williams  <dcbw@redhat.com>
13738
13739         * gnome/applet/wireless-security-option.c
13740                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13741
13742 2006-01-16  Dan Williams  <dcbw@redhat.com>
13743
13744         * libnm-util/cipher-wpa-psk-passphrase.c
13745                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13746                         be 8 - 63 characters inclusive
13747
13748 2006-01-16  Dan Williams  <dcbw@redhat.com>
13749
13750         * src/nm-dbus-nm.c
13751                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13752
13753 2006-01-13  Robert Love  <rml@novell.com>
13754
13755         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13756         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13757           modules that do not use an interface.
13758
13759 2006-01-13  Dan Williams  <dcbw@redhat.com>
13760
13761         * src/nm-device.c
13762           src/nm-device.h
13763                 - Allow subclasses to implement deactivate_quickly()
13764                 - (nm_device_deactivate_quickly): call subclass
13765                         deactivate_quickly() methods
13766                 - (nm_device_set_active_link): small cleanups, and don't
13767                         deactivate the device right away because we risk a deadlock
13768                         when called from device thread, waiting for the device
13769                         thread to cancel activation
13770
13771         * src/nm-device-802-11-wireless.c
13772                 - (real_deactivate_quickly): new function
13773                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13774                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13775                         so that we kill the supplicant when we sleep too
13776                 - (supplicant_interface_init): work around naive naming attempts of
13777                         wpa_ctrl when naming sockets
13778
13779 2006-01-13  Dan Williams  <dcbw@redhat.com>
13780
13781         * src/nm-device-802-11-wireless.c
13782                 - (supplicant_cleanup): delete old device control sockets too
13783                 - (supplicant_get_device_socket_path): new function to consolidate
13784                         locations that need a path to a device's control socket
13785
13786 2006-01-12  Robert Love  <rml@novell.com>
13787
13788         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13789           description so that the description is unique for each
13790           pair (device,provider).  Fixes Novell #142773.
13791
13792 2006-01-12  Dan Williams  <dcbw@redhat.com>
13793
13794         * src/nm-device-802-11-wireless.c
13795                 - (supplicant_exec): ensure GError is correctly initialized
13796                         Reported by Diego González (gnome.org #326708)
13797
13798 2006-01-11  Robert Love  <rml@novell.com>
13799
13800         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13801           define if_mii(), open code the same results, and do so without any
13802           type punning.
13803
13804 2006-01-11  Robert Love  <rml@novell.com>
13805
13806         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13807           that wso_foo_new() returned non-NULL.  Instead, only append the new
13808           wso to wsm->options if the wso is non-NULL.  The crux is that we
13809           assume that the relevant key types are implied by WEP and WPA as
13810           appropriate.  To be sure, they should be, but we should not expect
13811           drivers to not be oozing piles of wolf fecal matter.
13812
13813 2006-01-11  Robert Love  <rml@novell.com>
13814
13815         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13816         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13817           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13818           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13819           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13820           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13821           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13822         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13823           comparing values within DBL_EPSILON.  Also fix shadowed variable
13824           usage.
13825
13826 2006-01-11  Dan Williams  <dcbw@redhat.com>
13827
13828         Add options for WPA2 and WPA1+CCMP (AES).
13829
13830         * gnome/applet/wireless-applet.glade
13831                 - Add UI bits for WPA+CCMP
13832
13833         * gnome/applet/other-network-dialog.c
13834                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13835                         and don't allow creation of WPA2 Ad-Hoc networks since
13836                         wpa_supplicant doesn't support them
13837
13838         * gnome/applet/wireless-security-manager.c
13839                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13840                         on to the specific wireless security option being created
13841
13842         * gnome/applet/wireless-security-option.[ch]
13843                 - (wso_wpa_create_key_type_model): new utility function to create
13844                         the model required for WPA Key Type combo box
13845
13846         * gnome/applet/wso-private.h
13847           gnome/applet/wireless-security-option.h
13848                 - Move private function prototypes into wso-private.h
13849
13850         * gnome/applet/wso-wpa-psk-hex.[ch]
13851           gnome/applet/wso-wpa-psk-passphrase.[ch]
13852                 - (append_dbus_params_func): get WPA version from checkbox and pass
13853                         it to the dbus serialization helper
13854                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13855                         key type combo changes
13856                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13857                         model and options
13858
13859         * libnm-util/cipher-wpa-psk-hex.c
13860           libnm-util/cipher-wpa-psk-passphrase.c
13861                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13862                         new function; allow the cipher to be changed after object creation
13863
13864         * src/nm-ap-security-wpa-psk.c
13865                 - (set_description): Do WPA2 descriptions too
13866
13867         * src/nm-ap-security.c
13868                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13869
13870 2006-01-11  Robert Love  <rml@novell.com>
13871
13872         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13873           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13874           from the ifreq structure in lieu of an open coded solution.  Removes
13875           a life-threatening type-punning.
13876         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13877           types, ever, whatsoever, baby.
13878
13879 2006-01-11  Robert Love  <rml@novell.com>
13880
13881         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13882           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13883           assignments to applet->nm_state into a new nmwa_set_state() function
13884           for both cleanliness and to help debugging.
13885
13886 2006-01-10  Robert Love  <rml@novell.com>
13887
13888         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13889           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13890           seconds, exclusive.  That is, we want to sleep x seconds such that
13891           1 < x < 2.
13892
13893 2006-01-10  Robert Love  <rml@novell.com>
13894
13895         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13896           the attr fields according to the example in the email available at
13897           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13898           Conversely, we do have to free 'name', so we do so, fixing a leak.
13899
13900 2006-01-10  Robert Love  <rml@novell.com>
13901
13902         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13903           sure that we close the socket!
13904
13905 2006-01-10  Robert Love  <rml@novell.com>
13906
13907         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13908           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13909           src/nm-device.c: Fix a FIXME!  Reimplement the function
13910           nm_device_update_hw_address() in device subclass variants,
13911           nm_device_802_3_ethernet_set_address() and
13912           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13913           This fixes the existing bug where MAC addresses are all zeros.
13914
13915 2006-01-10  Robert Love  <rml@novell.com>
13916
13917         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13918           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13919           option to give users ability to globally disconnect and put NM to
13920           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13921           clean disconnect.
13922
13923 2006-01-09  Robert Love  <rml@novell.com>
13924
13925         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13926           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13927           User-space does not supply these types, so we have to define them
13928           ourselves.  The relevant kernel maintainer refused to accept a patch
13929           switching these headers to the proper C99 types.
13930
13931 2006-01-09  Dan Williams  <dcbw@redhat.com>
13932
13933         Apply Robert's 'tray icon redo' patch with fixes
13934         * gnome/applet/applet.c
13935           gnome/applet/applet.h
13936                 - Instead of using a menu bar + menu item, simulate menu
13937                         behavior using a popup menu.  Highlight the area around
13938                         the icon more like a menu too, by playing with the
13939                         applet's size requisition
13940
13941 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13942         * libnm-util/dbus-helpers.c
13943           libnm-util/dbus-helpers.h
13944                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13945                         to 'exception_namespace' (:namespace is a keyword in
13946                         C++)
13947
13948 2006-01-09  Dan Williams  <dcbw@redhat.com>
13949
13950         * src/NetworkManagerPolicy.c
13951                 - (nm_policy_device_change_check): don't autoswitch away from
13952                         Ad-Hoc networks, since there's really no concept of
13953                         "link"
13954
13955         * src/nm-dbus-nm.c
13956                 - (nm_dbus_nm_create_wireless_network): mark created networks
13957                         as Ad-Hoc networks
13958
13959         * src/nm-device-802-11-wireless.c
13960                 - (real_activation_success_handler): add user-created Ad-Hoc
13961                         networks to the device's scan list
13962
13963 2006-01-08  Dan Williams  <dcbw@redhat.com>
13964
13965         We now require a patch for wpa_supplicant to support Ad-Hoc
13966         networks:
13967           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13968
13969         * src/nm-device-802-11-wireless.c
13970                 - (supplicant_send_network_config): turn off wpa_supplicant's
13971                         scanning.  Fixes Ad-Hoc networks.
13972
13973 2006-01-08  Dan Williams  <dcbw@redhat.com>
13974
13975         * src/nm-ap-security.c
13976           src/nm-ap-security.h
13977                 - Add a user_created argument to the write_supplicant_config
13978                         functions
13979
13980         * src/nm-ap-security-wep.c
13981           src/nm-ap-security-wpa-psk.c
13982           src/nm-device-802-11-wireless.c
13983                 - Make Ad-Hoc mode somewhat work, at least write the
13984                         correct options to wpa_supplicant
13985
13986 2006-01-08  Dan Williams  <dcbw@redhat.com>
13987
13988         * src/nm-device-802-11-wireless.c
13989                 - Remove unused code from the old device activation path
13990
13991 2006-01-08  Dan Williams  <dcbw@redhat.com>
13992
13993         * libnm-util/dbus-helpers.c
13994                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13995                         dbus when key == NULL
13996
13997 2006-01-08  Dan Williams  <dcbw@redhat.com>
13998
13999         * gnome/applet/nm-gconf-wso-wpa-psk.c
14000                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14001                         correct arguments to nmu_security_deserialize_wpa_psk()
14002
14003         * src/nm-ap-security-wpa-psk.c
14004                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14005                         arguments to nmu_security_deserialize_wpa_psk()
14006
14007 2006-01-08  Dan Williams  <dcbw@redhat.com>
14008
14009         * gnome/applet/wso-wpa-psk-hex.c
14010           gnome/applet/wso-wpa-psk-passphrase.c
14011                 - Hook up the append_dbus_params_func() function
14012
14013 2006-01-08  Dan Williams  <dcbw@redhat.com>
14014
14015         * src/nm-device-802-11-wireless.c
14016                 - (get_wireless_capabilities): correctly detect driver WPA
14017                         capabilities
14018
14019 2006-01-08  Dan Williams  <dcbw@redhat.com>
14020
14021         * gnome/applet/Makefile.am
14022           gnome/applet/wso-wpa-psk-hex.c
14023           gnome/applet/wso-wpa-psk-hex.h
14024                 - New files, implement WPA-PSK Hex key input
14025
14026         * gnome/applet/wireless-applet.glade
14027                 - Change existing wpa-psk stuff to wpa-psk-hex
14028                 - Add new widgets for wpa-psk-passphrase
14029
14030         * gnome/applet/wireless-security-manager.c
14031                 - (wsm_set_capabilities): enable WPA options
14032
14033         * gnome/applet/wso-wpa-psk-passphrase.c
14034                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14035                         for WPA-PSK passphrase
14036
14037 2006-01-08  Dan Williams  <dcbw@redhat.com>
14038
14039         * include/NetworkManager.h
14040                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14041                         applet/info-daemons
14042
14043         * gnome/applet/passphrase-dialog.c
14044                 - Use the constant.  Fixes a bug where the arguments to
14045                         dbus_message_new_error() were incorrect
14046
14047         * src/nm-dbus-nmi.c
14048                 - Use the constant
14049
14050 2006-01-07  Dan Williams  <dcbw@redhat.com>
14051
14052         * src/nm-device-802-11-wireless.c
14053                 - Add a link timeout so we allow the supplicant time to
14054                         reassociate if it can, before we deactivate the card
14055                 - Fix up link status and link updating so things work better
14056
14057 2006-01-07  Dan Williams  <dcbw@redhat.com>
14058
14059         * src/nm-device-802-11-wireless.c
14060                 - Switch over to using wpa_supplicant
14061                 - Add a timeout of 10s for association of the supplicant
14062                 - Start the monitor callback of the supplicant
14063
14064 2006-01-07  Dan Williams  <dcbw@redhat.com>
14065
14066         * src/NetworkManagerUtils.c
14067                 - (nm_utils_supplicant_request,
14068                   nm_utils_supplicant_request_with_check):
14069                         pass correct buffer length to wpa_ctrl_request()
14070
14071 2006-01-07  Dan Williams  <dcbw@redhat.com>
14072
14073         * src/nm-device-private.h
14074           src/nm-device.c
14075                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14076                         this function available to subclasses
14077
14078 2006-01-06  Robert Love  <rml@novell.com>
14079
14080         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14081           user plugging in a network cable signals their preference for to
14082           switch, unless the user explicitly selected a wireless network and
14083           therefore signaled their preference for said wireless network over
14084           wired.  In other words, do exactly what makes sense.
14085
14086 2006-01-06  Robert Love  <rml@novell.com>
14087
14088         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14089           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14090           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14091           showing up in my greps.
14092
14093 2006-01-06  Robert Love  <rml@novell.com>
14094
14095         * gnome/applet/applet-dbus-devices.c,
14096           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14097           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14098           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14099           New Network' both failed in the non-encrypted case because we were
14100           not appending the security options to the DBUS message.  And
14101           'Connect to Other' was also failing in the encrypted case because
14102           we were not incrementing to the next DBUS parameter.  All fixed.
14103           Thanks to dcdw for some debugging help.
14104
14105 2006-01-06  Robert Love  <rml@novell.com>
14106
14107         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14108           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14109           hangup code and add per-device hangup.  Tie last commit into the
14110           GNOME applet.  TODO:  Save, understand, and respond to the state of
14111           each dialup device.
14112
14113 2006-01-06  Robert Love  <rml@novell.com>
14114
14115         Patch by Timo Hoenig <thoenig@suse.de>:
14116         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14117           hangup specific dialup devices.
14118         * src/backends/NetworkManagerDebian.c,
14119           src/backends/NetworkManagerGentoo.c,
14120           src/backends/NetworkManagerRedHat.c,
14121           src/backends/NetworkManagerSlackware.c: Add stub backend.
14122         * src/backends/NetworkManagerRedHat.c,
14123           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14124           hangup specific dialup devices.
14125
14126 2006-01-04  Robert Love  <rml@novell.com>
14127
14128         * gnome/applet/applet-dbus-devices.c,
14129           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14130           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14131           connections.
14132
14133 2006-01-04  Dan Williams  <dcbw@redhat.com>
14134
14135         First dump of wpa_supplicant-related code.  It's not hooked up to
14136         anything yet though.  Thanks to Kay Sievers for
14137         wpa_supplicant_wrapper.c, which formed the basis for this work,
14138         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14139
14140         * src/Makefile.am
14141           src/wpa_ctrl.[ch]
14142                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14143
14144         * src/NetworkManagerUtils.[ch]
14145                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14146                         Add convenience functions for talking to wpa_supplicant
14147
14148         * src/nm-ap-security.[ch]
14149           src/nm-ap-security-wep.c
14150           src/nm-ap-security-wpa-psk.[ch]
14151                 - Update and implement real_write_supplicant_config functions
14152                         in all security types
14153                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14154                         nm-ap-security-wpa-psk.c
14155
14156         * src/nm-device-802-11-wireless.c
14157                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14158                    wpa_supplicant_start, wpa_supplicant_interface_init,
14159                    wpa_supplicant_send_network_config): add functions to talk to
14160                         wpa_supplicant and write network config to it
14161
14162 2006-01-04  Robert Love  <rml@novell.com>
14163
14164         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14165           values so that distribution-backends can differentiate between the
14166           various types (modem, ISDN, et cetera) of dialup device that they
14167           support.
14168         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14169           needed.
14170
14171 2006-01-03  Dan Williams  <dcbw@redhat.com>
14172
14173         * src/NetworkManagerPolicy.c
14174           src/nm-device.[ch]
14175           src/nm-device-802-11-wireless.c
14176                 - Move wireless-specific activation failure and success code
14177                         into wireless device class
14178
14179 2006-01-03  Robert Love  <rml@novell.com>
14180
14181         Patch by Preggna S:
14182         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14183           IPsec does not require that a VPN client be bound to an interface,
14184           due to the use of the in-kernel IPSec bits.  So make the tunnel
14185           device optional.
14186
14187 2006-01-03  Dan Williams  <dcbw@redhat.com>
14188
14189         * src/NetworkManagerAP.c
14190                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14191                         the WPA IE specifies that WEP is supported
14192
14193         * src/nm-device-802-11-wireless.c
14194                 - (process_scan_results): don't mark an AP as supporting WEP
14195                         if there's already other encryption capability info
14196
14197 2006-01-03  Dan Williams  <dcbw@redhat.com>
14198
14199         * src/dhcp-manager/nm-dhcp-manager.c
14200                 - Recognize activation cancellation when waiting for DHCP
14201                         configuration from dhcdbd
14202                 - Ignore non-dhcdbd messages
14203
14204         * src/nm-device.c
14205                 - (real_act_stage3_ip_config_start): return to correct behavior
14206                         of letting the dhcp-manager notify us of failure or
14207                         success rather than incorrectly doing that ourselves
14208                 - (nm_device_activate_stage4_ip_config_get): deal with
14209                         activation cancellation a bit earlier
14210
14211 2006-01-03  Dan Williams  <dcbw@redhat.com>
14212
14213         * src/nm-device-802-11-wireless.c
14214           src/nm-device.[ch]
14215                 - Add hooks to subclasses for stage3_ip_config_start and
14216                         stage4_ip_config_timeout
14217
14218         * src/nm-device-802-3-ethernet.c
14219                 - (real_get_generic_capabilities): make devices NM-supported
14220                         by default
14221
14222 2006-01-03  Robert Love  <rml@novell.com>
14223
14224         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14225           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14226           latter cannot differentiate between error and the address -1; misc.
14227           clean up.
14228
14229 2006-01-03  Dan Williams  <dcbw@redhat.com>
14230
14231         * src/NetworkManager.c
14232                 - Move link-checking/probing into the device subclasses
14233                         themselves
14234
14235         * src/nm-device.[ch]
14236           src/nm-device-802-11-wireless.c
14237           src/nm-device-802-3-ethernet.c
14238                 - Do periodic link checking in device subclasses rather
14239                         than being triggered from NetworkManager.c
14240                 - discover_wireless_capabilities -> get_wireless_capabilities
14241                 - discover_generic_capabilities -> get_generic_capabilities
14242                 - Device subclass activation routines now return a value of type
14243                         NMActStageReturn to indicate what step to perform next
14244                 - Devices now override stage4_get_ip4_config if they choose
14245
14246 2006-01-01  Dan Williams  <dcbw@redhat.com>
14247
14248         * src/nm-device-802-11-wireless.c
14249                 - (real_init): don't chain up to parent init because we don't
14250                         need to do that anymore
14251
14252         * src/nm-device.c
14253                 - (discover_device_type): fix arguments to ioctl() to correctly
14254                         pass interface name
14255                 - (nm_device_new): consolidate generic device initialization into
14256                         nm_device_new()
14257                 - (real_init): remove, consolidated to nm_device_new()
14258                 - (nm_device_deactivate, real_deactivate): consolidate
14259
14260 2006-01-01  Dan Williams  <dcbw@redhat.com>
14261
14262         * src/nm-activation-request.c
14263                 - Change dhcp_state member of the NMActRequest structure
14264                         from guint8 to guint32
14265
14266         * src/dhcp-manager/nm-dhcp-manager.[ch]
14267                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14268                         than guint8 to match the dbus argument.  Turns out we were
14269                         overwriting memory since we were passing in only a guint8
14270
14271 2005-12-31  Dan Williams  <dcbw@redhat.com>
14272
14273         * refactor NMDevice into a GObject-based framework with separate
14274                 objects for wired and wireless.  The following files are no
14275                 longer used but should stick around for a bit so we don't
14276                 loose code through the cracks:
14277                         NetworkManagerDevice.c
14278                         NetworkManagerDevice.h
14279                         NetworkManagerWireless.c
14280                         NetworkManagerWireless.h
14281
14282         The intent here is to allow each device type to manage its own
14283         connection & activation life-cycle, ie to allow wireless devices
14284         to interface with wpa_supplicant, etc.  There's a fair bit of
14285         encapsulation breakage right now that should gradually get pulled
14286         back into each device, along with things like periodic property
14287         updates and link probing.
14288
14289 2005-12-29  Dan Williams  <dcbw@redhat.com>
14290
14291         * include/NetworkManager.h
14292                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14293                         between networks that don't have any encryption at all
14294
14295 2005-12-29  Dan Williams  <dcbw@redhat.com>
14296
14297         * test/test-common.c
14298           test/test-common.h
14299           test/Makefile.am
14300                 - Move to a test-common subdirectory
14301
14302         * test/libnm-util/test-ciphers.c
14303                 - Move test data to test-inputs.h
14304                 - Test WPA ciphers too
14305
14306         * test/libnm-util/test-dbus-helpers.c
14307                 - Test serialization/deserialization of ciphers
14308
14309 2005-12-29  Dan Williams  <dcbw@redhat.com>
14310
14311         * gnome/applet/applet-dbus-devices.c
14312                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14313                         in dbus calls to NM
14314                 - Set capabilities on WirelessNetwork objects
14315                 - Receive and save type-specific device capabilities too
14316
14317         * gnome/applet/applet-dbus-info.c
14318           gnome/applet/applet-dbus.c
14319                 - Passphrase dialog no longer a singleton; new instance gets created
14320                         on each request.  Updates to deal with that.
14321
14322         * gnome/applet/applet.c
14323                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14324                         than single 'encrypted' flag
14325                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14326                         menu items
14327                 - Passphrase dialog updates per above
14328
14329         * gnome/applet/menu-items.c
14330                 - (network_menu_item_update): use AP capabilities to determine
14331                         encryption
14332
14333         * gnome/applet/nm-device.[ch]
14334                 - Add accessors for type-specific device capabilities
14335
14336         * gnome/applet/other-network-dialog.c
14337                 - Rework to respect device capabilities.  i.e., if the device doesn't
14338                         support WPA, remove that option from the security dropdown
14339
14340         * gnome/applet/passphrase-dialog.c
14341                 - Massive rework so that a new instance is created each time
14342                         it's used, to support wireless network capabilities
14343
14344         * gnome/applet/wireless-network.[ch]
14345                 - Add accessors and members for wireless network capabilities
14346
14347         * gnome/applet/wireless-security-manager.[ch]
14348                 - (wsm_set_capabilities): called after creation to set which
14349                         security options get shown to the user
14350
14351 2005-12-29  Dan Williams  <dcbw@redhat.com>
14352
14353         * libnm-util/cipher-wpa-psk-passphrase.c
14354                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14355                         like other ciphers
14356
14357 2005-12-23  Dan Williams  <dcbw@redhat.com>
14358
14359         * gnome/applet/applet-dbus-info.c
14360                 - (nmi_dbus_get_key_for_network): if there's no entry in
14361                         GConf for a network, assume we want a new key
14362                 - (nmi_save_network_info): serialize wireless security info
14363                         into GConf so its saved
14364
14365         * src/nm-dbus-nm.c
14366                 - Fix warning as we may not be passed security info when
14367                         connecting to a wireless network
14368
14369 2005-12-23  Dan Williams  <dcbw@redhat.com>
14370
14371         * gnome/applet/applet-compat.c
14372                 - Fix bugs in GConf entry conversion
14373
14374         * gnome/applet/applet-dbus-info.c
14375                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14376                         list being zero-length
14377
14378         * libnm-util/cipher-*
14379           libnm-util/dbus-helpers.c
14380                 - All ciphers must now return hashed keys as UTF-8 valid
14381                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14382                         through dbus as strings too.
14383                 - Consolidate various functions that do bin->hex and hex->bin
14384                         conversion into cipher.c
14385
14386         * src/nm-ap-security-wep.c
14387           src/nm-ap-security-wpa-psk.c
14388                 - Handle NULL keys since we may not know keys right away
14389
14390         * src/nm-dbus-nmi.c
14391                 - (nm_dbus_get_network_data_cb): actually advance to the start
14392                         of the wireless security info before we try to deserialize it
14393
14394         * libnm-util/test-ciphers.c
14395                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14396
14397 2005-12-22  Dan Williams  <dcbw@redhat.com>
14398
14399         * gnome/applet/applet-compat.[ch]
14400                 - Convert old-format GConf and keyring entries
14401                         when the applet starts up.
14402
14403         * gnome/applet/applet.c
14404                 - (nmwa_get_instance): Call the conversion function
14405                         on startup before dbus is initialized
14406
14407 2005-12-22  Dan Williams  <dcbw@redhat.com>
14408
14409         * gnome/applet/applet-dbus-info.c
14410                 - Remove nmi_dbus_create_error_message() in favor of
14411                         nmu_create_dbus_error_message()
14412                 - (nmi_dbus_get_network_properties): Error message cleanups
14413                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14414                         gconf key rather than 'addresses', since they really are BSSIDs
14415                 - (nmi_dbus_get_network_properties): Dispose of the security
14416                         object when we're done with it
14417
14418 2005-12-21  Dan Williams  <dcbw@redhat.com>
14419
14420         * Consolidate the info-daemon's "updateNetworkInfo" and
14421                 "addNetworkAddress" calls into just "updateNetworkInfo"
14422
14423 2005-12-21  Dan Williams  <dcbw@redhat.com>
14424
14425         * Make connection after key retrieval work again
14426
14427 2005-12-21  Dan Williams  <dcbw@redhat.com>
14428
14429         * gnome/applet/nm-gconf-wso*
14430                 - Make the serialize functions return gboolean
14431                         rather than int
14432
14433         * gnome/applet/nm-gconf-wso.c
14434                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14435                         parent class handling so we don't segfault
14436
14437         * src/NetworkManagerAP.[ch]
14438                 - (nm_ap_get_capabilities): new function, return capabilities
14439                         now that something can use them
14440                 - (nm_ap_set_encrypted): assume that an access point supports
14441                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14442                         we even tell whether it just supports WEP40?
14443
14444         * src/NetworkManagerDevice.c
14445                 - (ap_need_key): resurrect and update for the New World Order
14446                 - (nm_device_wireless_get_activation_ap): if we're not given
14447                         security info to use, create some based on access point
14448                         capabilities
14449
14450         * src/nm-ap-security-wep.c
14451                 - (nm_ap_security_wep_new_from_ap): create a new object
14452                         based on a certain access point's capabilities
14453
14454         * src/nm-ap-security.c
14455                 - (nm_ap_security_new_from_ap): delegate creation of a new
14456                         object based on access point capabilities to a subclass
14457                 - (nm_ap_security_copy_properties): don't segfault if we
14458                         don't have a key yet
14459
14460         * src/nm-dbus-nm.c
14461                 - (nm_dbus_nm_set_active_device): provide more informative
14462                         output when errors occur.  Also construct security info
14463                         for a given access point if we weren't given any
14464
14465 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14466
14467         * configure.in: Added Lithuanian to ALL_LINGUAS.
14468
14469 2005-12-21  Dan Williams  <dcbw@redhat.com>
14470
14471         * test/libnm-util
14472                 - Add some testcases for WEP ciphers
14473
14474 2005-12-17  Dan Williams  <dcbw@redhat.com>
14475
14476         * Fix bugs
14477
14478 2005-12-17  Dan Williams  <dcbw@redhat.com>
14479
14480         * include/NetworkManager.h
14481                 - Finally kill NMEncKeyType
14482
14483         * gnome/applet/applet-dbus-info.c
14484                 - (nmi_save_network_info): convert to NMGConfWSO
14485
14486         * gnome/applet/nm-gconf-wso-*.c
14487                 - Implement gconf serialization functions
14488
14489         * src/NetworkManagerPolicy.c
14490                 - (nm_policy_activation_finish): fix up meaning of
14491                         automatic/user_requested
14492
14493 2005-12-17  Dan Williams  <dcbw@redhat.com>
14494
14495         * gnome/applet/*
14496                 - More applet cleanups
14497                 - Use the dbus-method-dispatcher
14498
14499         * libnm-util/dbus-method-dispatcher.[ch]
14500                 - Generalize the implementation from NM in
14501                         NetworkManagerUtils.c
14502
14503 2005-12-16  Dan Williams  <dcbw@redhat.com>
14504
14505         * gnome/applet/*
14506                 - Fix up the passphrase dialog to use all the
14507                         WirelessSecurityOption stuff (untested)
14508
14509 2005-12-16  Dan Williams  <dcbw@redhat.com>
14510
14511         * Move nm_gconf_get_*_helper() functions to separate files,
14512                 gconf-helpers.c & gconf-helpers.h
14513
14514         * New NMGConfWSO objects for managing the gconf side of things.
14515                 Eventually these should be merged with the
14516                 WirelessSecurityOption objects and a common base (that can
14517                 serialize/deserialize from dbus & gconf) should be
14518                 refactored out, but for now they are separate.
14519
14520 2005-12-16  Robert Love  <rml@novell.com>
14521
14522         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14523           binaries unless they exist (nm_spawn_process() emits a warning if
14524           asked to spawn a non-existant process).
14525
14526 2005-12-16  Dan Williams  <dcbw@redhat.com>
14527
14528         * gnome/applet/applet-dbus-info.c
14529                 - Clean up lots of gconf-related code
14530
14531 2005-12-16  Robert Love  <rml@novell.com>
14532
14533         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14534
14535 2005-12-16  Dan Williams  <dcbw@redhat.com>
14536
14537         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14538
14539         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14540                 bits still to be done)
14541
14542 2005-12-16  Dan Williams  <dcbw@redhat.com>
14543
14544         * Finally move info-daemon related stuff out of
14545                 NetworkManagerDbus.c to nm-dbus-nmi.c
14546
14547 2005-12-16  Dan Williams  <dcbw@redhat.com>
14548
14549         * Kill auth_method for access points, since that's now done
14550                 by NMAPSecurity objects
14551
14552         * Add a copy-constructor of sorts to NMAPSecurity
14553                 (how do you do this properly in glib???)
14554
14555 2005-12-15  Dan Williams  <dcbw@redhat.com>
14556
14557         * Exorcise encryption key hashing on APs
14558         * Use libnm-util's serialization/deserialization in both the
14559                 applet and NM
14560         * Random other stuff
14561
14562 2005-12-15  Robert Love  <rml@novell.com>
14563
14564         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14565           is being added to the icon naming spec, so let's use that (Tango CVS
14566           has the icon).  Because it is new, however, we fall back to the
14567           current "gnome-lockscreen" if the new icon is not around, thus
14568           behavior is the same.
14569         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14570           factory junk.
14571
14572 2005-12-15  Robert Love  <rml@novell.com>
14573
14574         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14575           well, help to give.  Couple other misc. bits.
14576
14577 2005-12-15  Dan Williams  <dcbw@redhat.com>
14578
14579         * libnm-util/dbus-helpers.[ch]
14580                 - Make this the one-stop-shop for serializing/deserializing
14581                         AP & connection security settings over dbus.  Both NM
14582                         and applets should use this to ensure consistent dbus
14583                         API going forwared.
14584
14585 2005-12-15  Robert Love  <rml@novell.com>
14586
14587         Patch by Timo Hoenig  <thoenig@suse.de>:
14588         * src/NetworkManagerDbus.c
14589                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14590                         if HAL jumps off the system bus.  Otherwise libdbus
14591                         (dbus_connection_dispatch) will try to run the filter
14592                         function of our libhal context which is already freed.
14593
14594 2005-12-15  Alexander Shopov  <ash@contact.bg>
14595
14596         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14597
14598 2005-12-14  Dan Williams  <dcbw@redhat.com>
14599
14600         * include/NetworkManager.h
14601           src/NetworkManagerWireless.c
14602                 - Rearrange 802.11 wireless-specific capabilities again
14603
14604         * src/Makefile.am
14605                 - Forgot to add wpa.c/wpa.h to the makefiles
14606
14607         * src/NetworkManagerAP.[ch]
14608                 - Implement access point capabilities and parse the
14609                         WPA/RSN IEs into the capability bitfield
14610                 - Switch the "encrypted" attribute to utilize the bitfield
14611                         and capabilities rather than being independent
14612
14613         * src/NetworkManagerDevice.c
14614                 - (nm_device_wireless_get_activation_ap): break it horribly
14615                         until we can push NMAPSecurity objects into access point
14616                         objects and through the activation chain
14617                 - Stuff WPA & RSN IEs into AP capabilities
14618
14619         * src/nm-dbus-nm.c
14620                 - Take a shot at actually making setActiveDevice work
14621
14622         * src/wpa.[ch]
14623                 - Make the API a bit saner
14624
14625 2005-12-14  Dan Williams  <dcbw@redhat.com>
14626
14627         * include/NetworkManager.h
14628                 - Add 802.11-specific capability for 802.1x key
14629                         management
14630
14631         * src/wpa.[ch]
14632                 - Pull in WPA IE and RSN IE parsing code from
14633                         wpa_supplicant so we can determine access point
14634                         capabilities
14635                 - Move WPA-related constants here from NetworkManagerAP.h
14636                         and NetworkManagerDevice.c
14637
14638         * src/NetworkManagerDevice.c
14639           src/NetworkManagerAP.[ch]
14640                 - Use WPA-related constants from wpa.h
14641
14642 2005-12-14  Dan Williams  <dcbw@redhat.com>
14643
14644         * include/NetworkManager.h
14645                 - Update and split 802.11 wireless-specific capabilities from
14646                         generic device capabilities
14647
14648         * src/NetworkManagerDevice.c
14649           src/NetworkManagerDevicePrivate.h
14650                 - (nm_device_wireless_discover_capabilities): Move 802.11
14651                         wireless-specific capability checks to
14652                         NetworkManagerWireless.c
14653                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14654                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14655
14656         * src/NetworkManagerWireless.[ch]
14657                 - (nm_802_11_wireless_discover_capabilities): Check extended
14658                         802.11 wireless-specific capabilities of the driver
14659
14660 2005-12-14  Robert Love  <rml@novell.com>
14661
14662         Patch from Stefan Scheler <sscheler@suse.de>:
14663         * src/NetworkManagerDevice.c: call backend code to activate and
14664           deactivate NIS.
14665         * src/NetworkManagerSystem.h: add new NIS interfaces.
14666         * src/backends/NetworkManagerDebian.c,
14667           src/backends/NetworkManagerGentoo.c,
14668           src/backends/NetworkManagerRedHat.c,
14669           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14670           support.
14671         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14672
14673 2005-12-14  Dan Williams  <dcbw@redhat.com>
14674
14675         * src/nm-ap-security*.[ch]
14676                 - Add AP security abstractions to NetworkManager
14677
14678         * src/nm-dbus-device.c
14679                 - Begin to parse new format dbus messages from the applet
14680                         and construct an AP security object from the message
14681
14682         * libnm-util/dbus-helpers.c
14683                 - Use message iters so we can append the key as a fixed
14684                         array of bytes, which actually works rather than
14685                         using dbus_message_append_args() as we were before
14686
14687 2005-12-14  Dan Williams  <dcbw@redhat.com>
14688
14689         * src/NetworkManagerDbus.c
14690           gnome/applet/applet-dbus.c
14691                 - Fix up dbus service replacement options.  The applet
14692                         should allow replacement, NM itself should not.
14693
14694 2005-12-13  Robert Love  <rml@novell.com>
14695
14696         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14697           Instead, fail silently if config is NULL by not asserting and not
14698           returning FALSE.  Also, make sure we always fclose() the file.
14699
14700 2005-12-13  Robert Love  <rml@novell.com>
14701
14702         Patch by Stefan Scheler <sscheler@suse.de>:
14703         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14704            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14705            via DHCP.  Still need the backends to commit the NIS domain name and
14706            and servers to yp.conf as needed.
14707
14708 2005-12-13  Robert Love  <rml@novell.com>
14709
14710         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14711           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14712
14713 2005-12-13  Robert Love  <rml@novell.com>
14714
14715         * src/named-manager/nm-named-manager.c: Don't unref the config until
14716           after we call rewrite_resolv_conf(), because get_last_default_domain()
14717           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14718           `config != NULL' failed" assertion failures and "Could not commit DNS
14719           changes" warnings.
14720
14721 2005-12-12  Dan Williams  <dcbw@redhat.com>
14722
14723         * libnm-util/dbus-helpers.[ch]
14724           libnm-util/Makefile.am
14725                 - new helper calls to consolidate locations where
14726                         NM's setDevice method is called
14727
14728         * gnome/applet/applet-dbus-devices.c
14729           gnome/applet/wireless-security-option.c
14730           gnome/applet/wso-*
14731                 - Implement dbus message param append function for
14732                         all wireless security options
14733
14734 2005-12-12  Robert Love  <rml@novell.com>
14735
14736         * libnm-util/cipher-wep-passphrase.c,
14737           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14738           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14739           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14740           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14741           When handling keys, we don't care what the sign is.  The compiler
14742           guarantees us that we get our 8-bits, which is all we care about.
14743         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14744
14745 2005-12-12  Dan Williams  <dcbw@redhat.com>
14746
14747         * gnome/applet/applet-dbus-devices.[ch]
14748           gnome/applet/applet.c
14749           gnome/applet/other-network-dialog.c
14750           gnome/applet/wireless-security-manager.[ch]
14751           gnome/applet/wireless-security-option.[ch]
14752           gnome/applet/wso-*
14753                 - Push the wireless security options further into the applet
14754
14755 2005-12-12  Robert Love  <rml@novell.com>
14756
14757         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14758           return any name servers.  That is perfectly valid.  (Novell #134369).
14759
14760 2005-12-11  Dan Williams  <dcbw@redhat.com>
14761
14762         * gnome/applet/wso-*
14763           gnome/applet/wireless-security-option.*
14764           gnome/applet/Makefile.am
14765                 - split each security option out so we can eventually
14766                         have each one build up their own dbus message
14767                         arguments to send to NM
14768
14769 2005-12-11  Dan Williams  <dcbw@redhat.com>
14770
14771         * Make validation of the key work correctly
14772
14773 2005-12-11  Dan Williams  <dcbw@redhat.com>
14774
14775         * Hook more bits of the Other Network Dialog up to the
14776                 wireless security manager stuff, and restructure
14777                 bits of the dialog so there's less code.
14778
14779 2005-12-10  Dan Williams  <dcbw@redhat.com>
14780
14781         * gnome/applet/Makefile.am
14782                 - Add libnm-util to includes
14783                 - Add libnm-util to link list
14784                 - Add wireless-security-common.* to compile list
14785
14786         * gnome/applet/other-network-dialog.c
14787                 - Convert to using the WirelessSecurityManager code and
14788                         widgets
14789
14790         * gnome/applet/passphrase-dialog.c
14791                 - Comment out references to stuff in the glade file that
14792                         cause runtime errors until it can be fixed up
14793                         to use the WirelessSecurityManager code
14794
14795         * gnome/applet/wireless-applet.glade
14796                 - Rename some widgets
14797                 - Add widgets for the WirelessSecurityManager code
14798                 - Remove passphrase-related stuff since that's now
14799                         handled by the WirelessSecurityManager code
14800
14801 2005-12-10  Dan Williams  <dcbw@redhat.com>
14802
14803         * gnome/applet/applet-dbus-devices.c
14804                 - Print out error message details for dbus pending call callbacks
14805                 - Move nmwa_dbus_update_devices() up
14806
14807         * gnome/applet/applet-dbus-vpn.c
14808                 - Print out error message details for dbus pending call callbacks
14809
14810 2005-12-10  Dan Williams  <dcbw@redhat.com>
14811
14812         * libnm-util/*
14813                 - More fixups
14814                 - Remove cipher-manager.* because we don't need it
14815                 - Forgot to add gnome-keyring-md5 files to compile list
14816
14817 2005-12-09  Dan Williams  <dcbw@redhat.com>
14818
14819         * libnm-util/*
14820           configure.in
14821           Makefile.am
14822                 - Add a utility library for clients of NetworkManager.  It's
14823                         only targetted at applets for the moment, and contains
14824                         a generalized 802.11 cipher framework for different
14825                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14826
14827 2005-12-09  Robert Love  <rml@novell.com>
14828
14829         * src/NetworkManagerDevice.c: handle error better in
14830           nm_device_set_mode().
14831
14832 2005-12-08  Robert Love  <rml@novell.com>
14833
14834         * include/NetworkManager.h: add WPA capabilities constants
14835         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14836           or WPA2 and add the capabilities bits as appropriate.
14837
14838 2005-12-08  Robert Love  <rml@novell.com>
14839
14840         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14841           NetworkManagerDispatcher.
14842         * configure.in, initscript/SUSE/.cvsignore,
14843           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14844           initscript.
14845
14846 2005-12-08  Robert Love  <rml@novell.com>
14847
14848         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14849
14850 2005-12-08  Robert Love  <rml@novell.com>
14851
14852         * src/NetworkManagerDevice.c: We want to fall back on and default to
14853           IW_MODE_AUTO, not -1, which is more in line with our previous
14854           behavior.  Otherwise, we try to set the wireless mode to -1 in
14855           nm_device_set_mode().
14856
14857 2005-12-07  Robert Love  <rml@novell.com>
14858
14859         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14860           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14861           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14862           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14863           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14864           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14865           zero.
14866
14867 2005-12-07  Robert Love  <rml@novell.com>
14868
14869         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14870           supplied IP is invalid, fall back to DHCP.
14871
14872 2005-12-07  Dan Williams  <dcbw@redhat.com>
14873
14874         * Convert NETWORK_MODE_* constants to IW_MODE_*
14875         * Make all the get_mode/set_mode functions take and return 'int'
14876         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14877
14878 2005-12-07  Robert Love  <rml@novell.com>
14879
14880         * src/NetworkManagerDevice.c: strncpy() buffer check.
14881         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14882
14883 2005-12-06  Dan Williams  <dcbw@redhat.com>
14884
14885         * gnome/applet/applet-dbus.c
14886                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14887
14888         * gnome/applet/applet-dbus-vpn.c
14889                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14890                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14891                         to TRUE here if stage was ACTIVATED
14892
14893 2005-12-06  Dan Williams  <dcbw@redhat.com>
14894
14895         * Change nm_device_is_* functions to better names:
14896                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14897                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14898
14899 2005-12-06  Dan Williams  <dcbw@redhat.com>
14900
14901         * Change naming of NMDeviceType to something more sensible:
14902                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14903                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14904                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14905
14906 2005-12-06  Dan Williams  <dcbw@redhat.com>
14907
14908         * Move NetworkManager.h -> include/NetworkManager.h
14909         * Split out VPN stuff into include/NetworkManagerVPN.h
14910         * Fix up makefiles to include new location
14911         * Fix up sources to include NetworkManagerVPN.h
14912
14913 2005-12-06  Dan Williams  <dcbw@redhat.com>
14914
14915         Various changes in the applet to move VPN connection "state" -> "stage",
14916         which it actually is.  I'd like to change the signal as well when we
14917         break compat in the near future.
14918
14919 2005-12-06  Dan Williams  <dcbw@redhat.com>
14920
14921         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14922         * initscript/Slackware/rc.networkmanager
14923                 - Cosmetic fix
14924
14925         * src/backends/NetworkManagerSlackware.c
14926                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14927                         interfaces
14928
14929 2005-12-05  Robert Love  <rml@novell.com>
14930
14931         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14932           to free, particularly here as it just barfs.
14933
14934 2005-12-05  Dan Williams  <dcbw@redhat.com>
14935
14936         * gnome/applet/applet-dbus.c
14937                 - Work with dbus 0.6 too
14938
14939 2005-12-03  Dan Williams  <dcbw@redhat.com>
14940
14941         * src/NetworkManagerUtils.[ch]
14942           src/nm-ip4-config.c
14943                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14944                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14945
14946 2005-12-01  Robert Love  <rml@novell.com>
14947
14948         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14949           need a NULL for the '...' parameter, too, to fill the so-called
14950           sentinel.
14951
14952 2005-12-01  Robert Love  <rml@novell.com>
14953
14954         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14955           interface is already gone, so don't call rtnl_link_change() to down
14956           it (which will segfault, anyhow).
14957
14958 2005-11-22  Robert Love  <rml@novell.com>
14959
14960         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14961           gateway is not set, just print a little note.  Configurations without
14962           gateways are valid.
14963
14964 2005-11-22  Robert Love  <rml@novell.com>
14965
14966         * README: update
14967
14968 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14969
14970         * configure.in: Added Finnish translation to ALL_LINGUAS
14971
14972 2005-11-14  Robert Love  <rml@novell.com>
14973
14974         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14975           Niemueller <tim@niemueller.de>.
14976
14977 2005-11-08  Dan Williams  <dcbw@redhat.com>
14978
14979         Patch from Bill Moss <bmoss@clemson.edu>
14980         * src/NetworkManagerDevice.c
14981                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14982                         of nm_policy_schedule_activation_finish() to prevent a
14983                         race condition that causes the link to be dropped
14984
14985 2005-11-08  Dan Williams  <dcbw@redhat.com>
14986
14987         Patch from Bill Moss <bmoss@clemson.edu>
14988         * src/NetworkManagerAPList.c
14989           src/NetworkManagerDevice.c
14990           src/NetworkManagerDbus.c
14991                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14992                         we get more readable ether/mac addresses
14993
14994 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14995
14996         * gnome/applet/main.c: Don't set the restart command.  This fixes
14997         the issue where the restart command was getting copies of all its
14998         arguments for each time the applet was restarted.
14999
15000 2005-11-02  Robert Love  <rml@novell.com>
15001
15002         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15003           if the widget state differs from our saved state.  This ensures we
15004           do not enter an endless loop of death and destruction.  Also, this
15005           guarantees us that we enforce the widget state.
15006
15007 2005-11-02  Robert Love  <rml@novell.com>
15008
15009         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15010         * gnome/applet/applet-dbus-devices.c: invoke the new function
15011           nmwa_enable_wireless_set_active() to ensure that the state of the
15012           'Enable Wireless' checkbox matches the daemon's state.  This is a
15013           concern because the daemon remembers the state.
15014
15015 2005-11-02  Robert Love  <rml@novell.com>
15016
15017         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15018           Enabled", as checkboxes should be actions/commands not positive
15019           statements, otherwise they are confusing in the unselected case.  See
15020           examples in GNOME HIG, Chapter 6.
15021
15022 2005-11-02  Robert Love  <rml@novell.com>
15023
15024         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15025           show a list of wireless networks or the wireless devices or the
15026           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15027           a bad bug: If wireless is disabled and the user picks a wireless
15028           network, NM will switch to the network, only to immediately switch
15029           back, as wireless is disabled.  This also reassures people that NM
15030           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15031
15032 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15033
15034         * gnome/applet/applet.c:
15035         * gnome/applet/applet.h:
15036         Partial backout of Dan's timeout animation patch.
15037         Timeout IDs cannot legally be 0, so revert the code in place to handle
15038         a timeout ID of 0 to denote the timeout isn't running.
15039
15040 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15041
15042         * src/NetworkManagerPolicy.c:
15043         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15044
15045 2005-10-28  Robert Love  <rml@novell.com>
15046
15047         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15048           "Import Saved Configuration..." to make it clear that importing is
15049           not the next step, but an option.  As an aside, a nice TODO would be
15050           to move Importing out of the vpn-specific dialog and into the main
15051           property editor, as Importing goes with Adding, but that will require
15052           some rearchitecting of the VPN stuff I suspect.
15053
15054 2005-10-27  Dan Williams  <dcbw@redhat.com>
15055
15056         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15057         we should replace most of the distro-specific backend code
15058         with libnl stuff.
15059
15060         Get it here:  http://people.suug.ch/~tgr/libnl/
15061
15062         * configure.in
15063           src/Makefile.am
15064                 - Add checks for libnl pkgconfig file
15065                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15066
15067         * src/NetworkManagerSystem.c
15068           src/nm-ip4-config.[ch]
15069                 - Use libnl rather than ioctl() for most things
15070                 - Remove unused functions
15071
15072 2005-10-27  Robert Love  <rml@novell.com>
15073
15074         * src/backends/NetworkManagerSuSE.c: fix warning message text
15075
15076 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15077
15078         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15079
15080 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15081
15082         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15083         project page <http://www.gnome.org/projects/NetworkManager/>
15084
15085 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15086
15087         * gnome/applet.c: Also use translator credits if we don't have
15088         the new GtkAboutDialog (older versions of GTK+)
15089
15090 2005-10-26  Robert Love  <rml@novell.com>
15091
15092         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15093           failure; correct usage text for "--no-daemon"
15094
15095 2005-10-25  Dan Williams  <dcbw@redhat.com>
15096
15097         * src/NetworkManagerDevice.c
15098                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15099                         no scan results
15100                 - (free_process_scan_cb_data): unref the device when freeing results
15101                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15102                         so we don't unref the device underneath ourselves
15103
15104 2005-10-25  Dan Williams  <dcbw@redhat.com>
15105
15106         * Back out 2005-10-24 commit from Tor Krill.  Patch
15107                 causes nameservers never to be removed from named.
15108
15109 2005-10-24  Dan Williams  <dcbw@redhat.com>
15110
15111         Clean up wireless scanning and wireless link probing.
15112
15113         * src/NetworkManagerDevice.c
15114                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15115                         just see if there's an activation request on the device, and check the
15116                         current link against the activation request access point's ESSID.
15117                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15118                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15119                         don't call process_scan_results() on zero-length data
15120                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15121                         15 seconds (from 10)
15122
15123 2005-10-24  Dan Williams  <dcbw@redhat.com>
15124
15125         Cleanup some applet stuff:
15126
15127         - Animation timeouts.  If NM died while the applet was animating,
15128                 the applet would not hide itself.  This is now fixed.
15129
15130         - Remove some dead code
15131
15132         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15133                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15134
15135         - Track animation timeout using a gboolean rather than the timeout's
15136                 ID, since timeout IDs can legally be 0.
15137
15138 2005-10-24  Dan Williams  <dcbw@redhat.com>
15139
15140         * src/backends/interface_parser.c
15141                 - Add void to function declarations that need it
15142                         to match patch from Engin AYDOGAN
15143
15144         * src/backends/interface_parser.h
15145                 - Remove unused prototype for ifparser_interfaces()
15146
15147         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15148         * src/backends/interface_parser.h:
15149                 - Compile fixes for gcc 4.0.2 (add void)
15150
15151 2005-10-24  Dan Williams  <dcbw@redhat.com>
15152
15153         Patch from Tor Krill <tor@krill.nu>
15154         * src/named-manager/nm-named-manager.c
15155                 - Write more than just the first nameserver to /etc/resolv.conf
15156                 - Write out valid /etc/resolv.conf on exit
15157
15158 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15159
15160         * gnome/applet/applet-dbus-vpn.c:
15161         Get rid of spurious newlines in debug console output
15162
15163 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15164
15165         * src/backends/NetworkManagerGentoo.c:
15166         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15167
15168 2005-10-20  Robert Love  <rml@novell.com>
15169
15170         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15171           direct comparison of floating point values, which is never correct.
15172           Also some misc. cleanup.
15173
15174 2005-10-19  Robert Love  <rml@novell.com>
15175
15176         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15177
15178 2005-10-19  Robert Love  <rml@novell.com>
15179
15180         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15181           sensitivity of the buttons.  Specificaly, do the right thing if
15182           there are no entries.
15183
15184 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15185
15186         * configure.in: Update check for adequate wireless-tools
15187         with an AC_TRY_COMPILE for the new symbols we use.
15188
15189 2005-10-19  Dan Williams  <dcbw@redhat.com>
15190
15191         * src/NetworkManagerDevice.c
15192                 - (process_scan_results): don't drop the last (or only)
15193                         access point we see
15194
15195 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15196
15197         * src/backends/NetworkManagerSlackware.c:
15198         Patch from Nico <lordllucifer@gmail.com>
15199                 - Update the Slackware backend.
15200
15201 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15202
15203         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15204         if we've got GLib 2.8.0
15205
15206 2005-10-18  Robert Love  <rml@novell.com>
15207
15208         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15209           function nm_schedule_state_change_signal_broadcast() when we
15210           deactivate a device, too.
15211
15212 2005-10-18  Robert Love  <rml@novell.com>
15213
15214         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15215           be used uninitialized.
15216
15217 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15218
15219         * test/libnm_glib_test.c: Test unregistering, too.
15220
15221 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15222
15223         * configure.in: Bump to 0.5.0
15224
15225 2005-10-17  Dan Williams  <dcbw@redhat.com>
15226
15227         * NetworkManager.h
15228                 - Remove WPA-related constants so they aren't part of the
15229                         upcoming release.
15230
15231 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15232
15233         * gnome/applet/applet.c:
15234         * gnome/applet/applet.h:
15235         Desensitize the 'Connection Information' menu item when there is
15236         no active connection.
15237
15238 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15239
15240         * gnome/libnm_glib/libnm_glib.c:
15241         Make libnm_glib_unregister_callback () actually unregister the callback
15242
15243 2005-10-17  Robert Love  <rml@novell.com>
15244
15245         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15246           two seconds -- tries is updated every 1/10 of a second, not every
15247           second..
15248
15249 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15250
15251         * gnome/applet/applet-dbus-info.c:
15252         Let D-BUS know that we haven't handled a message when we haven't.
15253
15254 2005-10-17  Robert Love  <rml@novell.com>
15255
15256         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15257           in order to remain 64-bit clean.
15258
15259 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15260
15261         * gnome/applet/applet-dbus-info.c:
15262         Find network encryption keys asynchronously
15263
15264 2005-10-17  Robert Love  <rml@novell.com>
15265
15266         * src/backends/NetworkManagerDebian.c,
15267           src/backends/NetworkManagerRedHat,
15268           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15269           comment delimiter.
15270
15271 2005-10-17  Robert Love  <rml@novell.com>
15272
15273         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15274           "/etc"
15275
15276 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15277
15278         * src/NetworkManagerDevice.c: (process_scan_results)
15279         Fix logic that checks to see whether we have an ESSID.
15280
15281 2005-10-15  Dan Williams  <dcbw@redhat.com>
15282
15283         Move scanning code into NetworkManager rather than use iwlib's
15284         iw_scan() function, so that we can figure out AP capabilities.
15285
15286         * NetworkManager.h
15287                 - Add AP capability bits
15288
15289         * src/NetworkManagerAP.[ch]
15290                 - Add capability field to NMAccessPoint structure
15291                 - Add WPA & RSN Information Element fields and accessor
15292                         functions to NMAccessPoint
15293
15294         * src/NetworkManagerDevice.c
15295                 - Remove usage of iw_scan
15296                 - Add scanning code to NetworkManager rather than use
15297                         iw_scan() from iwlib
15298
15299         * src/NetworkManagerUtils.[ch]
15300                 - (nm_dispose_scan_results): remove, unused
15301
15302 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15303
15304         * gnome/libnm_glib/libnm_glib.c:
15305         * gnome/libnm_glib/libnm_glib.h:
15306         Use guint instead of gint for callback IDs.
15307
15308 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15309
15310         * gnome/applet/applet.c:
15311         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15312         every 1000ms.  It will unconditionally call nmwa_update_state which
15313         kills the existing animation timeout and registers a new one with a
15314         callback to draw a new frame every 100ms.  There are 11 connecting
15315         icon frames, so the last 2 frames kept getting dropped.  Only reset
15316         the animation timeout if we aren't animating.
15317
15318 2005-10-11  Dan Williams  <dcbw@redhat.com>
15319
15320         * gnome/applet/applet-dbus-devices.c
15321                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15322                         We want to grab the product & vendor from net.physical_dev
15323                         rather than info.parent.
15324
15325 2005-10-11  Dan Williams  <dcbw@redhat.com>
15326
15327         * src/NetworkManagerDevice.c
15328                 - Use the driver's WE version for scanning rather than
15329                         the WE version NM was compiled with.  Fixes random
15330                         crashes in iw_scan () in iwlib.
15331
15332 2005-10-10  Dan Williams  <dcbw@redhat.com>
15333
15334         * Remove nm_system_load_device_modules() from backend files
15335                 and from NetworkManager.c
15336
15337 2005-10-10  Dan Williams  <dcbw@redhat.com>
15338
15339         * src/NetworkManagerPolicy.c
15340                 - Fix some bugs introduced by the capabilities patch
15341
15342 2005-10-10  Dan Williams  <dcbw@redhat.com>
15343
15344         * gnome/applet/applet-dbus-info.c
15345                 - (nmi_dbus_get_network_key): hide the menu when putting up
15346                         the keyring dialog.  (not sure if the code is right...)
15347
15348 2005-10-09  Dan Williams  <dcbw@redhat.com>
15349
15350         Patch from Bill Moss <bmoss@clemson.edu>
15351         * src/NetworkManagerDevice.c
15352                 - (nm_device_set_user_key_for_network): don't try to set auth
15353                         mode on the AP from the allowed list if it's NULL
15354
15355 2005-10-09  Dan Williams  <dcbw@redhat.com>
15356
15357         * Replace the "driver support level" stuff with capabilities.  The
15358                 capability field is a bitfield that is more flexible than the
15359                 old driver support level thing.  It's mostly so we can easily
15360                 figure out what supports WPA and what doesn't, but should be
15361                 quite useful later.
15362
15363 2005-10-09  Dan Williams  <dcbw@redhat.com>
15364
15365         * test/nmtest.c
15366                 - Removed
15367
15368         * test/nm-tool.c
15369           test/Makefile.am
15370                 - Added new "nm-tool" tool that gives quite a bit more
15371                         information
15372
15373 2005-10-07  Robert Love  <rml@novell.com>
15374
15375         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15376           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15377           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15378           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15379           appropriate
15380
15381 2005-10-07  Robert Love  <rml@novell.com>
15382
15383         * configure.in: Change our compile flags for the betterment of mankind.
15384           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15385           prototype is very bad on 64-bit platforms as types default to int but
15386           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15387           "-Wmissing-declarations" to warn if we define an exported function
15388           but fail to put it in a header.
15389
15390 2005-10-07  Robert Love  <rml@novell.com>
15391
15392         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15393           by the name nm_update_device_wireless_timeouts() and once tried,
15394           without success, to steal my pet turtle.
15395
15396 2005-10-07  Robert Love  <rml@novell.com>
15397
15398         * Cleanup prototypes: put some functions in header files and mark
15399           others as 'static' -- feel free to invert
15400         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15401           nm_vpn_manager_vpn_connection_list_copy()
15402         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15403           nm_vpn_service_get_dbus_connection()
15404         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15405           nm_vpn_manager_vpn_connection_list_copy()
15406         * src/vpn-manager/nm-vpn-service.c: make
15407           nm_vpn_service_act_request_failed() and
15408           nm_vpn_service_stage2_daemon_wait() static
15409         * src/vpn-manager/nm-vpn-service.h: add prototype for
15410           nm_vpn_service_get_dbus_connection()
15411
15412 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15413
15414         * gnome/applet/applet.c:
15415         * gnome/applet/applet.h:
15416         * gnome/applet/icons/Makefile.am:
15417         Convey information about the current connection stage in the
15418         icons themselves instead of creating a separate progress bar.
15419
15420 2005-10-04  Robert Love  <rml@novell.com>
15421
15422         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15423           convert an ether_addr structure's MAC into a string, because the
15424           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15425           versus 07:3B:04, while the former will not.
15426
15427 2005-10-04  Robert Love  <rml@novell.com>
15428
15429         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15430           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15431           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15432           default route in the 'Connection Information' dialog, send primary
15433           and secondary name servers in in "getProperties" DBUS method, add
15434           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15435           secondary domain name servers are crucial pieces of information
15436           that a user might need in debugging a network problem.
15437
15438 2005-10-04  Robert Love  <rml@novell.com>
15439
15440         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15441           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15442           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15443           default route in the 'Connection Information' dialog, send default
15444           route in "getProperties" DBUS method, add network_device_set_route(),
15445           and network_device_get_route().  The Gateway is a crucial piece of
15446           connection-related information that a user might need in debugging a
15447           network problem.
15448
15449 2005-10-03  Robert Love  <rml@novell.com>
15450
15451         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15452           NULL.
15453
15454 2005-10-02  Dan Williams  <dcbw@redhat.com>
15455
15456         * Shorten time taken to sleep by fastpathing bits of device deactivation
15457                 necessary for sleep.
15458
15459         * Fix issue where deactivating a device might deactivate the active
15460                 VPN connection, even if the VPN was not using the device.
15461
15462 2005-10-02  Dan Williams  <dcbw@redhat.com>
15463
15464         * gnome/applet/applet.c
15465                 - Adjust signal strength -> icon mapping values slightly
15466                         (so that 51% signal doesn't show a 75% icon) by adding
15467                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15468                         shows 50% icon, etc.
15469
15470 2005-09-29  Robert Love  <rml@novell.com>
15471
15472         * src/NetworkManager.c: removed unused variable.
15473
15474 2005-09-28  Dan Williams  <dcbw@redhat.com>
15475
15476         Support for named + DBus, using Red Hat DBus patches for named.  You
15477         can find those patches here, with "dbus" in the patch's filename:
15478
15479                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15480
15481         Don't forget the named dbus service file either.
15482
15483         Instead of writing a config file and spawing a named process, NM will
15484         use an already-running dbus-enabled named if it finds one.  NM will
15485         update named's forwarder configuration on the fly using dbus.
15486
15487         If there is no dbus-enabled named running, NM will automatically fall
15488         back to writing the most-recent DNS server information to /etc/resolv.conf
15489         and calling nm_system_update_dns() to kick the system's resolver.
15490
15491         Accordingly, all named-related configure-time options have been removed.
15492
15493 2005-09-26  Robert Love  <rml@novell.com>
15494
15495         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15496           ISDN support!
15497         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15498           bug in error path if "ASKPASSWORD" is "no".
15499
15500 2005-09-26  Robert Love  <rml@novell.com>
15501
15502         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15503           comment in /etc/resolv.conf -- ';' is not.
15504
15505 2005-09-19  Dan Williams  <dcbw@redhat.com>
15506
15507         * src/backends/NetworkManagerRedHat.c:
15508         * src/backends/NetworkManagerDebian.c:
15509         * src/backends/NetworkManagerSlackware.c:
15510         * src/backends/NetworkManagerGentoo.c:
15511         * src/backends/NetworkManagerSUSE.c:
15512         Fix invocations of "/sbin/ip address" to use short form instead
15513
15514 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15515
15516         * src/nm-dbus-device.c: Don't assert when getting
15517         addresses of a not yet connected interface.
15518
15519         * gnome/applet/applet.c: Free icons if loading fails.
15520         Use translator-credits so translators can make themselves known.
15521
15522 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15523
15524         * src/NetworkManagerAP.c:
15525         * src/NetworkManagerAP.h:
15526         * src/NetworkManagerDevice.c:
15527         Set a blacklist for certain common manufacturer default ESSIDs:
15528         APs with these ESSIDs are extremely likely to be completely
15529         different networks: connecting to one should not make NM
15530         auto-connect to every other AP with the same default ESSID.
15531
15532 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15533
15534         * gnome/applet/wireless-applet.glade:
15535         The passphrase entry should also activate the default
15536
15537         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15538
15539         * gnome/applet/applet-dbus-devices.c:
15540         * gnome/applet/applet.c:
15541         * gnome/applet/nm-device.c:
15542         * gnome/applet/nm-device.h:
15543         * src/NetworkManagerUtils.c:
15544         * src/NetworkManagerUtils.h:
15545         * src/nm-dbus-device.c:
15546         I've got a fever, and the only cure for it is less ioctl.
15547         Make NM push IP data rather than make the applet open a socket
15548         to the device.
15549
15550 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15551
15552         * gnome/applet/applet.c:
15553         * gnome/applet/applet-dbus-devices.c:
15554         * gnome/applet/applet-dbus-info.c:
15555         * gnome/applet/passphrase-dialog.c:
15556         * gnome/libnm_glib/libnm_glib.c:
15557         * gnome/vpn-properties/nm-vpn-properties.c:
15558         * src/autoip.c:
15559         * src/backends/NetworkManagerRedHat.c:
15560         * src/named-manager/nm-named-manager.c:
15561         * src/NetworkManagerAPList.c:
15562         * src/NetworkManager.c:
15563         * src/NetworkManagerDbus.c:
15564         * src/NetworkManagerDevice.c:
15565         * src/NetworkManagerPolicy.c:
15566         * src/NetworkManagerSystem.c:
15567         * src/nm-dbus-device.c:
15568         * src/nm-dbus-nm.c:
15569         * src/vpn-manager/nm-vpn-manager.c:
15570         * src/vpn-manager/nm-vpn-service.c:
15571         * test/libnm_glib_test.c:
15572         * test/nminfotest.c:
15573         * test/nmtestdevices.c:
15574         Fix a bunch of 'unused variable' compiler warnings
15575
15576         * NetworkManager.h:
15577         * gnome/applet/applet-dbus-info.c:
15578         * gnome/applet/applet-dbus-info.h:
15579         * gnome/applet/applet.c:
15580         * gnome/applet/applet.h:
15581         * src/NetworkManager.c:
15582         * src/NetworkManagerDbus.c:
15583         * src/NetworkManagerDbus.h:
15584         * src/NetworkManagerDevice.c:
15585         * src/NetworkManagerDevice.h:
15586         * src/NetworkManagerMain.h:
15587         * src/NetworkManagerWireless.c:
15588         * src/NetworkManagerWireless.h:
15589         * src/nm-dbus-nm.c:
15590         Make NetworkManager be smart about how frequently to scan
15591         based on its current state.  Remove the UI for choosing when
15592         to scan.  Scanning still may disabled completely by the user
15593         via the "Wireless Enabled" menu item.
15594
15595 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15596
15597         * gnome/applet/applet.c:
15598         Also overlay the vpn connecting icons onto the wired icon,
15599         when appropriate.
15600
15601         * gnome/vpn-properties/nm-vpn-properties.glade:
15602         Clean up a few strings to use better grammar and proper casing.
15603
15604 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15605
15606         * gnome/applet/vpn-connection.c:
15607         * gnome/applet/vpn-connection.h:
15608         Add nmwa_vpn_connection_is_activating ()
15609
15610         * gnome/applet/applet.c:
15611         * gnome/applet/applet.h:
15612         * gnome/applet/icons/nm-vpn-connecting*.png:
15613         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15614         the user know something's happening between clicking the VPN item and it
15615         actually being connected.
15616
15617 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15618
15619         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15620         failure case as well.
15621
15622 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15623
15624         * gnome/panel/eggtrayicon.[ch]:
15625         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15626
15627 2005-09-07  Dan Williams  <dcbw@redhat.com>
15628
15629         Patch from Bill Moss <bmoss@clemson.edu>
15630         * src/applet-dbus.c
15631                 - (nmwa_dbus_filter): strip whitespace from beginning
15632                         and end of VPN login banner
15633
15634 2005-09-07  Dan Williams  <dcbw@redhat.com>
15635
15636         * The great VPN Manager rewrite of 2005
15637
15638 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15639
15640         * gnome/applet/menu-items.c:
15641         * gnome/applet/nm-device.c:
15642         * gnome/applet/wireless-network.c:
15643         * gnome/libnm_glib/libnm_glib.c:
15644         * src/NetworkManagerDbusUtils.c:
15645         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15646         g_malloc0 doesn't return NULL
15647
15648 2005-09-06  Dan Williams  <dcbw@redhat.com>
15649
15650         Patch from Tomislav Vujec <tvujec@redhat.com>
15651         * src/NetworkManagerDevice.c
15652                 - (nm_get_device_by_udi): don't return a device when we
15653                         actually didn't find what we were looking for
15654
15655 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15656
15657         * gnome/applet/applet-dbus-devices.c:
15658         * gnome/applet/applet-dbus-devices.h:
15659         * gnome/applet/applet-dbus.c:
15660         * src/NetworkManagerDbus.c:
15661         * src/NetworkManagerDbus.h:
15662         * src/NetworkManagerDevice.c:
15663         * src/nm-dbus-device.c:
15664         Make NM push updates about active device strength when it changes,
15665         rather than having the applet poll every 2s.
15666
15667 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15668
15669         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15670         network_device_set_strength
15671
15672 2005-09-04  Dan Williams  <dcbw@redhat.com>
15673
15674         Patch from Bill Nottingham <notting@redhat.com>
15675         * src/NetworkManagerDevice.c
15676                 - (nm_device_activation_cancel): reset the quit_activation flag
15677
15678 2005-09-04  Dan Williams  <dcbw@redhat.com>
15679
15680         * src/nm-activation-request.c
15681                 - (nm_act_request_unref): actually free the structure,
15682                         which we didn't seem to be doing before
15683
15684 2005-09-04  Dan Williams  <dcbw@redhat.com>
15685
15686         Patch from John Palmieri <johnp@redhat.com>
15687         * gnome/applet/applet-dbus-devices.c
15688                 - Fix up unreffing of DBusMessage objects
15689
15690 2005-09-04  Dan Williams  <dcbw@redhat.com>
15691
15692         Patch from John Palmieri <johnp@redhat.com>
15693         * gnome/applet/nm-device.c
15694                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15695
15696 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15697
15698         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15699
15700 2005-09-02  Bill Nottingham  <notting@redhat.com>
15701
15702         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15703
15704 2005-09-01  Dan Williams  <dcbw@redhat.com>
15705
15706         * src/NetworkManager.c
15707                 - (nm_remove_device_from_list): rename to nm_remove_device
15708                 - (nm_hal_device_removed): call nm_remove_device()
15709
15710         * src/NetworkManagerDevice.c
15711                 - Change the NMWirelessScanCB member 'reschedule' which
15712                         wasn't used to 'force' to indicate that we need to
15713                         force a scan when adding a device
15714
15715         * src/nm-dbus-nm.c
15716                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15717                         from the device list
15718                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15719
15720 2005-09-01  Robert Love  <rml@novell.com>
15721
15722         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15723           and the check "!iface" in the error case is probably never true.
15724
15725 2005-09-01  Dan Williams  <dcbw@redhat.com>
15726
15727         Patch from Bill Nottingham <notting@redhat.com>
15728         * src/backends/NetworkManagerRedHat.c
15729                 - Add initial dialup support to Red Hat/Fedora backend
15730
15731 2005-09-01  Dan Williams  <dcbw@redhat.com>
15732
15733         * gnome/applet/applet-dbus-devices.c
15734                 - Sort both wireless networks and devices again, which got
15735                         broken when removing threading
15736
15737 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15738
15739         * gnome/applet/applet.c:
15740         Only show the "Stop/Start All Wireless Devices" menuitem
15741         if we actually have wireless devices.
15742
15743         * gnome/applet/applet-dbus-info.c:
15744         * gnome/applet/applet.c:
15745         * gnome/applet/other-network-dialog.c:
15746         * gnome/applet/vpn-password-dialog.c:
15747         Drop the gtk_dialog_run () calls in favor of connecting to
15748         "response" signals, needed now that the applet is not threaded.
15749
15750 2005-08-31  Dan Williams  <dcbw@redhat.com>
15751
15752         Patch from Bill Moss <bmoss@clemson.edu>
15753         * src/NetworkManagerDevice.c
15754                 - (nm_device_wireless_scan): fix scan timeout values
15755
15756 2005-08-30  Dan Williams  <dcbw@redhat.com>
15757
15758         * gnome/applet/wireless-applet.glade
15759                 - HIG-ify the Other Wireless Networks dialog a bit more
15760                 - Fix some potential segfaults in the info dialog
15761
15762 2005-08-30  Dan Williams  <dcbw@redhat.com>
15763
15764         * gnome/applet/applet-dbus-devices.c
15765                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15766
15767 2005-08-30  Dan Williams  <dcbw@redhat.com>
15768
15769         * gnome/applet/applet-dbus.[ch]
15770                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15771                         they weren't being used anyway
15772
15773 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15774
15775         * test/nmtestdevices.c: (print_usage), (main):
15776         Check the number of arguments, and fix a typo
15777
15778 2005-08-29  Dan Williams  <dcbw@redhat.com>
15779
15780         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15781         * gnome/applet/applet.c
15782                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15783
15784 2005-08-29  Dan Williams  <dcbw@redhat.com>
15785
15786         * gnome/applet/*
15787                 - Don't use threads any more.  Anything that blocks
15788                         (like gtk_dialog_run()) will  have to get fixed up which
15789                         should happen quickly.  We really only had threads to make
15790                         the animation smooth, and when everything got converted over
15791                         to DBus Pending Calls, the need for threads kind of went away
15792
15793 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15794
15795         * gnome/applet/applet.c: Draw VPN connections as radio items
15796         since we don't yet support multiple VPNs.
15797         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15798         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15799
15800 2005-08-29  Dan Williams  <dcbw@redhat.com>
15801
15802         Patch from j@bootlab.org
15803         - Make --without-named work
15804         - Make --with-dhcdbd work correctly
15805
15806 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15807
15808         * configure.in: Added "ca" to ALL_LINGUAS.
15809
15810 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15811
15812         * Fix up VPN state handling between the applet and NetworkManager,
15813                 so that the applet doesn't show a VPN as connected when one
15814                 really is not
15815                         - The applet no longer has a pointer to the active VPN's
15816                                 name, but tracks each VPNs state individually
15817                         - NM no longer has a "getActiveVPNConnection" method
15818                         - NM no longer broadcasts the "VPNConnectionChange" signal
15819                         - NM now broadcasts a "VPNConnectionStateChange" signal
15820                                 whenever the state of a VPN changes
15821
15822 2005-08-26  Dan Williams <dcbw@redhat.com>
15823
15824         * gnome/applet/applet-dbus-devices.c
15825           gnome/applet/applet-dbus-vpn.c
15826                 - Remove calls to dbus_pending_call_ref() because we already
15827                         "own" the pending call
15828                 - Remove calls to dbus_pending_call_get_completed() because
15829                         when we are in the callback, the pending call is completed
15830                         by definition
15831
15832 2005-08-22  Dan Williams <dcbw@redhat.com>
15833
15834         Patch by Bill Moss <bmoss@clemson.edu>
15835         * src/dhcp-manager/nm-dhcp-manager.c
15836                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15837                         some time to send out a RELEASE if they like
15838
15839 2005-08-22  Dan Williams <dcbw@redhat.com>
15840
15841         Noticed by Bill Moss <bmoss@clemson.edu>
15842         * src/NetworkManagerDbus.c
15843                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15844                         instead of just cancelling its activation
15845
15846         * src/NetworkManagerDevice.c
15847                 - (nm_device_deactivate): some small cleanups
15848                 - (nm_device_set_user_key_for_network): deactivate the device
15849                         instead of just cancelling its activation
15850
15851 2005-08-22  Dan Williams <dcbw@redhat.com>
15852
15853         Noticed by Bill Moss <bmoss@clemson.edu>
15854         * src/NetworkManagerDevice.c
15855                 - (nm_device_wireless_scan): fix scan timeout, we were
15856                         waiting way too long for scans to complete
15857
15858 2005-08-22  Dan Williams <dcbw@redhat.com>
15859
15860         Patch from j@bootlab.org:
15861         * src/backends/NetworkManagerDebian.c
15862                 - Make the Debian backend work for static IP again
15863
15864 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15865
15866         * gnome/applet/other-network-dialog.c:
15867         The "Create New Network" and "Connect to Other Network"
15868         dialogs share alot of code, but shouldn't share a window
15869         title.  Give them different ones.
15870
15871         * gnome/applet/wireless-applet.glade:
15872         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15873         Some more minor UI tweaks.
15874
15875 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15876
15877         * gnome/applet/other-network-dialog.c:
15878         * gnome/applet/wireless-applet.glade:
15879         Also need mnemonic widgets, and underline enabled.
15880
15881 2005-08-19  Dan Williams <dcbw@redhat.com>
15882
15883         * vpn-daemons/vpnc/nm-vpnc-service.c
15884                 - (vpnc_watch_cb): remove no-longer-relevant comment
15885                 - (write_config_option): new function, helper to write
15886                         config options to vpnc's stdin
15887                 - (nm_vpnc_config_write): use the new helper, make the
15888                         code shorter
15889
15890 2005-08-19  Christopher Aillon <caillon@redhat.com>
15891
15892         * gnome/applet/passphrase-dialog.c:
15893         * gnome/applet/wireless-applet.glade:
15894         Make the passphrase dialog response based, and treat
15895         responses other than OK (such as Esc, [X]) as a cancel.
15896
15897 2005-08-18  Christopher Aillon <caillon@redhat.com>
15898
15899         * initscript/Gentoo/NetworkManager:
15900         * initscript/RedHat/NetworkManager:
15901         * initscript/RedHat/NetworkManagerDispatcher:
15902         * initscript/SUSE/networkmanager:
15903         CVS remove these in place of .in replacements
15904
15905         * configure.in:
15906         * initscript/Gentoo/NetworkManager.in:
15907         * initscript/RedHat/NetworkManager.in:
15908         * initscript/RedHat/NetworkManagerDispatcher.in:
15909         * initscript/SUSE/networkmanager.in:
15910         These scripts now are generated so they work still when
15911         NM is built using a bindir other than /usr/bin
15912
15913 2005-08-18  Dan Williams <dcbw@redhat.com>
15914
15915         * gnome/applet/main.c
15916                 - Revert previous change for --no-session since
15917                         --sm-disable does the same thing
15918
15919 2005-08-18  Dan Williams <dcbw@redhat.com>
15920
15921         * gnome/applet/applet-dbus-info.c
15922                 - (nmi_dbus_create_error_message): new function
15923                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15924                         functions.  Also don't check for both device _and_ network before
15925                         asking for a user's key, because we may not have gotten all our
15926                         networks back from NM quite yet (due to the dbus pending calls
15927                         coming in later).  Fixes a hang in NM/nm-applet.
15928
15929         * src/NetworkManagerDbus.c
15930                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15931                         slightly more sane manner, even though we are still broken for
15932                         certain other error conditions.
15933                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15934                         to the info-daemon too
15935
15936         * src/NetworkManagerDevice.c
15937                 - Fix some debug messages to be info messages instead
15938
15939 2005-08-18  Dan Williams <dcbw@redhat.com>
15940
15941         * gnome/applet/main.c
15942                 - Add new "--no-session" parameter that disables applet
15943                         session management, ie for testing
15944
15945 2005-08-18  Christopher Aillon <caillon@redhat.com>
15946
15947         * gnome/applet/other-network-dialog.c:
15948         * gnome/applet/wireless-applet.glade: More mnemonics
15949
15950 2005-08-17  Robert Love  <rml@novell.com>
15951
15952         * initscript/SUSE/networkmanager: update
15953
15954 2005-08-17  Dan Williams  <dcbw@redhat.com>
15955
15956         * Tag NM_0_4_1_RELEASE
15957
15958 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15959
15960         * gnome/applet/applet.c: More translatable string cleanup
15961
15962
15963 2005-08-17  Dan Williams  <dcbw@redhat.com>
15964
15965         * gnome/applet/applet-dbus-info.c
15966                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15967                         from the dbus message, which tells us to unconditionally
15968                         ask the user for a new key.  Otherwise, we pull the key from
15969                         the keyring and return it.  If we fail to get the key from the
15970                         keyring, we ask the user for a new key.
15971                 - (nmi_dbus_get_network_key): new function to grab the key for
15972                         an essid from the keyring.
15973                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15974                         Also, don't return any key in the dbus message.
15975
15976         * src/NetworkManagerDbus.[ch]
15977                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15978                         indicate that we unconditionally want a new key.  This function
15979                         is now also used to get keys from the info-daemon which are
15980                         pre-stored, not just for asking the user for a new key.  The
15981                         "new_key" parameter indicates whether or not we wish to ask the
15982                         user for a new key.
15983                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15984                         info-daemon in the return message, so use NULL instead.  The
15985                         key will be filled in at connect time by calling
15986                         nm_dbus_get_user_key_for_network()
15987
15988         * src/NetworkManagerDevice.c
15989                 - (nm_device_wireless_configure): update for "new_key" param to
15990                         nm_dbus_get_user_key_for_network().  We initially set new_key
15991                         to FALSE to see if we have a stored key in the info-daemon, but
15992                         if the connection is unsuccessful at this stage we request a
15993                         new one
15994
15995 2005-08-17  Dan Williams  <dcbw@redhat.com>
15996
15997         * gnome/applet/icons/nm-no-connection.png
15998           gnome/applet/icons/nm-device-wired.png
15999                 - Use Diana's new RJ45 connector icons
16000
16001 2005-08-17  Dan Williams  <dcbw@redhat.com>
16002
16003         * src/NetworkManagerPolicy.c
16004                 - (nm_policy_device_change_check): clarify switching rules if
16005                         both new and old devices are valid; mainly, don't switch
16006                         away from user-requested wireless connection back to a wired
16007                         one
16008
16009 2005-08-17  Dan Williams  <dcbw@redhat.com>
16010
16011         * gnome/applet/Makefile.am
16012                 - Relocate the applet to /usr/bin since it is no longer
16013                         executed by anything, but directly by the user
16014
16015 2005-08-17  Dan Williams  <dcbw@redhat.com>
16016
16017         Patch from Bill Moss <bmoss@clemson.edu>
16018
16019         * gnome/applet/applet-dbus-info.[ch]
16020                 - (nmi_save_network_info): save timestamp for network if it
16021                         was a change requested by the user
16022                 - (nmi_dbus_update_network_info): get user_requested from dbus
16023                         message and pass to nmi_save_network_info()
16024
16025         * gnome/applet/applet.c
16026                 - (nmwa_update_network_timestamp): remove
16027                 - (nmwa_menu_item_activate): don't set timestamp on networks
16028                         here, only after a successful connect in nmi_save_network_info()
16029
16030         * src/NetworkManagerDbus.[ch]
16031                 - (nm_dbus_update_network_info): pass user_requested into the 
16032                         dbus message
16033
16034         * src/NetworkManagerPolicy.c
16035                 - (nm_policy_activation_finish): pass user_requested to
16036                         nm_dbus_update_network_info()
16037
16038 2005-08-16  Robert Love  <rml@novell.com>
16039
16040         * gnome/applet/applet.c: Better "Dial Up" menu item.
16041
16042 2005-08-16  Robert Love  <rml@novell.com>
16043
16044         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16045           "Connection Information" menu item.
16046
16047 2005-08-16  Dan Williams  <dcbw@redhat.com>
16048
16049         Patch from j@bootlab.org
16050         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16051
16052         * configure.in: allow specifying the path to dhcdbd
16053
16054 2005-08-16  Robert Love  <rml@novell.com>
16055
16056         Patch from j@bootlab.org
16057         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16058           src/backends/interface_parser.h: Debian dialup support.
16059
16060 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16061
16062         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16063         * gnome/applet/applet.c: Add some mnemonics for VPNC
16064
16065         * vpn-daemons/.cvsignore: fix this up a little bit
16066
16067 2005-08-16  Robert Love  <rml@novell.com>
16068
16069         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16070           support.
16071
16072 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16073
16074         * gnome/applet/applet.c: Split markup out of translatable strings
16075         and clean up logic a little bit.  (fixes #309012)
16076
16077 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16078
16079         * gnome/vpn-properties/nm-vpn-properties.c:
16080         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16081         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16082         Makeshift fix to remove newlines from translatable strings.
16083         Note that we now return an allocated string, so callers of
16084         get_confirmation_details () must now call g_free () on the
16085         result. (fixes #309033).
16086
16087 2005-08-12  Robert Love  <rml@novell.com>
16088
16089         * gnome/applet/applet-dbus.c: remove newlines from translatable
16090           strings--not needed here anyway. (fix b.g.o #309011)
16091         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16092
16093 2005-08-11  Robert Love  <rml@novell.com>
16094
16095         * gnome/applet/applet.c: mark string as translatable.
16096
16097 2005-08-11  Robert Love  <rml@novell.com>
16098
16099         * initscript/SUSE/networkmanager: update.
16100
16101 2005-08-11  Dan Williams  <dcbw@redhat.com>
16102
16103         * src/nm-dhcp-manager.c
16104                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16105                         an gateway returned from DHCP, try to use the address of the DHCP
16106                         server as the gateway instead.  Found by Ralf Ertzinger.
16107
16108 2005-08-10  Robert Love  <rml@novell.com>
16109
16110         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16111           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16112
16113 2005-08-10  Dan Williams  <dcbw@redhat.com>
16114
16115         Patch from Bill Moss <bmoss@clemson.edu>
16116         * Consolidate writes of access point information updates to the info daemon
16117                 so that we only do it when the connection to the access point was
16118                 successful.  Also consolidates updates to GConf in the Gnome applet.
16119
16120         * src/nm-netlink-monitor.c
16121                 - Silence compile warning when calling g_object_new()
16122
16123 2005-08-08  Dan Williams  <dcbw@redhat.com>
16124
16125         Patch from Steev <steev@steev.net>:
16126         * src/backends/NetworkManagerGentoo.c
16127                 - Stub new dialup backend functions
16128
16129 2005-08-08  Dan Williams  <dcbw@redhat.com>
16130
16131         Patch from Colin Slater:
16132         * src/backends/NetworkManagerGentoo.c
16133                 - (nm_system_update_dns): Fix exit status check for restarting
16134                         nscd
16135
16136 2005-08-05  Robert Love  <rml@novell.com>
16137
16138         * NetworkManager.h,
16139           gnome/applet/applet-dbus-devices.c,
16140           gnome/applet/applet-dbus-devices.h,
16141           gnome/applet/applet-dbus.c,
16142           gnome/applet/applet.c,
16143           gnome/applet/applet.h,
16144           src/NetworkManager.c,
16145           src/NetworkManagerMain.h,
16146           src/NetworkManagerSystem.h,
16147           src/backends/NetworkManagerRedHat.c,
16148           src/backends/NetworkManagerSuSE.c,
16149           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16150
16151 2005-08-05  Robert Love  <rml@novell.com>
16152
16153         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16154           machine's hostname to make adhoc creation idiot-proof.
16155
16156 2005-08-04  Robert Love  <rml@novell.com>
16157
16158         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16159           freed.
16160
16161 2005-08-04  Dan Williams  <dcbw@redhat.com>
16162
16163         * gnome/applet/applet-dbus-info.c
16164           gnome/applet/applet-dbus-info.h
16165                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16166                         to store key, key type, and auth method rather than just auth method
16167                 - (nmi_dbus_update_network_info): new function
16168                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16169
16170         * gnome/applet/passphrase-dialog.c
16171                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16172                         of saving the info ourselves
16173
16174         * gnome/libnm_glib/libnm_glib.c
16175                 - Remove the stupid version check for dbus
16176
16177         * src/NetworkManagerAP.c
16178           src/NetworkManagerAP.h
16179                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16180
16181         * src/NetworkManagerDbus.c
16182           src/NetworkManagerDbus.h
16183                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16184                         more than just the auth method
16185
16186         * src/NetworkManagerDevice.c
16187                 - Update network info at the appropriate times
16188
16189 2005-07-29  Ray Strode  <rstrode@redhat.com>
16190
16191         * src/NetworkManager.c (nm_info_handler): don't use input as format
16192         string (Spotted by Ian Jackson).
16193
16194 2005-07-27  Dan Williams  <dcbw@redhat.com>
16195
16196         * src/nm-dbus-nm.c
16197           src/nm-dbus-net.c
16198                 - Random cleanups of spacing
16199
16200         * gnome/applet/applet.h
16201           gnome/applet/other-network-dialog.c
16202           gnome/applet/passphrase-dialog.c
16203                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16204
16205         Patch from Bill Moss:
16206                 - Make Other Wireless Networks work again with encryption keys
16207
16208 2005-07-26  Dan Williams  <dcbw@redhat.com>
16209
16210         Patch from Steev <steev@steev.net>:
16211         * src/backends/NetworkManagerGentoo.c
16212           src/backends/Makefile.am
16213                 - Fix up Gentoo backend
16214
16215 2005-07-26  Robert Love  <rml@novell.com>
16216
16217         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16218
16219 2005-07-25  Robert Love  <rml@novell.com>
16220
16221         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16222           in the same group as the wireless networks, since they are all
16223           mutually exclusive.
16224
16225 2005-07-24  Ray Strode  <rstrode@redhat.com>
16226
16227         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16228         remove unneeded NULL arg from g_object_new().  Any
16229         warnings caused by not having the extra NULL are just a
16230         result of a bug in glib 2.7.0 - 2.7.2.
16231
16232 2005-07-22  Robert Love  <rml@novell.com>
16233
16234         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16235
16236 2005-07-22  Robert Love  <rml@novell.com>
16237
16238         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16239           parameters (gcc 4.0.2 warning fix).
16240
16241 2005-07-18  Robert Love  <rml@novell.com>
16242
16243         Suggested by Aaron Bockover (abockover@novell.com)
16244         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16245           s/Ascii/ASCII
16246         * gnome/applet/passphrase-dialog.c: ditto
16247         * gnome/applet/wireless-applet.glade: ditto
16248
16249 2005-07-13  Dan Williams  <dcbw@redhat.com>
16250
16251         Patch from Ray Strode <halfline@gmail.com>
16252         * vpn-daemons/vpnc/nm-vpnc-service.c
16253                 - Don't let vpnc daemonize, fixes some races with PID file reading
16254
16255 2005-07-13  Dan Williams  <dcbw@redhat.com>
16256
16257         Patch from Ray Strode <halfline@gmail.com>
16258         * Random cleanups for strict CFLAGS
16259
16260 2005-07-07  Dan Williams  <dcbw@redhat.com>
16261
16262         Patch from Derek Atkins <warlord@MIT.EDU>
16263         * src/nm-dbus-net.c:
16264                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16265
16266 2005-07-07  Dan Williams  <dcbw@redhat.com>
16267
16268         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16269         * src/backends/NetworkManagerGentoo.c
16270                 - Gentoo backend Static IP nameserver fixes
16271                 - General Gentoo backend goodness
16272
16273 2005-07-07  Dan Williams  <dcbw@redhat.com>
16274
16275         Patch from Bastien Nocera:
16276         * gnome/applet/applet.c
16277                 - Fix up error reporting when icons or glade files are missing
16278
16279 2005-07-07  Robert Love  <rml@novell.com>
16280
16281         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16282           are not any VPN connections above it.
16283
16284 2005-07-07  Robert Love  <rml@novell.com>
16285
16286         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16287
16288 2005-07-05  Robert Love  <rml@novell.com>
16289
16290         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16291           zero.
16292
16293 2005-07-05  Robert Love  <rml@novell.com>
16294
16295         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16296           on wired or unencrypted wireless.
16297
16298 2005-07-01  Robert Love  <rml@novell.com>
16299
16300         * src/NetworkManagerSystem.c: Print the error via strerror().
16301
16302 2005-06-30  Robert Love  <rml@novell.com>
16303
16304         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16305           then exit if the glade file is not found.  currently the application
16306           just hangs.
16307
16308 2005-06-30  Robert Love  <rml@novell.com>
16309
16310         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16311           explicitly up all interfaces on wake from sleep.
16312
16313 2005-06-30  Robert Love  <rml@novell.com>
16314
16315         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16316           with information about the currently active connection.
16317         * gnome/applet/applet.h: (ditto)
16318         * gnome/applet/wireless-applet.glade: (ditto), new file
16319
16320 2005-06-30  Robert Love  <rml@novell.com>
16321
16322         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16323         * src/nm-dbus-nm.c: print when we sleep and wake up.
16324         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16325         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16326           in /sbin unless D-BUS is, folks).
16327         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16328
16329 2005-06-27  Robert Love  <rml@novell.com>
16330
16331         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16332           case.
16333
16334 2005-06-27  Robert Love  <rml@novell.com>
16335
16336         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16337           items radios.
16338
16339 2005-06-26  Robert Love  <rml@novell.com>
16340
16341         * src/NetworkManagerDevice.c: be specific about which device in
16342           nm_info() message.
16343
16344 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16345
16346         * src/nm-netlink-monitor.c: correct spelling error.
16347
16348 2005-06-23  Robert Love  <rml@novell.com>
16349
16350         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16351         * gnome/applet/passphrase-dialog.c: more of that keyring!
16352
16353 2005-06-23  Robert Love  <rml@novell.com>
16354
16355         * configure.in: remove extraneous GNOMEKEYRING directives.
16356         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16357         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16358         * gnome/applet/passphrase-dialog.c: whitespace.
16359
16360 2005-06-23  Robert Love  <rml@novell.com>
16361
16362         * src/NetworkManagerDevice.c: division in assignment was flipped.
16363
16364 2005-06-23  David Zeuthen  <david@fubar.dk>
16365
16366         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16367         signal to the child to indicate that we got what we wanted when we
16368         see two new-lines right after each other.
16369         (nmwa_vpn_request_password): Pass a structure with several members
16370         instead of just the passwords
16371
16372 2005-06-23  Dan Williams <dcbw@redhat.com>
16373
16374         * src/NetworkManager.c
16375           src/NetworkManagerMain.h
16376                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16377                 - (nm_hal_init): new function, init libhal context then add devices
16378                 - (nm_hal_deinit): new function, clean up libhal context
16379                 - (nm_data_free): Move Hal cleanup here
16380                 - (main): check whether Hal is running, and if so, get a list of
16381                         network devices from it
16382
16383         * src/NetworkManagerDbus.c
16384                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16385                         and when it appears, get a list of network devices from it.  If
16386                         Hal goes away, clean up the libhal context
16387
16388 2005-06-22  Robert Love  <rml@novell.com>
16389
16390         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16391           permissions of scripts before executing.
16392
16393 2005-06-21  Robert Love  <rml@novell.com>
16394
16395         * initscript/SUSE/networkmanager: update.
16396         * src/backends/NetworkManagerSuSE.c: cleanup.
16397
16398 2005-06-21  Robert Love <rml@novell.com>
16399
16400         * gnome/applet/applet.c: use menu mnemonics.
16401         * gnome/applet/menu-items.c: (ditto)
16402
16403 2005-06-21  Robert Love  <rml@novell.com>
16404
16405         * applet/applet-dbus-devices.c: mark non-static functions static.
16406         * applet/applet-dbus-vpn.c: (ditto)
16407         * applet/applet.c: (ditto)
16408         * applet/nm-device.h: (ditto)
16409         * applet/other-network-dialog.c: (ditto)
16410         * applet/passphrase-dialog.c: (ditto)
16411         * NetworkManager.c: (ditto)
16412         * NetworkManagerDbus.c: (ditto)
16413         * NetworkManagerDevice.c: (ditto)
16414         * NetworkManagerPolicy.c: (ditto)
16415         * NetworkManagerUtils.c: (ditto)
16416         * NetworkManagerWireless.c: (ditto)
16417         * NetworkManagerWireless.h: (ditto)
16418         * nm-netlink-monitor.c: (ditto)
16419         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16420         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16421         * autoip.c: include autoip.h.
16422         * autoip.h: new file.  define get_autoip().
16423         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16424         * NetworkManagerDbus.h: remove duplicate definitions.
16425
16426 2005-06-20  Robert Love  <rml@novell.com>
16427
16428         * Makefile.am: Add missing intltool-foo.in generated files to
16429           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16430           with the start of stuff to cleanup on 'distclea'.
16431         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16432           stuff right and 'distcheck' works.
16433         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16434           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16435           Makefile.am for each.  And systray/Makefile needs to be redone.
16436
16437 2005-06-19  Dan Williams <dcbw@redhat.com>
16438
16439         * src/NetworkManagerDevice.c
16440         - (nm_device_wireless_process_scan_results): scan every 20s when
16441           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16442
16443 2005-06-19  Dan Williams <dcbw@redhat.com>
16444
16445         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16446
16447 2005-06-18  Ray Strode <rstrode@redhat.com>
16448
16449         * src/nm-netlink-monitor.c 
16450         (nm_netlink_monitor_event_handler): check for the presence
16451         of either error condition not both. 
16452         
16453         (nm_netlink_monitor_error_handler): emit error signal if
16454         error occurs.
16455
16456         (nm_netlink_monitor_event_handler),
16457         (nm_netlink_monitor_error_handler),
16458         (nm_netlink_monitor_disconnect_handler): if an 
16459         assertion fails disconnect the event handler to prevent 
16460         infinite loops.
16461
16462         * src/nm-netlink-monitor.h: add new error condition
16463         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16464
16465 2005-06-18  Ray Strode <rstrode@redhat.com>
16466
16467         * src/nm-netlink-monitor.c 
16468         (nm_netlink_monitor_event_handler): remove bogus < 0
16469         check on unsigned value and return early if the kernel
16470         didn't send any bytes.
16471
16472 2005-06-17  Robert Love  <rml@novell.com>
16473
16474         * initscript/SUSE/networkmanager: Change the Provides and default
16475         run levels
16476
16477 2005-06-16  Dan Williams <dcbw@redhat.com>
16478
16479         Patch from Robert Love:
16480         * gnome/applet/applet.c
16481                 - Beautify some applet menu item names
16482
16483 2005-06-17  David Zeuthen  <davidz@redhat.com>
16484
16485         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16486         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16487         Also add new methods can_export, import_file and export.
16488
16489         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16490         to the main UI
16491
16492         * gnome/vpn-properties/nm-vpn-properties.c:
16493         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16494         nm-vpn-ui-interface.h.
16495         (update_edit_del_sensitivity): Also update "Export" sensitivity
16496         (add_vpn_connection): Also add new SVC_NAME column
16497         (import_settings): New function
16498         (retrieve_data_from_selected_connection): New function
16499         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16500         this function
16501         (export_cb): New function
16502         (init_app): Also setup the "export" widget
16503         (main): Support the --import-service and --import-file commandline
16504         arguments
16505
16506         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16507         D-BUS 0.34
16508
16509 2005-06-16  Dan Williams <dcbw@redhat.com>
16510
16511         Patch from Robert Love:
16512         * gnome/applet/menu-items.c
16513                 - (network_menu_item_new): pass -1 as wireless network
16514                         menu items height size request rather than ascent / 2
16515
16516 2005-06-16  Dan Williams <dcbw@redhat.com>
16517
16518         * Clean up wording in Wireless Scan Methods menu items and constants
16519
16520 2005-06-16  Robert Love  <rml@novell.com>
16521
16522         * po/POTFILES.in
16523                 - remove gtkcell* files
16524
16525 2005-06-15  Dan Williams <dcbw@redhat.com>
16526
16527         Patch from Robert Love: make the applet stetic
16528
16529         * gnome/applet/Makefile.am
16530                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16531
16532         * gnome/applet/gtkcellview.h
16533           gnome/applet/gtkcellview.c
16534           gnome/applet/gtkcellrendererprogress.h
16535           gnome/applet/gtkcellrendererprogress.c
16536                 - Removed
16537
16538         * gnome/applet/menu-items.c
16539                 - Progress bars are 5:1 size ratio
16540                 - Use GTK progress bars rather than internal ones
16541
16542 2005-06-15  Dan Williams <dcbw@redhat.com>
16543
16544         Patch from Robert Love:
16545         * initscript/SUSE/networkmanager
16546                 - Fix typo
16547
16548 2005-06-15  Dan Williams <dcbw@redhat.com>
16549
16550         * src/backends/NetworkManagerSuSE.c
16551           src/backends/NetworkManagerRedHat.c
16552           src/backends/NetworkManagerDebian.c
16553                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16554
16555 2005-06-15  Dan Williams <dcbw@redhat.com>
16556
16557         * src/backends/NetworkManagerDebian.c
16558                 - Add nm_system_device_get_use_dhcp() to debian backend
16559
16560         Patch from Kay Sievers:
16561         * src/backends/NetworkManagerSuSE.c
16562                 - Update debian backend for static IP nameservers
16563
16564         * src/NetworkManagerDevice.c
16565                 - Actually set the device to use static IP or DHCP rather
16566                         than always DHCP
16567
16568 2005-06-15  Dan Williams <dcbw@redhat.com>
16569
16570         Patch from Thom May:
16571         * src/backends/NetworkManagerDebian.c
16572                 - Update debian backend for static IP nameservers
16573
16574 2005-06-15  Dan Williams <dcbw@redhat.com>
16575
16576         Patches from Robert Love:
16577         * gnome/applet/wireless-applet.glade
16578                 - Tighten up wording
16579
16580         * src/NetworkManagerDevice.c
16581                 - Remove misplaced ';'
16582
16583         * configure.in
16584           initscript/Makefile.am
16585           initscript/SUSE/Makefile.am
16586           initscript/SUSE/networkmanager
16587                 - Add SUSE initscript
16588
16589 2005-06-12  David Zeuthen  <davidz@redhat.com>
16590
16591         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16592
16593         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16594
16595         * gnome/vpn-properties/nm-vpn-properties.c: New file
16596
16597         * gnome/vpn-properties/Makefile.am: New file
16598
16599         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16600         array of passwords
16601
16602         * src/vpn-manager/nm-vpn-manager.c
16603         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16604         instead of just a single one
16605
16606         * src/vpn-manager/nm-dbus-vpn.c:
16607         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16608         here
16609         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16610
16611         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16612         Change the interface here to give a list of passwords. Also, don't
16613         require username, but do require service
16614
16615         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16616         the binary for the auth-dialog and use that instead of putting up a
16617         dialog asking for a single password
16618
16619         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16620         however do remember the service
16621
16622         * gnome/applet/main.c (main): Setup i18n
16623
16624         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16625         connection to '%s'" to the tooltip if we are connected using VPN
16626         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16627         key to determine whether we the auth-dialog needs to
16628         reprompt. Also cope with the fact that the auth-dialog now returns
16629         an array of passwords.
16630         (nmwa_menu_configure_vpn_item_activate): New handler for
16631         "Configure VPN..." menu item
16632         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16633         (is_vpn_available): New function to determine if we got any
16634         NM-compatible VPN software installed
16635         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16636         items only if we have NM-compatible VPN software installed
16637         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16638         logic for detecting when VPN connections are removed
16639
16640         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16641         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16642         since these are defined elsewhere
16643
16644         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16645         function used to keep track of whether the last attempt succeded
16646         (nmwa_dbus_filter): Update last_attempt according to whether the
16647         VPN connection could be established or not
16648
16649         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16650         Change prototype to take an array of passwords, not just a single
16651         password
16652
16653         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16654         update service, not user
16655         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16656         dbus_active_vpn_name is not NULL before using it
16657         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16658         string array instead of assuming a single password
16659
16660         * gnome/applet/applet-dbus-info.c:
16661         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16662         user name; don't read from gconf
16663
16664         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16665         VPN_NAME_FILES_DIR
16666
16667         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16668
16669         * configure.in: Add checks for gmodule-2.0.
16670         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16671         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16672         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16673         for details
16674
16675         * vpn-daemons/Makefile.am: Removed
16676
16677         * vpn-daemons/README: New file to describe extensions points for VPN
16678         software
16679
16680 2005-06-10  Dan Williams <dcbw@redhat.com>
16681
16682         * src/backends/NetworkManagerRedHat.c
16683                 - (get_current_profile_name): new function, grab current network profile name from
16684                         /etc/sysconfig/network
16685                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16686                         update an IP4 Config structure's settings from it
16687                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16688                         get DNS info from current network profile
16689
16690 2005-06-09  Dan Williams <dcbw@redhat.com>
16691
16692         Patch from Robert Love:
16693         * src/NetworkManagerDevice.c
16694           src/NetworkManagerUtils.c
16695                 - 64-bit build fixes
16696
16697 2005-06-09  Dan Williams <dcbw@redhat.com>
16698
16699         Patch from Kay Sievers and Robert Love:
16700         * configure.in
16701           src/backends/Makefile.am
16702           src/backends/NetworkManagerSuSE.c
16703                 - Add SuSE support
16704
16705 2005-06-09  Dan Williams <dcbw@redhat.com>
16706
16707         * NetworkManager.h
16708                 - Add NMWirelessScanMethod enum for scan methods
16709
16710         * gnome/applet/applet-dbus-devices.c
16711                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16712                 - (nmwa_dbus_update_scanning_enabled): remove
16713                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16714                         since it got removed
16715                 - (nmwa_dbus_enable_scanning): remove
16716
16717         * gnome/applet/applet-dbus-info.c
16718                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16719                         update the wireless scanning method from NMI
16720                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16721                         method value to NetworkManager
16722                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16723
16724         * gnome/applet/applet-dbus-info.h
16725                 - Add prototype for nmi_dbus_signal_update_scan_method
16726
16727         * gnome/applet/applet.c
16728                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16729                         Wireless Scanning menu based on current wireless scan method
16730                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16731                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16732                         and update our menu items to make sure the right one is checked
16733                 - (nmwa_set_scanning_enabled_cb): remove
16734                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16735                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16736                         Scanning menu item
16737                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16738                         from GConf
16739                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16740                         so we get notified of preference values too
16741                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16742
16743         * gnome/applet/applet.h
16744                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16745                 - Add wireless scan method member to applet data
16746                 - Remove pause_scanning_item, add Wireless Scanning submenu
16747
16748         * src/NetworkManager.c
16749                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16750                 - (main): grab scanning method from NMI if we can
16751
16752         * src/NetworkManagerDbus.c
16753                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16754                         nm_dbus_update_wireless_scan_method()
16755                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16756                         from NMI
16757                 - (nm_dbus_nmi_is_running): redundant function, removed
16758                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16759                         when NMI comes back
16760
16761         * src/NetworkManagerDevice.c
16762                 - (nm_device_is_activated): return TRUE if the device is activated
16763                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16764                         and we are activated
16765
16766         * src/nm-dbus-nm.c
16767                 - (nm_dbus_nm_set_scanning_enabled): removed
16768                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16769                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16770
16771 2005-06-09  Dan Williams <dcbw@redhat.com>
16772
16773         * NetworkManager.h
16774           src/vpn-manager/nm-vpn-service.c
16775                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16776
16777 2005-05-27  Dan Williams <dcbw@redhat.com>
16778
16779         * vpn-daemons/vpnc/nm-vpnc-service.c
16780                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16781                         Should fix the bug where the VPN connection terminates the first time.
16782
16783 2005-05-20  Dan Williams <dcbw@redhat.com>
16784
16785         * NetworkManager.h
16786                 - Differentiate VPN config signals between bad VPN config options
16787                         and bad IP config
16788
16789         * gnome/applet/applet-dbus-info.h
16790                 - Add prototypes for wireless network and vpn connection update functions
16791
16792         * gnome/applet/applet-dbus.c
16793                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16794
16795         * gnome/applet/applet.c
16796                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16797                         error signals
16798                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16799                         propogation to NetworkManager
16800                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16801                         notify propogation to NetworkManager
16802
16803         * src/NetworkManagerDbus.c
16804                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16805                         are updating so a network can be removed from it if necessary
16806
16807         * src/vpn-manager/nm-vpn-manager.c
16808                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16809
16810         * vpn-daemons/vpnc/nm-vpnc-service.c
16811                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16812                 - (nm_vpnc_dbus_signal_launch_failed): remove
16813                 - (nm_vpnc_dbus_signal_connect_failed): remove
16814                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16815                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16816                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16817                         for new generalized error signal function, remove config file stuff
16818                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16819                         we can write configuration options to it
16820                 - (nm_vpnc_config_file_generate): removed
16821                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16822                 - (nm_vpnc_config_options_validate): validate the config options we receive
16823                         from NetworkManager to block potential exploits
16824                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16825                         starting vpnc
16826                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16827                         to NetworkManager
16828
16829 2005-05-16  Dan Williams  <dcbw@redhat.com>
16830
16831         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16832                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16833                         is not "connect"
16834
16835 2005-05-16  Dan Williams  <dcbw@redhat.com>
16836
16837         Patch from Tomislav Vujec <tvujec@redhat.com>
16838         * gnome/applet/applet-dbus-info.c
16839                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16840                         GConf and pass them to NetworkManager.  New key is 'routes' under
16841                         the VPN connection, and should be a string list
16842
16843         * src/NetworkManagerSystem.c
16844                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16845                         set them on the device when we set the rest of the VPN config.  Ensure
16846                         they are in the correct format since they are passed directly to the
16847                         command line.
16848
16849         * src/backends/NetworkManagerRedHat.c
16850           src/backends/NetworkManagerDebian.c
16851                 - (nm_system_device_add_route_via_device_with_iface): new function
16852
16853         * src/vpn-manager/nm-dbus-vpn.c
16854                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16855
16856         * src/vpn-manager/nm-vpn-manager.c
16857                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16858                         them into the IP4 config functions
16859
16860 2005-05-15  Dan Williams  <dcbw@redhat.com>
16861
16862         From Filip Miletic:
16863         * po/sr.po
16864           po/sr@Latn.po
16865           configure.in
16866                 - Serbian translation added
16867
16868 2005-05-15  Dan Williams  <dcbw@redhat.com>
16869
16870         * dispatcher-daemon/NetworkManagerDispatcher.c
16871                 - (main): sync arguments with NetworkManager and the applet, now use
16872                         "--no-daemon" rather than "daemon=no"
16873                 - (nmd_print_usage): Fix script path in usage message
16874
16875 2005-05-15  Dan Williams  <dcbw@redhat.com>
16876
16877         * src/NetworkManagerDevice.[ch]
16878           src/NetworkManagerPolicy.c
16879           src/NetworkManager.c
16880           src/nm-dbus-nm.c
16881                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16882                         longer send the DeviceNoLongerActive signal unconditionally, but only
16883                         when the device is actually active.
16884
16885         * dispatcher-daemon/NetworkManagerDispatcher.c
16886                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16887                         and simplify the logic
16888                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16889                         we free it later on
16890
16891         * initscript/RedHat/Makefile.am
16892           initscript/RedHat/NetworkManagerDispatcher
16893                 - Add initscript for NetworkManagerDispatcher
16894
16895
16896         Patch from Bill Moss:
16897         * dispatcher-daemon/NetworkManagerDispatcher.c
16898                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16899
16900         * src/NetworkManagerDbus.c
16901                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16902                         and DeviceNowActive gets signaled, then the device has a new IP address
16903                         anyway.  There's no need for a separate signal.
16904
16905         * src/NetworkManagerDevice.c
16906                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16907
16908         * src/NetworkManagerPolicy.c
16909                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16910                         activates successfully.  This kind of went missing when I reworked the
16911                         activation code.
16912
16913 2005-05-15  Dan Williams  <dcbw@redhat.com>
16914
16915         * configure.in
16916                 - Check for dhcdbd and error if its not found
16917
16918         * src/dhcp-manager/Makefile.am
16919           src/dhcp-manager/nm-dhcp-manager.c
16920                 - Use path to dhcdbd that configure found
16921
16922 2005-05-14  Dan Williams  <dcbw@redhat.com>
16923
16924         * gnome/applet/nm-device.c
16925                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16926                         sort wireless networks alphabetically
16927
16928         * gnome/applet/applet-dbus-devices.c
16929                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16930                         before copying them over to the GUI
16931
16932 2005-05-14  Dan Williams  <dcbw@redhat.com>
16933
16934         * src/NetworkManager.c
16935                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16936                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16937                         the device list, as does nm_get_active_device() which is called from
16938                         nm_vpn_manager_deactivate_vpn_connection().
16939
16940 2005-05-14  Dan Williams  <dcbw@redhat.com>
16941
16942         * NetworkManager.h
16943                 - Add signals for VPN Launch and Connect failures
16944
16945         * gnome/applet/applet-dbus.c
16946                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16947
16948         * gnome/applet/applet.c
16949                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16950                         function to handle all VPN failure messages
16951                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16952                         function to hanlde all VPN failure  messages
16953                 - (show_warning_dialog): work around focus-stealing prevention
16954
16955         * gnome/applet/other-network-dialog.c
16956           gnome/applet/passphrase-dialog.c
16957                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16958                         problem where it never enabled for ASCII Key and Hex Key types
16959
16960         * gnome/applet/wireless-applet.glade
16961                 - Add window title to Other Wireless Network Dialog
16962
16963         * src/vpn-manager/nm-dbus-vpn.c
16964                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16965                         function to handle all VPN failure messages
16966
16967         * src/vpn-manager/nm-vpn-manager.c
16968                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16969
16970         * vpn-daemons/vpnc/nm-vpnc-service.c
16971                 - (nm_vpnc_dbus_signal_launch_failed): new function
16972                 - (nm_vpnc_dbus_signal_connect_failed): new function
16973                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16974                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16975                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16976                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16977
16978 2005-05-11  Dan Williams  <dcbw@redhat.com>
16979
16980         * vpn-daemons/vpnc/nm-vpnc-service.c
16981                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16982                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16983                         file exists before trying to write it out.
16984
16985 2005-05-10  Dan Williams  <dcbw@redhat.com>
16986
16987     * gnome/applet/applet-dbus-device.c
16988         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16989             prevented just entering ESSID and leaving key and key type up to
16990             NetworkManager (which should have them already cached)
16991
16992 2005-05-08  Dan Williams  <dcbw@redhat.com>
16993
16994         * src/NetworkManagerPolicy.c
16995                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16996                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16997                         fix a situation where NM is told to terminate and the device stops activation,
16998                         but the main thread isn't aware of that because it would never have run
16999                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17000                         had already quit.
17001
17002         * src/NetworkManagerDevice.c
17003                 - (nm_device_probe_wired_link_state): cosmetic fixes
17004                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17005                         we've failed to activate or been canceled.
17006                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17007
17008 2005-05-08  Dan Williams  <dcbw@redhat.com>
17009
17010         * src/NetworkManagerWireless.c
17011                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17012                         value of WEXT quality structures, and add a debug message when we cannot
17013                         determine any quality % at all
17014
17015 2005-05-08  Dan Williams  <dcbw@redhat.com>
17016
17017         * src/dhcp-manager/nm-dhcp-manager.c
17018                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17019                         it goes down.
17020
17021 2005-05-06  Dan Williams  <dcbw@redhat.com>
17022
17023         * gnome/applet/applet-dbus-device.c
17024           gnome/applet/applet-dbus-info.c
17025           gnome/applet/applet-dbus.c
17026           gnome/applet/applet.c
17027           gnome/applet/applet.h
17028                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17029
17030         * gnome/applet/applet-dbus.c
17031                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17032                         so we notice when wired device's carriers come back on.  Should
17033                         fix issue with wired devices being grayed out even if the cable
17034                         is in, for devices that support carrier detection.
17035
17036         * gnome/applet/applet.c
17037                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17038                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17039                         tooltip message
17040                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17041                         Fix situation where applet wouldn't respond to menu selections
17042
17043         * src/NetworkManager.c
17044           src/NetworkManagerDevice.c
17045           src/NetworkManagerDbus.c
17046           src/NetworkManagerDbus.h
17047                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17048
17049         * src/NetworkManagerDbus.c
17050                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17051                         Remove, no longer used or relevant
17052                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17053                 - (nm_dbus_schedule_device_status_change_signal): add
17054
17055         * src/NetworkManagerDevice.c
17056                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17057                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17058                         ie don't deactivate them unless explicitly told to by the user.  Also send
17059                         CARRIER_OFF / CARRIER_ON signals when link changes
17060                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17061                         Don't print error message when device is no longer around
17062                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17063                         not just during activation
17064
17065         * src/NetworkManagerPolicy.c
17066                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17067                         auto-device-selection.
17068                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17069
17070         * src/NetworkManagerSystem.c
17071                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17072                         is no longer present (Bill Moss)
17073
17074         * src/backends/shvar.c
17075                 - (svOpenFile): Open read-only to make SELinux happy
17076
17077         * src/backends/NetworkManagerRedHat.c
17078                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17079                         the path to the ifcfg-* files
17080
17081 2005-05-05  Dan Williams  <dcbw@redhat.com>
17082
17083         * Expose activation stages to NetworkManager clients, like the applet
17084         * Add Diana's progress icons to the applet, cued off NM activation stage
17085         * Use more descriptive tooltips, cued off NM activation stage
17086
17087 2005-05-05  Ray Strode  <rstrode@redhat.com>
17088
17089         * src/nm-netlink-monitor.c:
17090                 - Use clear_event_source instead of g_nullify_pointer() again.
17091
17092 2005-05-05  Dan Williams  <dcbw@redhat.com>
17093
17094         * gnome/applet/main.c
17095                 - Fix session management so the applet is actually managed now
17096
17097         * gnome/applet/passphrase-dialog.c
17098                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17099
17100 2005-05-05  Dan Williams  <dcbw@redhat.com>
17101
17102         Patch from Bill Moss:
17103         * gnome/libnm_glib/libnm_glib.c
17104                 - Fix for dbus-0.33
17105
17106 2005-05-05  Dan Williams  <dcbw@redhat.com>
17107
17108         Suggestion from Bill Moss:
17109         * src/NetworkManagerSystem.c
17110                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17111
17112
17113         * src/NetworkManager.c
17114                 - (nm_data_free): move destruction of the various managers after
17115                         release of device list, because deactivating and freeing a device
17116                         requires at least the named manager
17117                 - (nm_poll_and_update_wireless_link_state):
17118                   (nm_device_link_activated):
17119                   (nm_device_link_deactivated):
17120                         don't grab the device list lock when actually updating device
17121                         link status or strength, since nm_device_set_link_active()
17122                         needs to call nm_get_active_device(), which also locks the device list.
17123
17124         * src/NetworkManagerDevice.c
17125                 - (nm_device_set_link_active): if a device's link switches from off->on,
17126                         and it's wired, and the active device is wireless (or there is no
17127                         active device), activate the new device whose link just came on
17128                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17129                         my only calling the link to the current ap "failed" when more than 2
17130                         consecutive link checks have failed
17131
17132 2005-05-04  Dan Williams  <dcbw@redhat.com>
17133
17134         * src/NetworkManagerDevice.c
17135                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17136                         but let link_to_specific_ap() do the locking where it needs
17137
17138         Patch from Bill Moss:
17139         * src/NetworkManagerSystem.c
17140                 - Set MTU of VPN devices to 1412
17141
17142 2005-05-04  Dan Williams  <dcbw@redhat.com>
17143
17144         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17145
17146         * Fix some holes in device activation and retaining the currently connected
17147                 access point
17148
17149 2005-05-03  Dan Williams  <dcbw@redhat.com>
17150
17151         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17152           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17153           means you need dhcdbd, which you can get here (get the latest one):
17154
17155                 http://people.redhat.com/jvdias/dhcdbd/
17156
17157           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17158           interface as dhcdbd.
17159
17160         * Rewrite device activation to facilitate the new DHCP infrastructure and
17161           future improvements.  Its now "activation request" based, ie there is a single
17162           activation request composed of the device, access point, and other info which
17163           follows the entire activation process.  There are 5 stages of the activation
17164           process which correspond to:
17165
17166                 1) Device preparation
17167                 2) Device configuration (bring it up, set ESSID/Key/etc)
17168                 3) IP Config Start (fire off DHCP if we're using it)
17169                 4) IP Config Get (grab config from DHCP or static config files)
17170                 5) IP Config Commit (set device's IP address, DNS, etc)
17171
17172           Note that there is no longer a "scanning" step, since the access point must
17173           be known _before_ activation starts.  If the access point drops out or does
17174           not exist for some reason, the entire activation process fails and must be
17175           restarted for a different access point or device.
17176
17177         Patch from Bill Moss:
17178         * gnome/applet/applet.c
17179                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17180
17181 2005-04-27  Dan Williams  <dcbw@redhat.com>
17182
17183         * gnome/applet/applet-dbus-vpn.c
17184           gnome/applet/applet.c
17185           gnome/applet/applet.h
17186                 - Fix up active VPN handling so that we reliably know when a VPN
17187                         connection has been deactivated
17188
17189         * src/vpn-manager/nm-vpn-manager.c
17190                 - Remove duplicate VPNConnectionChange signal
17191
17192 2005-04-27  Dan Williams  <dcbw@redhat.com>
17193
17194         Patch from Peter Jones:
17195         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17196
17197         Patch from Bill Moss:
17198         * src/NetworkManagerSystem.c
17199                 - Fix checking of return value from ioctl()
17200
17201 2005-04-27  Dan Williams  <dcbw@redhat.com>
17202
17203         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17204         * Warn and exit if icons cannot be found
17205
17206 2005-04-27  Dan Williams  <dcbw@redhat.com>
17207
17208         Patch from Tom Parker:
17209         * Update debian backend
17210
17211 2005-04-27  Dan Williams  <dcbw@redhat.com>
17212
17213         * Merge the applet and the info-daemon, and move the converged
17214                 applet under gnome/applet
17215         * Move libnm_glib to gnome/libnm_glib
17216         * Convert most dbus calls between the applet, info-daemon, and NM
17217                 into async calls
17218         * Fix a few things valgrind noticed
17219         * Make NM broadcast state more reliably
17220
17221 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17222
17223         * configure.in: Added ne in ALL_LINGUAS
17224
17225 2005-04-15  Dan Williams  <dcbw@redhat.com>
17226
17227         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17228                 code for dbus 0.2x versions
17229
17230 2005-04-15  Dan Williams  <dcbw@redhat.com>
17231
17232         Patches from Tom Parker:
17233         - Fix memleaks
17234         - Join with worker thread rather than polling for its exit
17235
17236         Patch from Bill Moss:
17237         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17238
17239 2005-04-15  Dan Williams  <dcbw@redhat.com>
17240
17241         - Fixes to pass 'make distcheck'
17242
17243 2005-04-15  Dan Williams  <dcbw@redhat.com>
17244
17245         Initial VPN Support
17246                 - supports 'vpnc'
17247                 - reworks device IP configuration, backend files have changed and will need
17248                         to be updated for all distributions.  I will try to do what I can for
17249                         them, but I cannot test them.
17250
17251         - Move named directory to src/named-manager
17252         - Make backends directory self-contained
17253
17254 2005-04-06  Dan Williams  <dcbw@redhat.com>
17255
17256         Add debug code for socket/file descriptor leaks.  We register every socket
17257         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17258         list of sockets that we forgot to close on shutdown.  This also consolidates
17259         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17260
17261 2005-04-06  Dan Williams  <dcbw@redhat.com>
17262
17263         * dhcpcd/dhcpcd.c
17264                 - (dhcp_interface_free): fix a file descriptor leak that may have
17265                         caused network drivers to not unload due to refcounts > 0
17266
17267 2005-04-04  Dan Williams  <dcbw@redhat.com>
17268
17269         * panel-applet/NMWirelessAppletDbus.c
17270                 - (nmwa_dbus_call_nm_method): remove some commented code
17271
17272         * src/NetworkManagerAPList.[ch]
17273                 - (nm_ap_list_remove_ap_by_essid): new function
17274
17275         * src/NetworkManagerDevice.c
17276                 - (nm_device_wireless_force_use): remove access points from the ignore list
17277                         when the user forces them
17278
17279         * src/nm-dbus-device.c
17280                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17281
17282 2005-04-04  Dan Williams  <dcbw@redhat.com>
17283
17284         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17285
17286 2005-04-04  Dan Williams  <dcbw@redhat.com>
17287
17288         * src/NetworkManagerDevice.c:
17289                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17290                         of only erroring after the second consecutive scan times out.  Also
17291                         don't exit when the card requires more time than we can give it, just
17292                         log the event and continue.
17293
17294 2005-04-01  Steve Murphy  <murf@e-tools.com>
17295
17296         * configure.in: Added "rw" to ALL_LINGUAS.
17297
17298 2005-04-01  Dan Williams <dcbw@redhat.com>
17299
17300         Perform scans during device activation, if needed.  Both activation 
17301         and scans run in the same GMainContext.  Therefore, if an access point
17302         is not found by the time the device starts activation, it will not
17303         be available until after activation.  We now try to scan during
17304         activation (in nm_wa_test) every 15s so that all available access
17305         points are more likely to be found and available for the activation
17306         procedure.
17307
17308         Also change nm_wireless_link_state_handle() to only update the "best"
17309         AP if we are not forcing a device and if we are not about to change
17310         state.  This attempts to work around a race when forcing a device,
17311         where the forced AP would get cleared out too soon by the link state
17312         checking timeout in the main thread, and the activation attempt with
17313         that AP would fail.
17314
17315 2005-04-01  Dan Williams <dcbw@redhat.com>
17316
17317         * po/POTFILES.in
17318                 - Update with new translatables
17319
17320 2005-03-31  Dan Williams <dcbw@redhat.com>
17321
17322         * panel-applet/NMWirelessAppletDbus.c
17323                 - Fix device names now that hal has changed device parenting for
17324                         network devices.
17325
17326 2005-03-31  Dan Williams <dcbw@redhat.com>
17327
17328         Tighten up handling of wireless devices that don't support wireless
17329         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17330         hadn't been doing pseudo-scanning for a while either and would just
17331         spin waiting for an access point.  They are now manual devices where
17332         the user must choose the access point from the menu every time.  All
17333         "allowed" access points are listed in the applet's menu regardless
17334         of whether or not they can be seen by the card, since it can't scan
17335         anyway.
17336
17337         * src/NetworkManager.c
17338                 - (nm_wireless_link_state_handle): new function, but only update
17339                         the "best" ap for non-scanning devices when its not activating,
17340                         and when no device is being forced on the card
17341                 - (nm_link_state_monitor): split wireless link state handling out
17342                         into separate function
17343
17344         * src/NetworkManagerDevice.c
17345                 - (nm_device_copy_allowed_to_dev_list): new function
17346                 - (nm_device_new): populate non-scanning cards' AP lists with
17347                         access points from the "allowed" list
17348                 - (nm_device_new): don't start a scanning timeout for devices that
17349                         can't scan
17350                 - (nm_device_activation_schedule_finish): new parameter, should be
17351                         the AP that failed to be connected to, pass it on to the
17352                         activation finish function in NetworkManagerPolicy.c
17353                 - (nm_device_activate_wireless): don't ever try to get a new AP
17354                         for non-scanning devices, just fail.  The user must choose
17355                         a new access point manually.
17356                 - (nm_device_activate): grab the AP that failed connection and
17357                         pass it on
17358                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17359                         a link to it, user must manually choose a new one
17360                 - (nm_device_do_pseudo_scan): remove function
17361                 - (nm_device_wireless_process_scan_results): remove bits for non-
17362                         scanning cards since they never get here
17363                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17364                         and fake the scan list for test devices a bit earlier
17365
17366         * src/NetworkManagerPolicy.c
17367                 - (nm_policy_activation_finish): use the failed_ap that we get
17368                         passed rather than getting the best_ap from the card, which
17369                         may have changed since we were scheduled
17370                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17371                         update their scan list directly from the allowed list when
17372                         we get updates to the allowed list from NetworkManagerInfo
17373
17374         * src/NetworkManagerPolicy.h
17375                 - New member for failed access point in NMActivationResult
17376
17377   -------------------------------------
17378
17379         Driver Notification patch: notifies the user when their driver
17380                 sucks.  Gives them the option to ignore further insertions
17381                 of the card that has the sucky driver.
17382
17383         * NetworkManager.h
17384                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17385                         enum and replace it with NO_CARRIER_DETECT and
17386                         NO_WIRELESS_SCAN
17387
17388         * panel-applet/NMWirelessApplet.[ch]
17389                 - Merge essid.glade -> wireless-applet.glade
17390                 - Implement the "Your driver sucks" notification dialog
17391
17392         * panel-applet/NMWirelessAppletDbus.c
17393                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17394                 - Grab hardware address for each device from NM too
17395                 - Check whether the driver for each device sucks or not whenever
17396                         a new device is noticed
17397
17398         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17399                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17400
17401         * src/NetworkManager.c
17402                 - Fix a double-unref on device removal
17403
17404         * src/NetworkManagerUtils.c
17405                 - Set appropriate driver support level on a device that doesn't
17406                         support scanning or carrier detection
17407
17408         * src/nm-dbus-device.c
17409                 - New "getHWAddress" dbus method on devices
17410                 - getSupportsCarrierDetect -> getDriverSupportLevel
17411
17412 2005-03-31  Dan Williams <dcbw@redhat.com>
17413
17414         * src/NetworkManagerDevice.c
17415                 - (nm_device_wireless_scan): Fix leak of scan results in some
17416                         instances
17417
17418 2005-03-29  Dan Williams <dcbw@redhat.com>
17419
17420         * src/NetworkManager.c
17421                 - (nm_poll_and_update_wireless_link_state): make code less indented
17422
17423         Patch from Bill Moss:
17424         * src/NetworkManager.c
17425                 - (nm_device_update_link_state): Update signal strength on wireless
17426                         devices every time we update link state too.
17427
17428 2005-03-29  Dan Williams <dcbw@redhat.com>
17429
17430         * src/NetworkManagerDevice.c
17431                 - (nm_device_set_essid): Work around Orinoco cards which need
17432                         extra time after setting the ESSID
17433
17434 2005-03-29  Dan Williams <dcbw@redhat.com>
17435
17436         * src/NetworkManagerDevice.c
17437                 - Merge one more bit of Peter Jones' completion patch
17438
17439 2005-03-29  Dan Williams <dcbw@redhat.com>
17440
17441         * src/NetworkManagerDevice.c
17442                 - (nm_device_force_use): Fix possible segfault
17443
17444 2005-03-29  Dan Williams <dcbw@redhat.com>
17445
17446         * src/NetworkManagerDevice.c
17447                 - Use iw_get_ext() where we should rather than iw_set_ext()
17448
17449 2005-03-29  Dan Williams <dcbw@redhat.com>
17450
17451         * src/NetworkManagerDevice.c
17452                 - (nm_device_set_up_down): remove check for unsupported devices
17453                         that caused NM to not bring devices up when they were
17454                         added to the device list.
17455
17456 2005-03-28  Dan Williams <dcbw@redhat.com>
17457
17458         * src/NetworkManagerDevice.c
17459                 - (mdio_read): Fix two bugs that caused all devices to fail
17460                         the MII carrier detection support checks
17461
17462 2005-03-26  Dan Williams <dcbw@redhat.com>
17463
17464         * src/NetworkManagerDevice.c
17465                 - (nm_device_wireless_scan): Remove duplicated scanning code
17466
17467 2005-03-25  Dan Williams <dcbw@redhat.com>
17468
17469         * panel-applet/NMWirelessApplet.c
17470                 - (nmwa_about_cb): Add some more contributors
17471                 - (nmwa_update_state): show the applet when there's no connection
17472                 - Enable the "Stop/Resume all wireless devices" option in the
17473                         context menu
17474                 - New "no connection" icon
17475
17476         * src/NetworkManager.c
17477                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17478                         wireless is disabled or we're asleep
17479
17480         * src/NetworkManagerDHCP.c
17481                 - Remove trailing "\n" on debug messages
17482
17483         * src/NetworkManagerDbus.c
17484                 - (nm_dbus_network_status_from_data): new state "asleep"
17485
17486         * src/NetworkManagerDevice.c
17487                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17488                         latency and wait times for most operations
17489                 - (nm_device_wireless_scan): Don't scan when asleep
17490
17491         * src/NetworkManagerPolicy.c
17492                 - (nm_policy_get_best_device): return no device when asleep
17493                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17494                         for all wireless devices on update, not just active device
17495
17496         * src/NetworkManagerUtils.c
17497                 - Merge Peter Jones' "completion" patch
17498
17499         * src/nm-dbus-nm.c
17500                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17501                         we're told to disable them
17502                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17503
17504         * utils/nm-utils.h
17505                 - New variants of the warn/info/error/debug print functions that can take
17506                         variables rather than static strings
17507
17508 2005-03-24  Dan Williams <dcbw@redhat.com>
17509
17510         * src/NetworkManagerUtils.c
17511                 - (nm_get_device_driver_name): driver names are now on the parents of
17512                         "Network Interface" objects, so look for them there
17513
17514 2005-03-24  Dan Williams <dcbw@redhat.com>
17515
17516         * test/nmtest.c
17517                 - Escape some forgotten object paths before we shove them through dbus
17518
17519 2005-03-24  Dan Williams <dcbw@redhat.com>
17520
17521         * dhcpcd/dhcpcd.[ch]
17522           src/NetworkManagerDHCP.c
17523                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17524                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17525
17526         * src/NetworkManagerDbus.c
17527                 - spacing cleanups
17528
17529         * src/nm-dbus-dhcp.c
17530                 - Make the API suck less.  There is now only 1 type of each function,
17531                         ie only "getInteger" and no longer also "getIntegerv".  All types
17532                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17533                         that will never have more than 1 element.  This should simplify
17534                         things greatly.
17535
17536         * test/nm-dhcp-opt-test.c
17537                 - Make the tool not segfault
17538                 - adapt to new DHCP Options API
17539
17540 2005-03-22  Dan Williams <dcbw@redhat.com>
17541
17542         * src/NetworkManager.c
17543                 - (nm_wired_link_deactivated): actually ignore netlink events from
17544                         wireless devices.
17545
17546 2005-03-22  Dan Williams <dcbw@redhat.com>
17547
17548         * src/NetworkManager.c
17549                 - (nm_wired_link_activated): actually ignore netlink events from
17550                         wireless devices.
17551
17552 2005-03-17  Dan Williams <dcbw@redhat.com>
17553
17554         Patch from Tom Parker:
17555         * src/nm-netlink-monitor.c
17556                 - Include unistd.h
17557         * info-daemon/NetworkManagerInfoDbus.c
17558                 - (nmi_dbus_update_network_auth_method): free GConf values
17559
17560         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17561         * src/NetworkManagerDevice.c
17562                 - (nm_device_set_wireless_config): wait for successful
17563                         association longer for some cards (Atheros a/b/g)
17564
17565 2005-03-15  Ray Strode  <rstrode@redhat.com>
17566
17567         * src/NetworkManager.c:
17568         (sigterm_pipe_handler):
17569         remove bogus FIXME
17570
17571 2005-03-15  Ray Strode  <rstrode@redhat.com>
17572
17573         * src/NetworkManagerDbus.c:
17574         Fix some sign weirdness that gcc4 doesn't like,
17575         and add a header file so PPC can hopefully find
17576         SIGTRAP
17577
17578 2005-03-14  Ray Strode  <rstrode@redhat.com>
17579         
17580         Fourth (probably working) cut at porting to
17581         dbus 0.30 api and new hal. This cut adds
17582         some new logging macros to make debugging
17583         easier.
17584
17585         * dispatcher-daemon/NetworkManagerDispatcher.c:
17586         * info-daemon/NetworkmanagerInfo.c:
17587         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17588         * info-daemon/NetworkManagerInfoVPN.c:
17589         * src/NetworkManager.c:
17590         * src/NetworkManagerAP.c:
17591         * src/NetworkManagerAPList.c:
17592         * src/NetworkManagerDHCP.c:
17593         * src/NetworkManagerDbus.c:
17594         * src/NetworkManagerDevice.c:
17595         * src/NetworkManagerPolicy.c:
17596         * src/NetworkManagerSystem.c:
17597         * src/NetworkManagerUtils.c:
17598         * src/NetworkManagerWireless.c:
17599         * src/autoip.c:
17600         * src/nm-dbus-nm.c:
17601         * src/backends/NetworkManagerDebian.c:
17602         * src/backends/NetworkManagerGentoo.c:
17603         * src/backends/NetworkManagerRedHat.c:
17604         * src/backends/NetworkManagerSlackware.c:
17605         use new logging macros.
17606
17607         * dispatcher-daemon/NetworkManagerDispatcher.c:
17608         (nmd_dbus_filter): s/dbus_free/g_free/
17609
17610         * info-daemon/Makefile.am: link in utils library.
17611         * info-daemon/NetworkmanagerInfo.c: use new logging 
17612         macros.
17613         (nmi_dbus_get_network): don't assume enumerations
17614         are 32-bit.
17615         (nmi_dbus_nmi_message_handler): don't free what 
17616         doesn't belong to us.
17617
17618         * libnm_glib/libnm_glib.c:
17619         (libnm_glib_get_nm_status): 
17620         (libnm_glib_init): don't free what doesn't
17621         belong to us.
17622         (libnm_glib_dbus): strdup result, so it doesn't get
17623         lost when message is unref'd.
17624
17625         * panel-applet/NMWirelessAppletDbus.c:
17626         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17627
17628         * src/NetworkManager.c:
17629         (nm_monitor_wired_link_state): request initial status 
17630         dump of all cards when we start up, instead of relying
17631         on /sys/.../carrier.
17632         (nm_info_handler), (nm_set_up_log_handlers): 
17633         log handlers to specify what syslog priorites 
17634         the logging macros default to.
17635
17636         * src/NetworkManagerAPList.c: 
17637         (nm_ap_list_populate_from_nmi):
17638         s/dbus_free_string_array/g_strfreev/
17639
17640         * src/NetworkManagerDbus.c:
17641         (nm_dbus_get_network_object):
17642         validate d-bus message argument types.
17643         Advance message iterator after reading argument,
17644         prepend instead of append to GSList.
17645
17646         * src/NetworkManagerDevice.c:
17647         (nm_device_probe_wired_link_status):
17648         remove redundant /sys in /sys path. remove wrong
17649         contents == NULL means has carrier assumption.
17650
17651         * src/nm-netlink-monitor.c 
17652         (nm_netlink_monitor_request_status): implement
17653         function to ask kernel to dump interface link
17654         status over netlink socket.
17655
17656         * test/*.c: s/dbus_free/g_free/
17657
17658         * utils/nm-utils.h:
17659         (nm_print_backtrace): new macro to print backtrace.
17660         (nm_get_timestamp): new macro to get sub-second precise
17661         unix timestamp.
17662         (nm_info), (nm_debug), (nm_warning), (nm_error):
17663         new logging functions. nm_info just prints,
17664         nm_debug includes timestamp and function,
17665         nm_warning includes function, nm_error includes
17666         backtrace and sigtrap.
17667
17668 2005-03-11  Ray Strode  <rstrode@redhat.com>
17669
17670         Third (unfinished, partially working) cut at porting to 
17671         dbus 0.30 api and new hal.
17672
17673         * info-daemon/NetworkManagerInfoDbus.c:
17674                 don't free null arrays.
17675
17676         * panel-applet/NMWirelessAppletDbus.c: 
17677         * src/nm-dbus-device.c:
17678         * src/nm-dbus-net.c: 
17679         * src/NetworkManagerDbus.c: more 
17680         STRING -> OBJECT_PATH fun
17681         * src/NetworkManagerDevice.c:
17682         * src/NetworkManagerDevice.h:
17683         (rename nm_device_get_link_active): rename to 
17684         nm_device_has_active_link
17685         (nm_device_wireless_link_active): rename to
17686         nm_device_probe_wireless_link_state
17687         (nm_device_wired_link_active): rename to
17688         nm_device_probe_wired_link_state.  Rewrite to
17689         use carrier file since hal doesn't maintain
17690         link state anymore.
17691         (nm_device_update_link_active): rename to
17692         nm_device_update_link_state
17693         * src/NetworkManagerPolicy.c 
17694           (nm_policy_activation_finish): check for NULL
17695           MAC address.
17696
17697         * src/Makefile.am:
17698         * src/NetworkManagerMain.h: 
17699         * src/NetworkManager.c:
17700         * src/nm-netlink-monitor.c:
17701         * src/nm-netlink-monitor.h: New class to support
17702         monitoring wired ethernet link status, since HAL
17703         doesn't export that information anymore.
17704
17705 2005-03-09  Ray Strode  <rstrode@redhat.com>
17706
17707         Second (unfinished, unworking) cut at porting to 
17708         dbus 0.30 api.
17709
17710         * dispatcher-daemon/NetworkManagerDispatcher.c:
17711         * info-daemon/NetworkManagerInfoDbus.c:
17712         * panel-applet/NMWirelessAppletDbus.c:
17713         * src/NetworkManagerDbusUtils.c:
17714         * src/NetworkManagerDbusUtils.h:
17715         * src/nm-dbus-device.c:
17716         * src/nm-dbus-nm.c:
17717         * test/nmtest.c: support dbus "object path" type
17718
17719         * configure.in: 
17720         * Makefile.am:
17721         * info-daemon/Makefile.am:
17722         * libnm_glib/Makefile.am:
17723         * panel-applet/Makefile.am:
17724         * dispatcher-daemon/Makefile.am
17725         * src/Makefile.am:
17726         * test/Makefile.am:
17727         * utils/Makefile.am: 
17728         * utils/nm-utils.c: 
17729         * utils/nm-utils.h: new utils static lib
17730
17731 2005-03-07  Ray Strode  <rstrode@redhat.com>
17732
17733         * info-daemon/NetworkManagerInfoDbus.c:
17734         * libnm_glib/libnm_glib.c:
17735         * panel-applet/NMWirelessAppletDbus.c:
17736         * src/NetworkManager.c:
17737         * src/NetworkManagerDbus.c:
17738         * src/NetworkManagerDevice.c:
17739         * src/NetworkManagerUtils.c:
17740         * src/nm-dbus-device.c:
17741         * src/nm-dbus-dhcp.c:
17742         * src/nm-dbus-net.c:
17743         * src/nm-dbus-nm.c:
17744         * test/nminfotest.c:
17745         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17746
17747 2005-03-04  Dan Williams  <dcbw@redhat.com>
17748
17749         * configure.in
17750                 - Mark HEAD as 0.4
17751
17752 2005-03-04  Dan Williams  <dcbw@redhat.com>
17753
17754         Patch from Peter Jones:
17755         - Make stuff work with gcc 4.0
17756
17757 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17758
17759         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17760
17761 2005-02-27  Jim Huang  <jserv@kaffe.org>
17762
17763         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17764
17765 2005-02-27  Dan Williams  <dcbw@redhat.com>
17766
17767         Patch from Bill Moss:
17768         * panel-applet/NMWirelessAppletDbus.c
17769                 - Make sure strength for current access point is up-to-date when we
17770                         update the gui data model
17771
17772 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17773
17774         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17775
17776 2005-02-27  Dan Williams  <dcbw@redhat.com>
17777
17778         * src/backends/NetworkManagerRedHat.c
17779                 - (nm_system_init): Kill any dhclient processes lying around as well
17780                         as stopping 'nifd' if its already been started.  NetworkManager
17781                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17782
17783 2005-02-27  Dan Williams  <dcbw@redhat.com>
17784
17785         * panel-applet/NMWirelessApplet.c
17786                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17787                         dbus data model, not the GUI data model twice.
17788
17789 2005-02-27  Dan Williams  <dcbw@redhat.com>
17790
17791         * panel-applet/NMWirelessApplet.[ch]
17792           panel-applet/NMWirelessAppletDbus.[ch]
17793                 - Move to incremental network updates.  Instead of blowing away our list
17794                         of devices every time we get a signal from NetworkManager, we now
17795                         incrementally add/remove networks when NetworkManager notifies us that
17796                         a new network has appeared or disappered.  Strength updates now happen
17797                         on-the-fly for each access point as well.  There are now two copies of
17798                         data from NetworkManager: one for the dbus side, and one for the gui side.
17799                         When the dbus side data is modified, it is copied over to the gui side
17800                         so we don't have to hold the data_mutex for long periods of time (and
17801                         therefore block animation of the applet's icon).
17802                 - Clean up some memleaks too
17803
17804         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17805                 - Minor code beautification
17806
17807         * src/NetworkManagerAPList.c
17808                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17809                         completely new and whether or not an existing one's strength was updated.
17810                         Try to fix multiple access points and signal strength by using the highest
17811                         signal strength in each scan for any given ESSID.
17812
17813         * src/NetworkManagerDbus.[ch]
17814                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17815                         wireless networks; now we have only WirelessNetworkUpdate which includes
17816                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17817                 - Kill usage of DbusMessageIter
17818
17819         * src/NetworkManagerDevice.c
17820                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17821                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17822                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17823                         currently associated with from the network list.
17824                 - Update for new signals during scan, send out Appeared, Disappeared, or
17825                         StrengthChanged when necessary.
17826
17827 2005-02-25  Dan Williams  <dcbw@redhat.com>
17828
17829         * README
17830                 - Line break the README
17831
17832 2005-02-25  Dan Williams  <dcbw@redhat.com>
17833
17834         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17835                 - Remove usage of gtk_window_set_default_size()
17836
17837         * panel-applet/essid.glade
17838                 - Stick default size here
17839                 - Add in random crap that current glade wants to add in now
17840
17841 2005-02-25  Dan Williams  <dcbw@redhat.com>
17842
17843         * src/backends/NetworkManagerRedHat.c
17844                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17845                         and that we actually tell nscd to reload the hosts cache when it changes
17846
17847 2005-02-25  Dan Williams  <dcbw@redhat.com>
17848
17849         * info-daemon/NetworkManagerInfoDbus.c
17850                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17851
17852         * test/nminfotest.c
17853                 - Whack usage of DbusMessageIter
17854                 - Clean up DbusError and DbusMessage handling and freeing
17855                 - Remove unused unregister handler
17856
17857         * test/nmtest.c
17858                 - Whack usage of DbusMessageIter
17859
17860         * test/nmtestdevices.c
17861                 - Whack usage of DbusMessageIter
17862
17863 2005-02-25  Dan Williams  <dcbw@redhat.com>
17864
17865         * NetworkManager.h
17866                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17867                         signal
17868
17869 2005-02-25  Dan Williams  <dcbw@redhat.com>
17870
17871         * named/nm-named-manager.c
17872                 - Ensure that pid and watch variables for child named process get cleared out
17873                         when the child goes away.
17874
17875 2005-02-22  Dan Williams  <dcbw@redhat.com>
17876
17877         * src/NetworkManagerPolicy.c
17878                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17879                         and NULL out data->active_device so that we have to choose another one.
17880                         This may make NetworkManager keep attempting to connect to a wired network
17881                         if it fails, but if it keeps failing the wired network has more problems than
17882                         just NetworkManager.
17883
17884         * src/backends/NetworkManagerRedHat.c
17885                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17886                         is already running
17887
17888         * named/nm-named-manager.c
17889                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17890                         named so that the distro can flush whatever name service caching
17891                         daemon it uses
17892
17893 2005-02-21  Dan Williams  <dcbw@redhat.com>
17894
17895         * src/NetworkManagerDHCP.[ch]
17896                 - (nm_device_dhcp_remove_timeouts): new function
17897
17898         * src/NetworkManagerDevice.c
17899                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17900                         remove the DHCP timeouts.
17901
17902 2005-02-21  Dan Williams  <dcbw@redhat.com>
17903
17904         * panel-applet/NMWirelessApplet.[ch]
17905           panel-applet/menu-info.[ch]
17906                 - Give the panel applet some major love: menu items are no longer
17907                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17908                         This allows the applet to actually reflect theme changes correctly,
17909                         since themeing of subclassed items in GTK _sucks_.
17910
17911 2005-02-18  Dan Williams  <dcbw@redhat.com>
17912
17913         * libnm_glib/libnm_glib.[ch]
17914           test/libnm_glib_test.c
17915                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17916                         and its data, and doesn't have to free the callback data anymore
17917
17918 2005-02-18  Dan Williams  <dcbw@redhat.com>
17919
17920         * panel-applet/NMWirelessApplet.c
17921                 - Revert 2005-02-18 William Jon McCann fix for standard
17922                         copyright string until it passes 'make distcheck'.
17923                         With standard copyright string, xgettext complains
17924                         about "Non-ASCII string at ...".
17925
17926 2005-02-18  Dan Williams  <dcbw@redhat.com>
17927
17928         * panel-applet/essid.glade
17929           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17930                 - Correct spelling of "adaptor"->"adapter"
17931
17932 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17933
17934         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17935         (nmwa_about_cb): Use standard copyright string.  Update comment
17936         text to reflect that it is a notification area applet.  Remove
17937         leading newline in authors list.
17938         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17939         instead of on parent menu item activation.  Fixes #167550.
17940
17941 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17942
17943         * panel-applet/essid.glade: Capitalize items as per HIG.
17944           Fixes #167632
17945
17946 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17947
17948         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17949         files for GTK 2.4 or lower, since now public in GTK 2.6.
17950
17951         * panel-applet/essid.glade: Don't specify window size.
17952         
17953 2005-02-17  Dan Williams  <dcbw@redhat.com>
17954
17955         Caught by Bill Moss:
17956         * dhcpcd/client.c
17957                 - Time remaining for DHCP transaction calculation was incorrectly
17958                         inside a #ifdef DEBUG
17959
17960 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17961
17962         * configure.in: Added fr (French) to ALL_LINGUAS.
17963
17964 2005-02-14  Dan Williams  <dcbw@redhat.com>
17965
17966         * src/NetworkManagerDHCP.c
17967                 - (set_domain_searches): Fix free of invalid pointer
17968
17969 2005-02-14  Dan Williams  <dcbw@redhat.com>
17970
17971         Patch from Peter Jones:
17972         * dhcpcd/client.c
17973                 - Ensure we return RET_DHCP_CEASED everywhere we should
17974         * dhcpcd/udpipgen.c
17975                 - Use faster TOS for IP packets
17976                 - Don't set ip_id since we're UDP
17977
17978         Patch from Tomislav Vujec:
17979         * src/nm-dbus-dhcp.c
17980           test/nm-dhcp-opt-test.c
17981                 - Clean up warnings to enable cvs tree compilation.
17982
17983 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17984
17985         * configure.in
17986           po/hr.po
17987                 - Add the Croatian locale.
17988
17989 2005-02-14  Colin Walters  <walters@verbum.org>
17990
17991         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17992         list of domains to search.
17993         
17994         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17995
17996 2005-02-13  Dan Williams  <dcbw@redhat.com>
17997
17998         * dhcpcd/client.c
17999                 - Debug output cleanups of DHCP option printing and parsing.
18000
18001 2005-02-13  Dan Williams  <dcbw@redhat.com>
18002
18003         Patch from Dan Reed:  DHCP options D-BUS API
18004                 Exposes the DHCP options that a device receives to clients over D-BUS.
18005
18006         * configure.in
18007                 - A few cleanups
18008
18009         * dhcpcd/client.h
18010                 - Correct names, option length, and types for DHCP options
18011
18012         * dhcpcd/dhcpcd.[ch]
18013                 - Clarify function names that access DHCP options & data
18014
18015         * src/NetworkManagerDHCP.c
18016                 - Use new DHCP data access functions
18017
18018         * src/NetworkManagerDbus.c
18019                 - Message handler for DHCP functions
18020
18021         * src/nm-dbus-dhcp.[ch] (new)
18022                 - DHCP dbus methods
18023
18024         * test/nm-dhcp-opt-test.c
18025                 - Test DHCP D-BUS API and return all present DHCP options
18026
18027 2005-02-12  Dan Williams  <dcbw@redhat.com>
18028
18029         * test/Makefile.am
18030           test/nmclienttest.c
18031           test/nmtest.c
18032                 - Move nmclienttest.c -> nmtest.c
18033
18034 2005-02-12  Dan Williams  <dcbw@redhat.com>
18035
18036         * dhcpcd/buildmsg.c
18037                 - Pad DHCP packets until they are at least 300 bytes in size.
18038
18039 2005-02-11  Dan Williams  <dcbw@redhat.com>
18040
18041         * dhcpcd/client.c
18042                 - (dhcp_init): only print out client ID and class ID if they are specified
18043
18044         * src/NetworkManagerDbus.[ch]
18045           src/nm-dbus-nm.[ch]
18046           src/nm-dbus-device.[ch]
18047           src/nm-dbus-net.[ch]
18048                 - Move NM, Device, and Net functions to separate files and use the
18049                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18050                         method dispatching
18051
18052         * src/NetworkManagerDbusUtils.c
18053                 - Add new validate_method called before each dispatch (if present)
18054                         that can validate the method call
18055
18056         * src/NetworkManagerWireless.c
18057                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18058                         levels never to be evaluated
18059
18060         Patch from j@bootlab.org
18061         * src/NetworkManagerDevice.c
18062                 - Add typedef for "u64"
18063
18064         * src/backends/NetworkManagerDebian.c
18065                 - Copy in Dave Woodhouse's fixes for IPv6
18066
18067 2005-02-11  Dan Williams  <dcbw@redhat.com>
18068
18069         Patch from Dave Woodhouse for IPv6:
18070         * src/NetworkManagerUtils.c
18071                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18072                         and multicast addresses
18073
18074         * src/NetworkManagerDevice.c
18075                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18076                         after bringing up a card.
18077
18078 2005-02-10  Dan Williams  <dcbw@redhat.com>
18079
18080         Patch from Dave Woodhouse:
18081         * src/NetworkManagerSystem.h
18082           src/backends/NetworkManagerDebian.c
18083           src/backends/NetworkManagerGentoo.c
18084           src/backends/NetworkManagerSlackware.c
18085                 - New nm_system_device_add_ip6_link_address() function to add link-local
18086                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18087
18088         * src/backends/NetworkManagerRedHat.c
18089                 - (nm_system_device_add_ip6_link_address): implement
18090                 - (nm_system_device_flush_addresses): revert to previous behavior of
18091                         flushing all addresses
18092
18093 2005-02-10  Dan Williams  <dcbw@redhat.com>
18094
18095         Patch from Tom Parker:
18096         * src/NetworkManagerDevice.c
18097                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18098                         mii.h headers are broken, and instead use our own typedefs
18099
18100 2005-02-10  Dan Williams  <dcbw@redhat.com>
18101
18102         * dhcpcd/buildmsg.c
18103                 - (fill_host_and_class_id): only fill in client and class IDs if
18104                         they are set by callers.
18105
18106         * dhcpcd/client.c
18107                 - (class_id_setup): don't autogenerate a class ID, only use one
18108                         we're given, if any.
18109                 - (client_id_setup): don't autogenerate a client ID, only use one
18110                         we're given, if any.
18111
18112         * dhcpcd/dhcpcd.c
18113                 - (dhcp_interface_init): ensure that client options are correctly
18114                         NULL terminated
18115
18116         * src/NetworkManagerDHCP.c
18117                 - (nm_device_dhcp_request): pass hostname to dhcp library
18118
18119 2005-02-10  Dan Williams  <dcbw@redhat.com>
18120
18121         * dhcpcd/client.c
18122                 - #rh147661# Don't send kernel version in DHCP requests
18123
18124         * src/NetworkManagerSystem.h
18125           src/backends/NetworkManagerDebian.c
18126           src/backends/NetworkManagerGentoo.c
18127           src/backends/NetworkManagerRedHat.c
18128           src/backends/NetworkManagerSlackware.c
18129                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18130                         functions, they are no longer used anyway
18131
18132         * src/backends/NetworkManagerRedHat.c
18133                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18134                         addresses in an attempt to keep IPv6 local-scope addresses around
18135
18136 2005-02-10  Dan Williams  <dcbw@redhat.com>
18137
18138         * src/NetworkManager.c
18139                 - (nm_create_device_and_add_to_list): change the add message slightly
18140
18141         * src/NetworkManagerUtils.c
18142                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18143                         Return driver name to calling function
18144                 - (nm_get_driver_support_level): print out the driver a device is using
18145                         during the support check
18146
18147         Patch from Dave Woodhouse:
18148         * dhcpcd/udpipgen.c
18149                 - (in_cksum): copy last byte of odd-sized packets into a
18150                         'u_short' rather than a 'u_char', should fix wrong checksums
18151                         on big-endian platforms
18152
18153 2005-02-09  Dan Williams  <dcbw@redhat.com>
18154
18155         * Clean up usage of GSList objects and looping through their members
18156         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18157                 now.
18158         * Fix problem where even if scanning was turned off, card would still
18159                 cycle through frequencies.
18160
18161 2005-02-08  Dan Williams  <dcbw@redhat.com>
18162
18163         * panel-applet/NMWirelessApplet.c
18164                 - Fix for gtk 2.4
18165
18166 2005-02-08  Dan Williams  <dcbw@redhat.com>
18167
18168         Patch from Bill Moss
18169         * panel-applet/NMWirelessApplet.c
18170                 - Restore correct ESSID in tooltips
18171
18172 2005-02-07  Dan Williams  <dcbw@redhat.com>
18173
18174         * panel-applet/NMWirelessApplet.[ch]
18175                 - Add a context menu that contains:
18176                         Pause/Resume Wireless Scanning
18177                         Stop/Start All Wireless Devices
18178                         About...
18179                 - Grab active device strength off active device,
18180                         not its network
18181
18182         * panel-applet/NMWirelessAppletDbus.[ch]
18183                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18184                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18185                 - Update active device strength every 2 seconds, not every 1 second
18186
18187         * panel-applet/menu-info.c
18188                 - Only disable wired devices in the menu when they support carrier detection,
18189                         and don't currently have a link.  Non-carrier-detect devices will always
18190                         remain choosable
18191
18192         * src/Makefile.am
18193           src/NetworkManagerDbusUtils.[ch]
18194                 - Add new new dbus utils sources
18195
18196         * src/NetworkManager.c
18197                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18198                         with the boolean parameter
18199                 - Set scanning_enabled & wireless_enabled to TRUE
18200
18201         * src/NetworkManagerDbus.c
18202                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18203                 - Implement scanning & wireless enable/disable calls
18204                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18205
18206         * src/NetworkManagerDevice.c
18207                 - New link detection stuff again...
18208                         o  Create device's mainloop earlier (but don't run it earlier)
18209                         o  Hook up new carrier-detect support stuff
18210                         o  Add in the ethtool & mii support detection code
18211                 - Don't scan if scanning is disabled
18212
18213         * src/NetworkManagerPolicy.c
18214                 - Never automatically choose a device that doesn't support carrier detection
18215                 - Don't automatically choose a wireless device if wireless is disabled
18216
18217 2005-02-07  Dan Williams  <dcbw@redhat.com>
18218
18219         * libnm_glib/libnm_glib.c
18220                 - Small cleanup in element list iteration
18221
18222 2005-02-07  Dan Williams  <dcbw@redhat.com>
18223
18224         * src/NetworkManagerWireless.c
18225                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18226                         to be in line with the WEXT quality specification
18227
18228 2005-02-02  Dan Williams  <dcbw@redhat.com>
18229
18230         Patch from Nathan Fredrickson <nathan@silverorange.com>
18231         * Fix up compile for deprecation of libgnomeui
18232                 - Switch to <glib/gi18n.h> from <libintl.h>
18233                 - Remove <libgnomeui/libgnomeui.h> includes
18234                 - Use gtk_window_set_default_icon_from_file() rather than
18235                         gnome_window_set_default_icon_from_file()
18236
18237         * named/nm-named-manager.c
18238                 - (generate_named_conf): Fix return-nothing in non-void
18239                         function
18240
18241 2005-02-02  Dan Williams  <dcbw@redhat.com>
18242
18243         * Clean up unused variables and the like
18244
18245 2005-02-02  Dan Williams  <dcbw@redhat.com>
18246
18247         * src/NetworkManagerAPList.c
18248                 - (nm_ap_list_merge_scanned_ap): merge strength too
18249
18250         * src/NetworkManagerUtils.c
18251                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18252                         of locking issues by printing out prettier information than g_mutex_lock
18253                 - Print out names of mutexes registered with nm_register_mutex_desc()
18254                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18255                         us to seemingly block here for too long
18256
18257         * src/NetworkManager.c
18258           src/NetworkManagerAPList.c
18259           src/NetworkManagerDevice.c
18260                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18261                         so we get better debug information printed
18262
18263         * src/NetworkManagerDbus.c
18264                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18265                         since it sometimes has locking side effects
18266                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18267                         from 10s
18268                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18269                         we don't need a switch.  This gets called often enough that we can't block
18270                         until the scan mutex is acquired, because we'll block on device activation
18271                         and a few other things, which hangs main thread for too long.
18272
18273         * src/NetworkManagerPolicy.c
18274                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18275                         nm_device_need_ap_switch() will be called               
18276
18277 2005-02-02  Dan Williams  <dcbw@redhat.com>
18278
18279         * panel-applet/NMWirelessApplet.c
18280                 - Display name of wireless network we are connecting to or connected to
18281                         in the tooltip of the applet
18282
18283 2005-02-02  Dan Williams  <dcbw@redhat.com>
18284
18285         * src/NetworkManagerDHCP.c
18286                 - Hopefully fix double-default-route problem by cleaning up the default
18287                         route added by DHCP code right before the DHCP transaction begins
18288
18289 2005-02-02  Dan Williams  <dcbw@redhat.com>
18290
18291         * named/nm-named-manager.c
18292                 - Write out valid resolv.conf when we exit
18293
18294 2005-02-01  Dan Williams  <dcbw@redhat.com>
18295
18296         Patch from Colin Walters:
18297         * named/nm-named-manager.c
18298                 - Make multi-domain search options work
18299
18300 2005-01-31  Dan Williams  <dcbw@redhat.com>
18301
18302         * info-daemon/NetworkManagerInfoDbus.c
18303                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18304
18305         * src/NetworkManagerDevice.c
18306                 - (nm_device_new): Don't store the entire range struct, use only what we need
18307                         (which is currently avg_quality, max_quality, and frequencies).  Also
18308                         zero device structure when we've free'd it to maybe expose errors down
18309                         the line.
18310                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18311                         quality data from the card since quality will be useless during a scan.
18312                         Call updated wireless qual-to-percent function with values stored in
18313                         nm_device_new() earlier.
18314                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18315                         nm_device_get_bad_crypt_packets())
18316                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18317                         nm_device_new()
18318                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18319                         list if available.  Problem was this: when the WEP key is wrong, NM will
18320                         try OS then SK modes, and then get stuck in SK mode after that.  This
18321                         should reset it.
18322                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18323                         function
18324
18325         * src/NetworkManagerWireless.c
18326                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18327                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18328                         if that's all present, otherwise fall back to signal-to-noise ratios.
18329
18330 2005-01-29  Dan Williams  <dcbw@redhat.com>
18331
18332         * initscript/RedHat/NetworkManager
18333                 - Don't spit out sysctl stuff to console
18334
18335         * libnm_glib/libnm_glib.c
18336                 - (libnm_glib_init): call dbus_g_thread_init()
18337
18338         * panel-applet/NMWirelessAppletDbus.c
18339                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18340
18341         * src/NetworkManager.c
18342                 - (main): call dbus_g_thread_init()
18343
18344         * src/NetworkManagerAPList.c
18345                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18346                         so we can actually see what's there in a normal syslog
18347
18348         * src/NetworkManagerDevice.c
18349                 - (nm_device_activate_wireless): print out the "waiting for access point"
18350                         message only once, then say what access point we actually got after
18351                         the wait.
18352                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18353                         function, wait until the scan is done.  Scans may change the ESSID of
18354                         the card, making this function think we need to switch access points
18355                 - (nm_device_wireless_process_scan_results): for artificial access points
18356                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18357                         prevents collisions with the scanning code, which may change the card's
18358                         ESSID and cause the access point to get dropped from the device's AP
18359                         list.  Also increase the keep-around time to 2m from 60s since the max
18360                         scan interval could be 60s in some cases.
18361
18362         * src/NetworkManagerPolicy.c
18363                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18364                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18365                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18366                         between NM and NMI.
18367
18368 2005-01-27  Dan Williams  <dcbw@redhat.com>
18369
18370         * info-daemon/NetworkManagerInfoDbus.c
18371                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18372                         GConf, make a minimal entry for it (essid & timestamp)
18373
18374         * src/NetworkManagerAPList.c
18375                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18376                         NetworkManagerInfo isn't running
18377
18378         * src/NetworkManagerDbus.[ch]
18379                 - (nm_dbus_nmi_is_running): new function
18380
18381         * src/NetworkManagerDevice.c
18382                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18383                         address to garbage.
18384
18385         * src/NetworkManagerPolicy.c
18386                 - (nm_policy_activation_finish): On successful activation, make sure
18387                         the "best" AP has a MAC address, and don't tell NMI to add the
18388                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18389                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18390                         access point after refreshing our allowed list if it doesn't already
18391                         have a "best" access point.
18392
18393 2005-01-25  Dan Williams  <dcbw@redhat.com>
18394
18395         * panel-applet/NMWirelessAppletDbus.c
18396                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18397                         so we check for NM_DBUS_SERVICE rather than not for it
18398
18399         * libnm_glib/libnm_glib.c
18400                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18401                         ServiceOwnerChanged signal
18402
18403 2005-01-25  Dan Williams  <dcbw@redhat.com>
18404
18405         * configure.in
18406                 - Check DBUS version in configure, and set the C macros
18407                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18408
18409         * info-daemon/NetworkManagerInfoDbus.c
18410                 - Remove #if 0-d section of code that quit NMI if NM went away.
18411
18412         * panel-applet/NMWirelessAppletDbus.c
18413                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18414
18415         * src/NetworkManager.c
18416           src/NetworkManagerMain.h
18417           src/NetworkManagerDbus.c
18418                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18419                 - Make updating of our Allowed Wireless Network lists from NMI
18420                         an idle function in the main thread now, with a high priority.
18421
18422 2005-01-24  Dan Williams  <dcbw@redhat.com>
18423
18424         * panel-applet/gtkcellview.[ch]
18425           panel-applet/menu-info.c
18426                 - Fix GTK version checks to be <= rather than <
18427
18428         * test/Makefile.am
18429                 - Include the libtool archive of libnm_glib rather than
18430                         trying to pull in the .so
18431
18432 2005-01-24  Dan Williams  <dcbw@redhat.com>
18433
18434         * src/NetworkManagerDevice.c
18435           src/NetworkManagerDevicePrivate.h
18436                 - Block nm_device_new() until our device's worker thread has had a
18437                         chance to start up.  Fixes a race between main thread and worker
18438                         thread starting that caused activation requests to get lost.
18439
18440 2005-01-24  Dan Williams  <dcbw@redhat.com>
18441
18442         * initscript/RedHat/NetworkManager
18443                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18444                         to add the NM startup script at priority 50, which was
18445                         way too early
18446
18447 2005-01-24  Colin Walters  <walters@redhat.com>
18448
18449         * named/named.conf: Use any port for query source instead of
18450         restricting to port 53.
18451
18452 2005-01-24  Dan Williams  <dcbw@redhat.com>
18453
18454         * initscript/RedHat/NetworkManager
18455                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18456                         to add the NM startup script at priority 50, which was
18457                         way too early
18458
18459 2005-01-24  Dan Williams  <dcbw@redhat.com>
18460
18461         Patch from Tom Parker <palfrey@tevp.net>
18462         * Fix up compile warnings & errors in the wireless applet
18463
18464 2005-01-24  Dan Williams  <dcbw@redhat.com>
18465
18466         * panel-applet/NMWirelessApplet.c
18467                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18468
18469 2005-01-24  Dan Williams  <dcbw@redhat.com>
18470
18471         * panel-applet/gtkcellview.[ch]
18472                 - Only compile these files for GTK 2.4 or lower, since 
18473                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18474                         when choosing "Other Wireless Networks" from the panel
18475                         applet menu
18476
18477 2005-01-21  Dan Williams  <dcbw@redhat.com>
18478
18479         * src/NetworkManager.c
18480                 - Daemonize earlier so that glib doesn't get confused (?)
18481
18482 2005-01-21  Dan Williams  <dcbw@redhat.com>
18483
18484         * panel-applet/NMWirelessApplet.[ch]
18485           panel-applet/NMWirelessAppletDbus.c
18486           panel-applet/menu-info.c
18487           src/NetworkManagerDevice.c
18488                 - Disable wired devices in the menu when they have no link.
18489
18490 2005-01-21  Dan Williams  <dcbw@redhat.com>
18491
18492         * Cache last-known-good wireless authentication method in
18493                 NetworkManagerInfo, and use that method first during
18494                 wireless device activation.  Should speed up devices that
18495                 need Shared Key authentication method since Open System is
18496                 now the default.
18497
18498         * Remove the hack to not do full activation on wired connections
18499                 that are active when we launch, it causes too many problems
18500                 with name resolution and was a hack in the first place.
18501
18502         * Re-work wireless device activation again somewhat to have a
18503                 clearer chain of events and to use last-known-good
18504                 authentication method of the access point.  Also provide
18505                 better status throughout activation to ensure the applet
18506                 can tell the user exactly what's going on.
18507
18508         * Remove the "find wireless network" code and now simply attempt
18509                 to activate with that access point.  This reduces the delay
18510                 between selecting "Other wireless Network" and actually
18511                 connecting to that network.
18512
18513         * Correctly stop the device's worker thread when its removed.
18514
18515 2005-01-21  Dan Williams  <dcbw@redhat.com>
18516
18517         * dhcpcd/client.c
18518                 - Clean up some of the debug messages
18519
18520 2005-01-21  Dan Williams  <dcbw@redhat.com>
18521
18522         * Add new icons, more frames of animation
18523         * Remove some hacks to get the panel applet to display correct
18524                 status, an NM update will soon follow that will fix the
18525                 real issue.
18526
18527 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18528
18529         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18530         the first include for working i18n. Also, don't include it in .h files
18531         * panel-applet/NMWirelessApplet.h: Same
18532         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18533         * panel-applet/menu-info.c: Same
18534
18535 2005-01-18  Dan Williams <dcbw@redhat.com>
18536
18537         * dhcpcd/client.c
18538                 - Remove some debug messages
18539                 - Wrap others in #ifdef DEBUG/#endif
18540
18541         * src/NetworkManager.c
18542                 - Remove some debug messages
18543                 - Clarify some debug messages
18544                 - Remove code related to old single-thread wireless scanning
18545
18546         * src/NetworkManagerAP.[ch]
18547                 - New AP property "last_seen" to track how recently an AP was
18548                         found in a scan
18549                 - Start using 'const' more in function arguments
18550
18551         * src/NetworkManagerAPList.[ch]
18552                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18553                         of an AP found in an AP list from a source AP, or if not found
18554                         in the list add the source AP
18555                 - (nm_ap_list_combine): remove, no longer needed
18556
18557         * src/NetworkManagerDevice.c
18558                 - Each device now has a "worker" thread from start to end of its life.
18559                         Scanning for wireless devices now happens in that thread,
18560                         not in a single "wireless scanning thread" for all devices as
18561                         previously.  Activation consists of adding an idle handler to the
18562                         thread's main loop/context, which gets run at the next available
18563                         opportunity.
18564                 - Wireless scanning is also simplified, there is now only one list of
18565                         access points per wireless device, and APs older than 60s are
18566                         removed from the list.  Previously, we kept results for the last
18567                         3 scans and merged whole lists, which was complicated.
18568                 - Cleaned up activation debug messages.
18569                 - Wireless activation and access-point search routines now use Open System
18570                         authentication before trying Shared Key.
18571                 - Removed some code in nm_device_update_best_ap() that could cause cards
18572                         to loose their link to the access point.
18573                 - Scanning now uses a backoff algorithm, where the inverval becomes
18574                         progressively longer between scans when the list of scanned access
18575                         points doesn't change.  A change will revert to the shortest scan
18576                         interval (20s).
18577
18578         * src/NetworkManagerWireless.[ch]
18579                 - Remove code related to old single-thread wireless scanning
18580
18581 2005-01-18  Colin Walters  <walters@redhat.com>
18582
18583         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18584         of older nameservers.
18585
18586 2005-01-18  Colin Walters  <walters@redhat.com>
18587
18588         * named/nm-named-manager.c (generate_named_conf): Many fixes
18589         to config file generation.
18590         (safer_kill): Remove, was too much trouble for little gain.
18591         (nm_named_manager_start): Run named as NM_NAMED_USER.
18592
18593         * configure.in: Add option --with-named-user.
18594
18595 2005-01-14  Colin Walters  <walters@redhat.com>
18596
18597         Patch from ed@catmur.co.uk (Ed Catmur)
18598
18599         * named/nm-named-manager.c: Add "context" property.
18600         Use it to add child watch source in specific GMainContext.
18601
18602         * src/NetworkManager.c (nm_data_new): Initialize
18603         named with correct main context.  Start named only
18604         after forking.
18605
18606 2005-01-14  Colin Walters  <walters@redhat.com>
18607
18608         * named/nm-named-manager.c (generate_named_conf): Write config
18609         and pid files into NM_NAMED_DATA_DIR; this allows things to
18610         work better with FC3 named SELinux policy.  Also fix up silly
18611         format error.
18612
18613         * configure.in: Add --with-named-dir option.
18614
18615 2005-01-14  Colin Walters  <walters@redhat.com>
18616
18617         * configure.in: Make named support require passing --with-named.
18618
18619         * named/nm-named-manager.c: Support writing resolv.conf directly
18620         without running named.
18621
18622 2005-01-13  Dan Williams <dcbw@redhat.com>
18623
18624         * named/nm-named-manager.c
18625                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18626
18627         * src/NetworkManagerDevice.c
18628                 - Rework wireless link detection code to be more reliable
18629
18630 2005-01-12  Dan Williams <dcbw@redhat.com>
18631
18632         * initscripts/RedHat/NetworkManager
18633                 - Change initial level to "-" rather than "345" so that
18634                         we don't activate ourselves by default on install
18635
18636 2005-01-12  Dan Williams <dcbw@redhat.com>
18637
18638         * libnm_glib/
18639                 - Client library for applications using glib
18640
18641         * configure.in
18642           various Makefiles
18643                 - Split NM_CFLAGS and NM_LIBS into separate variables
18644                         like DBUS_*, HAL_* and GLIB_*
18645
18646         * src/NetworkManager.c
18647           src/NetworkManagerMain.h
18648                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18649                         broadcast a status changed signal over DBUS from the main thread.
18650                         Still unused anywhere for the moment.
18651
18652         Patch from j@bootlab.org
18653         * panel_applet/NMWirelessAppletDbus.c
18654           src/NetworkManagerDbus.c
18655                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18656                         for the "getMode" method call
18657
18658 2005-01-10  Dan Williams <dcbw@redhat.com>
18659
18660         * src/NetworkManagerDevice.c
18661                 - Minor fixups & corrections to "auto" frequency mode, make it
18662                         less chatty with syslog
18663
18664 2005-01-10  Dan Williams <dcbw@redhat.com>
18665
18666         * src/NetworkManagerDevice.c
18667                 - Implement "auto" frequency/channel support, since cards like Atheros
18668                         can't use other frequencies at all when you've told it to use a
18669                         specific one, even for scanning.
18670                 - Grab the scan mutex around places where we can't tolerate wireless
18671                         settings changing underneath us, like nm_device_wireless_network_exists()
18672                         and nm_device_activate_wireless()
18673
18674         * src/NetworkManagerWireless.c
18675                 - Back scan interval off to 20s instead of 14s
18676
18677 2005-01-09  Dan Williams <dcbw@redhat.com>
18678
18679         * src/NetworkManagerDevice.c
18680                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18681                         already set.  Stops some drivers like Atmel from continually
18682                         reloading the firmware, which they do upon every configuration
18683                         change.
18684
18685 2005-01-09  Dan Williams <dcbw@redhat.com>
18686
18687         * dhcpcd/client.c
18688                 - Use correct timeout value
18689
18690         * info-daemon/NetworkManagerInfoDbus.c
18691           src/NetworkManagerDbus.c
18692                 - Consolidate communication between NM and NMI by doing only 1 dbus
18693                         method call to get Wireless Network info from NMI instead of 6
18694
18695         * src/NetworkManager.c
18696                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18697                         when we didn't have an AP to use, we'd wait for one forever without
18698                         quitting
18699
18700         * src/NetworkManagerDevice.c
18701                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18702                         activation, dhcp might not have started yet but we don't quit activation
18703                         before starting it, so the quit signal gets lost
18704
18705 2005-01-07  Dan Williams <dcbw@redhat.com>
18706
18707         * dhcpcd/client.c
18708                 - Rework the DHCP client code to be much less chatty when
18709                         it receives non-DHCP UDP packets during the DHCP run
18710                         (reported by and preliminary patches from Bill Moss)
18711
18712         * Move wireless scanning to a separate thread.  This thread forwards the
18713                 results to the main thread when done where they are integrated into
18714                 the device's access point lists.  This keeps the main thread (which
18715                 does all the DBUS communication) from being blocked for long periods
18716                 of time by wireless scanning.
18717
18718         * Make state modification an idle routine in the main loop, and trigger
18719                 state changes rather than polling for them.
18720
18721         * src/backends/NetworkManagerGentoo.c
18722                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18723
18724         * src/NetworkManagerDevice.c
18725                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18726                         router advertisements, causing problems and infinite loop
18727                         during "best" device determination due to link going up/down
18728                         (reported by Bill Moss)
18729
18730         Apply patch from Peter Jones
18731         * src/NetworkManagerDevice.c
18732                 - Shortcut for link-checking for ipw2x00 cards
18733                 - Split out association check into separate routine
18734
18735 2004-01-05  Colin Walters  <walters@redhat.com>
18736
18737         * named/named.conf: Add PID_FILE.
18738
18739         * named/nm-named-manager.c: Always generate a pid
18740         file, since older BIND versions don't support
18741         "pid-file none".
18742
18743 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18744
18745         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18746
18747 2004-12-22  Dan Williams <dcbw@redhat.com>
18748
18749         * src/NetworkManagerDevice.c
18750                 - Silently fail when setting bitrate doesn't work
18751
18752
18753         Patches from j@bootlab.org:
18754         * src/backends/NetworkManagerDebian
18755                 - Update backend to match functionality in RedHat backend
18756         * src/NetworkManagerDevice.c
18757                 - Take down then bring up wired devices after connection so
18758                 they send out ipv6 router advertisements
18759
18760 2004-12-21  Colin Walters  <walters@verbum.org>
18761
18762         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18763         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18764
18765 2004-12-21  Colin Walters  <walters@redhat.com>
18766
18767         * configure.in: Correct named detection.
18768
18769 2004-12-21  Colin Walters  <walters@redhat.com>
18770
18771         * src/NetworkManager.c (nm_data_new): Initialize named.
18772         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18773         the mainloop when these signals are received.
18774         (nm_data_free): Unref named.
18775         (sigterm_handler, sigterm_pipe_handler): New functions for
18776         exiting mainloop.
18777         
18778         * src/NetworkManagerMain.h (NMData): Add signal handling and
18779         nameserver bits.
18780
18781         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18782         unref.
18783
18784         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18785         set nameservers from DHCP response data.
18786         (set_domain_search): Set domain search from DHCP response.
18787         (nm_device_dhcp_configure): Invoke them.
18788
18789         * src/NetworkManagerSystem.c
18790         (nm_system_device_update_resolv_conf): Delete.  Deleting
18791         code is totally sweet.
18792
18793         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18794
18795         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18796         implements an object which controls a nameserver.  Currently
18797         uses bind 9.
18798
18799         * configure.in: Check for named.
18800
18801         * Makefile.am (SUBDIRS): Add named dir.
18802
18803         * named/named.conf: New template config file.
18804
18805 2004-12-20  Colin Walters  <walters@redhat.com>
18806
18807         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18808         instead of '='.
18809
18810 2004-12-17  Dan Williams  <dcbw@redhat.com>
18811
18812         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18813                 link-local addresses instead of doing DHCP.
18814
18815         * In the panel applet, there's a new "Create new Wireless Network..." item
18816
18817         * The panel applet also sticks around now even if NetworkManager dies, but
18818                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18819                 a bug, I'll fix that later.
18820
18821         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18822                 lookups after a switch rather than actually doing them.
18823
18824         * Clean up some of those warnings in nm_ap_list_* functions
18825
18826         * Delay between scans changed to 15s instead of 10s
18827
18828 2004-12-15  Dan Williams  <dcbw@redhat.com>
18829
18830         Patch from Tom Parker
18831         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18832                 address
18833
18834         * Longer pause after setting ESSID on cards that support a larger number
18835                 of channels to give the card time to find the right channel
18836
18837         * Add system hook to restart mDNSResponder (or whatever the local implementation
18838                 of Multicast DNS is) when we activate interfaces
18839
18840 2004-12-15  Dan Williams  <dcbw@redhat.com>
18841
18842         * Rework the DHCP code again to revert to sending full ethernet frames
18843                 rather then relying on the kernel to do the right thing with our
18844                 packets.
18845
18846 2004-12-06  Dan Williams  <dcbw@redhat.com>
18847
18848         * dhcpcd/client.c
18849                 - Fix some minor errors in dhcp_handle_transaction() that caused
18850                         unexpected early timeouts of DHCP transactions
18851
18852         * dhcpcd/client.h
18853                 - DHCP retransmit time from 4s -> 5s
18854
18855 2004-12-05  Dan Williams  <dcbw@redhat.com>
18856
18857         * Major rework of the DHCP code, taking some cues from pump.  We don't
18858                 write raw Ethernet packets anymore, which simplifies the code quite
18859                 a bit.  The new code should be more robust, not hang in recvfrom()
18860                 as much, and generally work better.  This also means that we need
18861                 to force HAL/dbus to use a created GMainContext rather than the
18862                 default context, since having the DHCP renew/rebind thread using
18863                 its own GMainContext seemed to give dbus a fit.  There is also more
18864                 debugging information printed from the DHCP loop to help with future
18865                 problems.
18866
18867         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18868                 assume that the default gateway should be the DHCP server.
18869
18870         Patch from Matthew Schick <matt oss-institute org>
18871         * src/backends/NetworkManagerGentoo.c
18872                 - Fix compilation error due to missing "ip4_broadcast"
18873
18874 2004-12-03  Dan Williams  <dcbw@redhat.com>
18875
18876         * initscript/Makefile.am
18877         * initscript/Debian/NetworkManager
18878         * initscript/Gentoo/NetworkManager
18879         * initscript/RedHat/NetworkManager
18880         * initscript/NMLaunchHelper.c
18881                 - Remove NMLaunchHelper, if you need to wait until the network
18882                         comes up, use the dead code from CVS.
18883
18884 2004-12-01  Colin Walters  <walters@redhat.com>
18885         
18886         * configure.in: Suck in gcc warnings code from Rhythmbox,
18887         but use fewer default flags, and in particular add -Wno-unused,
18888         since the codebase has a lot of unused variables.
18889
18890         * test/nmtestdevices.c (create_device): 
18891         * test/nminfotest.c (get_network_string_property) 
18892         (get_networks_of_type): 
18893         * test/nmclienttest.c (main): 
18894         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18895         * initscript/NMLaunchHelper.c (get_nm_status): 
18896         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18897         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18898         Fix declarations after statements.
18899
18900 2004-12-01  Colin Walters  <walters@redhat.com>
18901
18902         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18903         (nmi_dbus_get_vpn_userpass): New method.
18904         (nmi_dbus_nmi_message_handler): Invoke it.
18905
18906         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18907
18908         * info-daemon/NetworkManagerInfoVPN.h,
18909         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18910         to requests for VPN passwords.
18911
18912         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18913
18914 2004-12-01  Colin Walters  <walters@redhat.com>
18915
18916         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18917         includes.
18918
18919 2004-12-01  Colin Walters  <walters@redhat.com>
18920
18921         * panel-applet/NMWirelessAppletDbus.c
18922         (nmwa_dbus_update_active_device_strength): Fix missing
18923         return value.
18924
18925 2004-12-01  Colin Walters  <walters@redhat.com>
18926
18927         * panel-applet/NMWirelessApplet.c: Add missing include.
18928
18929 2004-12-01  Colin Walters  <walters@redhat.com>
18930
18931         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18932         Remove useless CLAMP (); the value is unsigned, and the case tests
18933         qual->qual < 100, so the value must always be between 0 and 100.
18934
18935 2004-12-01  Colin Walters  <walters@redhat.com>
18936
18937         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18938
18939 2004-11-22  Colin Walters  <walters@verbum.org>
18940
18941         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18942         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18943         which is essentially a noop since nscd caches hosts on disk too.
18944         
18945 2004-11-22  Colin Walters  <walters@redhat.com>
18946
18947         * src/Makefile.am (NetworkManager_SOURCES): Add
18948         NetworkManagerDevicePrivate.h.
18949
18950 2004-11-22  Dan Williams <dcbw@redhat.com>
18951
18952         * src/NetworkManagerDevicePrivate.h
18953                 - Split out the NMDevice struct to a different file so that stuff like
18954                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18955
18956         * dhcpcd/client.c
18957                 - fprintf->syslog
18958                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18959                         need to cancel the dhcp request during the send and recv
18960
18961         * dhcpcd/client.h
18962                 - Move the DHCP option enum to dhcpcd.h
18963
18964         * src/NetworkManagerDHCP.c
18965                 - Split out the actual IP/netmask/etc setting code
18966                 - New Renew/Rebind functions
18967                 - New timer setup function for renew/rebind operations
18968
18969         * src/NetworkManagerDevice.c
18970                 - For device activation, if we are using DHCP then keep the activation thread
18971                         alive until device deactivation.  We need to renew/rebind the DHCP address
18972                         after the T1 (renew) and T2 (rebind) times have expired.
18973                 - Increase some timeouts after bringing wireless cards up/down
18974
18975 2004-11-17  Dan Williams <dcbw@redhat.com>
18976
18977         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18978                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18979                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18980                 show known access points that don't broadcast their ESSID in the menus without
18981                 any user intervention whatsoever.
18982
18983         * info-daemon/NetworkManagerInfoDbus.c
18984                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18985                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18986
18987         * src/NetworkManagerAP.[ch]
18988                 - Add a "user_addresses" data member to the NMAccessPoint structure
18989                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18990                         the user_addresses data member
18991
18992         * src/NetworkManagerAPList.c
18993                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18994                         the AP's reported address
18995                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18996
18997         * src/NetworkManagerDHCP.c
18998                 - Increase DHCP timeout from 25s -> 30s
18999
19000         * src/NetworkManagerDbus.[ch]
19001                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19002                         user addresses
19003
19004         * src/NetworkManagerDevice.c
19005                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19006                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19007                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19008                         So, we take the card down to clear it out.
19009                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19010                         too, since that's where the user_addresses are
19011
19012         * src/NetworkManagerPolicy.c
19013                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19014                         that wireless networks' user_addresses list upon successful activation
19015
19016 2004-11-16  Dan Williams <dcbw@redhat.com>
19017
19018         * src/NetworkManagerDevice.[ch]
19019                 - (nm_device_clear_activation_fail): new function
19020
19021         * src/NetworkManagerPolicy.c
19022                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19023                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19024
19025 2004-11-16  Dan Williams <dcbw@redhat.com>
19026
19027         * src/NetworkManagerDevice.c
19028                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19029                         leak the structure, better updating of now_scanning status
19030                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19031
19032 2004-11-15  Dan Williams <dcbw@redhat.com>
19033
19034         Major rework of link detection code.  We now use DHCP
19035         as part of the link detection which proves to be much more robust,
19036         and also supports Open System authentication for wireless networks.
19037
19038         We no longer use external DHCP client programs.  Instead, we use 
19039         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19040         which was written by:
19041                 Yoichi Hariguchi <yoichi@fore.com>
19042                 Sergei Viznyuk <sv@phystech.com>
19043                 http://www.phystech.com/download/
19044         It resides in the "dhcpcd" directory and was refactored into a general
19045         purpose DHCP client library by me.
19046
19047         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19048         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19049
19050 2004-11-15  Dan Williams <dcbw@redhat.com>
19051
19052         Patch from Tom Parker <palfrey@tevp.net>:
19053
19054         * src/NetworkManagerDevice.c
19055                 - Less output to console when no access
19056                         points are found during a scan
19057
19058 2004-11-15  Dan Williams <dcbw@redhat.com>
19059
19060         Patch from Tom Parker <palfrey@tevp.net>:
19061
19062         * src/backends/interface_parser.c
19063                 - Use g_strdup ()
19064                 - Check for inp == NULL
19065                 - use syslog ()
19066
19067 2004-11-13  Colin Walters  <walters@redhat.com>
19068
19069         Patch from Tom Parker <palfrey@tevp.net>:
19070
19071         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19072         
19073         * src/backends/NetworkManagerRedHat.c: Switch to
19074         including shvar.h instead of shvar.c.
19075
19076         * src/backends/NetworkManagerDebian.c: Don't include
19077         interface_parser.c in source file.
19078
19079         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19080         and interface_parser.[ch].
19081         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19082         Include shvar.c and shvar.h here.
19083         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19084         interface_parser.c and interface_parser.h here.
19085
19086 2004-11-12  Colin Walters  <walters@redhat.com>
19087
19088         * configure.in: Strip out TARGET_DISTRO and
19089         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19090         conditionals.
19091
19092         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19093         (libnmbackend_la_SOURCES): Use Automake conditionals
19094         to add distro-specific files.
19095
19096         * initscript/Makefile.am (SUBDIRS): Update to
19097         use conditionals.
19098
19099 2004-11-12  Colin Walters  <walters@redhat.com>
19100
19101         Patches from j bootlab org
19102
19103         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19104         Add interface_parser.[ch].
19105
19106         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19107         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19108
19109 2004-11-12  Colin Walters  <walters@redhat.com>
19110
19111         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19112         call to nmi_dbus_is_running too, not necessary anymore.
19113         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19114         pick up exit().
19115
19116 2004-11-11  Colin Walters  <walters@verbum.org>
19117
19118         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19119         Delete.
19120         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19121         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19122         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19123         This avoids a race condition that made it pretty easily
19124         possible to get two NetworkManagerInfo daemons running.
19125
19126 2004-11-11  Colin Walters  <walters@verbum.org>
19127         
19128         * src/NetworkManager.c (main): Use daemon(3).
19129
19130         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19131
19132         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19133
19134 2004-11-10 Dan Williams <dcbw@redhat.com>
19135
19136         Patches from j bootlab org
19137         * src/NetworkManagerDevice.c
19138                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19139                         whether the card has a link or not, some cards are slow
19140                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19141
19142         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19143                 - Disable the "Login" button on the passphrase dialog until the user
19144                         enters a valid passphrase or key
19145
19146         Patches from Tom Parker <palfrey tevp net>
19147         * src/backends/NetworkManagerDebian.c
19148                 - Add static IP support to the debian backend
19149
19150         * src/backends/interface_parser.[ch]
19151                 - Parse debian interface config files
19152
19153 2004-11-08 Dan Williams <dcbw@redhat.com>
19154
19155         * src/NetworkManagerDevice.c
19156                 - Some random fprintf->syslog conversions
19157                 - (nm_device_wireless_network_exists): double-check for network
19158                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19159
19160         * src/NetworkManagerWireless.[ch]
19161                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19162                         so that the binary->ascii conversion works (if unsigned, the bitshift
19163                         will fill with zeros, which is what's required).  Also mask bitshift
19164                         result with 0xF for futher assurance.
19165
19166 2004-11-06 Dan Williams <dcbw@redhat.com>
19167
19168         * src/NetworkManagerUtils.c
19169                 - (nm_get_wireless_driver_support_level): default to
19170                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19171                         flip this when changing from whitelist->blacklist of
19172                         wireless drivers
19173
19174 2004-11-05 Dan Williams <dcbw@redhat.com>
19175
19176         Patch from Robert Paskowitz:
19177         * src/backends/NetworkManagerGentoo.c
19178                 - Update static IP config code
19179
19180 2004-11-05 Dan Williams <dcbw@redhat.com>
19181
19182         * info-daemon/NetworkManagerInfoDbus.c
19183           src/NetworkManagerDbus.[ch]
19184           src/NetworkManagerDevice.c
19185                 - Keep track of the # of attempts to get the WEP key
19186                         from the user and pass that along to the info daemon
19187
19188 2004-11-05 Dan Williams <dcbw@redhat.com>
19189
19190         * src/NetworkManagerUtils.c
19191                 - Blacklist wireless cards rather than whitelisting them.
19192                 - Grab driver name from HAL rather than trying to find it
19193                         ourselves.
19194
19195 2004-11-03 Dan Williams <dcbw@redhat.com>
19196
19197         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19198                 - Disable OK button until valid data is entered
19199                         for encryption stuff too
19200
19201         * panel-applet/NMWirelessApplet.c
19202                 - Report card strength for current AP if the card
19203                         doesn't report strength data for scanned access
19204                         points
19205
19206         * src/NetworkManagerDevice.c
19207                 - Smooth out cards reported quality, Atmel card was
19208                         intermittently reporting no quality data but soon
19209                         recovers
19210
19211         * src/NetworkManagerWireless.c
19212                 - Better quality data percentage calculation.  Atmel
19213                         cards (mine at least) seem to report the quality
19214                         in percentage format already, so honor that
19215
19216         Patch from <j@bootlab.org>
19217         * NetworkManager.h
19218           info-daemon/NetworkManagerInfoPassphraseDialog.c
19219           info-daemon/passphrase.glade
19220           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19221           panel-applet/essid.glade
19222           src/NetworkManagerAP.c
19223           src/NetworkManagerDevice.c
19224           src/NetworkManagerWireless.[ch]
19225                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19226
19227 2004-11-03 Dan Williams <dcbw@redhat.com>
19228
19229         * src/NetworkManagerDevice.[ch]
19230                 - (nm_device_set_enc_key): Add parameter to set Authentication
19231                         Mode (Open System, Shared Key, or None).  We're still using
19232                         Shared Key for now though.
19233
19234 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19235
19236         * panel-applet/menu-info.c: change from bold text to light
19237         colored, may cause problems with some themes, i've tested a lot
19238         and they seem fine. 
19239
19240         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19241
19242 2004-11-01  Colin Walters  <walters@verbum.org>
19243
19244         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19245         (nm_wireless_128bit_key_from_passphrase): Add const.
19246
19247         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19248         (nm_ap_set_enc_key_source): Add const.
19249         
19250 2004-11-01  Colin Walters  <walters@verbum.org>
19251
19252         * .cvsignore: Update.
19253
19254 2004-10-29 Dan Williams <dcbw@redhat.com>
19255
19256         * src/NetworkManagerDevice.c
19257                 - (nm_device_wireless_network_exists): Actually use the encryption
19258                         key we got from the applet when attempting to find a wireless network
19259                 - Don't bring devices down so much since on some cards it triggers
19260                         firmware hotplugs each time
19261
19262         * src/NetworkManagerDbus.c
19263                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19264                         from the caller
19265
19266 2004-10-29 Dan Williams <dcbw@redhat.com>
19267
19268         * src/NetworkManager.c
19269                 - (nm_hal_device_property_modified): unlock a locked active
19270                         wireless device when a wired connection gets a link.
19271                         (Means you'll switch to wired whenever you plug in no
19272                         matter what).
19273
19274 2004-10-29 Dan Williams <dcbw@redhat.com>
19275
19276         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19277                 - New files, implement the "Other wireless network" dialog
19278
19279         * panel-applet/NMWirelessApplet.c
19280                 - Move "other wireless network" dialog to separate file
19281
19282         * panel-applet/NMWirelessAppletDbus.[ch]
19283                 - Take key and key_type paramaters for the set_device function
19284
19285         * panel-applet/essid.glade
19286                 - Add UI bits for encryption settings
19287
19288         * src/NetworkManagerDbus.c
19289                 - Retrieve key and key_type params for "setActiveDevice" method call
19290                         and pass them on
19291                 - unref AP returned from nm_device_get_best_ap() when needed
19292
19293         * src/NetworkManagerDevice.c
19294                 - (nm_device_get_best_ap): ref the ap before returning it
19295                 - unref AP returned from nm_device_get_best_ap() when needed
19296                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19297                         need to call nm_device_get_best_ap() here, it was pretty much
19298                         redundant anyway
19299                 - (AP_NEED_KEY): break second link check condition out into separate
19300                         function, and fix segfault when ap->enc_key_source was NULL
19301                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19302                         pass them along to nm_device_wireless_network_exists().  If the
19303                         network does exist, set the passed-in key+key_type on the AP
19304
19305         * src/NetworkManagerPolicy.c
19306                 - unref AP returned from nm_device_get_best_ap() when needed
19307
19308 2004-10-28 Dan Williams <dcbw@redhat.com>
19309
19310         * src/NetworkManagerUtils.c
19311                 - (nm_spawn_process): Fix a potential dereference of NULL
19312
19313         Patches from Peter Jones:
19314
19315         * src/NetworkManagerDevice.c
19316                 - (nm_device_test_wireless_extensions): Better check for
19317                         wireless devices
19318
19319         * src/NetworkManagerUtils.c
19320                 - (nm_spawn_process): Pass in valid stdout and stderr so
19321                         executed programs don't randomly SIGPIPE and fail
19322                 - (nm_get_wired_driver_support_level): quash hal warning
19323                         when checking for USB ethernet device
19324
19325 2004-10-27 Dan Williams <dcbw@redhat.com>
19326
19327         * info-daemon/NetworkManagerInfo.c
19328           info-daemon/NetworkManagerInfoDbus.c
19329           info-daemon/NetworkManagerInfoPassphraseDialog.c
19330           panel-applet/NMWirelessApplet.c
19331                 - Properly escape gconf keys
19332
19333         * src/NetworkManager.c
19334                 - remove unused variables
19335
19336         * src/NetworkManagerAP.c
19337                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19338                         refcount since it got set in nm_ap_new()
19339
19340         * src/NetworkManagerAPList.c
19341                 - (nm_ap_list_combine): Give up ownership of newly created
19342                         access points to the ap list, fixes memleak
19343
19344         * src/NetworkManagerDevice.c
19345                 - Remove cached_ap_list4 member since its not really needed
19346                 - (nm_device_wireless_network_exists): Try to get correct
19347                         encryption status of a found AP if its already in our
19348                         device list
19349                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19350                         memory allocs/deallocs a bit clearer and shorter-lived
19351
19352 2004-10-26 Ray Strode <rstrode@redhat.com>
19353
19354         * panel-applet/NMWirelessApplet.c:
19355           (custom_essid_item_selected):  kill some compiler
19356         warnings 
19357
19358 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19359
19360         * info-daemon/NetworkManagerInfoDbus.c
19361                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19362                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19363
19364 2004-10-23 Dan Williams <dcbw@redhat.com>
19365
19366         * info-daemon/NetworkManagerInfoDbus.c
19367                 - Trap the "DeviceActivationFailed" signal
19368
19369         * docs/NetworkManager DBUS API.txt
19370                 - Add "DeviceActivationFailed" signal
19371
19372         * panel-applet/NMWirelessAppletDbus.c
19373                 - Quash the "NetworkManager service not available" message
19374
19375         * src/NetworkManagerDbus.[ch]
19376                 - Add the "DeviceActivationFailed" signal
19377
19378         * src/NetworkManagerDevice.c
19379                 - Add support for activation_failed flag
19380                 - Fix deadlock where activation thread didn't clean itself up, making
19381                         main thread still believe it was alive forever (didn't reset activation
19382                         flags like activating, just_activated, etc when IP configuration
19383                         failed)
19384
19385         * src/NetworkManagerPolicy.c
19386                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19387                         for wireless networks, try to fall back to some other access point
19388
19389 2004-10-23 Dan Williams <dcbw@redhat.com>
19390
19391         * panel-applet/NMWirelessApplet.[ch]
19392                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19393                         to the applet object, so we can get tooltips
19394                 - Add tooltips (RH #136866)
19395
19396         * src/NetworkManagerDevice.c
19397                 - When trying to find a wireless network, try to connect with encryption
19398                         turned on first, so that we can more accurately detect whether or not
19399                         we need to use encryption for the actual association later on
19400
19401 2004-10-21 Dan Williams <dcbw@redhat.com>
19402
19403         * Add some support for telling NetworkManagerInfo to tell the user
19404                 that they are using a device that's not fully supported
19405
19406         * Fix some assertions in debug messages due to null access point args
19407
19408 2004-10-21 Dan Williams <dcbw@redhat.com>
19409
19410         * src/NetworkManagerDevice.c
19411                 - Don't try to activate/bring up/down unsupported
19412                         devices
19413
19414         * src/NetworkManagerUtils.c
19415                 - Fix case of PCI ID checks for driver support levels
19416
19417 2004-10-21 Dan Williams <dcbw@redhat.com>
19418
19419         * NetworkManager.h
19420                 - New file, now contains commonly used structures and bits
19421                         for the dbus API of NetworkManager
19422
19423         * Makefile.am
19424                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19425
19426         * src/NetworkManager.h
19427                 - Rename -> src/NetworkManagerMain.c
19428
19429         * Various fixups all around to use NetworkManager.h and new
19430                 src/NetworkManagerMain.h, remove redundant bits that got
19431                 moved into NetworkManager.h
19432
19433         * src/NetworkManagerDevice.[ch]
19434           src/NetworkManagerUtils.[ch]
19435           src/NetworkManagerPolicy.c
19436           src/NetworkManagerDbus.c
19437                 - Whitelist wireless drivers, and blacklist some wired
19438                         drivers.  Also blacklist cipsec and ethernet-over-usb
19439                         devices at this time (RH #135722, RH #135648)
19440                 - Don't leak unsupported devices out over dbus, or allow
19441                         them to be set as the active device.  Skip over them
19442                         during automatic device picking
19443
19444         * test/nmclienttest.c
19445                 - Clean up the dbus code a lot
19446
19447 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19448
19449         * configure.in: post release bump.
19450
19451 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19452
19453         * configure.in:
19454         * NEWS: Released NetworkManager-0.3.1
19455
19456 2004-10-18 Dan Williams <dcbw@redhat.com>
19457
19458         Patches from Thom May:
19459         * test/nmtestdevices.c
19460                 - Include <string.h>
19461         * src/backends/NetworkManagerDebian.c:
19462                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19463                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19464                         Move to using g_strdup_printf rather than arbitrary buffers
19465                 - (nm_system_device_setup_static_ip4_config) Implement function.
19466                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19467
19468 2004-10-17 Dan Williams <dcbw@redhat.com>
19469
19470         * info-daemon/NetworkManagerInfoDbus.c
19471                 - Display name of network in the "network not found" dialog
19472
19473         * panel-applet/NMWirelessAppletDbus.c
19474                 - (nmwa_dbus_call_nm_method): new function replaces all other
19475                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19476                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19477                         consolidated into nmwa_dbus_get_object_name()
19478
19479 2004-10-15 Dan Williams <dcbw@redhat.com>
19480
19481         * src/NetworkManagerDbus.c
19482           info-daemon/NetworkManagerInfoDbus.c
19483                 - Display an error dialog when the user tries to use an
19484                         "Other wireless network" that's not found.
19485
19486 2004-10-15 Dan Williams <dcbw@redhat.com>
19487
19488         * panel-applet/NMWirelessApplet.[ch]
19489                 - Fix up corner cases in applet state, making it
19490                         look more responsive.  Change state to "connecting" when
19491                         the user is forcing a device too.
19492
19493 2004-10-15 Dan Williams <dcbw@redhat.com>
19494
19495         * src/NetworkManagerAPList.c
19496                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19497
19498         * src/NetworkManagerDbus.c
19499                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19500
19501         * src/NetworkManagerDevice.c
19502                 - Disown APs after the device's AP list takes ownership
19503
19504 2004-10-15 Dan Williams <dcbw@redhat.com>
19505
19506         * panel-applet/NMWirelessApplet.c
19507                 - Update our applet state from the GUI thread
19508
19509         * panel-applet/NMWirelessAppletDbus.c
19510                 - Greatly simplify the locking to make the GUI thread
19511                         smoother.  Update a private copy of the device list
19512                         and active device and only when done talking to
19513                         NetworkManager turn it over to the GUI thread.
19514
19515 2004-10-15 Dan Williams <dcbw@redhat.com>
19516
19517         * src/NetworkManagerAP.[ch]
19518                 - Add "artificial" get/set functions, set for APs that
19519                         aren't discovered as part of a scan but instead
19520                         discovered by force-setting the ESSID
19521
19522         * src/NetworkManagerDevice.[ch]
19523                 - (nm_device_wireless_network_exists): pass back whether
19524                         or not the discovered AP was encrypted.  Also, try
19525                         falling back to encrypted mode on the card if unencrypted
19526                         association doesn't work
19527                 - (nm_device_find_and_use_essid): If the network requested
19528                         did in fact exists, but it wasn't in our scan list, add
19529                         an "artificial" entry for it.  Some Cisco cards don't
19530                         see non-ESSID-broadcasting APs in their scan but can still
19531                         associate with them if you know the ESSID, this works around
19532                         that behavior
19533                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19534                         to scan if the card is currently associated with that AP
19535
19536 2004-10-15 Dan Williams <dcbw@redhat.com>
19537
19538         ---- We have a website ----
19539         http://people.redhat.com/dcbw/NetworkManager
19540
19541         Patch from Robert Paskowitz:
19542         * src/NetworkManager.c
19543                 - (main): Make sure we are run as root
19544         * src/NetworkManagerDevice.c
19545                 - Fix type in ad-hoc setting function
19546
19547         Patch from Thom May:
19548         * src/backends/NetworkManagerDebian.c
19549                 - Make Debian backend compile again
19550
19551 2004-10-14 Dan Williams <dcbw@redhat.com>
19552
19553         * Tagged NetworkManager-0_3
19554
19555 2004-10-14 Dan Williams <dcbw@redhat.com>
19556
19557         Patch from Robert Paskowitz:
19558         * NEWS
19559           src/NetworkManagerDevice.[ch]
19560           src/backends/NetworkManagerDebian.c
19561           src/backends/NetworkManagerGentoo.c
19562           src/backends/NetworkManagerRedHat.c
19563           src/backends/NetworkManagerSlackware.c
19564                 - Add support for grabbing and using a broadcast address
19565                         from system config files
19566                 - Some Gentoo backend fixes for grabbing network config
19567                 - Fix LOG_WARN->LOG_WARNING
19568
19569 2004-10-14 Dan Williams <dcbw@redhat.com>
19570
19571         * NEWS: a few small fixes in the credits
19572
19573 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19574
19575         * NEWS: prep for release.
19576
19577 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19578
19579         * panel-applet/NMWirelessAppletDbus.c
19580         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19581
19582 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19583
19584         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19585         applet->state == APPLET_STATE_NO_NM animation.
19586
19587         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19588         set the text correctly.
19589
19590 2004-10-14 Dan Williams <dcbw@redhat.com>
19591
19592         * src/NetworkManager.c
19593                 - Only accept and manager 802.3 and 802.11 devices
19594
19595         * src/NetworkManagerDbus.[ch]
19596                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19597                         logic into NetworkManagerDevice.c
19598                 - (nm_dbus_network_status_from_data): new function
19599                 - (nm_dbus_signal_network_status_change): new function, unused for now
19600                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19601
19602         * src/NetworkManagerDevice.[ch]
19603                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19604                         a random ESSID.
19605
19606 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19607
19608         * info-daemon/NetworkManagerInfo.c 
19609                 - (main): Added session management
19610
19611 2004-10-14 Dan Williams <dcbw@redhat.com>
19612
19613         * panel-applet/NMWirelessAppletDbus.[ch]
19614                 - Expose network_device_[un]ref()
19615                 - Expose wireless_network_[un]ref()
19616                 - (wireless_network_new_with_essid): new function, create and return
19617                         a wireless network with a particular essid
19618
19619         * panel-applet/NMWirelessApplet.c
19620                 - Hook up the "other network" dialog to do something
19621
19622 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19623
19624         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19625         doesn't work yet, but it looks okay.
19626
19627         * panel-applet/icons/*png: Resize to 22x22 and install in the
19628         right place.
19629
19630 2004-10-13 Dan Williams <dcbw@redhat.com>
19631
19632         * panel-applet/NMWirelessApplet.c
19633                 - Add function to print out applet_state in a readable
19634                         manner
19635
19636         * src/NetworkManager.c
19637                 - (main): Don't segfault when nm_dbus_init() fails, we had
19638                         a left-over call to hal_shutdown() into which we passed NULL
19639
19640         * src/NetworkManagerAP.c
19641                 - (nm_ap_set_essid): Allow NULL essids
19642
19643         * src/NetworkManagerAPList.[ch]
19644                 - More use of nm_ap_list_[un]lock ()
19645                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19646                         network/essid, just return nothing.  Also skip over NULL
19647                         essid access points in the list when searching
19648                 - (nm_ap_list_get_ap_by_address): new function
19649                 - (nm_ap_list_update_network): set the access point's key source to
19650                         NULL when the key returned from NetworkManagerInfo is NULL or
19651                         of 0 length
19652                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19653                         copy timestamp over too
19654                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19655                         find the correct ESSID for a blank-essid access point by searching
19656                         through another list and matching access point MAC addresses
19657                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19658
19659         * src/NetworkManagerDbus.c
19660                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19661                         may specify.  This is mainly for access points that don't
19662                         broadcast their essid.  So if the user tells us to associate with
19663                         some random ESSID that's not in our access point list, we find
19664                         out if the access point does in fact exist (by attempting association
19665                         and then matching that access point's MAC address with the essid the
19666                         user gave us) and then we switch to it.
19667                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19668                         to the returned list of networks for the "getNetworks" method
19669
19670         * src/NetworkManagerDevice.[ch]
19671                 - Extra debugging info for link detection
19672                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19673                         based on MAC address
19674                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19675                 - (nm_device_wireless_network_exists): new function, find out whether
19676                         a random ESSID exists by attempting to associate with it
19677                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19678                         device list as long as they have an AP MAC address we can use.
19679                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19680                         devices too.  Lets the applet update more frequently.
19681
19682         * src/backends/NetworkManagerGentoo.c
19683                 - Patch from: Robert Paskowitz
19684                         - Update backend code for Gentoo
19685                         - Implement nm_system_device_update_config_info ()
19686
19687         * test/nmclienttest.c
19688                 - (set_network_device): new function, takes a command-line argument
19689                         and tells NetworkManager to use that wireless network
19690
19691 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19692
19693         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19694         if the notification icon crashes 5 times within 5 seconds of each respawn 
19695
19696 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19697
19698         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19699         g_print.
19700
19701 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19702
19703         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19704
19705         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19706         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19707         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19708         Change the name of the icons.
19709
19710         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19711         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19712         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19713         (nm_menu_wireless_expose_event): Really bad hack to get the style
19714         to draw in the right color.
19715
19716 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19717
19718         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19719         Notification if it crashes
19720
19721 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19722
19723         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19724         (nmwa_dbus_get_string): remove unused functions
19725
19726         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19727         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19728         remove unused functions
19729
19730         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19731
19732 2004-10-12 Dan Williams <dcbw@redhat.com>
19733
19734         * panel-applet/NMWirelessAppletDbus.c
19735                 - New functions:
19736                         wireless_network_new
19737                         wireless_network_copy
19738                         network_device_new
19739                         network_device_copy
19740
19741         * src/NetworkManagerDevice.[ch]
19742                 - New functions:
19743                         nm_device_set_mode_managed
19744                         nm_device_set_mode_adhoc
19745                 - Use these functions where appropriate
19746                 - When creating a new wireless device, force the card
19747                         to managed/Infrastructure mode as soon as possible
19748
19749 2004-10-12 Dan Williams <dcbw@redhat.com>
19750
19751         * src/NetworkManagerDevice.c
19752                 - Force wireless cards into Infrastructure mode before we use them
19753
19754 2004-10-12 Dan Williams <dcbw@redhat.com>
19755
19756         * TODO
19757                 - Remove bit about static IP address support
19758
19759         * src/NetworkManagerUtils.c
19760                 - (nm_spawn_process): Add some error reporting
19761
19762         * src/NetworkManagerDevice.c
19763                 - (nm_device_activation_configure_ip): hook up to the static config
19764                         routines in the backends
19765
19766         * src/backends/NetworkManagerRedHat.c
19767                 - (nm_system_device_update_config_info): use shvar.c routines to
19768                         parse the config file iformation, not our own
19769                 - (nm_system_device_setup_static_ip4_config): new function, based
19770                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19771                         with a static IP address and gateway
19772
19773         * src/backends/shvar.[ch]
19774                 - Parser (filched from initscripts package) for ifcfg-* files
19775
19776         * src/backends/NetworkManagerSystem.h
19777           src/backends/NetworkManagerGentoo.c
19778           src/backends/NetworkManagerDebian.c
19779           src/backends/NetworkManagerSlackware.c
19780                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19781
19782 2004-10-11 Dan Williams <dcbw@redhat.com>
19783
19784         * TODO
19785                 - Remove bit about more robust AP diffing since I just implemented it
19786
19787 2004-10-11 Dan Williams <dcbw@redhat.com>
19788
19789         * src/NetworkManagerAP.c
19790                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19791                         enough RAM to allocate new AP structures, but return NULL instead
19792
19793         * src/NetworkManagerAPList.[ch]
19794                 - (nm_ap_list_is_empty): new function
19795                 - (nm_ap_list_combine): new function, combine two access point lists
19796                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19797                         into another
19798
19799         * src/NetworkManagerDevice.[ch]
19800                 - Rename some functions to be clearer:
19801                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19802                         nm_device_just_activated     -> nm_device_is_just_activated
19803                         nm_device_activating         -> nm_device_is_activating
19804                         nm_device_now_scanning       -> nm_device_is_scanning
19805                 - Cache the last 4 scans so that the access point list is more stable.
19806                         We combine the lastest two scans and use that as the AP list,
19807                         and diff that combined list against the combination of the earliest
19808                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19809
19810 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19811
19812         * info-daemon/NWManagerInfo.h
19813                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19814
19815         * info-daemon/NWManagerInfoDbus.c
19816                 - (shutdown_callback): new function
19817                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19818                         if NetworkManager goes away.  Kill the timeout
19819                         if NetworkManager restarts before the 30 seconds
19820                         are up.
19821                 - (nmi_dbus_service_init): 
19822                         - call gtk_main_quit if NetworkManager is not running
19823                         - add filters to monitor dbus service creations and
19824                                 deletions
19825         
19826 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19827
19828         * panel-applet/NMWirelessApplet.c
19829                 - (nmwa_update_state): Hide notification icon if we are only
19830                         showing one wired card and no wireless interfaces 
19831                         (Red Hat Bug #134895)
19832
19833         * panel-applet/NMWirelessAppletDbus.c
19834                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19835
19836         * info-daemon/NWManagerInfo.c
19837                 - (main): Terminated the notification_icon_cmd array with a NULL
19838
19839 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19840
19841         * configure.in (ALL_LINGUAS): Added de (German).
19842
19843 2004-10-08 Dan Williams <dcbw@redaht.com>
19844
19845         * src/NetworkManagerDevice.c
19846                 - Be a bit more robust about link checking, ie make sure that
19847                         the WEP key we were given actually has some data in it
19848
19849 2004-10-08 Dan Williams <dcbw@redhat.com>
19850
19851         * info-daemon/NetworkManagerInfo.c (main):
19852                 - Initialize GError object to NULL
19853
19854 2004-10-08 Dan Williams <dcbw@redhat.com>
19855
19856         * panel-applet/NMWirelessAppletDbus.c
19857                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19858
19859 2004-10-08 Dan Williams <dcbw@redhat.com>
19860
19861         * info-daemon/NetworkManagerInfo.[ch]
19862           info-dameon/NetworkManagerInfoDbus.[ch]
19863           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19864                 - Preserve original label text in the passphrase dialog so that
19865                         it actually gets updated with the new network name the next
19866                         time around.  Previously, we were overwriting it so you'd get
19867                         the wrong network name to enter a key for
19868                 - Add a "Key Type" combo to the passphrase dialog, user selects
19869                         encryption key type now, type is stored in GConf too
19870                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19871
19872         * src/NetworkManagerAP.[ch]
19873                 - Remove all the encyption method magic.  It's now set by the user
19874                         and NetworkManager retrieves the type of encryption key from
19875                         NetworkManagerInfo
19876
19877         * src/NetworkManagerAPList.[ch]
19878           src/NetworkManagerDbus.[ch]
19879                 - Adjust to new way of setting encryption key and method
19880                 - Pull encryption method down from NMI along with key
19881
19882         * src/NetworkManagerDevice.[ch]
19883                 - Removed encryption method fallback magic as the method is now
19884                         determined by the user.  This greatly simplifies the connection
19885                         logic.
19886                 - More robust connection/link logic.  Besides removing the encryption
19887                         method fallback magic, check whether or not the card is receiving
19888                         invalidly encrypted packets, which usually indicates that we have
19889                         a bad WEP key set.
19890                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19891
19892         * test/nminfotest.c
19893                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19894
19895 2004-10-07 Dan Williams <dcbw@redhat.com>
19896
19897         * info-daemon/NetworkManagerInfo.conf
19898                 - Allow root user to run NMI too
19899
19900 2004-10-06 Dan Williams <dcbw@redhat.com>
19901
19902         * src/NetworkManagerDevice.[ch]
19903           src/NetworkManagerDbus.c
19904           doc/NetworkManager DBUS API.txt
19905                 - Add a new status tag "scanning", which is set when there
19906                         is no active network connection, but NetworkManager is
19907                         looking for an access point to associate with
19908
19909         * panel-applet/main.c
19910                 - Cast the applet appropriately for gtk_widget_show_all ()
19911
19912 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19913
19914         * panel-applet/eggtrayicon.[ch]:
19915         * panel-applet/main.c: Add missing file
19916
19917 2004-10-04 Dan Williams <dcbw@redhat.com>
19918
19919         * src/NetworkManagerDevice.[ch]
19920                 - Add a slightly more robust method of determining if the WEP key
19921                         is correct or not, by checking the WEP-discarded packet count
19922                         on the card
19923
19924         * info-daemon/NetworkManagerInfo.c
19925                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19926                         un-escape values we pull out rather than escaping them
19927
19928 2004-10-03  Marcel Telka  <marcel@telka.sk>
19929
19930         * configure.in (ALL_LINGUAS): Added sk.
19931
19932 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19933
19934         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19935         and feel.  We should be back to working, and have a good, clean
19936         look.
19937
19938 2004-09-30 Dan Williams <dcbw@redhat.com>
19939
19940         * info-daemon/NetworkManagerInfo.c
19941           info-daemon/NetworkManagerInfoDbus.c
19942           test/nminfotest.c
19943                 - Escape ESSIDs in gconf
19944
19945         * src/NetworkManagerDevice.c
19946                 - Fix pseudo-scanning to use netowrk list from info daemon
19947
19948 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19949
19950         * configure.in: Add a temporary --enable-notification-icon.  This
19951         will prolly go away.
19952
19953         * info-daemon/Makefile.am:
19954         * info-daemon/NetworkManagerInfo.c:
19955         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19956
19957         * panel-applet/Makefile.am:
19958         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19959         * panel-applet/NMWirelessApplet.h:
19960
19961 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19962
19963         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19964         before 'select custom ESSID'.
19965
19966         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19967         fully complete, but syncing in prep for merge.
19968
19969         * panel-applet/icons/*png: New images
19970
19971 2004-09-28 Dan Williams <dcbw@redhat.com>
19972
19973         * src/NetworkManager.c
19974           src/NetworkManagerDevice.c
19975           src/NetworkManagerPolicy.c
19976                 - Don't blow away an active wired connection on startup
19977
19978 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19979
19980         Changes from J5
19981         
19982         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19983
19984         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19985         syslog output
19986
19987 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19988
19989         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19990         have a wireless card.
19991
19992 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19993
19994         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19995         Also, get the right device strings.
19996
19997 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19998
19999         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20000         the logic to make this right.
20001
20002         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20003         devices so that wired networks are always first.
20004
20005 2004-09-22    <clarkbw@cvs.gnome.org>
20006
20007         * initscript/Debian/.cvsignore:
20008         * initscript/Slackware/.cvsignore:
20009         Added new cvsignores for Makefile, Makefile.in
20010         
20011         * test/.cvsignore:
20012         Added nmtestdevices
20013         
20014         * src/NetworkManagerDevice.c: 
20015         * src/NetworkManager.c: 
20016         Updated the wireless/wired HAL device strings from net.ethernet to
20017         net.80203 or net.80211 depending on wired or wireless respectively
20018         
20019         * examples/python/NetworkManager.py: 
20020         s/Quality/Strength/
20021
20022         * examples/python/systray/network_tray.py:
20023         Lots of little changes and fixes.  been rotting for a while so I
20024         figured I'd finally sync them all with CVS
20025
20026 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20027
20028         * configure.in: Add graphics
20029
20030         * panel-applet/Makefile.am: Add graphics
20031
20032         * panel-applet/icons/*: Add graphics
20033
20034         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20035         the icons fully lined up.
20036
20037         * panel-applet/menu-info.c: 
20038         * panel-applet/menu-info.h: Add another menu type.
20039
20040 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20041
20042         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20043
20044         * panel-applet/menu-item.[ch]: Wireless menu item.
20045
20046 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20047
20048         * info-daemon/NetworkManagerInfo.conf
20049                 - Created a more robust security policy for the DBus service
20050                         - everything is denied by default
20051                         - root can own and send to the service
20052                         - users logged in at the console can send to the service
20053
20054 2004-09-13  Dan Williams <dcbw@redhat.com>
20055
20056         * src/NetworkManagerDevice.c
20057                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20058                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20059                         the latter
20060
20061 2004-09-13  Dan Williams <dcbw@redhat.com>
20062
20063         * TODO: fix typo
20064
20065         * docs/NetworkManager DBUS API.txt
20066                 - Update for new signal strength changes
20067
20068         * panel-applet/NMWirelessApplet.c
20069                 - Make panel icon show strength of the current connection
20070                 - Cleanups and memleak fixes
20071
20072         * panel-applet/NMWirelessApplet.h
20073                 - Add data members for signal strength on devices and networks
20074
20075         * panel-applet/NMWirelessAppletDbus.c
20076                 - Free more DBusErrors
20077                 - Update for new signal strength changes
20078                 - Make devices and networks more like real objects, use ref/unref methods
20079                 - Actually unlock the mutex when updating the active device
20080
20081         * src/NetworkManagerAP.c
20082                 - Change AP functions and data members from "quality"->"strength"
20083
20084         * src/NetworkManagerDbus.c
20085                 - Kill "getMaxQuality" and "getQuality" methods
20086                 - Add "getStrength" methods for Networks and Devices
20087
20088         * src/NetworkManagerDevice.[ch]
20089                 - Add accessors for device strength
20090                 - Add functions to update strength for a device.  Note that not all drivers
20091                         actually support signal strength for scanned access points (Atmel drivers
20092                         being one)
20093                 - Calculate signal strength for each AP during scan
20094
20095         * src/NetworkManagerWireless.[ch]
20096                 - Add function to return signal strength % from a device and a raw quality struct
20097
20098         * test/nmclienttest.c
20099                 - Update for new signal strength changes
20100
20101 2004-09-11  Dan Williams <dcbw@redhat.com>
20102
20103         * src/NetworkManager.c
20104                 - Fix race condition between initscripts and NM on card insertion
20105                         which could cause a card to keep an IP address and routes around
20106                         even when it was not the active device
20107
20108         * src/NetworkManagerDbus.c
20109                 - Fix compile errors, free more DBusErrors
20110
20111 2004-09-11  Dan Williams <dcbw@redhat.com>
20112
20113         * docs/NetworkManager DBUS API.txt
20114                 - Add an explanation of NM's API
20115
20116         * src/NetworkManagerDbus.c
20117                 - Free some more DBusErrors if needed
20118
20119 2004-09-11  Dan Williams <dcbw@redhat.com>
20120
20121         * panel-applet/NMWirelessApplet.c
20122           panel-applet/NMWirelessAppletDbus.c
20123                 - Start using NetworkDevice/WirelessNetwork structures in more places
20124                 - Update for unified device/network forcing in NetworkManager
20125
20126         * src/NetworkManager.c
20127                 - some code consolidation
20128
20129         * src/NetworkManagerDbus.c
20130                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20131                         or two arguments:  the first is the NM ID of the device to switch to,
20132                         and the second (optional) argument is the ESSID of a wireless network
20133                         to use as well.
20134                 - Get rid of "setNetwork" method due to above change
20135
20136         * src/NetworkManagerDevice.c
20137                 - (nm_device_new): perform scan and update best AP on device creation
20138                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20139                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20140                         spin waiting for cancellation to finish before returning
20141
20142         * src/NetworkManagerPolicy.c
20143                 - Changes here clarify the situations in which a device switch occurs, and 
20144                         make sure to keep using a forced device and network if the user gives
20145                         us one
20146                 - Remove old unused code
20147
20148 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20149
20150         * configure.in: Added Danish (da) to ALL_LINGUAS.
20151
20152 2004-09-09  Dan Williams <dcbw@redhat.com>
20153
20154         * panel-applet/NMWirelessAppletDbus.c
20155                 - Pull fresh devices and networks from NM when wireless networks
20156                         change.  Provides faster feedback of a forced wireless network
20157
20158         * src/NetworkManagerDbus.c
20159                 - Return error when "getMaxQuality" is called on a wired device
20160                 - Make best_ap freezing actually work again, and signal cancellation
20161                         of activation if there's already a device activation when the user
20162                         freezes the best_ap
20163
20164         * src/NetworkManagerDevice.c
20165                 - Don't clear out the best_ap for wireless devices when the link goes
20166                         down, that's done elsewhere
20167                 - Kill any dhcp daemons when cancelling device activation since they
20168                         may be stuck waiting for a DHCP address, and since we're cancelling
20169                         activation we don't care about that anymore
20170
20171         * src/NetworkManagerPolicy.c
20172                 - Make sure to unref the device we ref earlier (we refed it to make sure
20173                         it stuck around during device activation and such)
20174                 - If we were going to change the best device, but its activating currently
20175                         (and therefore the change didn't occur due to the check earlier)
20176                         we mark the state changed to we come back to it later when device
20177                         activation has canceled and its no longer activating
20178
20179         * src/backends/NetworkManagerRedHat.c
20180                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20181
20182 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20183
20184         * info-daemon/passphrase.glade: 
20185         set passphrase input to activates_default : True
20186
20187         * examples/python/systray/network_tray.py
20188         (network_tray.sort_networks):
20189
20190         Added support for having wireless always scanning
20191
20192 2004-09-09  Dan Williams <dcbw@redhat.com>
20193
20194         NOTE: this commit changes the behavior of wireless devices in
20195         NetworkManager.  They are now up all the time, scanning all
20196         the time.  Only the active device has an IP address and routing
20197         information set up however.  Also, NetworkManager will no longer
20198         opportunistically switch wireless networks when a better one
20199         comes in range, it will remain associated with one wireless network
20200         until that one drops out.
20201
20202         * panel-applet/NMWirelessApplet.c
20203           panel-applet/NMWirelessAppletDbus.c
20204                 - List all wireless cards and their respective networks
20205
20206         * src/NMLoadModules
20207                 - Use full path to /sbin/ip
20208
20209         * src/NetworkManager.c
20210                 - Keep wireless devices up all the time so they can scan
20211
20212         * src/NetworkManagerDbus.c
20213                 - On a WirelessNetworkUpdate signal from NMI, don't update
20214                         the "best" AP
20215
20216         * src/NetworkManagerDevice.c
20217                 - (nm_device_set_link_active): clear out the best ap for
20218                         wireless devices when the link is set to FALSE
20219                 - Scan on all wireless cards, all the time
20220                 - (nm_device_activation_worker): split out the wireless card
20221                         link-waiting code to a separate function
20222                 - Keep wireless cards up even if device activation fails
20223                 - Don't update the "best" ap as much
20224
20225         * src/NetworkManagerPolicy.c
20226                 - Don't update the best ap when checking if its frozen,
20227                         let link checking clear out a frozen best ap for us
20228
20229         * src/NetworkManagerWireless.c
20230                 - Scan on all wireless cards, all the time
20231
20232 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20233
20234         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20235
20236 2004-09-09  Ankit Patel <ankit@redhat.com>
20237
20238         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20239
20240 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20241
20242         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20243
20244 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20245
20246         * examples/python/NetworkManager.py: 
20247         added CONNECTED, CONNECTING, and DISCONNECTED states
20248         added methods to return number of devices of a single type
20249
20250         * examples/python/systray/network_tray.py: 
20251         did some tweaks to get the menu looking near what it is supposed
20252         to look like.  Also did a Airo card hack to make it show the
20253         correct AP quality
20254
20255 2004-09-08  Dan Williams <dcbw@redhat.com>
20256
20257         * panel-applet/no-networkmanager.png
20258           panel-applet/Makefile.am
20259           panel-applet/NMWirelessApplet.c
20260                 - Add a "NetworkManager not running" icon and use it
20261                 - Use new consolidated GConf keys rather than Preferred/Trusted
20262
20263         * TODO: update
20264
20265         * info-daemon/NetworkManagerInfo.c
20266           info-daemon/NetworkManagerInfoDbus.[ch]
20267           info-daemon/NetworkManagerInfoPassphraseDialog.c
20268                 - There are now no longer two separate lists of wireless networks,
20269                         but one list where each network is "trusted" or not trusted
20270                 - Add a "getNetworkTrusted" dbus method
20271                 - "WirelessNetworkUpdate" signal now sent rather than
20272                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20273                 - Start freeing some dbus errors (not completed yet)
20274
20275         * info-daemon/passphrase.glade
20276                 - Remove the "don't show" hints for pager and taskbar
20277                 - Add a title since its going to be in the taskbar
20278
20279         * src/NetworkManager.[ch]
20280           src/NetworkManagerAPList.[ch]
20281                 - There are now no longer two separate lists of wireless networks,
20282                         but one list where each network is "trusted" or not trusted
20283
20284         * src/NetworkManagerAP.[ch]
20285                 - Add get/set "trusted" accessors and data bit
20286
20287         * src/NetworkManagerDbus.[ch]
20288                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20289                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20290
20291         * src/NetworkManagerDevice.[ch]
20292                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20293                 - (nm_device_new): Get device config from backend when initializing devices
20294                 - (nm_device_activation_worker): Split out device configuration on
20295                         activation to deal with static/dynamic IP differences, and try encryption
20296                         fallbacks on a device if the encryption method for the best AP is not good
20297                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20298                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20299
20300         * src/NetworkManagerWireless.c
20301                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20302
20303         * src/backends/NetworkManagerRedHat.c
20304           src/backends/NetworkManagerSystem.h
20305                 - (nm_system_device_update_config_info): Add function to get device configuration
20306                         from system data in ifcfg-* files
20307
20308         * src/backends/NetworkManagerDebian.c
20309           src/backends/NetworkManagerGentoo.c
20310           src/backends/NetworkManagerSlackware.c
20311                 - Add stub functions for getting device configuration
20312
20313 2004-09-07  Dan Williams <dcbw@redhat.com>
20314
20315         * src/backends/NetworkManagerRedhat.c
20316           src/backends/NetworkManagerSlackware.c
20317                 - Use full path to /sbin/ip everywhere
20318
20319 2004-09-07  Dan Williams <dcbw@redhat.com>
20320
20321         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20322
20323         * configure.in
20324           initscript/Makefile.am
20325           initscript/Slackware/Makfile.am
20326           initscript/Slackware/rc.networkmanager
20327           src/Makefile.am
20328           src/backends/NetworkManagerSlackware.c
20329                 - Add Slackware support
20330
20331 2004-09-07  Dan Williams <dcbw@redhat.com>
20332
20333         Patches below from:
20334                 <j@bootlab.org>
20335                 Mark Roach <mrroach@okmaybe.com>
20336                 Thom May <thom@debian.org>
20337
20338         * configure.in
20339           initscript/Debian/NetworkManager
20340           initscript/Debian/Makefile.am
20341                 - Initscript for Debian
20342
20343         * src/backends/NetworkManagerDebian.c
20344                 - Add missing system init function to allow compilation
20345                         on Debian
20346
20347 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20348
20349         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20350
20351 2004-09-03  Akagic Amila <bono@linux.org.ba>
20352
20353         * configure.in: Added 'bs' to ALL_LINGUAS.
20354
20355 2004-09-02  Colin Walters  <walters@verbum.org>
20356
20357         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20358         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20359         g_strdup_printf instead of arbitrarily sized buffers.
20360
20361 2004-09-01  Colin Walters  <walters@verbum.org>
20362
20363         * NetworkManager.pc.in: New file.
20364
20365         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20366
20367 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20368         
20369         * configure.in: Punjabi(pa) is added to po/.
20370
20371 2004-08-31  Dan Williams <dcbw@redhat.com>
20372
20373         * Remove 'debug' extern global from all files since we now
20374                 use syslog()
20375
20376         * src/NetworkManager.[ch]
20377                 - Break out routine that get the net.interface property from HAL,
20378                         removing that logic from nm_create_device_and_add_to_list()
20379                 - (nm_create_device_and_add_to_list): make this a bit more general so
20380                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20381                         the create of test devices.
20382                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20383                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20384                         which makes NetworkManager listen for dbus commands to create test
20385                         devices, which have no backing hardware.  Use when you're on a plane
20386                         for example, and/or forgot your wireless card at home.  Test devices
20387                         _cannot_ be created unless NM is started with --enable-test-devices.
20388
20389         * src/NetworkManagerDbus.[ch]
20390                 - New "getLinkActive" method for devices
20391                 - New "setLinkActive" method for devices (only works on test devices)
20392                 - New "createTestDevice" method on NetworkManager object to create a test
20393                         device of a specified type (ie wired, wireless).  UDI is created from
20394                         scratch, as is the interface name.  Only works when NM is started with
20395                         --enable-test-devices switch.
20396                 - New "removeTestDevice" method on NetworkManager object which removes a
20397                         test device.  Only works when NM is started with --enable-test-devices
20398
20399         * src/NetworkManagerDevice.[ch]
20400                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20401                         whether a device is a test device or not, and what its link status is.
20402                 - Deal with test devices in most functions.  For those that work directly on hardware
20403                         special-case test devices.
20404                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20405                         command-line.
20406                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20407                         checking to separate functions to facilitate test device link checking.
20408                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20409                         don't make a distinction between System Authentication and Encryption
20410                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20411                         on the card.  We don't deal with Shared Key auth yet.
20412                 - (nm_device_activation_worker): split the activation cancel check logic out into
20413                         a separate routine nm_device_activation_cancel_if_needed()
20414                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20415                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20416                         a list of fake access points that they can "see"
20417                 - (nm_device_is_test_device): return whether or not a device is a test device
20418
20419         * src/NetworkManagerPolicy.c
20420                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20421                         previously if you "locked"/forced NM to use a wireless device but then
20422                         selected a wireless network for NM to use, it would switch to a wired device.
20423                         So, if the active device is wireless and it has a "forced" best AP, use it
20424                         if the "forced" best AP is still valid
20425                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20426                         there were no usable network devices, or the last one was removed
20427
20428         * src/backends/NetworkManager*.c
20429                 - Deal with test devices, mostly just return success for operations like getting
20430                         a DHCP address
20431
20432         * test/nmtestdevices.c
20433                 - Test tool to create/remove/link-switch test devices
20434
20435 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20436
20437         * examples/python/NetworkManager.py: 
20438         added convience functions has_wired_device and has_wireless_device
20439
20440         * examples/python/systray/network_tray.py: 
20441         cleaned up a bunch of cruft, added support for listing wireless
20442         networks just like the real applet.  This is probably all I'm
20443         going to work on this applet from now on.
20444         TODO: add support for actually changing networks and devices
20445
20446         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20447         changed "nm.networks" into a dict from a list so I can store all
20448         the cool information about networks in there
20449
20450         * examples/python/systray/network_tray.py: 
20451         Added nice message when you try to run without running make first
20452
20453         * examples/python/NetworkManager.py: 
20454         Bug fixes to the code so we get all the device information
20455         that we need in get_device()
20456         
20457         * examples/python/NMTester.py: 
20458         Fixed _print_device_list to print_device_list
20459
20460 2004-08-29  Seth Nickell  <seth@gnome.org>
20461
20462         * configure.in:
20463
20464         Actually properly setup the Debian backend in configure.
20465         
20466 2004-08-29  Colin Walters  <walters@verbum.org>
20467
20468         * test/nminfotest.c: Include string.h and stdlib.h.
20469         (get_network_string_property, get_networks_of_type): Return NULL.
20470
20471         * test/nmclienttest.c (get_device_name, get_active_device): Return
20472         NULL.
20473
20474         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20475         use strlen, fgets always NULL-terminates the string.
20476
20477         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20478         dbus_message_get_member): Remove /* in comment.
20479
20480         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20481
20482         * src/NetworkManager.c (quit): Unused, delete.
20483         (nm_data_free): Cast arg to GFunc.
20484
20485         * panel-applet/NMWirelessAppletDbus.c: Need to include
20486         string.h, and dbus-glib-lowlevel.h (the latter is needed
20487         for dbus_connection_setup_with_g_main at present).
20488         (nmwa_dbus_update_wireless_network_list): Parenthesize
20489         assignment in conditional.
20490         (nmwa_dbus_worker): Return NULL.
20491
20492         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20493         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20494         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20495         (nmwa_populate_menu): Return NULL on failure, instead of just
20496         return;
20497
20498         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20499
20500         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20501         variables.
20502
20503         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20504         delete.
20505         
20506 2004-08-29  Colin Walters  <walters@verbum.org>
20507
20508         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20509         a GTimeVal instead of time_t.  This is easier to work with,
20510         since time_t may be a long or double, we don't know.
20511
20512         * src/NetworkManagerDbus.h: Update prototype.
20513         
20514         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20515         instead of time_t.
20516         (nm_ap_get_timestamp): Update to return GTimeVal.
20517         (nm_ap_set_timestamp): Update to take GTimeVal.
20518         
20519         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20520         to handle GTimeVal.
20521
20522         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20523         GTimeVal change.
20524         (nm_ap_list_print_members): Fix warnings in printf format.
20525
20526 2004-08-29  Colin Walters  <walters@verbum.org>
20527         
20528         * panel-applet/NMWirelessApplet.c: Include config.h.
20529
20530 2004-08-29  Colin Walters  <walters@verbum.org>
20531
20532         * configure.in: Generate config.h.
20533
20534         * configure.in: Dump dependency on OpenSSL; we can't
20535         use it since this package is GPL:
20536         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20537         Instead, check for libgcrypt, use it if available,
20538         otherwise use included MD5 code.
20539
20540         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20541         Suck in from gnome-keyring, munge a bit.
20542         
20543         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20544         gnome-keyring-md5.h gnome-keyring-md5.c.
20545         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20546
20547         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20548         libgcrypt or included gnome-keyring md5 bits.
20549         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20550
20551 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20552
20553         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20554
20555 2004-08-27  Bryan Clark  <bclark@redhat.com>
20556
20557         * examples/python/systray/Makefile: 
20558
20559         Updated the clean section
20560         
20561         * examples/python/systray/trayiconmodule.c: 
20562         * examples/python/systray/trayicon.override: 
20563         * examples/python/systray/network_tray.py: 
20564         * examples/python/systray/eggtrayicon.h: 
20565         * examples/python/systray/eggtrayicon.c: 
20566         * examples/python/systray/Makefile: 
20567         * examples/python/README: 
20568         * examples/python/NetworkManager.py: 
20569         * examples/python/NMTester.py: 
20570
20571         Initial commit of these python example files
20572
20573 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20574
20575         * panel-applet/NMWirelessApplet.c
20576                 - Make current device bold
20577                 - Show more user-friendly device name if we got one from hal
20578
20579         * panel-applet/NMWirelessAppletDbus.c
20580                 - Grab "info.product" key from hal for network devices
20581                 - Cache the current active device
20582
20583 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20584
20585         * configure.in: Added en_CA to ALL_LINGUAS.
20586
20587 2004-08-27  Christian Rose  <menthos@menthos.com>
20588
20589         * configure.in: Added "sv" to ALL_LINGUAS.
20590
20591 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20592
20593         * Tag NetworkManager-0.2
20594
20595 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20596
20597         * initscripts/Makefile.am
20598         * configure.in: Make pass distcheck
20599
20600         * po/ChangeLog: added
20601
20602 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20603
20604         * panel-applet/NMWirelessApplet.c
20605                 - Remove debugging code
20606                 - Enable device switching from menus
20607
20608         * panel-applet/NMWirelessAppletDbus.[ch]
20609                 - Method for asking NM to switch devices
20610
20611         * src/NetworkManagerDevice.c
20612                 - Set dev->activating earlier, avoids race between
20613                         the dbus signal of "DeviceActivating" and setting
20614                         dev->activating (which is what NM's "status" method call
20615                         looks at)
20616
20617 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20618
20619         * panel-applet/NMWirelessApplet.[ch]
20620                 - Rework menu code to add devices to menu, and to show
20621                         signal strength for each access point.  Code cleanups
20622                         too.
20623
20624         * panel-applet/NMWirelessAppletDbus.c
20625                 - Grab network devices from NetworkManager too
20626                 - Grab quality information from NM for wireless networks
20627
20628         * src/NetworkManagerDbus.[ch]
20629                 - Add dbus methods for getting the HAL UDI from a device and
20630                         for getting its base quality, if its wireless
20631                 - Consolidate some functions (wireless network notifications,
20632                         device notifications)
20633                 - Add method for requesting NM to use a particular device
20634
20635         * src/NetworkManager.c
20636                 - Change for function consolidations from NetworkManagerDbus.c
20637                 - Implement active device locking and user-requested devices
20638                         (ie, tell NM to use a particular device instead of the one
20639                         it autochose)
20640
20641         * src/NetworkManagerDevice.c
20642                 - Add method for getting the base quality of a device, if its
20643                         wireless
20644                 - Grab device base quailty info from iwlib during scans
20645
20646         * src/NetworkManagerPolicy.c
20647                 - Use a user-requested device rather than the auto-chosen device
20648                         if we are told to
20649
20650 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20651
20652         * Makefile.am: add po as a supdir
20653
20654         * autogen.sh: use gnome-autogen.sh
20655
20656         * initscript/Gentoo/.cvsignore:
20657         * initscript/RedHat/.cvsignore: Shut up cvs
20658
20659         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20660
20661         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20662         (nmwa_fill): Use gettext.
20663
20664         * configure.in: add gettext support
20665         * po/.cvsignore:
20666         * po/NetworkManager.pot:
20667         * po/POTFILES.in:
20668
20669 2004-08-26  Seth Nickell  <seth@gnome.org>
20670
20671         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20672         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20673         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20674         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20675         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20676         * panel-applet/NMWirelessApplet.h:
20677
20678         Use a menu bar instead of a button for the main clickable
20679         thingy.
20680         
20681 2004-08-25  Dan Williams <dcbw@redhat.com>
20682
20683         * src/NetworkManagerDevice.c
20684                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20685                         turning encryption off, because the Cisco driver doesn't associate
20686                         with WEP-enabled access points unless we are in "open"
20687
20688 2004-08-25  Dan Williams <dcbw@redhat.com>
20689
20690         * src/NetworkManagerWireless.c
20691                 - Don't try to defererence blank passphrases
20692
20693 2004-08-25  Dan Williams <dcbw@redhat.com>
20694
20695         * panel-applet/NMWirelessApplet.c
20696                 - Rebuild the menu whenever a user clicks
20697
20698 2004-08-25  Dan Williams <dcbw@redhat.com>
20699
20700         * panel-applet/NMWirelessApplet.c
20701                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20702                         when NM isn't around or when its not connected
20703
20704         * src/NetworkManagerDevice.c
20705                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20706                         canceled.
20707
20708 2004-08-25  Dan Williams <dcbw@redhat.com>
20709
20710         * panel-applet/NMWirelessAppletDbus.c
20711                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20712                         for getting encryption, and don't stop on "val" once we've gotten it
20713                         from NetworkManager.  Short form:  encryption should now show up.
20714
20715 2004-08-25  Dan Williams <dcbw@redhat.com>
20716
20717         * panel-applet/NMWirelessApplet.c
20718                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20719                         network to associate with
20720
20721 2004-08-25  Dan Williams <dcbw@redhat.com>
20722
20723         * panel-applet/*
20724                 - Rework the panel applet to do all DBUS communication in a separate
20725                         thread
20726
20727 2004-08-25  Dan Williams <dcbw@redhat.com>
20728
20729         * info-daemon/NetworkManagerInfo.[ch]
20730                 - Remove "get_next_priority" function
20731
20732         * info-daemon/NetworkManagerInfoDbus.[ch]
20733                 - Convert "priority" functions to "timestamp"
20734
20735 2004-08-25  Dan Williams <dcbw@redhat.com>
20736
20737         * src/NetworkManagerAP.[ch]
20738                 - Add a "enc_method_good" member and accessors to an Access Point
20739                         to signal when we've found the correct encryption method
20740                         for an access point
20741                 - Add a "timestamp" member and accessors, remove "priority" member
20742                         and accessors (use timestamps instead)
20743                 - Rename "wep_key"->"enc_key"
20744                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20745                         for a specified encryption method using the access points
20746                         source encryption key/passphrase
20747
20748         * src/NetworkManagerAPList.c
20749                 - When updating a network with dbus, grab timestamp now instead of
20750                         priority
20751
20752         * src/NetworkManagerDBus.[ch]
20753                 - Add signal for "DeviceActivating"
20754                 - Switch priority->timestamp
20755
20756         * src/NetworkManagerDevice.c
20757                 - Change references of "wep_key" -> "enc_key" or "key"
20758                 - Signal DeviceActivating when starting activation
20759                 - When activating a wireless device, if the access point we are connecting
20760                         to is encrypted, and we have a source key, try to generate a mangled
20761                         key and use that (ie, generate real WEP key from a passphrase)
20762                 - Rework device activation to fallback to other encryption methods if
20763                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20764                         first, then if that doesn't work fall back to direct hex key).
20765                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20766                         priority.  We now prefer the latest access point used, rather than using
20767                         a priority scheme
20768                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20769                         points we've just discovered, and merge in correct info from the global
20770                         access point lists
20771
20772 2004-08-25  Seth Nickell  <seth@gnome.org>
20773
20774         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20775         Debian support.
20776         
20777         * src/Makefile.am:
20778         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20779         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20780         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20781         (nm_system_delete_default_route),
20782         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20783         (nm_system_load_device_modules):
20784
20785 2004-08-24  Dan Willemsen <dan@willemsen.us>
20786
20787         * src/NetworkManager.c
20788           src/backends/NetworkManagerGentoo.c
20789           src/backends/NetworkManagerRedHat.c
20790           src/backends/NetworkManagerSystem.h
20791                 - Implement preliminary Gentoo support, adding a
20792                         nm_system_init function to the backend specification
20793
20794         * configure.in
20795                 - Distribution auto-detection, lowercase any user-fed
20796                         distribution names
20797
20798         * initscript/.cvsignore
20799           initscript/Makefile.am
20800           initscript/RedHat/Makefile.am
20801           initscript/RedHat/NetworkManager
20802           initscript/Gentoo/Makefile.am
20803           initscript/Gentoo/NetworkManager
20804                 - Refactored initscript code separately for each
20805                         distribution
20806
20807 2004-08-23  Dan Williams <dcbw@redhat.com>
20808
20809         * configure.in
20810           src/Makefile.am
20811           src/NetworkManagerDevice.c
20812           src/NetworkManager.c
20813           src/NetworkManagerUtils.[ch]
20814           src/backends/NetworkManagerSystem.h
20815           src/backends/NetworkManagerRedHat.c
20816           src/backends/NetworkManagerGentoo.c
20817                 - Refactor system-specific code into separate backends for
20818                         each distribution
20819
20820 2004-08-23  Dan Willemsen <dan@willemsen.us>
20821
20822         * dispatcher-daemon/NetworkManagerDispatcher.c
20823           info-daemon/NetworkManagerInfo.[ch]
20824           info-daemon/NetworkManagerInfoDbus.c
20825           info-daemon/NetworkManagerInfoPassphraseDialog.c
20826           src/NetworkManager.c
20827           src/NetworkManagerAP.c
20828           src/NetworkManagerAPList.c
20829           src/NetworkManagerDbus.c
20830           src/NetworkManagerDevice.c
20831           src/NetworkManagerPolicy.c
20832           src/NetworkManagerUtils.[ch]
20833           src/NetworkManagerWireless.c
20834                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20835
20836         * src/NetworkManager.c
20837                 - Fixed usage wording for --no-daemon
20838
20839 2004-08-23  Dan Williams <dcbw@redhat.com>
20840
20841         * panel-applet/NMWirelessApplet.c
20842                 - Update our state every second to get more responsive panel icon
20843                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20844                         was causing our marching ants status blips to never move when
20845                         looking for a wireless network
20846
20847         * src/NetworkManagerDevice.c
20848                 - (nm_device_activation_begin): return if activation has already begun
20849                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20850                         trusted/preferred network into the device's access point when the
20851                         scan list is processed
20852
20853 2004-08-23  Dan Williams <dcbw@redhat.com>
20854
20855         * initscript/NetworkManager
20856                 - Use NMLaunchHelper rather than sleeping
20857
20858         * initscript/NMLaunchHelper.c
20859           Makefile.am
20860                 - Add helper program that exits only when NM activates a device,
20861                         or 10 seconds have passed, whichever happens first.  This
20862                         stops the boot processes until we have a network connection,
20863                         which NM can't do because it daemonizes and brings the connection
20864                         up in the background.  Allows stuff like NFS to not die.
20865
20866 2004-08-20  Dan Williams <dcbw@redhat.com>
20867
20868         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20869                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20870                         for a network, set the essid as well since it may not exist yet
20871                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20872                         since WEP keys/passphrases are long and prone to entry-error
20873
20874         * panel-applet/Makefile.am
20875           panel-applet/wired.png
20876                 - Add (pulled from system-config-network temporarily)
20877
20878         * panel-applet/NMWirelessApplet.[ch]
20879                 - Show wired picture when a wired connection is used
20880                 - Rename wireless icon enums, adding WIRELESS
20881
20882         * src/NetworkManagerDevice.c
20883                 - (nm_device_activate_wireless): unset encryption before bringing
20884                         down the card and setting the essid
20885                 - (nm_device_activatin_worker): request a key from the user if the
20886                         AP we are connecting to is encrypted but we don't have a key
20887                         for it yet
20888                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20889                         strcmp() that prevented a user-entered key from actually getting
20890                         used
20891
20892 2004-08-16  Dan Williams <dcbw@redhat.com>
20893
20894         * initscript/NetworkManager
20895                 - Check for /sbin/ip
20896                 - Do sysctl magic that network service does
20897                 - sleep 4s after start to allow network time to come up [hack]
20898
20899         * src/Makefile.am
20900           src/NMLoadModules
20901                 - Load all network device kernel modules (hal doesn't know devices
20902                         are ethernet until the module is loaded, and therefore we don't know)
20903
20904         * src/NetworkManager.c
20905                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20906                         network devices, and bring up the loopback device explicitly
20907
20908         * src/NetworkManagerUtils.[ch]
20909                 - (nm_enable_loopback): new function
20910
20911 2004-08-13  Dan Williams <dcbw@redhat.com>
20912
20913         * configure.in
20914           panel-applet/Makefile.am
20915                 - Fix up cleanfiles and server_DATA/server_in_files
20916
20917         * README
20918                 - Update with some comments on theory of operation
20919
20920         * CONTRIBUTING
20921           Makefile.am
20922                 - Add CONTRIBUTING
20923
20924 2004-08-12  Dan Williams <dcbw@redhat.com>
20925
20926         * info-daemon/passphrase.glade
20927                 - Set window title to " "
20928
20929         * panel-applet/Makefile.am
20930           panel-applet/keyring.png
20931                 - Deliver to correct place
20932
20933         * panel-applet/NMWirelessApplet.[ch]
20934                 - Add comments
20935                 - Remove applet->have_active_device as its no longer used
20936                 - (nmwa_load_theme): load keyring.png too
20937                 - (error_dialog): remove
20938                 - (show_warning_dialog): subsume functionality of error dialog too
20939                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20940                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20941                         the networks menu
20942                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20943                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20944                         and when we get broadcasts of changed wireless access points only, not when the
20945                         user clicks on the button to display the menu (too long of a wait)
20946                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20947                         networks that are encrypted
20948                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20949                         menu item with g_object_set_data()
20950
20951         * panel-applet/NMWirelessAppletDbus.[ch]
20952                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20953                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20954                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20955                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20956                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20957                         activation/deactivation signals and rebuild the menu when they happen
20958
20959         * src/NetworkManager.c
20960                 - (main): use new nm_spawn_process() rather than system()
20961
20962         * src/NetworkManagerDbus.c
20963                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20964                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20965                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20966                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20967                         to freeze the best_ap.
20968
20969         * src/NetworkManagerDevice.[ch]
20970                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20971                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20972                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20973                         ap list
20974
20975         * src/NetworkManagerUtils.[ch]
20976                 - (nm_spawn_process): add replacement for system() usage
20977
20978 2004-08-11  Dan Williams <dcbw@redhat.com>
20979
20980         * panel-applet/NMWirelessApplet.[ch]
20981                 - Fix up copyright and credits to include Bastien and Eskil,
20982                         who created the gnome-applets wireless applet, from whose
20983                         skeleton this one was created
20984                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20985                         pixmap to draw is computed during nmwa_update_state()
20986                 - Applet now shows itself all the time due to panel packing issues
20987                         which caused the applet to previously never come back after hiding.
20988                         When a wired device is the active device, the applet shows "not connected"
20989
20990         * panel-applet/NMWirelessAppletDbus.[ch]
20991                 - Clean up error messages and show what function they are from
20992                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20993                 - Add new device type getters, and a status getter
20994
20995         * src/NetworkManagerDbus.c
20996                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20997                         network is actually in the device's ap list
20998                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20999
21000         * src/NetworkManagerDevice.c
21001                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21002                         card
21003
21004         * test/nmclienttest.c
21005                 - Report status of NetworkManager too
21006
21007 2004-08-11  Dan Williams <dcbw@redhat.com>
21008
21009         * info-daemon/NetworkManagerInfo.c:
21010                 - (main): clean up Seth's code style
21011
21012         * info-daemon/NetworkManagerInfoDbus.c:
21013                 - Use the more aptly-named path/service/interface constants from NetworkManager
21014                 - Don't return empty strings ("") as object paths ever, instead return errors
21015
21016         * panel-applet/NMWirelessApplet.c:
21017                 - Clean up Seth's code style
21018
21019         * src/NetworkManager.[ch]
21020                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21021                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21022
21023         * src/NetworkManagerAPList.[ch]
21024                 - Move Iter struct right above the iter functions to preserve opacity
21025                 - (nm_ap_list_remove_ap): implement
21026                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21027                         remove AP if NetworkManagerInfo doesn't know anything about it
21028                 - (nm_ap_list_diff): user NMAPList iterators
21029                 - (nm_ap_list_print_members): implement debugging function
21030
21031         * src/NetworkManagerDbus.[ch]
21032                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21033                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21034                         and move the actual key setting stuff into NetworkManagerDevice.c
21035                 - (nm_dbus_get_network_priority): return -1 now on errors
21036                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21037                         get lost, and force the active device to update its "best" ap when AP lists change
21038                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21039                         method call due to pending_device member removal
21040
21041         * src/NetworkManagerDevice.[ch]
21042                 - Move NMDevice structure to the top
21043                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21044                 - Remove Pending Action stuff from everywhere
21045                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21046                         activation for us.  This thread blocks until all conditions for activation have
21047                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21048                         then setup up the interface and runs dhclient.  We have to do this because there
21049                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21050                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21051                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21052                         can tell nm_device_activation_worker() that we've got a key
21053                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21054                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21055                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21056                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21057
21058         * src/NetworkManagerPolicy.c
21059                 - Remove anything to do with pending_device
21060                 - Adjust device activation to deal with activation-in-worker-thread
21061
21062         * src/NetworkManagerUtils.c
21063                 - Clean up locking debugging a bit
21064
21065         * src/NetworkManagerWireless.[ch]
21066                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21067                         was badly named and is better as a device function
21068
21069         * panel-applet/.cvsignore: add
21070
21071 2004-08-09  Seth Nickell  <seth@gnome.org>
21072
21073         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21074         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21075         (nmwa_new):
21076         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21077
21078         Don't load the menus until clicked on (also removes a call outside
21079         normal code paths at first load).
21080
21081         Hide applet when NM is not present.
21082         
21083         Improve printf debugging stuff.
21084         
21085 2004-08-09  Dan Williams <dcbw@redhat.com>
21086
21087         * dispatcher-daemon/NetworkManagerDispatcher.c:
21088                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21089                 - Use constants for NetworkManager interface, service, and path
21090
21091 2004-08-09  Dan Williams <dcbw@redhat.com>
21092
21093         * src/NetworkManagerDbus.c:
21094                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21095                         instead return an error message
21096                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21097                         on a wired device.  Also never return an empty object path, instead return an error message
21098
21099 2004-08-06  Seth Nickell  <seth@gnome.org>
21100
21101         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21102
21103         Check the error code when getting a connection.
21104         
21105         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21106
21107         Check if the NM service exists when initializing (rather than
21108         assuming it does not).
21109         
21110         * src/NetworkManagerDbus.c: (nm_dbus_init):
21111
21112         Don't acquire the well-known service name until we have
21113         registered object/path handlers and can actually receive
21114         calls.
21115         
21116 2004-08-06  Dan Williams <dcbw@redhat.com>
21117
21118         * panel-applet/*
21119                 - Add panel applet
21120
21121         * src/NetworkManagerPolicy.c
21122           src/NetworkManager.c
21123                 - Get access point lists from NetworkManagerInfo on-demand,
21124                         and look for ServiceCreate/ServiceDeleted signals to see when
21125                         we should query NMI for lists
21126         * src/NetworkManagerAPList.c
21127                 - Make sure to init the list's mutex
21128                 - Convert traversals of the list over to the list iter functions
21129
21130         * src/NetworkManagerDbus.[ch]
21131                 - Use more aptly-named path/service/interface constants
21132                 - Treat both active and pending devices the same for "getActiveDevice"
21133                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21134
21135         * src/NetworkManagerDevice.c
21136                 - Honor "ignored" network list when picking best ap to use
21137
21138 2004-08-06  Seth Nickell  <seth@gnome.org>
21139
21140         * aclocal.m4:
21141
21142         Autogenerated, remove from CVS.
21143         
21144         * autogen.sh:
21145
21146         Don't hardcode automake version.
21147         
21148         * configure.in:
21149         * info-daemon/Makefile.am:
21150         * info-daemon/NetworkManagerInfo.c: (main):
21151
21152         Use GnomeProgram et al. for doing session management.
21153         Use popt stuff for argument parsing rather than doing
21154         it manugally.
21155         
21156 2004-08-05  Dan Williams <dcbw@redhat.com>
21157
21158         * test/nminfotest.c
21159                 - Update to new NMI dbus API, check different network types
21160
21161         * info-daemon/NetworkManagerInfoDbus.c
21162                 - Update to new NM dbus API, ie network type sent in query message
21163
21164 2004-08-05  Dan Williams <dcbw@redhat.com>
21165
21166         * An assload of changes
21167
21168 2004-08-02  Dan Williams <dcbw@redhat.com>
21169
21170         * TODO
21171                 - new task: proper logging support
21172
21173         * info-daemon/NetworkManagerInfo.c
21174                 - Correct spelling of "canceled"
21175                 - Correct casting of objects for g_signal_connect()
21176
21177         * info-daemon/NetworkManagerInfoDbus.c
21178                 - Add defines for NetworkManager namespace and object path, and use them
21179                 - Add filter function to trap new signals from NetworkManager:
21180                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21181
21182         * info-daemon/passphrase.glade
21183                 - Change name of "ok" button to "Login to Network..."
21184                 - Mark invisible
21185
21186         * src/NetworkManager.c
21187                 - Code and debug message cleanups
21188                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21189                 - (nm_add_initial_devices) Check returned string array of devices
21190                         and don't try to add devices if array is NULL
21191                 - (main) Initialize libhal a bit later, make code a bit clearer
21192
21193         * src/NetworkManagerAP.[ch]
21194                 - New accessor and data member "matched": used to speed up AP list
21195                         diffing
21196                 - New accessor and data member "enc_method": will be used during key
21197                         fallback to cache which passphrase->key conversion actually works
21198                         so we don't have to do it every time
21199
21200         * src/NetworkManagerAPList.[ch]
21201                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21202                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21203                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21204                         dbus in response to those differences
21205
21206         * src/NetworkManagerDbus.[ch]
21207                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21208                         make an object path for that access point (NOTE that we don't yet check to
21209                         make sure that access point is actually in the device's AP list yet)
21210                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21211                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21212                         New: signal appearance/disappearance of wireless networks
21213                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21214                         key entry
21215
21216         * src/NetworkManagerDevice.[ch]
21217                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21218                 - (nm_device_ap_list_get) New: return the AP list (static function)
21219                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21220                         new one resulting from the scan with the old one
21221
21222         * src/NetworkManagerWireless.c
21223                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21224
21225         * test/nminfotest.c
21226                 - #define object paths and namespaces and use the #defines rather than static strings
21227                 - Test out user-key functionality of NetworkManagerInfo too
21228
21229 2004-07-29  Dan Williams <dcbw@redhat.com>
21230
21231         * info-daemon/NetworkManagerInfoDbus.c
21232           src/NetworkManagerDbus.c
21233                 - Update to current DBus (ie don't use decomposed paths when registering
21234                         object paths/fallbacks)
21235
21236 2004-07-27  Dan Williams <dcbw@redhat.com>
21237
21238         * Remove various Makefile.in files
21239
21240         * TODO
21241                 - Add some more items
21242
21243         * configure.in
21244                 - Add checks for OpenSSL/md5 headers and libs
21245
21246         * src/Makefile.am
21247                 - Use OpenSSL CFLAGS
21248
21249         * src/NetworkManagerAP.[ch]
21250                 - Remove 'stamp' functions, replace with 'invalid' functions
21251                         to support user cancelling WEP key entry
21252
21253         * src/NetworkManagerDbus.c
21254                 - Remove 'stamp' return functions
21255                 - Treat returned user key as a passphrase and convert to a WEP key,
21256                         but don't actually use the WEP key yet.  We use the returned user
21257                         key as a hexadecimal WEP key until we can figure out a UI for
21258                         passphrase-vs-hex key
21259
21260         * src/NetworkManagerWireless.[ch]
21261                 - Add passphrase-to-128bit-key function
21262
21263 2004-07-27  Dan Williams <dcbw@redhat.com>
21264
21265         * TODO
21266                 - Add a couple of items
21267
21268 2004-07-27  Dan Williams <dcbw@redhat.com>
21269
21270         * info-daemon/NetworkManagerInfo.c
21271                 - Update allowed network's GConf key when user enters a WEP key explicitly
21272
21273         * info-daemon/NetworkManagerDbus.c
21274                 - Fix some comments
21275                 - nmi_dbus_get_allowed_networks(): kill warning
21276
21277 2004-07-27  Dan Williams <dcbw@redhat.com>
21278
21279         * initscript/Makefile.in
21280                 - Remove
21281
21282         * initscript/Makefile.am
21283                 - Add correct rules to install the init.d initscript
21284
21285         * info-daemon/NetworkManagerInfoDbus.c
21286                 - Remove debug fprintf
21287
21288         * src/NetworkManagerDbus.[ch]
21289                 - Remove debug fprintfs
21290                 - Add macros for NetworkManagerInfo object path/namespace
21291                 - Use said macros instead of constant strings
21292
21293 2004-07-27  Dan Williams <dcbw@redhat.com>
21294
21295         * initscript/.cvsignore
21296                 - Add
21297
21298         * info-daemon/Makefile.am
21299                 - Install .glade files and keyring.png
21300                 - Fix stupid omission of a \ that caused half the flags not to be
21301                         passed to gcc
21302
21303         * info-daemon/NetworkManagerInfo.c
21304                 - gtk_signal_connect->g_signal_connect
21305                 - Alert NetworkManagerInfo to new glade file location
21306
21307 2004-07-27  Dan Williams <dcbw@redhat.com>
21308
21309         * test/nmclienttest.c
21310           test/nminfotest.c
21311                 - Add missing <dbus/dbus.h> headers
21312                 - Add GPL message at top
21313
21314 2004-07-27  Dan Williams <dcbw@redhat.com>
21315
21316         * src/NetworkManagerAPList.[ch]
21317           src/Makefile.am
21318                 - Add.  Deal with allowed network list additions, deletions, and updates
21319
21320         * dispatcher-daemon/NetworkManagerDispatcher.c
21321                 - Add missing <dbus/dbus.h> header
21322
21323         * info-daemon/NetworkManagerInfo.[ch]
21324                 - Add missing <dbus/dbus.h> header
21325                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21326                         network change
21327                 - Better error checking
21328
21329         * info-daemon/NetworkManagerInfoDbus.[ch]
21330                 - Add missing <dbus/dbus.h> header
21331                 - Convert to using dbus_message_append_args/dbus_message_get_args
21332                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21333                         that an allowed network changed.  We don't want to signal on individual
21334                         keys _inside_ an allowed network really, just want NM to query the info
21335                         daemon for updated info on all keys.
21336                 - Better error checking
21337
21338         * src/NetworkManager.[ch]
21339                 - Add missing <dbus/dbus.h> header
21340                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21341                 - Zero out NMData structure on free
21342                 - No longer use a thread for allowed_ap_list updating, instead its now done
21343                         through dbus queries against NetworkManagerInfo
21344                 - Populate allowed_ap_list initially before adding existing network devices
21345                         to the device list, so wireless devices can get their "best" AP
21346
21347         * src/NetworkManagerDbus.[ch]
21348                 - Convert to using dbus_message_append_args/dbus_message_get_args
21349                 - Better error checking
21350                 - Implement Allowed Network info functions to request allowed network
21351                         info from NetworkManagerInfo
21352                 - Implement the filter function to process signals from NetworkManagerInfo
21353                         about changing allowed networks
21354
21355         * src/NetworkManagerDevice.c
21356                 - Fix file descriptor leak in nm_device_update_ip4_address()
21357
21358 2004-07-27  Dan Williams <dcbw@redhat.com>
21359
21360         * .cvsignore
21361           src/.cvsignore
21362           test/.cvsignore
21363           dispatcher-daemon/.cvsignore
21364           info-daemon/.cvsignore
21365                 - Add .cvsignore files to reduce noise when diffing
21366
21367 2004-07-24  Dan Williams <dcbw@redhat.com>
21368
21369         * src/NetworkManager.[ch]
21370           src/NetworkManagerDbus.[ch]
21371           src/NetworkManagerDevice.[ch]
21372           src/NetworkManagerPolicy.c
21373           src/NetworkManagerWireless.[ch]
21374                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21375                 - Pass the NMData application data structure through all calls
21376                         that need it so we can get rid of nm_get_global_data()
21377                 - Change deallocation of the allowed_ap_list GSList in preparation
21378                         for not completely clearing it every time we get an update,
21379                         but instead getting incremental updates via GConf/dbus
21380
21381 2004-07-22  Dan Williams <dcbw@redhat.com>
21382
21383         * configure.in
21384                 - Add checks for GConf libs & headers & flags
21385
21386         * info-daemon/Makefile.am
21387                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21388
21389         * info-daemon/NetworkManagerInfo.[ch]
21390                 - Don't use gquarks for data storage, just use normal data storage
21391                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21392
21393         * info-daemon/NetworkManagerDbus.[ch]
21394                 - Add method call for getting allowed networks
21395                 - Add method calls for getting an allowed network's essid, priority, and key
21396                 - Hook the method calls up to GConf
21397                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21398                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21399                 
21400         * src/NetworkManagerDbus.[ch]
21401                 - Switch for enumeration of networks to using essid instead
21402
21403         * test/Makefile.am
21404           test/nminfotest.c
21405                 - Add test program for NetworkManagerInfo
21406
21407 2004-07-19  Dan Williams <dcbw@redhat.com>
21408
21409         * src/NetworkManagerDbus.c
21410                 - Switch from indexed device paths to names.  Less code, more efficient.
21411                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21412
21413 2004-07-19  Dan Williams <dcbw@redhat.com>
21414
21415         * dispatcher-daemon/NetworkManagerDispatcher.c
21416                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21417
21418 2004-07-19  Dan Williams <dcbw@redhat.com>
21419
21420         * Makefile.am
21421                 - Add info-daemon directory
21422
21423         * configure.in
21424                 - Check for glade libs and headers
21425                 - Add info-daemon directory
21426
21427         * src/NetworkManagerAP.c
21428                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21429                         copied over to the new AP.
21430
21431         * src/NetworkManagerDbus.c
21432           src/NetworkManagerDbus.h
21433                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21434                 - Remove nm_dbus_signal_need_key_for_network()
21435                 - Add disabled code for asynchronous user wep key callbacks
21436                 - Add functions for getting, setting, and cancelling user key operations
21437                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21438                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21439
21440         * src/NetworkManagerDevice.c
21441           src/NetworkManagerDevice.h
21442                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21443                         logic is in device activation now
21444                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21445                         key is wrong) trigger get-user-key pending action
21446                 - Implement get-user-key pending action stuff, tie to dbus messages
21447                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21448                 - Add nm_device_ap_list_get_ap_by_essid()
21449                 - Instead of copying "best" access points, ref them instead so that the key we set
21450                         sticks around
21451
21452         * src/NetworkManagerPolicy.c
21453                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21454                 - Don't cancel pending actions on a device if its the same device as last iteration
21455                 - Only promote pending_device->active_device if activation was successfull
21456
21457         * src/Makefile.am
21458                 - Rename nmclienttest->nmtest
21459
21460         * info-daemon/Makefile.am
21461           info-daemon/NetworkManagerInfo.c
21462           info-daemon/NetworkManagerInfo.h
21463           info-daemon/NetworkManagerInfoDbus.c
21464           info-daemon/NetworkManagerInfoDbus.h
21465           info-daemon/passphrase.glade
21466           info-daemon/NetworkManagerInfo.conf
21467           info-daemon/keyring.png
21468                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21469                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21470                         lists to NetworkManager by proxying user's GConf
21471           
21472
21473 2004-07-15  Dan Williams <dcbw@redhat.com>
21474
21475         * src/Makefile.am
21476                 - Turn on warnings
21477
21478         * src/NetworkManager.c
21479                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21480                         that doing the deactivation ourselves
21481                 - Cancel an pending actions on a device if its being removed
21482                 - Break up link state checking a bit, make non-active wireless cards
21483                         deactivated to save power
21484                 - Remove unused variables
21485
21486         * src/NetworkManager.h
21487                 - Add support for "pending" device
21488
21489         * src/NetworkManagerAP.h
21490           src/NetworkManagerAP.c
21491                 - Add support for determining whether and AP has encryption enabled or not
21492                 - AP address is now "struct ether_addr" rather than a string
21493
21494         * src/NetworkManagerDbus.h
21495           src/NetworkManagerDbus.c
21496                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21497                 - Changes for AP address from struct ether_addr->string
21498
21499         * src/NetworkManagerDevice.h
21500           src/NetworkManagerDevice.c
21501                 - Remove unused variables, fix warnings
21502                 - Add support for Pending Actions (things that block a device from being "active"
21503                         until they are completed).
21504                 - First pending action:  Get a WEP key from the user
21505                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21506                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21507                 - Update wireless link checking to try to determine if the AP we are associated
21508                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21509                         trigger the GetUserKey pending action on the device
21510                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21511                         up in that case, otherwise we can't scan or link-check on it
21512                 - Add IP address change notifications at appropriate points (still needs some work)
21513                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21514
21515         * src/NetworkManagerPolicy.h
21516           src/NetworkManagerPolicy.c
21517                 - Split out "best" access point determiniation into separate function
21518                 - Make device activation 2-stage:  first the device is pending, then
21519                         in the next iteration through it becomes "active" unless it has
21520                         pending actions
21521
21522         * src/NetworkManagerUtils.h
21523           src/NetworkManagerUtils.c
21524                 - Clean up unused variables and warnings
21525                 - Wrap our debug macros in {} to prevent possible confusion
21526
21527         * src/NetworkManagerWireless.c
21528                 - Forgot to return current best priority, which lead to last available AP always
21529                         being chosen no matter what its priority was.  Corrected.
21530
21531 2004-07-15  Dan Williams <dcbw@redhat.com>
21532
21533         * dispatcher-daemon/Makefile.am
21534                 - Turn on warnings
21535
21536         * dispatcher-daemon/NetworkManagerDispatcher.c
21537                 - Remove unused variables due to warnings
21538                 - Fix some comments
21539                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21540
21541 2004-07-06  Dan Williams <dcbw@redhat.com>
21542
21543         * src/NetworkManager.c
21544                 - Add IPv4 address update for active device during link state check
21545                 - Don't allow wireless cards to be powered up when they are not the
21546                         active device
21547
21548         * src/NetworkManagerDbus.c
21549           src/NetworkManagerDbus.h
21550                 - Add DBUS IPv4 address change signal
21551                 - Add DBUS IPv4 address get method for devices
21552
21553         * src/NetworkManagerDevice.c
21554                 - Make setting the WEP key actually work
21555                 - Move IP address get/set/update stuff here, per-device
21556                 - Power down/bring down wireless device when deactivated
21557                 - For scanning wireless devices, if first scan returned ENODATA, try again
21558
21559         * src/NetworkManagerPolicy.c
21560                 - Only set the WEP key for an allowed access point if there is one.
21561                         We were setting it to be blank if one wasn't specified.
21562
21563         * src/NetworkManagerUtils.h
21564           src/NetworkManagerUtils.c
21565                 - Move the IP address stuff to NetworkManagerDevice.c
21566
21567         * dispatcher-daemon/NetworkManagerDispatcher.c
21568                 - Add device IPv4 address change notification stuff
21569
21570 2004-07-05  Dan Williams <dcbw@redhat.com>
21571
21572         * dispatcher-daemon/NetworkManagerDispatcher.c
21573                 - A bit more descriptive state message
21574                 - Don't segfault when reading directory
21575
21576         * src/NetworkManager.h
21577                 - Remove NMData desired_ap member, its now
21578                         per-device rather than global
21579
21580         * src/NetworkManager.c
21581                 - Remove references to desired_ap
21582                 - Move the allowed AP list refresh stuff into a thread
21583
21584         * src/NetworkManagerDevice.c
21585           src/NetworkManagerDevice.h
21586                 - Each wireless device now has a "best ap"
21587                 - Make device activate/deactivate functions per-device
21588                 - Make wireless scanning per-device
21589                 - Add IPv4 address discover functions, stub IPv6 ones
21590                 - Move ethernet address validation functions to NetworkManagerUtils.c
21591                 - Add wireless access point accessor function
21592                 - Get/Set functions for "best ap"
21593
21594         * src/NetworkManagerPolicy.c
21595                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21596                 - Deal with per-device "best ap" rather than data->desired_apa
21597                 - Implement allowed access point worker thread
21598                 - Add nm_policy_essid_is_allowed() function
21599
21600         * src/NetworkManagerUtils.c
21601           src/NetworkManagerUtils.h
21602                 - Add nm_ethernet_address_is_valid() function
21603                 - Add IPv4/IPv6 address get functions
21604
21605         * src/NetworkManagerWireless.c
21606           src/NetworkManagerWireless.h
21607                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21608
21609 2004-06-29  Dan Williams <dcbw@redhat.com>
21610
21611         * dispatcher-daemon/NetworkManagerDispatcher.c
21612                 - Implement script callout functionality
21613
21614 2004-06-24  Dan Williams <dcbw@redhat.com>
21615
21616         * NetworkManager.c
21617             - Spacing cleanups
21618             - Flush device routes and ip addresses when added to the device list
21619
21620         * NetworkManagerDbus.c
21621             - Spacing cleanups
21622             - Add missing returns in the two signal functions
21623         
21624         * NetworkManagerPolicy.c
21625             - Spacing and variable cleanups
21626
21627 2004-06-24  Dan Williams <dcbw@redhat.com>
21628
21629         * Makefile.am
21630           Makefile.in
21631           configure.in
21632           dispatcher-daemon/Makefile.am
21633           dispatcher-daemon/Makefile.in
21634           dispatcher-daemon/NetworkManagerDispatcher.c
21635             - Add a daemon that receives signals from NetworkManager
21636                         and will (eventually) call scripts in /etc/somewhere
21637                         when devices go up or down.
21638         
21639         * NetworkManager.c
21640             - Spacing cleanups
21641             - Flush device routes and ip addresses when added to the device list
21642
21643         * NetworkManagerDbus.c
21644             - Spacing cleanups
21645             - Add missing returns in the two signal functions
21646         
21647         * NetworkManagerPolicy.c
21648             - Spacing and variable cleanups
21649             - Rename nm_policy_switch_interface->nm_policy_switch_device
21650             - nm_policy_switch_device():
21651                                 Use kill (pid) instead of system ("kill <pid>")
21652             - nm_state_modification_monitor():
21653                                 Add wireless essid to output of debug statements
21654                                 Correct typo in device compare to switch or not (should be !=)
21655                                 Don't sleep after sending "no longer active" signal, was useless
21656
21657 2004-06-24  Dan Williams <dcbw@redhat.com>
21658
21659         * Initial import